| // |
| // Problems outside component: |
| // |
| // pkg/front_end/testcases/dart2js/native.dart: Error: Only JS interop members may be 'external'. |
| // Try removing the 'external' keyword or adding a JS interop annotation. |
| // |
| library; |
| import self as self; |
| import "dart:core" as core; |
| import "dart:_internal" as _in; |
| import "dart:_js_helper" as _js; |
| |
| import "dart:_js_helper"; |
| |
| class Class extends core::Object { |
| field dynamic instanceField; |
| static field dynamic staticField = null; |
| constructor generative() → self::Class |
| : self::Class::instanceField = null, super core::Object::•() |
| ; |
| external constructor externalGenerative() → self::Class; |
| @#C2 |
| external constructor nativeGenerative() → self::Class; |
| static method _#generative#tearOff() → self::Class |
| return new self::Class::generative(); |
| static factory fact() → self::Class |
| return (null as dynamic) as{TypeError,ForDynamic} self::Class; |
| static method _#fact#tearOff() → self::Class |
| return self::Class::fact(); |
| static method _#externalGenerative#tearOff() → self::Class |
| return new self::Class::externalGenerative(); |
| external static factory externalFact() → self::Class; |
| static method _#externalFact#tearOff() → self::Class |
| return self::Class::externalFact(); |
| static method _#nativeGenerative#tearOff() → self::Class |
| return new self::Class::nativeGenerative(); |
| @#C2 |
| external static factory nativeFact() → self::Class; |
| static method _#nativeFact#tearOff() → self::Class |
| return self::Class::nativeFact(); |
| get instanceGetter() → dynamic |
| return null; |
| set instanceSetter(dynamic _) → void {} |
| method instanceMethod() → dynamic {} |
| static get staticGetter() → dynamic |
| return null; |
| static set staticSetter(dynamic _) → void {} |
| static method staticMethod() → dynamic {} |
| external get externalInstanceGetter() → dynamic; |
| external set externalInstanceSetter(dynamic _) → void; |
| external method externalInstanceMethod() → dynamic; |
| external static get externalStaticGetter() → dynamic; |
| external static set externalStaticSetter(dynamic _) → void; |
| external static method externalStaticMethod() → dynamic; |
| @#C2 |
| external get nativeInstanceGetter() → dynamic; |
| @#C2 |
| external set nativeInstanceSetter(dynamic _) → void; |
| @#C2 |
| external method nativeInstanceMethod() → dynamic; |
| @#C2 |
| external static get nativeStaticGetter() → dynamic; |
| @#C2 |
| external static set nativeStaticSetter(dynamic _) → void; |
| @#C2 |
| external static method nativeStaticMethod() → dynamic; |
| } |
| @#C4 |
| class NativeClass extends core::Object { |
| field dynamic instanceField; |
| static field dynamic staticField = null; |
| field dynamic instanceNamedField; |
| constructor generative() → self::NativeClass |
| : self::NativeClass::instanceNamedField = null, self::NativeClass::instanceField = null, super core::Object::•() |
| ; |
| external constructor externalGenerative() → self::NativeClass; |
| @#C2 |
| external constructor nativeGenerative() → self::NativeClass; |
| static method _#generative#tearOff() → self::NativeClass |
| return new self::NativeClass::generative(); |
| static factory fact() → self::NativeClass |
| return (null as dynamic) as{TypeError,ForDynamic} self::NativeClass; |
| static method _#fact#tearOff() → self::NativeClass |
| return self::NativeClass::fact(); |
| static method _#externalGenerative#tearOff() → self::NativeClass |
| return new self::NativeClass::externalGenerative(); |
| external static factory externalFact() → self::NativeClass; |
| static method _#externalFact#tearOff() → self::NativeClass |
| return self::NativeClass::externalFact(); |
| static method _#nativeGenerative#tearOff() → self::NativeClass |
| return new self::NativeClass::nativeGenerative(); |
| @#C2 |
| external static factory nativeFact() → self::NativeClass; |
| static method _#nativeFact#tearOff() → self::NativeClass |
| return self::NativeClass::nativeFact(); |
| get instanceGetter() → dynamic |
| return null; |
| set instanceSetter(dynamic _) → void {} |
| method instanceMethod() → dynamic {} |
| static get staticGetter() → dynamic |
| return null; |
| static set staticSetter(dynamic _) → void {} |
| static method staticMethod() → dynamic {} |
| external get externalInstanceGetter() → dynamic; |
| external set externalInstanceSetter(dynamic _) → void; |
| external method externalInstanceMethod() → dynamic; |
| external static get externalStaticGetter() → dynamic; |
| external static set externalStaticSetter(dynamic _) → void; |
| external static method externalStaticMethod() → dynamic; |
| @#C2 |
| external get nativeInstanceGetter() → dynamic; |
| @#C2 |
| external set nativeInstanceSetter(dynamic _) → void; |
| @#C2 |
| external method nativeInstanceMethod() → dynamic; |
| @#C2 |
| external static get nativeStaticGetter() → dynamic; |
| @#C2 |
| external static set nativeStaticSetter(dynamic _) → void; |
| @#C2 |
| external static method nativeStaticMethod() → dynamic; |
| } |
| static field dynamic topLevelField; |
| static get topLevelGetter() → dynamic |
| return null; |
| static set topLevelSetter(dynamic _) → void {} |
| static method topLevelFunction() → dynamic {} |
| external static get externalTopLevelGetter() → dynamic; |
| external static set externalTopLevelSetter(dynamic _) → void; |
| external static method externalTopLevelFunction() → dynamic; |
| @#C2 |
| external static get nativeTopLevelGetter() → dynamic; |
| @#C2 |
| external static set nativeTopLevelSetter(dynamic _) → void; |
| @#C2 |
| external static method nativeTopLevelFunction() → dynamic; |
| static method main() → dynamic { |
| if(true) |
| return; |
| self::topLevelField; |
| self::topLevelGetter; |
| self::topLevelSetter = null; |
| self::topLevelFunction(); |
| self::externalTopLevelGetter; |
| self::externalTopLevelSetter = null; |
| self::externalTopLevelFunction(); |
| self::nativeTopLevelGetter; |
| self::nativeTopLevelSetter = null; |
| self::nativeTopLevelFunction(); |
| self::Class c1 = new self::Class::generative(); |
| self::Class::fact(); |
| new self::Class::externalGenerative(); |
| self::Class::externalFact(); |
| new self::Class::nativeGenerative(); |
| self::Class::nativeFact(); |
| c1.{self::Class::instanceField}{dynamic}; |
| c1.{self::Class::instanceGetter}{dynamic}; |
| c1.{self::Class::instanceSetter} = null; |
| c1.{self::Class::instanceMethod}(){() → dynamic}; |
| self::Class::staticField; |
| self::Class::staticGetter; |
| self::Class::staticSetter = null; |
| self::Class::staticMethod(); |
| c1.{self::Class::externalInstanceGetter}{dynamic}; |
| c1.{self::Class::externalInstanceSetter} = null; |
| c1.{self::Class::externalInstanceMethod}(){() → dynamic}; |
| self::Class::externalStaticGetter; |
| self::Class::externalStaticSetter = null; |
| self::Class::externalStaticMethod(); |
| c1.{self::Class::nativeInstanceGetter}{dynamic}; |
| c1.{self::Class::nativeInstanceSetter} = null; |
| c1.{self::Class::nativeInstanceMethod}(){() → dynamic}; |
| self::Class::nativeStaticGetter; |
| self::Class::nativeStaticSetter = null; |
| self::Class::nativeStaticMethod(); |
| self::NativeClass c2 = new self::NativeClass::generative(); |
| self::NativeClass::fact(); |
| new self::NativeClass::externalGenerative(); |
| self::NativeClass::externalFact(); |
| new self::NativeClass::nativeGenerative(); |
| self::NativeClass::nativeFact(); |
| c2.{self::NativeClass::instanceField}{dynamic}; |
| c2.{self::NativeClass::instanceGetter}{dynamic}; |
| c2.{self::NativeClass::instanceSetter} = null; |
| c2.{self::NativeClass::instanceMethod}(){() → dynamic}; |
| self::NativeClass::staticField; |
| self::NativeClass::staticGetter; |
| self::NativeClass::staticSetter = null; |
| self::NativeClass::staticMethod(); |
| c2.{self::NativeClass::externalInstanceGetter}{dynamic}; |
| c2.{self::NativeClass::externalInstanceSetter} = null; |
| c2.{self::NativeClass::externalInstanceMethod}(){() → dynamic}; |
| self::NativeClass::externalStaticGetter; |
| self::NativeClass::externalStaticSetter = null; |
| self::NativeClass::externalStaticMethod(); |
| c2.{self::NativeClass::nativeInstanceGetter}{dynamic}; |
| c2.{self::NativeClass::nativeInstanceSetter} = null; |
| c2.{self::NativeClass::nativeInstanceMethod}(){() → dynamic}; |
| self::NativeClass::nativeStaticGetter; |
| self::NativeClass::nativeStaticSetter = null; |
| self::NativeClass::nativeStaticMethod(); |
| } |
| |
| constants { |
| #C1 = "" |
| #C2 = _in::ExternalName {name:#C1} |
| #C3 = "d" |
| #C4 = _js::Native {name:#C3} |
| } |
| |
| Extra constant evaluation status: |
| Evaluated: AsExpression @ org-dartlang-testcase:///native.dart:35:32 -> NullConstant(null) |
| Evaluated: AsExpression @ org-dartlang-testcase:///native.dart:95:38 -> NullConstant(null) |
| Extra constant evaluation: evaluated: 98, effectively constant: 2 |
| |
| |
| Constructor coverage from constants: |
| org-dartlang-testcase:///native.dart: |
| - ExternalName. (from org-dartlang-sdk:///lib/internal/internal.dart) |
| - Object. (from org-dartlang-sdk:///lib/core/object.dart) |
| - Native. (from org-dartlang-sdk:///lib/_internal/js_runtime/lib/annotations.dart) |