// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // @dart = 2.7 class A {} class B {} class C {} class D {} class E {} /*member: Class1.:static=[Object.(0)]*/ class Class1 { /*member: Class1.field1: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSBool, inst:JSNull, param:A*] */ A field1; } /*member: method1: dynamic=[Class1.field1=], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ impl:A*, inst:Closure, inst:JSBool, is:Class1*] */ method1(dynamic o, dynamic value) { if (o is! Class1) return; o.field1 = value; } /*member: Class2.:static=[Object.(0)]*/ class Class2 { /*member: Class2.field2: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSNull, inst:JSUnmodifiableArray, param:Class2.T*] */ T field2; } /*member: method2: dynamic=[Class2.field2=], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ impl:A*, inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSUnmodifiableArray, is:Class2*] */ method2(dynamic o, dynamic value) { if (o is! Class2) return; o.field2 = value; } /*member: Class3.:static=[Object.(0)]*/ class Class3 { /*member: Class3.method3: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSBool, inst:JSNull, param:A*, param:B*, param:C*] */ method3(A a, [B b, C c]) {} } /*member: method3: dynamic=[Class3.method3(3)], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ impl:A*, impl:C*, inst:Closure, inst:JSBool, is:Class3*, param:B*] */ method3(dynamic o, dynamic a, B b, dynamic c) { if (o is! Class3) return; o.method3(a, b, c); } /*member: Class4.:static=[Object.(0)]*/ class Class4 { /*member: Class4.method4: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSBool, inst:JSNull, param:A*, param:B*, param:C*] */ method4(A a, {B b, C c}) {} } /*member: method4: dynamic=[Class4.method4(1,b,c)], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ impl:A*, impl:C*, inst:Closure, inst:JSBool, is:Class4*, param:B*] */ method4(dynamic o, dynamic a, B b, dynamic c) { if (o is! Class4) return; o.method4(a, c: c, b: b); } /*member: Class5.:static=[Object.(0)]*/ class Class5 { /*member: Class5.method5: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSNull, inst:JSUnmodifiableArray, param:C*, param:Class5.T1*, param:Class5.T2*, param:Object*, param:method5.S1*, param:method5.S2*] */ method5(T1 a, [T2 b, C c, S1 d, S2 e]) {} } /*member: method5: dynamic=[Class5.method5(5)], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ impl:A*, impl:D*, inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSUnmodifiableArray, is:Class5*, param:B*, param:C*, param:E*] */ method5(dynamic o, dynamic a, B b, C c, dynamic d, E e) { if (o is! Class5) return; o.method5(a, b, c, d, e); } /*member: Class6.:static=[Object.(0)]*/ class Class6 { /*member: Class6.method6: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSNull, inst:JSUnmodifiableArray, param:C*, param:Class6.T1*, param:Class6.T2*, param:Object*, param:method6.S1*, param:method6.S2*] */ method6(T1 a, {T2 b, C c, S1 d, S2 e}) {} } /*member: method6: dynamic=[Class6.method6(1,b,c,d,e)], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ impl:A*, impl:D*, inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSUnmodifiableArray, is:Class6*, param:B*, param:C*, param:E*] */ method6(dynamic o, dynamic a, B b, C c, dynamic d, E e) { if (o is! Class6) return; o.method6(a, d: d, b: b, e: e, c: c); } /*member: Class7.:static=[Object.(0)]*/ class Class7 { /*member: Class7.f:type=[inst:JSNull]*/ A Function(A) get f => null; } /*member: method7: dynamic=[ Class7.f(1), call(1)], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ impl:A*, inst:Closure, inst:JSBool, is:Class7*] */ method7(dynamic o, dynamic a) { if (o is! Class7) return; o.f(a); } /*member: F.:static=[Object.(0)]*/ class F { /*member: F.method: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSNull, inst:JSUnmodifiableArray, param:List*] */ T method(List list) => null; /*member: F.field: static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSNull, inst:JSUnmodifiableArray, param:F.T*] */ T field; } /*member: G.:static=[F.(0)]*/ class G extends F {} /*member: method8: dynamic=[G.method(1)], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), _setArrayType(2), findType(1), instanceType(1)], type=[ impl:List*, inst:Closure, inst:JSArray, inst:JSBool, inst:JSExtendableArray, inst:JSFixedArray, inst:JSMutableArray, inst:JSNull, inst:JSUnmodifiableArray, is:G*, param:Iterable*] */ method8(dynamic g, Iterable iterable) { if (g is! G) return null; return g.method(iterable); } /*member: method9: dynamic=[G.field=], static=[ Rti._bind(1), Rti._eval(1), _arrayInstanceType(1), _asBool(1), _asBoolQ(1), _asBoolS(1), _asDouble(1), _asDoubleQ(1), _asDoubleS(1), _asInt(1), _asIntQ(1), _asIntS(1), _asNum(1), _asNumQ(1), _asNumS(1), _asObject(1), _asString(1), _asStringQ(1), _asStringS(1), _asTop(1), _generalAsCheckImplementation(1), _generalIsTestImplementation(1), _generalNullableAsCheckImplementation(1), _generalNullableIsTestImplementation(1), _installSpecializedAsCheck(1), _installSpecializedIsTest(1), _instanceType(1), _isBool(1), _isInt(1), _isNum(1), _isObject(1), _isString(1), _isTop(1), findType(1), instanceType(1)], type=[ impl:int*, inst:Closure, inst:JSBool, inst:JSNull, is:G*, param:num*] */ method9(dynamic g, num value) { if (g is! G) return null; return g.field = value; } /*member: main:%*/ main() { method1(new Class1(), null); method2(new Class2(), null); method3(new Class3(), null, null, null); method4(new Class4(), null, null, null); method5(new Class5(), null, null, null, null, null); method6(new Class6(), null, null, null, null, null); method7(new Class7(), null); method8(new G(), null); method9(new G(), null); }