• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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# checking catch block handling the specific exception
15
16.record panda.NullPointerException <external>
17
18.function void foo(panda.NullPointerException a0) {
19    return.void
20}
21
22.function i32 main() {
23try_begin_label_0:
24    mov.null v1
25    call.short foo:(panda.NullPointerException), v1
26try_end_label_0:
27    ldai 1
28    return
29handler_begin_label_0_0:
30    sta.obj v0
31    call.short foo:(panda.NullPointerException), v0  # should be Ok as v0 holds panda.NullPointerException
32    ldai 0
33    return
34
35.catch panda.NullPointerException, try_begin_label_0, try_end_label_0, handler_begin_label_0_0
36}
37