1/* 2* Copyright (c) Microsoft Corporation. All rights reserved. 3* Copyright (c) 2023 Huawei Device Co., Ltd. 4* Licensed under the Apache License, Version 2.0 (the "License"); 5* you may not use this file except in compliance with the License. 6* You may obtain a copy of the License at 7* 8* http://www.apache.org/licenses/LICENSE-2.0 9* 10* Unless required by applicable law or agreed to in writing, software 11* distributed under the License is distributed on an "AS IS" BASIS, 12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13* See the License for the specific language governing permissions and 14* limitations under the License. 15* 16* This file has been modified by Huawei to verify type inference by adding verification statements. 17*/ 18 19// === tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembers4.ts === 20declare function AssertType(value:any, type:string):void; 21 22// subtyping when property names do not match 23 24class Base { 25 foo: string; 26} 27 28class Derived extends Base { 29 bar: string; 30} 31 32class A { 33 foo: Base; 34} 35 36class B extends A { 37 fooo: Derived; // ok, inherits foo 38} 39 40class A2 { 41 1: Base; 42} 43 44class B2 extends A2 { 45 1.1: Derived; // ok, inherits 1 46} 47 48class A3 { 49 '1': Base; 50} 51 52class B3 extends A3 { 53 '1.1': Derived; // ok, inherits '1' 54} 55 56