|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  | import "package:expect/expect.dart" as exp; | 
|  |  | 
|  | import "package:expect/expect.dart"; | 
|  |  | 
|  | class A extends core::Object /*hasConstConstructor*/  { | 
|  | const constructor •() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | } | 
|  | class B extends core::Object /*hasConstConstructor*/  { | 
|  | const constructor •() → self::B | 
|  | : super core::Object::•() | 
|  | ; | 
|  | @#C1 | 
|  | method toString() → core::String | 
|  | return "B"; | 
|  | } | 
|  | class C extends core::Object /*hasConstConstructor*/  { | 
|  | final field core::int y; | 
|  | const constructor •(core::int y) → self::C | 
|  | : self::C::y = y, super core::Object::•() | 
|  | ; | 
|  | method fn() → core::int { | 
|  | if(this.{self::C::y}{core::int} =={core::num::==}{(core::Object) → core::bool} 1) | 
|  | return 100; | 
|  | return 200; | 
|  | } | 
|  | } | 
|  | class D extends self::C /*hasConstConstructor*/  { | 
|  | const constructor •(core::int y) → self::D | 
|  | : super self::C::•(y) | 
|  | ; | 
|  | @#C1 | 
|  | method fn() → core::int | 
|  | return 300; | 
|  | } | 
|  | class E extends self::C /*hasConstConstructor*/  { | 
|  | const constructor •(core::int y) → self::E | 
|  | : super self::C::•(y) | 
|  | ; | 
|  | } | 
|  | class F<T extends core::Object? = dynamic, U extends core::Object? = dynamic, V extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/  { | 
|  | const constructor •() → self::F<self::F::T%, self::F::U%, self::F::V%> | 
|  | : super core::Object::•() | 
|  | ; | 
|  | method fn(covariant-by-class self::F::U% x) → self::F::U% | 
|  | return x; | 
|  | } | 
|  | class G<T extends core::Object? = dynamic> extends self::F<self::G::T%, core::String, core::num> /*hasConstConstructor*/  { | 
|  | const constructor •() → self::G<self::G::T%> | 
|  | : super self::F::•() | 
|  | ; | 
|  | } | 
|  | static const field core::String var1 = #C2; | 
|  | static const field core::String toString1 = #C2; | 
|  | static const field core::String var2 = #C3; | 
|  | static const field core::String toString2 = #C3; | 
|  | static const field core::int var3 = #C4; | 
|  | static const field core::int var4 = #C5; | 
|  | static const field core::int fnVal1 = #C4; | 
|  | static const field core::int fnVal2 = #C5; | 
|  | static const field core::int var5 = #C6; | 
|  | static const field core::int fnVal3 = #C6; | 
|  | static const field core::int var6 = #C5; | 
|  | static const field core::int fnVal4 = #C4; | 
|  | static const field core::String var7 = #C7; | 
|  | static const field core::String fnVal5 = #C7; | 
|  | static const field core::String var8 = #C7; | 
|  | static const field core::String fnVal6 = #C7; | 
|  | static method fn() → core::String | 
|  | return #C8.{core::Object::toString}(){() → core::String}; | 
|  | static method fn2() → core::String | 
|  | return #C9.{self::B::toString}(){() → core::String}; | 
|  | static method fn3() → core::int | 
|  | return #C11.{self::C::fn}(){() → core::int}; | 
|  | static method fn4() → core::int | 
|  | return #C13.{self::C::fn}(){() → core::int}; | 
|  | static method fn5() → core::int | 
|  | return #C14.{self::D::fn}(){() → core::int}; | 
|  | static method fn6() → core::int | 
|  | return #C15.{self::C::fn}(){() → core::int}; | 
|  | static method fn7() → core::String | 
|  | return #C16.{self::F::fn}("string"){(core::String) → core::String}; | 
|  | static method fn8() → core::String | 
|  | return #C17.{self::F::fn}("string"){(core::String) → core::String}; | 
|  | static method main() → void { | 
|  | exp::Expect::equals(#C2, #C8.{core::Object::toString}(){() → core::String}); | 
|  | exp::Expect::equals(#C2, #C8.{core::Object::toString}(){() → core::String}); | 
|  | exp::Expect::equals(#C3, #C9.{self::B::toString}(){() → core::String}); | 
|  | exp::Expect::equals(#C3, #C9.{self::B::toString}(){() → core::String}); | 
|  | exp::Expect::equals(#C4, 200); | 
|  | exp::Expect::equals(#C5, 100); | 
|  | exp::Expect::equals(#C4, 200); | 
|  | exp::Expect::equals(#C5, 100); | 
|  | exp::Expect::equals(#C6, 300); | 
|  | exp::Expect::equals(#C6, 300); | 
|  | exp::Expect::equals(#C5, 100); | 
|  | exp::Expect::equals(#C4, 200); | 
|  | exp::Expect::equals(#C7, "string"); | 
|  | exp::Expect::equals(#C7, "string"); | 
|  | exp::Expect::equals(#C7, "string"); | 
|  | exp::Expect::equals(#C7, "string"); | 
|  | } | 
|  |  | 
|  | constants  { | 
|  | #C1 = core::_Override {} | 
|  | #C2 = "Instance of 'A'" | 
|  | #C3 = "B" | 
|  | #C4 = 200 | 
|  | #C5 = 100 | 
|  | #C6 = 300 | 
|  | #C7 = "string" | 
|  | #C8 = self::A {} | 
|  | #C9 = self::B {} | 
|  | #C10 = 0 | 
|  | #C11 = self::C {y:#C10} | 
|  | #C12 = 1 | 
|  | #C13 = self::C {y:#C12} | 
|  | #C14 = self::D {y:#C12} | 
|  | #C15 = self::E {y:#C12} | 
|  | #C16 = self::F<core::int, core::String, core::num> {} | 
|  | #C17 = self::G<core::int> {} | 
|  | } | 
|  |  | 
|  |  | 
|  | Constructor coverage from constants: | 
|  | org-dartlang-testcase:///const_functions_instance_methods.dart: | 
|  | - A. (from org-dartlang-testcase:///const_functions_instance_methods.dart:10:9) | 
|  | - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart) | 
|  | - B. (from org-dartlang-testcase:///const_functions_instance_methods.dart:14:9) | 
|  | - C. (from org-dartlang-testcase:///const_functions_instance_methods.dart:23:9) | 
|  | - D. (from org-dartlang-testcase:///const_functions_instance_methods.dart:32:9) | 
|  | - E. (from org-dartlang-testcase:///const_functions_instance_methods.dart:39:9) | 
|  | - F. (from org-dartlang-testcase:///const_functions_instance_methods.dart:43:9) | 
|  | - G. (from org-dartlang-testcase:///const_functions_instance_methods.dart:48:9) |