| library; | |
| // | |
| // Problems in library: | |
| // | |
| // pkg/front_end/testcases/patterns/pattern_assignment_final.dart:34:4: Error: Can't assign to the final variable 'initializedFinal'. | |
| // (initializedFinal, // Error | |
| // ^^^^^^^^^^^^^^^^ | |
| // | |
| // pkg/front_end/testcases/patterns/pattern_assignment_final.dart:35:7: Error: Can't assign to the final variable 'initializedLateFinal'. | |
| // initializedLateFinal, // Error | |
| // ^^^^^^^^^^^^^^^^^^^^ | |
| // | |
| // pkg/front_end/testcases/patterns/pattern_assignment_final.dart:38:5: Error: Final variable 'definitelyAssignedFinal' might already be assigned at this point. | |
| // definitelyAssignedFinal] = y; // Error | |
| // ^^^^^^^^^^^^^^^^^^^^^^^ | |
| // | |
| // pkg/front_end/testcases/patterns/pattern_assignment_final.dart:39:17: Error: Late final variable 'definitelyAssignedLateFinal' definitely assigned. | |
| // Class(field1: definitelyAssignedLateFinal, // Error | |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| // | |
| // pkg/front_end/testcases/patterns/pattern_assignment_final.dart:40:17: Error: Final variable 'notDefinitelyAssignedFinal' might already be assigned at this point. | |
| // field2: [[notDefinitelyAssignedFinal, _], // Error | |
| // ^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
| // | |
| import self as self; | |
| import "dart:core" as core; | |
| class Class extends core::Object { | |
| field dynamic field1 = null; | |
| field dynamic field2 = null; | |
| synthetic constructor •() → self::Class | |
| : super core::Object::•() | |
| ; | |
| } | |
| static method method(dynamic x, dynamic y, dynamic z) → dynamic { | |
| final core::int initializedFinal = 5; | |
| late final core::int initializedLateFinal = 5; | |
| final dynamic definitelyUnassignedFinal; | |
| late final core::int definitelyUnassignedLateFinal; | |
| final dynamic definitelyAssignedFinal; | |
| late final dynamic definitelyAssignedLateFinal; | |
| final core::int notDefinitelyAssignedFinal; | |
| late final core::int notDefinitelyAssignedLateFinal; | |
| if(x =={core::Object::==}{(core::Object) → core::bool} 5) { | |
| notDefinitelyAssignedFinal = 5; | |
| notDefinitelyAssignedLateFinal = 15; | |
| } | |
| definitelyAssignedFinal = 10; | |
| definitelyAssignedLateFinal = 20; | |
| { | |
| final synthesized dynamic #0#0 = x as{TypeError,ForDynamic} (invalid-type, invalid-type, dynamic); | |
| if(!(#0#0 is (core::Object?, core::Object?, core::Object?) && invalid-expression "pkg/front_end/testcases/patterns/pattern_assignment_final.dart:34:4: Error: Can't assign to the final variable 'initializedFinal'. | |
| (initializedFinal, // Error | |
| ^^^^^^^^^^^^^^^^" && invalid-expression "pkg/front_end/testcases/patterns/pattern_assignment_final.dart:35:7: Error: Can't assign to the final variable 'initializedLateFinal'. | |
| initializedLateFinal, // Error | |
| ^^^^^^^^^^^^^^^^^^^^" && (let final dynamic #t1 = definitelyUnassignedFinal = #0#0{(core::Object?, core::Object?, core::Object?)}.$3{core::Object?} in true))) | |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); | |
| } | |
| { | |
| final synthesized dynamic #1#0 = y as{TypeError,ForDynamic} core::List<core::int>; | |
| final const synthesized core::int #1#3 = #C1; | |
| if(!(#1#0 is core::List<dynamic> && #1#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (let final dynamic #t2 = definitelyUnassignedLateFinal = #1#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic} as core::int in true) && invalid-expression "pkg/front_end/testcases/patterns/pattern_assignment_final.dart:38:5: Error: Final variable 'definitelyAssignedFinal' might already be assigned at this point. | |
| definitelyAssignedFinal] = y; // Error | |
| ^^^^^^^^^^^^^^^^^^^^^^^")) | |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); | |
| } | |
| { | |
| final synthesized dynamic #2#0 = z as{TypeError,ForDynamic} self::Class; | |
| synthesized dynamic #2#3; | |
| synthesized core::bool #2#3#isSet = false; | |
| final const synthesized core::int #2#6 = #C1; | |
| synthesized dynamic #2#9; | |
| synthesized core::bool #2#9#isSet = false; | |
| synthesized dynamic #2#16; | |
| synthesized core::bool #2#16#isSet = false; | |
| if(!(#2#0 is self::Class && (let final dynamic #t3 = #2#0{self::Class}.{self::Class::field1}{dynamic} in invalid-expression "pkg/front_end/testcases/patterns/pattern_assignment_final.dart:39:17: Error: Late final variable 'definitelyAssignedLateFinal' definitely assigned. | |
| Class(field1: definitelyAssignedLateFinal, // Error | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^") && ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t4 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) is core::List<dynamic> && ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t5 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && ((#2#9#isSet ?{dynamic} #2#9 : let final dynamic #t6 = #2#9#isSet = true in #2#9 = ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t7 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(0){(core::int) → dynamic}) is core::List<dynamic> && ((#2#9#isSet ?{dynamic} #2#9 : let final dynamic #t8 = #2#9#isSet = true in #2#9 = ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t9 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(0){(core::int) → dynamic}) as{Unchecked} core::List<dynamic>).{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && invalid-expression "pkg/front_end/testcases/patterns/pattern_assignment_final.dart:40:17: Error: Final variable 'notDefinitelyAssignedFinal' might already be assigned at this point. | |
| field2: [[notDefinitelyAssignedFinal, _], // Error | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^") && ((#2#16#isSet ?{dynamic} #2#16 : let final dynamic #t10 = #2#16#isSet = true in #2#16 = ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t11 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic}) is core::List<dynamic> && ((#2#16#isSet ?{dynamic} #2#16 : let final dynamic #t12 = #2#16#isSet = true in #2#16 = ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t13 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic}) as{Unchecked} core::List<dynamic>).{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && (let final dynamic #t14 = notDefinitelyAssignedLateFinal = ((#2#16#isSet ?{dynamic} #2#16 : let final dynamic #t15 = #2#16#isSet = true in #2#16 = ((#2#3#isSet ?{dynamic} #2#3 : let final dynamic #t16 = #2#3#isSet = true in #2#3 = #2#0{self::Class}.{self::Class::field2}{dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic}) as{Unchecked} core::List<dynamic>).{core::List::[]}(1){(core::int) → dynamic} as core::int in true))))) | |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); | |
| } | |
| } | |
| constants { | |
| #C1 = 2 | |
| } |