Files
sdk/tests/language/constructor/bad_constructor_test.dart
T
Robert Nystrom ed571882d2 Migrate language_2/constructor to NNBD.
Change-Id: I2f638cbf6b0fc6e91b3666143a34eb12a66c6fea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141780
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-04-04 00:14:32 +00:00

49 lines
1.0 KiB
Dart

// Copyright (c) 2012, 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.
// A constructor can't be static.
class A {
static
//^^^^^^
// [analyzer] SYNTACTIC_ERROR.STATIC_CONSTRUCTOR
// [cfe] Constructors can't be static.
A();
// ^
// [analyzer] SYNTACTIC_ERROR.MISSING_FUNCTION_BODY
// [cfe] Expected a function body or '=>'.
}
// A factory constructor can't be static.
class B {
static
//^^^^^^
// [analyzer] SYNTACTIC_ERROR.EXTRANEOUS_MODIFIER
// [cfe] Can't have modifier 'static' here.
factory B() { return B._(); }
B._();
}
// A named constructor can have the same name as a setter.
class E {
set setter(value) {}
E.setter();
}
// A constructor can't be static.
class F {
static
//^^^^^^
// [analyzer] SYNTACTIC_ERROR.STATIC_CONSTRUCTOR
// [cfe] Constructors can't be static.
F(){}
}
main() {
new A();
new B();
new E.setter();
new F();
}