|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | typedef TA = self::A; | 
|  | class A extends core::Object /*hasConstConstructor*/  { | 
|  | const constructor •() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | const constructor named() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | const constructor named2() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | static factory redir() → self::A /* redirection-target: self::B::• */ | 
|  | return new self::B::•(); | 
|  | static factory redir2() → self::A /* redirection-target: self::B::• */ | 
|  | return new self::B::•(); | 
|  | static factory selfRedir() → self::A /* redirection-target: self::A::named */ | 
|  | return new self::A::named(); | 
|  | static factory selfRedir2() → self::A /* redirection-target: self::A::named2 */ | 
|  | return new self::A::named2(); | 
|  | } | 
|  | class B extends self::A /*hasConstConstructor*/  { | 
|  | const constructor •() → self::B | 
|  | : super self::A::•() | 
|  | ; | 
|  | } | 
|  | class Test extends core::Object { | 
|  | synthetic constructor •() → self::Test | 
|  | : super core::Object::•() | 
|  | ; | 
|  | method test(@#C1 core::int x, @#C2 core::int x2, @#C1 core::int x3, @#C2 core::int x4) → dynamic { | 
|  | @#C1 core::int localVariable = 0; | 
|  | @#C1 | 
|  | function localFunction() → void {} | 
|  | @#C2 core::int localVariable2 = 0; | 
|  | @#C2 | 
|  | function localFunction2() → void {} | 
|  | @#C1 core::int localVariable3 = 0; | 
|  | @#C1 | 
|  | function localFunction3() → void {} | 
|  | @#C2 core::int localVariable4 = 0; | 
|  | @#C2 | 
|  | function localFunction4() → void {} | 
|  | } | 
|  | } | 
|  | static method test(@#C1 core::int x, @#C2 core::int x2, @#C1 core::int x3, @#C2 core::int x4) → dynamic { | 
|  | @#C1 core::int localVariable = 0; | 
|  | @#C1 | 
|  | function localFunction() → void {} | 
|  | @#C2 core::int localVariable2 = 0; | 
|  | @#C2 | 
|  | function localFunction2() → void {} | 
|  | @#C1 core::int localVariable3 = 0; | 
|  | @#C1 | 
|  | function localFunction3() → void {} | 
|  | @#C2 core::int localVariable4 = 0; | 
|  | @#C2 | 
|  | function localFunction4() → void {} | 
|  | } | 
|  |  | 
|  | constants  { | 
|  | #C1 = self::B {} | 
|  | #C2 = self::A {} | 
|  | } | 
|  |  | 
|  |  | 
|  | Constructor coverage from constants: | 
|  | org-dartlang-testcase:///issue55152_2.dart: | 
|  | - B. (from org-dartlang-testcase:///issue55152_2.dart:16:9) | 
|  | - A. (from org-dartlang-testcase:///issue55152_2.dart:6:9) | 
|  | - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart) | 
|  | - A.named (from org-dartlang-testcase:///issue55152_2.dart:9:9) | 
|  | - A.named2 (from org-dartlang-testcase:///issue55152_2.dart:10:9) |