13af6ab5fSopenharmony_ci/*
23af6ab5fSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License.
53af6ab5fSopenharmony_ci * You may obtain a copy of the License at
63af6ab5fSopenharmony_ci *
73af6ab5fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
83af6ab5fSopenharmony_ci *
93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and
133af6ab5fSopenharmony_ci * limitations under the License.
143af6ab5fSopenharmony_ci */
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ci
173af6ab5fSopenharmony_ciclass Foo {
183af6ab5fSopenharmony_ci    private static get a() { return }
193af6ab5fSopenharmony_ci    public async *g() { }
203af6ab5fSopenharmony_ci    static declare readonly [5]
213af6ab5fSopenharmony_ci    static declare readonly ["b"]
223af6ab5fSopenharmony_ci    static readonly declare 67
233af6ab5fSopenharmony_ci    declare static readonly j
243af6ab5fSopenharmony_ci    private;
253af6ab5fSopenharmony_ci    protected *[1]() { }
263af6ab5fSopenharmony_ci    public static k = "bar"
273af6ab5fSopenharmony_ci    #o = 4;
283af6ab5fSopenharmony_ci    set l(b: number) { };
293af6ab5fSopenharmony_ci    public get l() { return 2 };
303af6ab5fSopenharmony_ci    public get m() { return 2 };
313af6ab5fSopenharmony_ci    protected set m(b: number) { };
323af6ab5fSopenharmony_ci}
333af6ab5fSopenharmony_ci
343af6ab5fSopenharmony_ciclass Bar { c; d() { } e; let; var; const; function; f!: number }
353af6ab5fSopenharmony_ci
363af6ab5fSopenharmony_ciclass Baz {
373af6ab5fSopenharmony_ci    #name: string;
383af6ab5fSopenharmony_ci    constructor(name: string) {
393af6ab5fSopenharmony_ci        this.#name = name;
403af6ab5fSopenharmony_ci    }
413af6ab5fSopenharmony_ci    bar() { return this.#name };
423af6ab5fSopenharmony_ci}
433af6ab5fSopenharmony_ci
443af6ab5fSopenharmony_ciabstract class Inga {
453af6ab5fSopenharmony_ci    abstract a();
463af6ab5fSopenharmony_ci    aa() { };
473af6ab5fSopenharmony_ci}
48