4c1a94c0d3
This simplifies handle the constructor/member and its corresponding tearoff as a pair. Also it prepare for supporting tearoff of extension type constructors and methods with the same name. TEST=existing Change-Id: Iea6cbc0250c8df6bd0f825068c1f3e865d938427 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/324202 Reviewed-by: Srujan Gaddam <srujzs@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
library;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Class extends core::Object {
|
|
synthetic constructor •() → self::Class
|
|
: super core::Object::•()
|
|
;
|
|
@#C3
|
|
method instanceMethod() → dynamic {}
|
|
@#C3
|
|
static method staticMethod() → dynamic {}
|
|
}
|
|
extension Extension on self::Class {
|
|
method extensionInstanceMethod = self::Extension|extensionInstanceMethod;
|
|
method tearoff extensionInstanceMethod = self::Extension|get#extensionInstanceMethod;
|
|
static method extensionStaticMethod = self::Extension|extensionStaticMethod;
|
|
}
|
|
@#C3
|
|
static extension-member method Extension|extensionInstanceMethod(lowered final self::Class #this) → dynamic {}
|
|
static extension-member method Extension|get#extensionInstanceMethod(lowered final self::Class #this) → () → dynamic
|
|
return () → dynamic => self::Extension|extensionInstanceMethod(#this);
|
|
@#C3
|
|
static extension-member method Extension|extensionStaticMethod() → dynamic {}
|
|
@#C3
|
|
static method topLevelMethod() → dynamic {}
|
|
static method main() → dynamic {}
|
|
|
|
constants {
|
|
#C1 = "dart2js:noInline"
|
|
#C2 = null
|
|
#C3 = core::pragma {name:#C1, options:#C2}
|
|
}
|
|
|
|
|
|
Constructor coverage from constants:
|
|
org-dartlang-testcase:///annotations.dart:
|
|
- pragma._ (from org-dartlang-sdk:///sdk/lib/core/annotations.dart)
|
|
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
|