library /*isNonNullableByDefault*/; // // Problems in library: // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:19:12: Error: The binary operator + is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 + 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:20:12: Error: The binary operator - is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 - 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:21:12: Error: The binary operator * is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 * 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:22:12: Error: The binary operator / is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 / 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:23:12: Error: The binary operator ~/ is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 ~/ 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:24:12: Error: The binary operator % is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 % 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:25:12: Error: The binary operator == is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 == 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:26:12: Error: The binary operator != is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 != 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:27:12: Error: The binary operator ^ is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 ^ 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:28:12: Error: The binary operator & is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 & 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:29:12: Error: The binary operator | is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 | 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:30:12: Error: The binary operator < is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 < 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:31:12: Error: The binary operator <= is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 <= 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:32:12: Error: The binary operator > is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 > 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:33:12: Error: The binary operator >= is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 >= 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:34:12: Error: The binary operator << is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 << 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:35:12: Error: The binary operator >> is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 >> 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:36:12: Error: The binary operator >>> is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 >>> 2: // Error // ^^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:37:12: Error: The binary operator + is not supported as a constant pattern. // Try wrapping the expression in 'const ( ... )'. // case 1 + 2 + 3: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:40:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 as int: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:41:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 + 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:42:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 - 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:43:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 * 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:44:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 / 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:45:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 ~/ 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:46:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 % 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:47:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 == 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:48:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 != 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:49:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 ^ 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:50:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 & 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:51:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 | 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:52:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 < 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:53:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 <= 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:54:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 > 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:55:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 >= 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:56:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 << 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:57:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 >> 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:58:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 >>> 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:59:16: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const 1 + 2 + 3: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:60:23: Error: The expression can't be prefixed by 'const' to form a constant pattern. // Try wrapping the expression in 'const ( ... )' instead. // case const Object() == 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:12: Error: Expected ':' before this. // case 1 ?? 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:12: Error: Expected an identifier, but got '??'. // Try inserting an identifier before '??'. // case 1 ?? 2: // Error // ^^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:15: Error: Expected ';' after this. // case 1 ?? 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:16: Error: Expected an identifier, but got ':'. // Try inserting an identifier before ':'. // case 1 ?? 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:16: Error: Unexpected token ':'. // case 1 ?? 2: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:82:10: Error: Not a constant expression. // case o++: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:83:10: Error: Not a constant expression. // case o--: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:84:12: Error: Not a constant expression. // case ++o: // Error // ^ // // pkg/front_end/testcases/patterns/const_patterns_binary.dart:85:12: Error: Not a constant expression. // case --o: // Error // ^ // import self as self; import "dart:core" as core; import "org-dartlang-testcase:///const_patterns_binary.dart" as prefix; class Class extends core::Object { static const field core::int value = #C1; synthetic constructor •() → self::Class : super core::Object::•() ; } static const field core::int value = #C2; static method method(dynamic o) → dynamic { #L1: { final synthesized dynamic #0#0 = o; late final synthesized core::bool #0#2 = #C2 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#4 = #C1 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#6 = #C2 =={core::num::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} self::method::T%; late final synthesized core::bool #0#10 = #C3 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#12 = #C4 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#14 = #C5 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#16 = #C6 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#18 = #C7 =={core::Object::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#20 = #C8 =={core::Object::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#22 = #C9 =={core::num::==}{(core::Object) → core::bool} #0#0; late final synthesized core::bool #0#24 = #C10 =={core::num::==}{(core::Object) → core::bool} #0#0; final const synthesized invalid-type #0#31 = invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:82:10: Error: Not a constant expression. case o++: // Error ^"; final const synthesized invalid-type #0#33 = invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:83:10: Error: Not a constant expression. case o--: // Error ^"; final const synthesized invalid-type #0#35 = invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:84:12: Error: Not a constant expression. case ++o: // Error ^"; final const synthesized invalid-type #0#37 = invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:85:12: Error: Not a constant expression. case --o: // Error ^"; { if(#0#2 || #0#4 || #0#2 && #0#4 || (let final dynamic #t1 = #0#0 as{ForNonNullableByDefault} self::method::T% in #0#6) || #C11 =={core::Object::==}{(core::Object) → core::bool} #0#0 || #0#10 || #0#12 || #0#4 || #0#14 || #0#16 || #0#2 || #0#18 || #0#20 || #0#10 || #0#16 || #0#10 || #0#20 || #0#20 || #0#18 || #0#18 || #0#22 || #0#16 || #0#16 || #0#24 || (let final dynamic #t2 = #0#0 as{ForNonNullableByDefault} self::method::T% in #0#6) || (let final dynamic #t3 = #0#0 as{ForNonNullableByDefault} self::method::T% in #C1 =={core::num::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} self::method::T%) || (let final dynamic #t4 = #0#0 as{ForNonNullableByDefault} core::int in #C2 =={core::num::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::int) || #0#10 || #0#12 || #0#4 || #0#14 || #0#16 || #0#2 || #0#18 || #0#20 || #0#10 || #0#16 || #0#10 || #0#20 || #0#20 || #0#18 || #0#18 || #0#22 || #0#16 || #0#16 || #0#24 || #0#18 || (let final dynamic #t5 = #0#0 as{ForNonNullableByDefault} core::List in #C12 =={core::List::==}{(core::Object) → core::bool} #0#0 as{ForNonNullableByDefault} core::List) || #0#10 || #0#12 || #0#4 || #0#14 || #0#16 || #0#2 || #0#18 || #0#20 || #0#10 || #0#16 || #0#10 || #0#20 || #0#20 || #0#18 || #0#18 || #0#22 || #0#16 || #0#16 || #0#24 || #0#2) { { let final invalid-type #t6 = invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:12: Error: This couldn't be parsed. case 1 ?? 2: // Error ^" in #t6 == null ?{invalid-type} 2 : #t6; invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:81:16: Error: This couldn't be parsed. case 1 ?? 2: // Error ^"; break #L1; } } } { if(invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:82:10: Error: Not a constant expression. case o++: // Error ^" =={core::Object::==}{(core::Object) → core::bool} #0#0 || invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:83:10: Error: Not a constant expression. case o--: // Error ^" =={core::Object::==}{(core::Object) → core::bool} #0#0 || invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:84:12: Error: Not a constant expression. case ++o: // Error ^" =={core::Object::==}{(core::Object) → core::bool} #0#0 || invalid-expression "pkg/front_end/testcases/patterns/const_patterns_binary.dart:85:12: Error: Not a constant expression. case --o: // Error ^" =={core::Object::==}{(core::Object) → core::bool} #0#0) { } } } } constants { #C1 = 2 #C2 = 1 #C3 = 3 #C4 = -1 #C5 = 0.5 #C6 = 0 #C7 = false #C8 = true #C9 = 4 #C10 = 6 #C11 = core::Object {} #C12 = [] } Constructor coverage from constants: org-dartlang-testcase:///const_patterns_binary.dart: - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)