| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| inline class I /* declaredRepresentationType = core::int */ { |
| static factory • = self::I|; |
| static tearoff • = self::I|_#new#tearOff; |
| } |
| inline class J /* declaredRepresentationType = core::int */ { |
| static factory • = self::J|; |
| static tearoff • = self::J|_#new#tearOff; |
| constructor _ = self::J|_; |
| tearoff _ = self::J|_#_#tearOff; |
| } |
| inline class K<T extends core::Object? = dynamic> /* declaredRepresentationType = T% */ { |
| static factory • = self::K|; |
| static tearoff • = self::K|_#new#tearOff; |
| constructor _ = self::K|_; |
| tearoff _ = self::K|_#_#tearOff; |
| } |
| static inline-class-member method I|() → self::I |
| return 0 as self::I; |
| static inline-class-member method I|_#new#tearOff() → self::I |
| return self::I|(); |
| static inline-class-member method J|(core::int i) → self::J |
| return self::J|_(i); |
| static inline-class-member method J|_#new#tearOff(core::int i) → self::J |
| return self::J|(i); |
| static inline-class-member method J|_(core::int i) → self::J { |
| lowered final self::J #this = i; |
| return #this; |
| } |
| static inline-class-member method J|_#_#tearOff(core::int i) → self::J |
| return self::J|_(i); |
| static inline-class-member method K|<T extends core::Object? = dynamic>(self::K|::T% i) → self::K<self::K|::T%> |
| return self::K|_<self::K|::T%>(i); |
| static inline-class-member method K|_#new#tearOff<T extends core::Object? = dynamic>(self::K|_#new#tearOff::T% i) → self::K<self::K|_#new#tearOff::T%> |
| return self::K|<self::K|_#new#tearOff::T%>(i); |
| static inline-class-member method K|_<T extends core::Object? = dynamic>(self::K|_::T% i) → self::K<self::K|_::T%> { |
| lowered final self::K<self::K|_::T%> #this = i; |
| return #this; |
| } |
| static inline-class-member method K|_#_#tearOff<T extends core::Object? = dynamic>(self::K|_#_#tearOff::T% i) → self::K<self::K|_#_#tearOff::T%> |
| return self::K|_<self::K|_#_#tearOff::T%>(i); |
| static method main() → dynamic { |
| self::expect(0, self::I|()); |
| self::expect(0, #C1(){() → self::I}); |
| self::expect(42, self::J|(42)); |
| self::expect(87, self::J|(87)); |
| self::expect(123, #C2(123){(core::int) → self::J}); |
| self::expect("foo", self::K|<core::String>("foo")); |
| self::expect("bar", self::K|<core::String>("bar")); |
| self::expect("baz", #C3<core::String>("baz"){(core::String) → self::K<core::String>}); |
| self::expect("boz", #C4("boz"){(core::String) → self::K<core::String>}); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| |
| constants { |
| #C1 = static-tearoff self::I|_#new#tearOff |
| #C2 = static-tearoff self::J|_#new#tearOff |
| #C3 = static-tearoff self::K|_#new#tearOff |
| #C4 = instantiation #C3 <core::String*> |
| } |