blob: b447317708be677b09e596e16b5217e82d238034 [file] [log] [blame]
//
// Problems in component:
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:11:7: Error: Cannot extend, implement or mix-in class 'C3' in a dynamic module.
// Try removing the reference to class 'C3' or update the dynamic interface to list class 'C3' as extendable.
// class D3 extends C3 {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart: Error: Cannot invoke constructor 'C3' from a dynamic module.
// Try removing the call or update the dynamic interface to list constructor 'C3' as callable.
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:20:12: Error: Cannot override member 'C4.field1' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'C4.field1' as can-be-overridden.
// int? get field1 => null;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:16:8: Error: Cannot override member 'C4.method1' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'C4.method1' as can-be-overridden.
// void method1() {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:21:7: Error: Cannot override member 'C4.field1' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'C4.field1' as can-be-overridden.
// set field1(int? value) {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:28:7: Error: Cannot extend, implement or mix-in class 'C3' in a dynamic module.
// Try removing the reference to class 'C3' or update the dynamic interface to list class 'C3' as extendable.
// class E3 implements C3 {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:37:8: Error: Cannot override member 'C4.field1' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'C4.field1' as can-be-overridden.
// int? field1;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:33:8: Error: Cannot override member 'C4.method1' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'C4.method1' as can-be-overridden.
// void method1() {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main_lib1.dart:48:8: Error: Cannot override member 'Interface.foo' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'Interface.foo' as can-be-overridden.
// void foo() {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main_lib1.dart:56:8: Error: Cannot override member 'Interface.foo' in a dynamic module.
// Try removing the override or update the dynamic interface to list member 'Interface.foo' as can-be-overridden.
// void foo() {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart: Error: Cannot use class '_ConstForC6' in a dynamic module.
// Try removing the reference to class '_ConstForC6' or update the dynamic interface to list class '_ConstForC6' as callable.
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart: Error: Cannot invoke member '_privateMethodForC6' from a dynamic module.
// Try removing the call or update the dynamic interface to list member '_privateMethodForC6' as callable.
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:43:7: Error: Cannot extend, implement or mix-in class 'M1' in a dynamic module.
// Try removing the reference to class 'M1' or update the dynamic interface to list class 'M1' as extendable.
// class F1 with M1 {}
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:68:15: Error: Dynamic calls are not allowed in a dynamic module.
// x.foo().bar.baz = 42;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:68:11: Error: Dynamic calls are not allowed in a dynamic module.
// x.foo().bar.baz = 42;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:68:5: Error: Dynamic calls are not allowed in a dynamic module.
// x.foo().bar.baz = 42;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:69:14: Error: Dynamic calls are not allowed in a dynamic module.
// if (x case < 3) {
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:73:21: Error: Dynamic calls are not allowed in a dynamic module.
// case dynamic(foo: 42):
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:79:6: Error: Cannot use class 'C1' in a dynamic module.
// Try removing the reference to class 'C1' or update the dynamic interface to list class 'C1' as callable.
// C1 o1 = C1();
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:79:11: Error: Cannot invoke constructor 'C1' from a dynamic module.
// Try removing the call or update the dynamic interface to list constructor 'C1' as callable.
// C1 o1 = C1();
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:80:6: Error: Cannot invoke member 'C1.method1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.method1' as callable.
// o1.method1();
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:81:12: Error: Cannot invoke member 'C1.method1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.method1' as callable.
// print(o1.method1);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:82:12: Error: Cannot invoke member 'C1.getter1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.getter1' as callable.
// print(o1.getter1);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:83:6: Error: Cannot invoke member 'C1.setter1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.setter1' as callable.
// o1.setter1 = 42;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:84:6: Error: Cannot invoke member 'C1.method2' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.method2' as callable.
// C1.method2();
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:85:12: Error: Cannot invoke member 'C1.method2' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.method2' as callable.
// print(C1.method2);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:86:12: Error: Cannot invoke member 'C1.getter2' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.getter2' as callable.
// print(C1.getter2);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:87:6: Error: Cannot invoke member 'C1.setter2' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.setter2' as callable.
// C1.setter2 = 42;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:88:9: Error: Cannot invoke constructor 'C1' from a dynamic module.
// Try removing the call or update the dynamic interface to list constructor 'C1' as callable.
// print(C1.new);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:89:12: Error: Cannot invoke member 'C1.field1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.field1' as callable.
// print(o1.field1);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:90:12: Error: Cannot invoke member 'C1.field2' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'C1.field2' as callable.
// print(C1.field2);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:107:3: Error: Cannot invoke member 'method1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'method1' as callable.
// method1();
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:108:9: Error: Cannot invoke member 'method1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'method1' as callable.
// print(method1);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:115:9: Error: Cannot invoke member 'field1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'field1' as callable.
// print(field1);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:116:3: Error: Cannot invoke member 'field1' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'field1' as callable.
// field1 = 42;
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:123:9: Error: Cannot invoke constructor 'C8._' from a dynamic module.
// Try removing the call or update the dynamic interface to list constructor 'C8._' as callable.
// print(C8());
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:129:9: Error: Cannot use extension type 'ExtType1' in a dynamic module.
// Try removing the reference to extension type 'ExtType1' or update the dynamic interface to list extension type 'ExtType1' as callable.
// print(ExtType1);
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:130:9: Error: Cannot invoke member 'ExtType1.new' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'ExtType1.new' as callable.
// print(ExtType1(42));
// ^
//
// pkg/front_end/testcases/general/dynamic_modules/main.dart:131:12: Error: Cannot invoke member 'Ext1.isPositive' from a dynamic module.
// Try removing the call or update the dynamic interface to list member 'Ext1.isPositive' as callable.
// print(42.isPositive);
// ^
//
library;
import self as self;
import "main_lib1.dart" as mai;
import "dart:core" as core;
import "main_lib3.dart" as mai2;
import "org-dartlang-testcase:///main_lib1.dart";
import "org-dartlang-testcase:///main_lib2.dart";
class D3 extends mai::C3 {
synthetic constructor •() self::D3
: super mai::C3::•()
;
}
class D4 extends mai::C4 {
synthetic constructor •() self::D4
: super mai::C4::•()
;
method method1() void {}
method method2() void {}
get field1() core::int?
return null;
set field1(core::int? value) void {}
get field2() core::int?
return null;
set field2(core::int? value) void {}
}
class E3 extends core::Object implements mai::C3 {
synthetic constructor •() self::E3
: super core::Object::•()
;
}
class E4 extends core::Object implements mai::C4 {
field core::int? field1 = null;
field core::int? field2 = null;
synthetic constructor •() self::E4
: super core::Object::•()
;
method method1() void {}
method method2() void {}
}
class F1 extends self::_F1&Object&M1 {
synthetic constructor •() self::F1
: super self::_F1&Object&M1::•()
;
}
class F2 extends self::_F2&Object&M2 {
synthetic constructor •() self::F2
: super self::_F2&Object&M2::•()
;
}
class Impl1 extends mai::Base implements mai::Interface {
synthetic constructor •() self::Impl1
: super mai::Base::•()
;
}
class Impl2 extends self::_Impl2&Object&Mixin implements mai::Interface {
synthetic constructor •() self::Impl2
: super self::_Impl2&Object&Mixin::•()
;
}
class C6Ext extends mai::C6 {
constructor •({core::Object param = #C2}) → self::C6Ext
: super mai::C6::•(param: param)
;
}
class C7Ext extends mai::C7 {
constructor •({core::Object param = #C4}) → self::C7Ext
: super mai::C7::•(param: param)
;
}
abstract class _F1&Object&M1 = core::Object with mai::M1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_F1&Object&M1
: super core::Object::•()
;
}
abstract class _F2&Object&M2 = core::Object with mai::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_F2&Object&M2
: super core::Object::•()
;
}
abstract class _Impl2&Object&Mixin = core::Object with mai::Mixin /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_Impl2&Object&Mixin
: super core::Object::•()
;
synthetic mixin-super-stub method foo() void
return super.{mai::Mixin::foo}();
}
static field dynamic x;
static method test() void {
self::x{dynamic}.foo(){dynamic}.bar.{dynamic}baz = 42;
{
final synthesized dynamic #0#0 = self::x;
if(#0#0{dynamic}.<(#C5) as core::bool) {
core::print("<3");
}
}
#L1:
{
final synthesized dynamic #1#0 = self::x;
{
if(#1#0 is dynamic && #C6 =={core::num::==}{(core::Object) → core::bool} #1#0{dynamic}.foo) {
{
core::print("dyn");
break #L1;
}
}
}
{
if(true) {
}
}
}
mai::C1 o1 = new mai::C1::•();
o1.{mai::C1::method1}(){() void};
core::print(o1.{mai::C1::method1}{() void});
core::print(o1.{mai::C1::getter1}{core::int});
o1.{mai::C1::setter1} = 42;
mai::C1::method2();
core::print(#C7);
core::print(mai::C1::getter2);
mai::C1::setter2 = 42;
core::print(#C8);
core::print(o1.{mai::C1::field1}{core::int});
core::print(mai::C1::field2);
mai::C2 o2 = new mai::C2::•();
o2.{mai::C2::method1}(){() void};
core::print(o2.{mai::C2::method1}{() void});
core::print(o2.{mai::C2::getter1}{core::int});
o2.{mai::C2::setter1} = 42;
mai::C2::method2();
core::print(#C9);
core::print(mai::C2::getter2);
mai::C2::setter2 = 42;
core::print(#C10);
core::print(o2.{mai::C2::field1}{core::int});
core::print(mai::C2::field2);
mai::method1();
core::print(#C11);
mai::method2();
core::print(#C12);
core::print(mai::field1);
mai::field1 = 42;
core::print(mai::field2);
mai::field2 = 42;
core::print(new mai::C8::_());
core::print(new mai::C9::_());
core::print(#C13);
core::print(mai::ExtType1|constructor#(42));
core::print(mai::Ext1|get#isPositive(42));
core::print(new mai2::Lib3Class::•());
mai2::lib3Method();
mai2::lib3Field = 42;
core::print(#C13);
core::print(mai2::Lib3ExtType|constructor#(42));
core::print(mai2::Lib3Ext|get#lib3IsPositive(42));
}
static method main() void {}
library;
import self as mai;
import "dart:core" as core;
class C1 extends core::Object {
field core::int field1 = 2;
static field core::int field2 = 3;
constructor •() mai::C1
: super core::Object::•()
;
method method1() void {}
get getter1() core::int
return 1;
set setter1(core::int value) void {}
static method method2() void {}
static get getter2() core::int
return 1;
static set setter2(core::int value) void {}
}
class C2 extends core::Object {
field core::int field1 = 2;
static field core::int field2 = 3;
constructor •() mai::C2
: super core::Object::•()
;
method method1() void {}
get getter1() core::int
return 1;
set setter1(core::int value) void {}
static method method2() void {}
static get getter2() core::int
return 1;
static set setter2(core::int value) void {}
}
class C3 extends core::Object {
synthetic constructor •() mai::C3
: super core::Object::•()
;
}
abstract class C4 extends core::Object {
field core::int? field1 = null;
field core::int? field2 = null;
synthetic constructor •() mai::C4
: super core::Object::•()
;
abstract method method1() void;
abstract method method2() void;
}
abstract class M1 extends core::Object /*isMixinDeclaration*/ {
}
abstract class M2 extends core::Object /*isMixinDeclaration*/ {
}
class Base extends core::Object {
synthetic constructor •() mai::Base
: super core::Object::•()
;
method foo() void {}
}
abstract class Interface extends core::Object {
synthetic constructor •() mai::Interface
: super core::Object::•()
;
abstract method foo() void;
}
abstract class Mixin extends core::Object /*isMixinDeclaration*/ {
method foo() void {}
}
class _C5 extends core::Object /*hasConstConstructor*/ {
final field core::Function func;
const constructor •(core::Function func) mai::_C5
: mai::_C5::func = func, super core::Object::•()
;
}
class _ConstForC6 extends core::Object /*hasConstConstructor*/ {
final field core::Function _f;
const constructor •(core::Function _f) mai::_ConstForC6
: mai::_ConstForC6::_f = _f, super core::Object::•()
;
}
class C6 extends core::Object {
constructor •({core::Object param = #C2}) → mai::C6
: super core::Object::•()
;
}
class _ConstForC7 extends core::Object /*hasConstConstructor*/ {
final field core::Function _f;
const constructor •(core::Function _f) mai::_ConstForC7
: mai::_ConstForC7::_f = _f, super core::Object::•()
;
}
class C7 extends core::Object {
constructor •({core::Object param = #C4}) → mai::C7
: super core::Object::•()
;
}
class C8 extends core::Object {
constructor _() mai::C8
: super core::Object::•() {}
static factory •() mai::C8 /* redirection-target: mai::C8::_ */
return new mai::C8::_();
}
class C9 extends core::Object {
constructor _() mai::C9
: super core::Object::•() {}
static factory •() mai::C9 /* redirection-target: mai::C9::_ */
return new mai::C9::_();
}
extension Ext1 on core::int {
get isPositive = mai::Ext1|get#isPositive;
}
extension type ExtType1(core::int raw) {
abstract extension-type-member representation-field get raw() core::int;
constructor = mai::ExtType1|constructor#;
constructor tearoff = mai::ExtType1|constructor#_#new#tearOff;
}
static field core::int field1 = 4;
static field core::int field2 = 4;
static const field mai::_C5 const1 = #C15;
static const field mai::_C5 const2 = #C17;
static method method1() void {}
static method method2() void {}
static method _privateMethod1() void {}
static method _privateMethod2() void {}
static method _privateMethodForC6() void {}
static method _privateMethodForC7() void {}
static extension-type-member method ExtType1|constructor#(core::int raw) → mai::ExtType1% /* erasure=core::int, declared=! */ {
lowered final mai::ExtType1% /* erasure=core::int, declared=! */ #this = raw;
return #this;
}
static extension-type-member synthetic method ExtType1|constructor#_#new#tearOff(core::int raw) → mai::ExtType1% /* erasure=core::int, declared=! */
return mai::ExtType1|constructor#(raw);
static extension-member method Ext1|get#isPositive(lowered final core::int #this) → core::bool
return #this.{core::num::>}(0){(core::num) → core::bool};
library;
import self as self2;
import "main_lib3.dart" as mai2;
additionalExports = (mai2::Lib3Class,
mai2::lib3Method,
mai2::lib3Field,
mai2::lib3Field,
mai2::Lib3ExtType,
mai2::Lib3Ext)
export "org-dartlang-testcase:///main_lib3.dart";
library;
import self as mai2;
import "dart:core" as core;
class Lib3Class extends core::Object {
synthetic constructor •() mai2::Lib3Class
: super core::Object::•()
;
}
extension Lib3Ext on core::int {
get lib3IsPositive = mai2::Lib3Ext|get#lib3IsPositive;
}
extension type Lib3ExtType(core::int raw) {
abstract extension-type-member representation-field get raw() core::int;
constructor = mai2::Lib3ExtType|constructor#;
constructor tearoff = mai2::Lib3ExtType|constructor#_#new#tearOff;
}
static field core::int? lib3Field;
static method lib3Method() void {}
static extension-type-member method Lib3ExtType|constructor#(core::int raw) → mai2::Lib3ExtType% /* erasure=core::int, declared=! */ {
lowered final mai2::Lib3ExtType% /* erasure=core::int, declared=! */ #this = raw;
return #this;
}
static extension-type-member synthetic method Lib3ExtType|constructor#_#new#tearOff(core::int raw) → mai2::Lib3ExtType% /* erasure=core::int, declared=! */
return mai2::Lib3ExtType|constructor#(raw);
static extension-member method Lib3Ext|get#lib3IsPositive(lowered final core::int #this) → core::bool
return #this.{core::num::>}(0){(core::num) → core::bool};
constants {
#C1 = static-tearoff mai::_privateMethodForC6
#C2 = mai::_ConstForC6 {_f:#C1}
#C3 = static-tearoff mai::_privateMethodForC7
#C4 = mai::_ConstForC7 {_f:#C3}
#C5 = 3
#C6 = 42
#C7 = static-tearoff mai::C1::method2
#C8 = constructor-tearoff mai::C1::•
#C9 = static-tearoff mai::C2::method2
#C10 = constructor-tearoff mai::C2::•
#C11 = static-tearoff mai::method1
#C12 = static-tearoff mai::method2
#C13 = TypeLiteralConstant(core::int)
#C14 = static-tearoff mai::_privateMethod1
#C15 = mai::_C5 {func:#C14}
#C16 = static-tearoff mai::_privateMethod2
#C17 = mai::_C5 {func:#C16}
}
Constructor coverage from constants:
org-dartlang-testcase:///main_lib1.dart:
- _ConstForC6. (from org-dartlang-testcase:///main_lib1.dart:71:9)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- _ConstForC7. (from org-dartlang-testcase:///main_lib1.dart:82:9)
- _C5. (from org-dartlang-testcase:///main_lib1.dart:60:9)