mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 07:19:58 +00:00
0c03458717
Reland of https://dart-review.googlesource.com/c/sdk/+/29160 Adds a 'severity' field to diagnostic messages and replaces all addWarning and addNit functions by a generic addProblem, which uses the intrinsic severity of the message. Eventually, errors should also be reported this way. A special severity value maps into either warning or error for Dart 1 and Dart 2, respectively. Most Dart 1 warnings are in this category. Fixes some 320 failures of DDK test expecting a compile-time error. These were previously masked by a workaround in the DDC error handler which has now been removed. Closes https://github.com/dart-lang/sdk/issues/31286 Change-Id: Id3b3b7f1fc6a101639fc908c90f3ec7d304a7b4b Reviewed-on: https://dart-review.googlesource.com/32580 Commit-Queue: Aske Simon Christensen <askesc@google.com> Reviewed-by: Paul Berry <paulberry@google.com>
84 lines
3.1 KiB
Plaintext
84 lines
3.1 KiB
Plaintext
library;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
class A extends core::Object {
|
|
default constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
set a(dynamic #synthetic) → void
|
|
let dynamic _ = null in invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:10:8: Error: A setter should have exactly one formal parameter.\n set a();\n ^";
|
|
set d(dynamic #synthetic) → void
|
|
let dynamic _ = null in invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:11:8: Error: A setter should have exactly one formal parameter.\n set d(x, y);\n ^";
|
|
}
|
|
abstract class B extends core::Object {
|
|
default constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
set a(dynamic #synthetic) → void
|
|
let dynamic _ = null in invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:15:8: Error: A setter should have exactly one formal parameter.\n set a();\n ^";
|
|
set d(dynamic #synthetic) → void
|
|
let dynamic _ = null in invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:16:8: Error: A setter should have exactly one formal parameter.\n set d(x, y);\n ^";
|
|
}
|
|
static const field dynamic #errors = const <dynamic>["pkg/front_end/testcases/bad_setter_abstract.dart:5:8: Error: Expected a function body or '=>'.\nTry adding {}.\nset b();\n ^", "pkg/front_end/testcases/bad_setter_abstract.dart:7:12: Error: Expected a function body or '=>'.\nTry adding {}.\nset c(x, y);\n ^", "pkg/front_end/testcases/bad_setter_abstract.dart:66:9: Error: The class 'B' is abstract and can't be instantiated.\n new B();\n ^"]/* from null */;
|
|
static set b(dynamic #synthetic) → void
|
|
let dynamic _ = null in invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:5:6: Error: A setter should have exactly one formal parameter.\nset b();\n ^";
|
|
static set c(dynamic #synthetic) → void
|
|
let dynamic _ = null in invalid-expression "pkg/front_end/testcases/bad_setter_abstract.dart:7:6: Error: A setter should have exactly one formal parameter.\nset c(x, y);\n ^";
|
|
static method main() → dynamic {
|
|
core::bool threw;
|
|
try {
|
|
threw = true;
|
|
new self::A::•().{self::A::a} = null;
|
|
threw = false;
|
|
}
|
|
on dynamic catch(final dynamic e) {
|
|
}
|
|
if(!threw) {
|
|
throw "Expected an error above.";
|
|
}
|
|
try {
|
|
threw = true;
|
|
new self::A::•().{self::A::d} = null;
|
|
threw = false;
|
|
}
|
|
on dynamic catch(final dynamic e) {
|
|
}
|
|
if(!threw) {
|
|
throw "Expected an error above.";
|
|
}
|
|
try {
|
|
threw = true;
|
|
self::b = null;
|
|
threw = false;
|
|
}
|
|
on dynamic catch(final dynamic e) {
|
|
}
|
|
if(!threw) {
|
|
throw "Expected an error above.";
|
|
}
|
|
if(!threw) {
|
|
throw "Expected an error above.";
|
|
}
|
|
try {
|
|
threw = true;
|
|
self::c = null;
|
|
threw = false;
|
|
}
|
|
on dynamic catch(final dynamic e) {
|
|
}
|
|
if(!threw) {
|
|
throw "Expected an error above.";
|
|
}
|
|
try {
|
|
threw = true;
|
|
throw new core::AbstractClassInstantiationError::•("B");
|
|
threw = false;
|
|
}
|
|
on core::AbstractClassInstantiationError catch(final core::AbstractClassInstantiationError _) {
|
|
}
|
|
if(!threw) {
|
|
throw "Expected an error above.";
|
|
}
|
|
}
|