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# check that InstantiationError is thrown if ctor is abstract 15 16.record panda.AbstractMethodError <external> 17 18.record Z {} 19.function void Z.ctor(Z a0) <ctor, noimpl> 20 21.function i32 main() { 22begin: 23 initobj Z.ctor 24end: 25 ldai 1 # Should not reach this line 26 return 27 28catch_AME: 29 ldai 0 # Expected panda.AbstractMethodError 30 return 31 32catch_all: 33 ldai 2 # Unexpected exception, test failed 34 return 35 36.catch panda.AbstractMethodError, begin, end, catch_AME 37.catchall begin, end, catch_all 38} 39