3d19493f2d
+ add predicate helpers to identify these and extract their original names. TEST=pkg/front_end/test/predicates/predicate_test.dart Change-Id: I4d94c575d010b6b01c985eaf5392b9e0e979d044 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175250 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
library /*isNonNullableByDefault*/;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class Class extends core::Object {
|
|
synthetic constructor •() → self::Class
|
|
: super core::Object::•()
|
|
;
|
|
method method() → self::Class
|
|
return this;
|
|
}
|
|
extension Extension on self::Class {
|
|
method extensionMethod = self::Extension|extensionMethod;
|
|
tearoff extensionMethod = self::Extension|get#extensionMethod;
|
|
}
|
|
static method Extension|extensionMethod(lowered final self::Class #this) → self::Class
|
|
return #this;
|
|
static method Extension|get#extensionMethod(lowered final self::Class #this) → () → self::Class
|
|
return () → self::Class => self::Extension|extensionMethod(#this);
|
|
static method main() → dynamic {
|
|
self::Class? c;
|
|
let final self::Class? #t1 = c in #t1.{core::Object::==}(null) ?{self::Class?} null : block {
|
|
#t1{self::Class}.{self::Class::method}();
|
|
} =>#t1;
|
|
let final self::Class? #t2 = c in #t2.{core::Object::==}(null) ?{self::Class?} null : block {
|
|
#t2{self::Class}.{self::Class::method}();
|
|
#t2{self::Class}.{self::Class::method}();
|
|
} =>#t2;
|
|
let final self::Class? #t3 = c in #t3.{core::Object::==}(null) ?{self::Class?} null : block {
|
|
self::Extension|extensionMethod(#t3{self::Class});
|
|
} =>#t3;
|
|
let final self::Class? #t4 = c in #t4.{core::Object::==}(null) ?{self::Class?} null : block {
|
|
self::Extension|extensionMethod(#t4{self::Class});
|
|
self::Extension|extensionMethod(#t4{self::Class});
|
|
} =>#t4;
|
|
}
|