1/*
2 * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import { OuterC, OuterN, OuterE } from './imported_use_as_object_module'
17
18class InnerC { }
19namespace InnerN { let x = 1; }
20enum InnerE { e = 1 }
21
22function foo1(f: Function) { }
23function foo2(o: Object) { }
24
25foo1(() => OuterC);
26foo2(OuterC);
27typeof OuterC;
28
29foo1(() => OuterN);
30foo2(OuterN);
31typeof OuterN;
32
33foo1(() => OuterE);
34foo2(OuterE);
35typeof OuterE;
36
37foo1(() => InnerC);
38foo2(InnerC);
39typeof InnerC;
40
41foo1(() => InnerN);
42foo2(InnerN);
43typeof InnerN;
44
45foo1(() => InnerE);
46foo2(InnerE);
47typeof InnerE;
48
49OuterE[OuterE.e];
50InnerE[InnerE.e];
51