Files
sdk/pkg/front_end/parser_testcases/general/issue_41121.dart
T
Jens Johansen 4ab3bda5db [parser] Change recovery for constructor; report errors in bad constructors
Change-Id: I3d656afce4a3ec14c7c099893a434abba3945ebf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140862
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-03-27 11:57:56 +00:00

36 lines
902 B
Dart

class ConfigurationService {
Configuration _configuration;
ConfigurationService(Configuration configuration)
: assert(configuration != null),
_configuration = configuration {
// Above is OK in the constructor.
}
void set configuration(Configuration configuration)
: assert(configuration != null),
_configuration = configuration {
// Above is NOT OK in a non-constructor.
}
Configuration get configuration
: assert(_configuration != null),
_configuration = _configuration.foo {
// Above is NOT OK in a non-constructor.
return _configuration;
}
void method() : _configuration = null {
// Above is NOT OK in a non-constructor.
}
Foo() : _configuration = null {
// Misnamed constructor.
// Expect and error for that, but then initializers are OK.
}
}
class Configuration {
Configuration get foo => this;
}