1# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14.record A { 15 i32 a 16} 17 18.function void A.init(A a0, i32 a1) <ctor> { 19 lda a1 20 stobj a0, A.a 21 return.void 22} 23 24.function i32 A.get_a(A a0) { 25 ldobj a0, A.a 26 return 27} 28 29.function i32 main() { 30 movi v0, 42 31 initobj.short A.init, v0 32 sta.obj v1 33 call.virt.short A.get_a, v1 34 addi -42 35 jnez exit 36 lda.obj v1 37 call.virt.acc.short A.get_a, v0, 0 38 addi -42 39exit: 40 return 41} 42