blob: 66b95fae6d43fb39e8895d8b2699ef61895a93e0 [file] [log] [blame]
// 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.
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),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<T> {
/*member: Class2.field2:
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSNull,
inst:JSUnmodifiableArray<dynamic>,
param:Class2.T?]
*/
T? field2;
}
/*member: method2:
dynamic=[Class2.field2=],
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSUnmodifiableArray<dynamic>,
is:Class2<A>]
*/
method2(dynamic o, dynamic value) {
if (o is! Class2<A>) 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),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<T1, T2> {
/*member: Class5.method5:
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSNull,
inst:JSUnmodifiableArray<dynamic>,
param:C?,
param:Class5.T1,
param:Class5.T2?,
param:Object?,
param:method5.S1?,
param:method5.S2?]
*/
method5<S1, S2>(T1 a, [T2? b, C? c, S1? d, S2? e]) {}
}
/*member: method5:
dynamic=[Class5.method5<D,E>(5)],
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSUnmodifiableArray<dynamic>,
is:Class5<A,B>,
param:B?,
param:C?,
param:E?]
*/
method5(dynamic o, dynamic a, B? b, C? c, dynamic d, E? e) {
if (o is! Class5<A, B>) return;
o.method5<D, E>(a, b, c, d, e);
}
/*member: Class6.:static=[Object.(0)]*/
class Class6<T1, T2> {
/*member: Class6.method6:
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSNull,
inst:JSUnmodifiableArray<dynamic>,
param:C?,
param:Class6.T1,
param:Class6.T2?,
param:Object?,
param:method6.S1?,
param:method6.S2?]
*/
method6<S1, S2>(T1 a, {T2? b, C? c, S1? d, S2? e}) {}
}
/*member: method6:
dynamic=[Class6.method6<D,E>(1,b,c,d,e)],
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSUnmodifiableArray<dynamic>,
is:Class6<A,B>,
param:B?,
param:C?,
param:E?]
*/
method6(dynamic o, dynamic a, B? b, C? c, dynamic d, E? e) {
if (o is! Class6<A, B>) return;
o.method6<D, E>(a, d: d, b: b, e: e, c: c);
}
/*member: Class7.:static=[Object.(0)]*/
class Class7 {
/*member: Class7.f:
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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),
def:<anonymous>,
findType(1),
instanceType(1)],
type=[
inst:Closure,
inst:Function,
inst:JSArray<dynamic>,
inst:JSBool,
inst:JSExtendableArray<dynamic>,
inst:JSFixedArray<dynamic>,
inst:JSMutableArray<dynamic>,
inst:JSUnmodifiableArray<dynamic>,
param:A]
*/
A Function(A) get f =>
(a) => a;
}
/*member: method7:
dynamic=[
Class7.f(1),
call(1)],
static=[
Rti._bind(1),
Rti._eval(1),
_arrayInstanceType(1),
_asBool(1),
_asBoolQ(1),
_asDouble(1),
_asDoubleQ(1),
_asInt(1),
_asIntQ(1),
_asNum(1),
_asNumQ(1),
_asObject(1),
_asString(1),
_asStringQ(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);
}
class F<T> {
T? method(List<T> list) => null;
T? field;
}
class G extends F<int> {}
/*member: main:%*/
main() {
method1(new Class1(), null);
method2(new Class2<A>(), null);
method3(new Class3(), null, null, null);
method4(new Class4(), null, null, null);
method5(new Class5<A, B>(), null, null, null, null, null);
method6(new Class6<A, B>(), null, null, null, null, null);
method7(new Class7(), null);
}