| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| static method test1(core::int value) → core::String { |
| #L1: |
| { |
| final synthesized core::int #0#0 = value; |
| if(#0#0.{core::num::<}(#C1){(core::num) → core::bool}) { |
| { |
| return "case <2"; |
| } |
| } |
| else |
| if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) { |
| { |
| return "case 2"; |
| } |
| } |
| } |
| return "not matched"; |
| } |
| static method test2(core::int value) → core::String { |
| #L2: |
| { |
| final synthesized core::int #0#0 = value; |
| if(#0#0.{core::num::<}(#C1){(core::num) → core::bool}) { |
| { |
| return "case <2"; |
| } |
| } |
| else |
| if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0 || true) { |
| { |
| return "case 2"; |
| } |
| } |
| } |
| return "not matched"; |
| } |
| static method test3(core::int value) → core::String { |
| #L3: |
| { |
| final synthesized core::int #0#0 = value; |
| if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) { |
| { |
| return "case 2"; |
| } |
| } |
| else |
| if(#0#0.{core::num::<}(#C1){(core::num) → core::bool} || true) { |
| { |
| return "case <2"; |
| } |
| } |
| } |
| return "not matched"; |
| } |
| static method test4(core::int value) → core::String { |
| #L4: |
| { |
| final synthesized core::int #0#0 = value; |
| if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) { |
| { |
| return "case 2"; |
| } |
| } |
| else |
| if(#0#0.{core::num::<}(#C1){(core::num) → core::bool}) { |
| { |
| return "case <2"; |
| } |
| } |
| else { |
| { |
| return "default"; |
| } |
| } |
| } |
| } |
| static method test5(core::int value) → core::String { |
| #L5: |
| { |
| final synthesized core::int #0#0 = value; |
| if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) { |
| { |
| return "case 2"; |
| } |
| } |
| else |
| if(#0#0.{core::num::<}(#C1){(core::num) → core::bool} || #0#0.{core::num::>}(#C2){(core::num) → core::bool}) { |
| { |
| return "case <2 >3"; |
| } |
| } |
| else { |
| { |
| return "default"; |
| } |
| } |
| } |
| } |
| static method test6(core::int value) → core::String { |
| #L6: |
| { |
| final synthesized core::int #0#0 = value; |
| if(#C1 =={core::num::==}{(core::Object) → core::bool} #0#0) { |
| { |
| return "case 2"; |
| } |
| } |
| else |
| if(#C3 =={core::num::==}{(core::Object) → core::bool} #0#0 || #C4 =={core::num::==}{(core::Object) → core::bool} #0#0) { |
| { |
| return "case 1/4"; |
| } |
| } |
| else { |
| { |
| return "default"; |
| } |
| } |
| } |
| } |
| static method main() → dynamic { |
| self::expect("case <2", self::test1(1)); |
| self::expect("case 2", self::test1(2)); |
| self::expect("not matched", self::test1(3)); |
| self::expect("case <2", self::test2(1)); |
| self::expect("case 2", self::test2(2)); |
| self::expect("case 2", self::test2(3)); |
| self::expect("case <2", self::test3(1)); |
| self::expect("case 2", self::test3(2)); |
| self::expect("case <2", self::test3(3)); |
| self::expect("case <2", self::test4(1)); |
| self::expect("case 2", self::test4(2)); |
| self::expect("default", self::test4(3)); |
| self::expect("case <2", self::test4(1)); |
| self::expect("case 2", self::test4(2)); |
| self::expect("default", self::test4(3)); |
| self::expect("case <2 >3", self::test5(1)); |
| self::expect("case 2", self::test5(2)); |
| self::expect("default", self::test5(3)); |
| self::expect("case <2 >3", self::test5(4)); |
| self::expect("case 1/4", self::test6(1)); |
| self::expect("case 2", self::test6(2)); |
| self::expect("default", self::test6(3)); |
| self::expect("case 1/4", self::test6(4)); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| |
| constants { |
| #C1 = 2 |
| #C2 = 3 |
| #C3 = 1 |
| #C4 = 4 |
| } |