Files
sdk/tests/language/string/no_operator_test.dart
T
Konstantin Shcheglov 8de8a1c226 Move codes from StaticTypeWarningCode into CompileTimeErrorCode.
They are all errors now.

Change-Id: If48d38e38e845fd5b5a950dd5514bf1cbbce03d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-27 16:44:15 +00:00

75 lines
3.1 KiB
Dart

// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:expect/expect.dart';
main() {
var x = "x";
var y = "y";
Expect.throws(() => x < y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '<' isn't defined for the class 'String'.
Expect.throws(() => x <= y);
// ^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '<=' isn't defined for the class 'String'.
Expect.throws(() => x > y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '>' isn't defined for the class 'String'.
Expect.throws(() => x >= y);
// ^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '>=' isn't defined for the class 'String'.
Expect.throws(() => x - y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '-' isn't defined for the class 'String'.
Expect.throws(() => x * y);
// ^
// [analyzer] COMPILE_TIME_ERROR.ARGUMENT_TYPE_NOT_ASSIGNABLE
// [cfe] A value of type 'String' can't be assigned to a variable of type 'int'.
Expect.throws(() => x / y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '/' isn't defined for the class 'String'.
Expect.throws(() => x ~/ y);
// ^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '~/' isn't defined for the class 'String'.
Expect.throws(() => x % y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '%' isn't defined for the class 'String'.
Expect.throws(() => x >> y);
// ^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '>>' isn't defined for the class 'String'.
Expect.throws(() => x << y);
// ^^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '<<' isn't defined for the class 'String'.
Expect.throws(() => x & y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '&' isn't defined for the class 'String'.
Expect.throws(() => x | y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '|' isn't defined for the class 'String'.
Expect.throws(() => x ^ y);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '^' isn't defined for the class 'String'.
Expect.throws(() => -x);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator 'unary-' isn't defined for the class 'String'.
Expect.throws(() => ~x);
// ^
// [analyzer] COMPILE_TIME_ERROR.UNDEFINED_OPERATOR
// [cfe] The operator '~' isn't defined for the class 'String'.
}