mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 12:57:42 +00:00
[cfe] Add always_declare_return_types lint
Change-Id: I206a7a8132b5ea79dc019acf5c2e0cd800307bcf Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212161 Reviewed-by: Jens Johansen <jensj@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
parent
b9c4b68f23
commit
a6cc772b67
|
@ -11,7 +11,7 @@
|
|||
"constraint, update this by running tools/generate_package_config.dart."
|
||||
],
|
||||
"configVersion": 2,
|
||||
"generated": "2021-08-23T16:52:51.727804",
|
||||
"generated": "2021-09-01T12:41:37.776425",
|
||||
"generator": "tools/generate_package_config.dart",
|
||||
"packages": [
|
||||
{
|
||||
|
@ -316,7 +316,7 @@
|
|||
"name": "front_end",
|
||||
"rootUri": "../pkg/front_end",
|
||||
"packageUri": "lib/",
|
||||
"languageVersion": "2.12"
|
||||
"languageVersion": "2.13"
|
||||
},
|
||||
{
|
||||
"name": "front_end_testcases",
|
||||
|
|
|
@ -19,4 +19,5 @@ linter:
|
|||
- lines_longer_than_80_chars
|
||||
- unrelated_type_equality_checks
|
||||
- annotate_overrides
|
||||
- always_declare_return_types
|
||||
# - always_specify_types
|
||||
|
|
|
@ -6,4 +6,4 @@
|
|||
|
||||
import 'package:compiler/src/dart2js.dart' as dart2js;
|
||||
|
||||
main(args) => dart2js.main(args);
|
||||
void main(args) => dart2js.main(args);
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
// 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.
|
||||
|
||||
main() => print('hello world');
|
||||
void main() => print('hello world');
|
||||
|
|
|
@ -137,20 +137,19 @@ class LibrariesSpecification {
|
|||
if (targetName.startsWith("comment:")) return null;
|
||||
Map<String, LibraryInfo> libraries = <String, LibraryInfo>{};
|
||||
if (targetData is! Map) {
|
||||
return _reportError(
|
||||
"target specification for '$targetName' is not a map");
|
||||
_reportError("target specification for '$targetName' is not a map");
|
||||
}
|
||||
if (!targetData.containsKey("libraries")) {
|
||||
return _reportError("target specification "
|
||||
_reportError("target specification "
|
||||
"for '$targetName' doesn't have a libraries entry");
|
||||
}
|
||||
dynamic librariesData = targetData["libraries"];
|
||||
if (librariesData is! Map<String, dynamic>) {
|
||||
return _reportError("libraries entry for '$targetName' is not a map");
|
||||
_reportError("libraries entry for '$targetName' is not a map");
|
||||
}
|
||||
librariesData.forEach((String name, data) {
|
||||
if (data is! Map<String, dynamic>) {
|
||||
return _reportError(
|
||||
_reportError(
|
||||
"library data for '$name' in target '$targetName' is not a map");
|
||||
}
|
||||
Uri checkAndResolve(uriString) {
|
||||
|
@ -175,13 +174,12 @@ class LibrariesSpecification {
|
|||
} else if (data['patches'] == null) {
|
||||
patches = const [];
|
||||
} else {
|
||||
return _reportError(
|
||||
"patches entry for '$name' is not a list or a string");
|
||||
_reportError("patches entry for '$name' is not a list or a string");
|
||||
}
|
||||
|
||||
dynamic supported = data['supported'] ?? true;
|
||||
if (supported is! bool) {
|
||||
return _reportError("\"supported\" entry: expected a 'bool' but "
|
||||
_reportError("\"supported\" entry: expected a 'bool' but "
|
||||
"got a '${supported.runtimeType}' ('$supported')");
|
||||
}
|
||||
libraries[name] =
|
||||
|
@ -193,7 +191,7 @@ class LibrariesSpecification {
|
|||
return new LibrariesSpecification(targets);
|
||||
}
|
||||
|
||||
static _reportError(String error) =>
|
||||
static Never _reportError(String error) =>
|
||||
throw new LibrariesSpecificationException(error);
|
||||
|
||||
/// Serialize this specification to json.
|
||||
|
|
|
@ -793,7 +793,7 @@ class ProcessedOptions {
|
|||
|
||||
String debugString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
writeList(String name, List elements) {
|
||||
void writeList(String name, List elements) {
|
||||
if (elements.isEmpty) {
|
||||
sb.writeln('$name: <empty>');
|
||||
return;
|
||||
|
|
|
@ -50,7 +50,7 @@ void resetCrashReporting() {
|
|||
|
||||
Future<T> reportCrash<T>(error, StackTrace trace,
|
||||
[Uri? uri, int? charOffset]) async {
|
||||
note(String note) async {
|
||||
Future<void> note(String note) async {
|
||||
stderr.write(note);
|
||||
await stderr.flush();
|
||||
}
|
||||
|
|
|
@ -2097,7 +2097,7 @@ class IncrementalCompiler implements IncrementalKernelGenerator {
|
|||
return false;
|
||||
}
|
||||
|
||||
addBuilderAndInvalidateUris(Uri uri, LibraryBuilder libraryBuilder) {
|
||||
void addBuilderAndInvalidateUris(Uri uri, LibraryBuilder libraryBuilder) {
|
||||
if (uri.scheme == "dart" && !libraryBuilder.isSynthetic) {
|
||||
if (seenUris.add(libraryBuilder.importUri)) {
|
||||
reusedLibraries.add(libraryBuilder);
|
||||
|
|
|
@ -256,7 +256,7 @@ class IncrementalSerializer {
|
|||
|
||||
/// Add the group but not its dependencies to the output if they weren't added
|
||||
/// already.
|
||||
addDataButNotDependentData(SerializationGroup group,
|
||||
void addDataButNotDependentData(SerializationGroup group,
|
||||
Set<SerializationGroup> cachedPackagesInOutput, Sink<List<int>> sink) {
|
||||
if (cachedPackagesInOutput.add(group)) {
|
||||
sink.add(group.serializedData);
|
||||
|
@ -265,7 +265,7 @@ class IncrementalSerializer {
|
|||
|
||||
/// Add the group and its dependencies to the output if they weren't added
|
||||
/// already.
|
||||
addDataAndDependentData(SerializationGroup group,
|
||||
void addDataAndDependentData(SerializationGroup group,
|
||||
Set<SerializationGroup> cachedPackagesInOutput, Sink<List<int>> sink) {
|
||||
if (cachedPackagesInOutput.add(group)) {
|
||||
sink.add(group.serializedData);
|
||||
|
|
|
@ -1859,7 +1859,7 @@ class BodyBuilder extends ScopeListener<JumpTarget>
|
|||
}
|
||||
|
||||
@override
|
||||
/* Expression | Generator | Initializer */ finishSend(Object receiver,
|
||||
Expression_Generator_Initializer finishSend(Object receiver,
|
||||
List<UnresolvedType>? typeArguments, Arguments arguments, int charOffset,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
if (receiver is Generator) {
|
||||
|
@ -2445,7 +2445,7 @@ class BodyBuilder extends ScopeListener<JumpTarget>
|
|||
/// implies that it shouldn't be turned into a [ThisPropertyAccessGenerator]
|
||||
/// if the name doesn't resolve in the scope).
|
||||
@override
|
||||
/*Generator|Expression|Builder*/ scopeLookup(
|
||||
Expression_Generator_Builder scopeLookup(
|
||||
Scope scope, String name, Token token,
|
||||
{bool isQualified: false, PrefixBuilder? prefix}) {
|
||||
int charOffset = offsetForToken(token);
|
||||
|
@ -7444,7 +7444,7 @@ class _BodyBuilderCloner extends CloneVisitorNotMembers {
|
|||
_BodyBuilderCloner(this.bodyBuilder);
|
||||
|
||||
@override
|
||||
visitStaticInvocation(StaticInvocation node) {
|
||||
TreeNode visitStaticInvocation(StaticInvocation node) {
|
||||
if (node is FactoryConstructorInvocation) {
|
||||
FactoryConstructorInvocation result = new FactoryConstructorInvocation(
|
||||
node.target, clone(node.arguments),
|
||||
|
@ -7464,7 +7464,7 @@ class _BodyBuilderCloner extends CloneVisitorNotMembers {
|
|||
}
|
||||
|
||||
@override
|
||||
visitConstructorInvocation(ConstructorInvocation node) {
|
||||
TreeNode visitConstructorInvocation(ConstructorInvocation node) {
|
||||
if (node is TypeAliasedConstructorInvocation) {
|
||||
TypeAliasedConstructorInvocation result =
|
||||
new TypeAliasedConstructorInvocation(
|
||||
|
@ -7478,7 +7478,7 @@ class _BodyBuilderCloner extends CloneVisitorNotMembers {
|
|||
}
|
||||
|
||||
@override
|
||||
visitArguments(Arguments node) {
|
||||
TreeNode visitArguments(Arguments node) {
|
||||
if (node is ArgumentsImpl) {
|
||||
return ArgumentsImpl.clone(node, node.positional.map(clone).toList(),
|
||||
node.named.map(clone).toList(), node.types.map(visitType).toList());
|
||||
|
|
|
@ -215,11 +215,11 @@ abstract class Generator {
|
|||
///
|
||||
/// If the invocation has explicit type arguments
|
||||
/// [buildTypeWithResolvedArguments] called instead.
|
||||
/* Expression | Generator | Initializer */ doInvocation(
|
||||
Expression_Generator_Initializer doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false});
|
||||
|
||||
/* Expression | Generator */ buildSelectorAccess(
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
if (send is InvocationSelector) {
|
||||
return _helper.buildMethodInvocation(buildSimpleRead(), send.name,
|
||||
|
@ -237,7 +237,7 @@ abstract class Generator {
|
|||
}
|
||||
}
|
||||
|
||||
/*Expression | Generator*/ buildEqualsOperation(Token token, Expression right,
|
||||
Expression_Generator buildEqualsOperation(Token token, Expression right,
|
||||
{required bool isNot}) {
|
||||
// ignore: unnecessary_null_comparison
|
||||
assert(isNot != null);
|
||||
|
@ -245,18 +245,18 @@ abstract class Generator {
|
|||
isNot: isNot);
|
||||
}
|
||||
|
||||
/*Expression | Generator*/ buildBinaryOperation(
|
||||
Expression_Generator buildBinaryOperation(
|
||||
Token token, Name binaryName, Expression right) {
|
||||
return _forest.createBinary(
|
||||
offsetForToken(token), buildSimpleRead(), binaryName, right);
|
||||
}
|
||||
|
||||
/*Expression | Generator*/ buildUnaryOperation(Token token, Name unaryName) {
|
||||
Expression_Generator buildUnaryOperation(Token token, Name unaryName) {
|
||||
return _forest.createUnary(
|
||||
offsetForToken(token), unaryName, buildSimpleRead());
|
||||
}
|
||||
|
||||
/*Expression|Generator*/ applyTypeArguments(
|
||||
Expression_Generator applyTypeArguments(
|
||||
int fileOffset, List<UnresolvedType>? typeArguments) {
|
||||
return new Instantiation(
|
||||
buildSimpleRead(), _helper.buildDartTypeArguments(typeArguments))
|
||||
|
@ -2625,8 +2625,9 @@ class ExplicitExtensionAccessGenerator extends Generator {
|
|||
isNullAware: isNullAware);
|
||||
}
|
||||
|
||||
/* Expression | Generator */ @override
|
||||
buildSelectorAccess(Selector send, int operatorOffset, bool isNullAware) {
|
||||
@override
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
if (_helper.constantContext != ConstantContext.none) {
|
||||
_helper.addProblem(
|
||||
messageNotAConstantExpression, fileOffset, token.length);
|
||||
|
@ -2643,7 +2644,8 @@ class ExplicitExtensionAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildBinaryOperation(Token token, Name binaryName, Expression right) {
|
||||
Expression_Generator buildBinaryOperation(
|
||||
Token token, Name binaryName, Expression right) {
|
||||
int fileOffset = offsetForToken(token);
|
||||
Generator generator = _createInstanceAccess(token, binaryName);
|
||||
return generator.doInvocation(fileOffset, null,
|
||||
|
@ -2651,7 +2653,7 @@ class ExplicitExtensionAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildUnaryOperation(Token token, Name unaryName) {
|
||||
Expression_Generator buildUnaryOperation(Token token, Name unaryName) {
|
||||
int fileOffset = offsetForToken(token);
|
||||
Generator generator = _createInstanceAccess(token, unaryName);
|
||||
return generator.doInvocation(
|
||||
|
@ -2659,7 +2661,7 @@ class ExplicitExtensionAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Expression_Generator_Initializer doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
Generator generator = _createInstanceAccess(token, callName);
|
||||
|
@ -2860,7 +2862,8 @@ class DeferredAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildSelectorAccess(Selector send, int operatorOffset, bool isNullAware) {
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
Object propertyAccess =
|
||||
suffixGenerator.buildSelectorAccess(send, operatorOffset, isNullAware);
|
||||
if (propertyAccess is Generator) {
|
||||
|
@ -2914,7 +2917,7 @@ class DeferredAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Expression_Generator_Initializer doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
Object suffix = suffixGenerator.doInvocation(
|
||||
|
@ -3098,7 +3101,8 @@ class TypeUseGenerator extends AbstractReadOnlyAccessGenerator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildSelectorAccess(Selector send, int operatorOffset, bool isNullAware) {
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
int nameOffset = offsetForToken(send.token);
|
||||
Name name = send.name;
|
||||
Arguments? arguments = send.arguments;
|
||||
|
@ -3326,7 +3330,7 @@ class TypeUseGenerator extends AbstractReadOnlyAccessGenerator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Expression_Generator_Builder doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
if (declaration.isExtension) {
|
||||
|
@ -3363,7 +3367,8 @@ class TypeUseGenerator extends AbstractReadOnlyAccessGenerator {
|
|||
}
|
||||
|
||||
@override
|
||||
applyTypeArguments(int fileOffset, List<UnresolvedType>? typeArguments) {
|
||||
Expression_Generator applyTypeArguments(
|
||||
int fileOffset, List<UnresolvedType>? typeArguments) {
|
||||
return new TypeUseGenerator(_helper, token, declaration, targetName)
|
||||
..typeArguments = typeArguments;
|
||||
}
|
||||
|
@ -3509,7 +3514,7 @@ abstract class AbstractReadOnlyAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Expression_Generator_Initializer doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
return _helper.forest.createExpressionInvocation(
|
||||
|
@ -3564,7 +3569,7 @@ abstract class ErroneousExpressionGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Expression_Generator_Initializer doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
return buildError(arguments,
|
||||
|
@ -3572,7 +3577,8 @@ abstract class ErroneousExpressionGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildSelectorAccess(Selector send, int operatorOffset, bool isNullAware) {
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
return send.withReceiver(buildSimpleRead(), operatorOffset,
|
||||
isNullAware: isNullAware);
|
||||
}
|
||||
|
@ -3765,7 +3771,7 @@ abstract class ContextAwareGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
Expression doInvocation(
|
||||
Never doInvocation(
|
||||
int charOffset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
return unhandled("${runtimeType}", "doInvocation", charOffset, _uri);
|
||||
|
@ -3804,7 +3810,7 @@ abstract class ContextAwareGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
_makeInvalidRead([UnresolvedKind? unresolvedKind]) {
|
||||
Never _makeInvalidRead([UnresolvedKind? unresolvedKind]) {
|
||||
return unsupported("makeInvalidRead", token.charOffset, _helper.uri);
|
||||
}
|
||||
|
||||
|
@ -4011,7 +4017,7 @@ class PrefixUseGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
/* Expression | Generator | Initializer */ doInvocation(
|
||||
Expression doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
return _helper.wrapInLocatedProblem(
|
||||
|
@ -4022,7 +4028,7 @@ class PrefixUseGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
/* Expression | Generator */ buildSelectorAccess(
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
assert(send.name.text == send.token.lexeme,
|
||||
"'${send.name.text}' != ${send.token.lexeme}");
|
||||
|
@ -4400,7 +4406,8 @@ class ThisAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildSelectorAccess(Selector send, int operatorOffset, bool isNullAware) {
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
Name name = send.name;
|
||||
Arguments? arguments = send.arguments;
|
||||
int offset = offsetForToken(send.token);
|
||||
|
@ -4451,7 +4458,7 @@ class ThisAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Expression_Generator_Initializer doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) {
|
||||
if (isInitializer) {
|
||||
|
@ -4465,7 +4472,8 @@ class ThisAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildEqualsOperation(Token token, Expression right, {required bool isNot}) {
|
||||
Expression_Generator buildEqualsOperation(Token token, Expression right,
|
||||
{required bool isNot}) {
|
||||
// ignore: unnecessary_null_comparison
|
||||
assert(isNot != null);
|
||||
if (isSuper) {
|
||||
|
@ -4485,7 +4493,8 @@ class ThisAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildBinaryOperation(Token token, Name binaryName, Expression right) {
|
||||
Expression_Generator buildBinaryOperation(
|
||||
Token token, Name binaryName, Expression right) {
|
||||
if (isSuper) {
|
||||
int offset = offsetForToken(token);
|
||||
return _helper.buildMethodInvocation(
|
||||
|
@ -4499,7 +4508,7 @@ class ThisAccessGenerator extends Generator {
|
|||
}
|
||||
|
||||
@override
|
||||
buildUnaryOperation(Token token, Name unaryName) {
|
||||
Expression_Generator buildUnaryOperation(Token token, Name unaryName) {
|
||||
if (isSuper) {
|
||||
int offset = offsetForToken(token);
|
||||
return _helper.buildMethodInvocation(
|
||||
|
@ -4650,7 +4659,7 @@ class IncompleteErrorGenerator extends ErroneousExpressionGenerator {
|
|||
}
|
||||
|
||||
@override
|
||||
doInvocation(
|
||||
Generator doInvocation(
|
||||
int offset, List<UnresolvedType>? typeArguments, Arguments arguments,
|
||||
{bool isTypeArgumentsInForest = false}) =>
|
||||
this;
|
||||
|
@ -4705,8 +4714,9 @@ class ParenthesizedExpressionGenerator extends AbstractReadOnlyAccessGenerator {
|
|||
@override
|
||||
String get _debugName => "ParenthesizedExpressionGenerator";
|
||||
|
||||
/* Expression | Generator */ @override
|
||||
buildSelectorAccess(Selector send, int operatorOffset, bool isNullAware) {
|
||||
@override
|
||||
Expression_Generator buildSelectorAccess(
|
||||
Selector send, int operatorOffset, bool isNullAware) {
|
||||
if (send is InvocationSelector) {
|
||||
return _helper.buildMethodInvocation(
|
||||
_createRead(), send.name, send.arguments, offsetForToken(send.token),
|
||||
|
@ -4763,8 +4773,7 @@ abstract class Selector {
|
|||
Name get name;
|
||||
|
||||
/// Applies this selector to [receiver].
|
||||
/* Expression | Generator */ withReceiver(
|
||||
Object? receiver, int operatorOffset,
|
||||
Expression_Generator withReceiver(Object? receiver, int operatorOffset,
|
||||
{bool isNullAware: false});
|
||||
|
||||
List<UnresolvedType>? get typeArguments => null;
|
||||
|
@ -4826,7 +4835,7 @@ class InvocationSelector extends Selector {
|
|||
String get _debugName => 'InvocationSelector';
|
||||
|
||||
@override
|
||||
withReceiver(Object? receiver, int operatorOffset,
|
||||
Expression_Generator withReceiver(Object? receiver, int operatorOffset,
|
||||
{bool isNullAware: false}) {
|
||||
if (receiver is Generator) {
|
||||
return receiver.buildSelectorAccess(this, operatorOffset, isNullAware);
|
||||
|
@ -4868,7 +4877,7 @@ class PropertySelector extends Selector {
|
|||
String get _debugName => 'PropertySelector';
|
||||
|
||||
@override
|
||||
withReceiver(Object? receiver, int operatorOffset,
|
||||
Expression_Generator withReceiver(Object? receiver, int operatorOffset,
|
||||
{bool isNullAware: false}) {
|
||||
if (receiver is Generator) {
|
||||
return receiver.buildSelectorAccess(this, operatorOffset, isNullAware);
|
||||
|
|
|
@ -44,6 +44,15 @@ import 'kernel_ast_api.dart'
|
|||
Typedef,
|
||||
VariableDeclaration;
|
||||
|
||||
/// Alias for Expression | Generator
|
||||
typedef Expression_Generator = dynamic;
|
||||
|
||||
/// Alias for Expression | Generator | Builder
|
||||
typedef Expression_Generator_Builder = dynamic;
|
||||
|
||||
/// Alias for Expression | Generator | Initializer
|
||||
typedef Expression_Generator_Initializer = dynamic;
|
||||
|
||||
abstract class ExpressionGeneratorHelper implements InferenceHelper {
|
||||
SourceLibraryBuilder get libraryBuilder;
|
||||
|
||||
|
@ -66,11 +75,11 @@ abstract class ExpressionGeneratorHelper implements InferenceHelper {
|
|||
|
||||
bool get enableConstructorTearOffsInLibrary;
|
||||
|
||||
/* Generator | Expression | Builder */ scopeLookup(
|
||||
Expression_Generator_Builder scopeLookup(
|
||||
Scope scope, String name, Token token,
|
||||
{bool isQualified: false, PrefixBuilder? prefix});
|
||||
|
||||
/* Expression | Generator | Initializer */ finishSend(Object receiver,
|
||||
Expression_Generator_Initializer finishSend(Object receiver,
|
||||
List<UnresolvedType>? typeArguments, Arguments arguments, int offset,
|
||||
{bool isTypeArgumentsInForest = false});
|
||||
|
||||
|
|
|
@ -885,17 +885,17 @@ class _VariablesDeclaration extends Statement {
|
|||
}
|
||||
|
||||
@override
|
||||
visitChildren(v) {
|
||||
Never visitChildren(v) {
|
||||
throw unsupported("visitChildren", fileOffset, uri);
|
||||
}
|
||||
|
||||
@override
|
||||
transformChildren(v) {
|
||||
Never transformChildren(v) {
|
||||
throw unsupported("transformChildren", fileOffset, uri);
|
||||
}
|
||||
|
||||
@override
|
||||
transformOrRemoveChildren(v) {
|
||||
Never transformOrRemoveChildren(v) {
|
||||
throw unsupported("transformOrRemoveChildren", fileOffset, uri);
|
||||
}
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ abstract class ImplicitFieldType extends DartType {
|
|||
}
|
||||
|
||||
@override
|
||||
visitChildren(Visitor<dynamic> v) {
|
||||
Never visitChildren(Visitor<dynamic> v) {
|
||||
unsupported("visitChildren", fieldBuilder.charOffset, fieldBuilder.fileUri);
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ class ImplicitTypeArgument extends DartType {
|
|||
}
|
||||
|
||||
@override
|
||||
visitChildren(Visitor v) {
|
||||
Never visitChildren(Visitor v) {
|
||||
unhandled("$runtimeType", "${v.runtimeType}", -1, null);
|
||||
}
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ class FastaVerifyingVisitor extends VerifyingVisitor {
|
|||
}
|
||||
|
||||
@override
|
||||
problem(TreeNode? node, String details,
|
||||
void problem(TreeNode? node, String details,
|
||||
{TreeNode? context, TreeNode? origin}) {
|
||||
node ??= (context ?? currentClassOrExtensionOrMember);
|
||||
int offset = node?.fileOffset ?? -1;
|
||||
|
@ -446,7 +446,7 @@ class FastaVerifyGetStaticType extends VerifyGetStaticType {
|
|||
FastaVerifyGetStaticType(TypeEnvironment env, this.skipPlatform) : super(env);
|
||||
|
||||
@override
|
||||
visitLibrary(Library node) {
|
||||
void visitLibrary(Library node) {
|
||||
// 'dart:test' is used in the unit tests and isn't an actual part of the
|
||||
// platform.
|
||||
if (skipPlatform &&
|
||||
|
|
|
@ -89,7 +89,7 @@ class Modifier {
|
|||
}
|
||||
|
||||
@override
|
||||
toString() => "modifier(${'$kind'.substring('ModifierEnum.'.length)})";
|
||||
String toString() => "modifier(${'$kind'.substring('ModifierEnum.'.length)})";
|
||||
|
||||
static int toMask(List<Modifier>? modifiers) {
|
||||
int result = 0;
|
||||
|
|
|
@ -35,7 +35,7 @@ class DebugAbort {
|
|||
.withoutLocation();
|
||||
|
||||
@override
|
||||
toString() => "DebugAbort: ${message.message}";
|
||||
String toString() => "DebugAbort: ${message.message}";
|
||||
}
|
||||
|
||||
/// Used to report an internal error.
|
||||
|
|
|
@ -686,8 +686,6 @@ abstract class ProblemBuilder extends BuilderImpl {
|
|||
|
||||
ProblemBuilder(this.name, this.builder, this.charOffset, this.fileUri);
|
||||
|
||||
get target => null;
|
||||
|
||||
@override
|
||||
bool get hasProblem => true;
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ class DirectiveListener extends Listener {
|
|||
DirectiveListener();
|
||||
|
||||
@override
|
||||
beginExport(Token export) {
|
||||
void beginExport(Token export) {
|
||||
_combinators = <NamespaceCombinator>[];
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ class DirectiveListener extends Listener {
|
|||
}
|
||||
|
||||
@override
|
||||
beginImport(Token import) {
|
||||
void beginImport(Token import) {
|
||||
_combinators = <NamespaceCombinator>[];
|
||||
}
|
||||
|
||||
|
@ -59,7 +59,7 @@ class DirectiveListener extends Listener {
|
|||
}
|
||||
|
||||
@override
|
||||
beginPart(Token part) {
|
||||
void beginPart(Token part) {
|
||||
_inPart = true;
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ class DirectiveListener extends Listener {
|
|||
}
|
||||
|
||||
@override
|
||||
endExport(Token export, Token semicolon) {
|
||||
void endExport(Token export, Token semicolon) {
|
||||
exports.add(new NamespaceDirective.export(_uri, _combinators));
|
||||
_uri = null;
|
||||
_combinators = null;
|
||||
|
@ -82,14 +82,14 @@ class DirectiveListener extends Listener {
|
|||
}
|
||||
|
||||
@override
|
||||
endImport(Token? import, Token? semicolon) {
|
||||
void endImport(Token? import, Token? semicolon) {
|
||||
imports.add(new NamespaceDirective.import(_uri, _combinators));
|
||||
_uri = null;
|
||||
_combinators = null;
|
||||
}
|
||||
|
||||
@override
|
||||
endPart(Token part, Token semicolon) {
|
||||
void endPart(Token part, Token semicolon) {
|
||||
parts.add(_uri);
|
||||
_uri = null;
|
||||
_inPart = false;
|
||||
|
|
|
@ -63,7 +63,7 @@ abstract class StackListenerImpl extends StackListener {
|
|||
|
||||
/// Used to report an internal error encountered in the stack listener.
|
||||
@override
|
||||
internalProblem(Message message, int charOffset, Uri uri) {
|
||||
Never internalProblem(Message message, int charOffset, Uri uri) {
|
||||
return problems.internalProblem(message, charOffset, uri);
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ class TypeSchemaPrinter extends Printer {
|
|||
annotator: annotator);
|
||||
|
||||
@override
|
||||
defaultDartType(covariant UnknownType node) {
|
||||
void defaultDartType(covariant UnknownType node) {
|
||||
writeWord('?');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1152,7 +1152,7 @@ extension InitializerExtension on DirectParserASTContentInitializerEnd {
|
|||
}
|
||||
}
|
||||
|
||||
main(List<String> args) {
|
||||
void main(List<String> args) {
|
||||
File f = new File(args[0]);
|
||||
Uint8List data = f.readAsBytesSync();
|
||||
DirectParserASTContent ast = getAST(data);
|
||||
|
|
|
@ -656,7 +656,7 @@ void outputUnknownChunk(
|
|||
_currentUnknown.interimEnd = null;
|
||||
}
|
||||
|
||||
main(List<String> args) {
|
||||
void main(List<String> args) {
|
||||
File f = new File(args[0]);
|
||||
Uint8List data = f.readAsBytesSync();
|
||||
ScannerConfiguration scannerConfiguration = new ScannerConfiguration();
|
||||
|
@ -822,12 +822,12 @@ class TextualOutlineListener extends Listener {
|
|||
List<String>? _combinatorNames;
|
||||
|
||||
@override
|
||||
beginExport(Token export) {
|
||||
void beginExport(Token export) {
|
||||
_combinators = <_NamespaceCombinator>[];
|
||||
}
|
||||
|
||||
@override
|
||||
beginImport(Token import) {
|
||||
void beginImport(Token import) {
|
||||
_combinators = <_NamespaceCombinator>[];
|
||||
}
|
||||
|
||||
|
|
|
@ -167,19 +167,19 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
defaultNode(Node node) {
|
||||
void defaultNode(Node node) {
|
||||
node.visitChildren(this);
|
||||
}
|
||||
|
||||
@override
|
||||
visitProcedure(Procedure node) {
|
||||
void visitProcedure(Procedure node) {
|
||||
// Avoid visiting annotations.
|
||||
node.function.accept(this);
|
||||
computeForMember(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitConstructor(Constructor node) {
|
||||
void visitConstructor(Constructor node) {
|
||||
// Avoid visiting annotations.
|
||||
visitList(node.initializers, this);
|
||||
node.function.accept(this);
|
||||
|
@ -187,13 +187,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitField(Field node) {
|
||||
void visitField(Field node) {
|
||||
// Avoid visiting annotations.
|
||||
node.initializer?.accept(this);
|
||||
computeForMember(node);
|
||||
}
|
||||
|
||||
_visitInvocation(Expression node, Name name) {
|
||||
void _visitInvocation(Expression node, Name name) {
|
||||
if (name.text == '[]') {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
} else if (name.text == '[]=') {
|
||||
|
@ -208,31 +208,31 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitDynamicInvocation(DynamicInvocation node) {
|
||||
void visitDynamicInvocation(DynamicInvocation node) {
|
||||
_visitInvocation(node, node.name);
|
||||
super.visitDynamicInvocation(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitFunctionInvocation(FunctionInvocation node) {
|
||||
void visitFunctionInvocation(FunctionInvocation node) {
|
||||
_visitInvocation(node, node.name);
|
||||
super.visitFunctionInvocation(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitLocalFunctionInvocation(LocalFunctionInvocation node) {
|
||||
void visitLocalFunctionInvocation(LocalFunctionInvocation node) {
|
||||
computeForNode(node, createInvokeId(node));
|
||||
super.visitLocalFunctionInvocation(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitEqualsCall(EqualsCall node) {
|
||||
void visitEqualsCall(EqualsCall node) {
|
||||
_visitInvocation(node, Name.equalsName);
|
||||
super.visitEqualsCall(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitEqualsNull(EqualsNull node) {
|
||||
void visitEqualsNull(EqualsNull node) {
|
||||
Expression receiver = node.expression;
|
||||
if (receiver is VariableGet && receiver.variable.name == null) {
|
||||
// This is a desugared `?.`.
|
||||
|
@ -243,48 +243,48 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitInstanceInvocation(InstanceInvocation node) {
|
||||
void visitInstanceInvocation(InstanceInvocation node) {
|
||||
_visitInvocation(node, node.name);
|
||||
super.visitInstanceInvocation(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitInstanceGetterInvocation(InstanceGetterInvocation node) {
|
||||
void visitInstanceGetterInvocation(InstanceGetterInvocation node) {
|
||||
_visitInvocation(node, node.name);
|
||||
super.visitInstanceGetterInvocation(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitLoadLibrary(LoadLibrary node) {
|
||||
void visitLoadLibrary(LoadLibrary node) {
|
||||
computeForNode(node, createInvokeId(node));
|
||||
}
|
||||
|
||||
@override
|
||||
visitDynamicGet(DynamicGet node) {
|
||||
void visitDynamicGet(DynamicGet node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitDynamicGet(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitFunctionTearOff(FunctionTearOff node) {
|
||||
void visitFunctionTearOff(FunctionTearOff node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitFunctionTearOff(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitInstanceGet(InstanceGet node) {
|
||||
void visitInstanceGet(InstanceGet node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitInstanceGet(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitInstanceTearOff(InstanceTearOff node) {
|
||||
void visitInstanceTearOff(InstanceTearOff node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitInstanceTearOff(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitVariableDeclaration(VariableDeclaration node) {
|
||||
void visitVariableDeclaration(VariableDeclaration node) {
|
||||
if (node.name != null && node.parent is! FunctionDeclaration) {
|
||||
// Skip synthetic variables and function declaration variables.
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
|
@ -294,7 +294,7 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitFunctionDeclaration(FunctionDeclaration node) {
|
||||
void visitFunctionDeclaration(FunctionDeclaration node) {
|
||||
computeForNode(
|
||||
node,
|
||||
computeDefaultNodeId(node,
|
||||
|
@ -305,13 +305,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitFunctionExpression(FunctionExpression node) {
|
||||
void visitFunctionExpression(FunctionExpression node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitFunctionExpression(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitVariableGet(VariableGet node) {
|
||||
void visitVariableGet(VariableGet node) {
|
||||
if (node.variable.name != null && !node.variable.isFieldFormal) {
|
||||
// Skip use of synthetic variables.
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
|
@ -320,19 +320,19 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitDynamicSet(DynamicSet node) {
|
||||
void visitDynamicSet(DynamicSet node) {
|
||||
computeForNode(node, createUpdateId(node));
|
||||
super.visitDynamicSet(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitInstanceSet(InstanceSet node) {
|
||||
void visitInstanceSet(InstanceSet node) {
|
||||
computeForNode(node, createUpdateId(node));
|
||||
super.visitInstanceSet(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitVariableSet(VariableSet node) {
|
||||
void visitVariableSet(VariableSet node) {
|
||||
if (node.variable.name != null) {
|
||||
// Skip use of synthetic variables.
|
||||
computeForNode(node, createUpdateId(node));
|
||||
|
@ -341,43 +341,43 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitExpressionStatement(ExpressionStatement node) {
|
||||
void visitExpressionStatement(ExpressionStatement node) {
|
||||
computeForNode(node, createExpressionStatementId(node));
|
||||
return super.visitExpressionStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitIfStatement(IfStatement node) {
|
||||
void visitIfStatement(IfStatement node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
return super.visitIfStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitTryCatch(TryCatch node) {
|
||||
void visitTryCatch(TryCatch node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
return super.visitTryCatch(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitTryFinally(TryFinally node) {
|
||||
void visitTryFinally(TryFinally node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
return super.visitTryFinally(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitDoStatement(DoStatement node) {
|
||||
void visitDoStatement(DoStatement node) {
|
||||
computeForNode(node, createLoopId(node));
|
||||
super.visitDoStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitForStatement(ForStatement node) {
|
||||
void visitForStatement(ForStatement node) {
|
||||
computeForNode(node, createLoopId(node));
|
||||
super.visitForStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitForInStatement(ForInStatement node) {
|
||||
void visitForInStatement(ForInStatement node) {
|
||||
computeForNode(node, createLoopId(node));
|
||||
computeForNode(node, createIteratorId(node));
|
||||
computeForNode(node, createCurrentId(node));
|
||||
|
@ -386,32 +386,32 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitWhileStatement(WhileStatement node) {
|
||||
void visitWhileStatement(WhileStatement node) {
|
||||
computeForNode(node, createLoopId(node));
|
||||
super.visitWhileStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitLabeledStatement(LabeledStatement node) {
|
||||
void visitLabeledStatement(LabeledStatement node) {
|
||||
// TODO(johnniwinther): Call computeForNode for label statements that are
|
||||
// not placeholders for loop and switch targets.
|
||||
super.visitLabeledStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitBreakStatement(BreakStatement node) {
|
||||
void visitBreakStatement(BreakStatement node) {
|
||||
computeForNode(node, createGotoId(node));
|
||||
super.visitBreakStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitSwitchStatement(SwitchStatement node) {
|
||||
void visitSwitchStatement(SwitchStatement node) {
|
||||
computeForNode(node, createSwitchId(node));
|
||||
super.visitSwitchStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitSwitchCase(SwitchCase node) {
|
||||
void visitSwitchCase(SwitchCase node) {
|
||||
if (node.expressionOffsets.isNotEmpty) {
|
||||
computeForNode(node, createSwitchCaseId(node));
|
||||
}
|
||||
|
@ -419,13 +419,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitContinueSwitchStatement(ContinueSwitchStatement node) {
|
||||
void visitContinueSwitchStatement(ContinueSwitchStatement node) {
|
||||
computeForNode(node, createGotoId(node));
|
||||
super.visitContinueSwitchStatement(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitConstantExpression(ConstantExpression node) {
|
||||
void visitConstantExpression(ConstantExpression node) {
|
||||
// Implicit constants (for instance omitted field initializers, implicit
|
||||
// default values) and synthetic constants (for instance in noSuchMethod
|
||||
// forwarders) have no offset.
|
||||
|
@ -435,7 +435,7 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitNullLiteral(NullLiteral node) {
|
||||
void visitNullLiteral(NullLiteral node) {
|
||||
// Synthetic null literals, for instance in locals and fields without
|
||||
// initializers, have no offset.
|
||||
computeForNode(
|
||||
|
@ -444,13 +444,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitBoolLiteral(BoolLiteral node) {
|
||||
void visitBoolLiteral(BoolLiteral node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitBoolLiteral(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitIntLiteral(IntLiteral node) {
|
||||
void visitIntLiteral(IntLiteral node) {
|
||||
// Synthetic ints literals, for instance in enum fields, have no offset.
|
||||
computeForNode(
|
||||
node, computeDefaultNodeId(node, skipNodeWithNoOffset: true));
|
||||
|
@ -458,13 +458,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitDoubleLiteral(DoubleLiteral node) {
|
||||
void visitDoubleLiteral(DoubleLiteral node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitDoubleLiteral(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitStringLiteral(StringLiteral node) {
|
||||
void visitStringLiteral(StringLiteral node) {
|
||||
// Synthetic string literals, for instance in enum fields, have no offset.
|
||||
computeForNode(
|
||||
node, computeDefaultNodeId(node, skipNodeWithNoOffset: true));
|
||||
|
@ -472,7 +472,7 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitListLiteral(ListLiteral node) {
|
||||
void visitListLiteral(ListLiteral node) {
|
||||
// Synthetic list literals,for instance in noSuchMethod forwarders, have no
|
||||
// offset.
|
||||
computeForNode(
|
||||
|
@ -481,7 +481,7 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitMapLiteral(MapLiteral node) {
|
||||
void visitMapLiteral(MapLiteral node) {
|
||||
// Synthetic map literals, for instance in noSuchMethod forwarders, have no
|
||||
// offset.
|
||||
computeForNode(
|
||||
|
@ -490,13 +490,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitSetLiteral(SetLiteral node) {
|
||||
void visitSetLiteral(SetLiteral node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitSetLiteral(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitThisExpression(ThisExpression node) {
|
||||
void visitThisExpression(ThisExpression node) {
|
||||
TreeNode parent = node.parent!;
|
||||
if (node.fileOffset == TreeNode.noOffset ||
|
||||
(parent is InstanceGet ||
|
||||
|
@ -511,13 +511,13 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitAwaitExpression(AwaitExpression node) {
|
||||
void visitAwaitExpression(AwaitExpression node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitAwaitExpression(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitConstructorInvocation(ConstructorInvocation node) {
|
||||
void visitConstructorInvocation(ConstructorInvocation node) {
|
||||
// Skip synthetic constructor invocations like for enum constants.
|
||||
// TODO(johnniwinther): Can [skipNodeWithNoOffset] be removed when dart2js
|
||||
// no longer test with cfe constants?
|
||||
|
@ -527,43 +527,43 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitStaticGet(StaticGet node) {
|
||||
void visitStaticGet(StaticGet node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitStaticGet(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitStaticTearOff(StaticTearOff node) {
|
||||
void visitStaticTearOff(StaticTearOff node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitStaticTearOff(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitStaticSet(StaticSet node) {
|
||||
void visitStaticSet(StaticSet node) {
|
||||
computeForNode(node, createUpdateId(node));
|
||||
super.visitStaticSet(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitStaticInvocation(StaticInvocation node) {
|
||||
void visitStaticInvocation(StaticInvocation node) {
|
||||
computeForNode(node, createInvokeId(node));
|
||||
super.visitStaticInvocation(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitThrow(Throw node) {
|
||||
void visitThrow(Throw node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitThrow(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitRethrow(Rethrow node) {
|
||||
void visitRethrow(Rethrow node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
super.visitRethrow(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitAsExpression(AsExpression node) {
|
||||
void visitAsExpression(AsExpression node) {
|
||||
if (node.isTypeError) {
|
||||
computeForNode(node, createImplicitAsId(node));
|
||||
} else {
|
||||
|
@ -573,33 +573,33 @@ abstract class DataExtractor<T> extends Visitor<void>
|
|||
}
|
||||
|
||||
@override
|
||||
visitArguments(Arguments node) {
|
||||
void visitArguments(Arguments node) {
|
||||
computeForNode(
|
||||
node, computeDefaultNodeId(node, skipNodeWithNoOffset: true));
|
||||
return super.visitArguments(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitBlock(Block node) {
|
||||
void visitBlock(Block node) {
|
||||
computeForNode(
|
||||
node, computeDefaultNodeId(node, skipNodeWithNoOffset: true));
|
||||
return super.visitBlock(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitConditionalExpression(ConditionalExpression node) {
|
||||
void visitConditionalExpression(ConditionalExpression node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
return super.visitConditionalExpression(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitLogicalExpression(LogicalExpression node) {
|
||||
void visitLogicalExpression(LogicalExpression node) {
|
||||
computeForNode(node, computeDefaultNodeId(node));
|
||||
return super.visitLogicalExpression(node);
|
||||
}
|
||||
|
||||
@override
|
||||
visitInvalidExpression(InvalidExpression node) {
|
||||
void visitInvalidExpression(InvalidExpression node) {
|
||||
// Invalid expressions produced in the constant evaluator don't have a
|
||||
// file offset.
|
||||
computeForNode(
|
||||
|
|
|
@ -6,7 +6,7 @@ name: front_end
|
|||
publish_to: none
|
||||
|
||||
environment:
|
||||
sdk: '>=2.12.0 <3.0.0'
|
||||
sdk: '>=2.13.0 <3.0.0'
|
||||
|
||||
dependencies:
|
||||
_fe_analyzer_shared:
|
||||
|
|
|
@ -10,7 +10,7 @@ import 'package:kernel/class_hierarchy.dart';
|
|||
|
||||
import 'incremental_suite.dart' as helper;
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
exitCode = 1;
|
||||
Map<Uri, List<Class>> classMap = {};
|
||||
Map<Uri, List<Class>> classMapWithOne = {};
|
||||
|
@ -24,11 +24,8 @@ main(List<String> args) async {
|
|||
Uri input = Platform.script.resolve("../tool/_fasta/compile.dart");
|
||||
CompilerOptions options = helper.getOptions();
|
||||
helper.TestIncrementalCompiler compiler =
|
||||
new helper.TestIncrementalCompiler(
|
||||
options,
|
||||
input,
|
||||
/*Uri initializeFrom*/ null,
|
||||
/*bool outlineOnly*/ true);
|
||||
new helper.TestIncrementalCompiler(options, input,
|
||||
/*Uri initializeFrom*/ null, /*bool outlineOnly*/ true);
|
||||
c = await compiler.computeDelta();
|
||||
classHierarchy = compiler.getClassHierarchy()!;
|
||||
List<Library> libraries = c.libraries
|
||||
|
|
|
@ -167,7 +167,7 @@ class BinaryMdDillReader {
|
|||
/// Initial setup of a "class definition" in the binary.md file.
|
||||
/// This includes parsing the name, setting up any "extends"-relationship,
|
||||
/// generics etc.
|
||||
_binaryMdHandlePossibleClassStart(String s) {
|
||||
void _binaryMdHandlePossibleClassStart(String s) {
|
||||
if (s.startsWith("type Byte =")) return;
|
||||
if (s.startsWith("type UInt32 =")) return;
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ final RegExp tagParser = new RegExp(r"V\((\w*),\s*(\d+)\)");
|
|||
// Match stuff like "kNullConstant = 0,"
|
||||
final RegExp constantTagParser = new RegExp(r"k(\w*)\s*=\s*(\d+)");
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
File binaryMd = new File("$repoDir/pkg/kernel/binary.md");
|
||||
String binaryMdContent = binaryMd.readAsStringSync();
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'package:front_end/src/fasta/kernel/class_hierarchy_builder.dart';
|
|||
import 'package:front_end/src/testing/id_extractor.dart';
|
||||
import 'package:kernel/ast.dart';
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
|
||||
await runTests<Features>(dataDir,
|
||||
args: args,
|
||||
|
|
|
@ -22,7 +22,7 @@ import "simple_stats.dart";
|
|||
final Uri benchmarkHelper =
|
||||
Platform.script.resolve("compile_benchmark_helper.dart");
|
||||
|
||||
main(List<String> args) {
|
||||
void main(List<String> args) {
|
||||
List<String> arguments;
|
||||
bool tryToAnnotate = false;
|
||||
bool tryToSlowDown = false;
|
||||
|
@ -363,7 +363,7 @@ class RegisterCallTransformer extends RecursiveVisitor {
|
|||
List<Procedure> procedures = [];
|
||||
|
||||
@override
|
||||
visitLibrary(Library node) {
|
||||
void visitLibrary(Library node) {
|
||||
if (node.importUri.scheme == "package" &&
|
||||
node.importUri.pathSegments.first == "front_end") {
|
||||
super.visitLibrary(node);
|
||||
|
@ -371,7 +371,7 @@ class RegisterCallTransformer extends RecursiveVisitor {
|
|||
}
|
||||
|
||||
@override
|
||||
visitProcedure(Procedure node) {
|
||||
void visitProcedure(Procedure node) {
|
||||
if (node.function.body == null) return;
|
||||
int procedureNum = procedures.length;
|
||||
procedures.add(node);
|
||||
|
@ -395,7 +395,7 @@ class RegisterTimeTransformer extends RecursiveVisitor {
|
|||
List<Procedure> procedures = [];
|
||||
|
||||
@override
|
||||
visitLibrary(Library node) {
|
||||
void visitLibrary(Library node) {
|
||||
if (node.importUri.scheme == "package" &&
|
||||
node.importUri.pathSegments.first == "front_end") {
|
||||
super.visitLibrary(node);
|
||||
|
@ -403,7 +403,7 @@ class RegisterTimeTransformer extends RecursiveVisitor {
|
|||
}
|
||||
|
||||
@override
|
||||
visitProcedure(Procedure node) {
|
||||
void visitProcedure(Procedure node) {
|
||||
if (node.function.body == null) return;
|
||||
if (node.function.dartAsyncMarker != AsyncMarker.Sync) return;
|
||||
int procedureNum = procedures.length;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
import '../tool/_fasta/entry_points.dart' show compileEntryPoint;
|
||||
|
||||
main(List<String> arguments) async {
|
||||
void main(List<String> arguments) async {
|
||||
await compileEntryPoint(arguments);
|
||||
if (numCalls.isNotEmpty) {
|
||||
print("[");
|
||||
|
|
|
@ -6,7 +6,7 @@ import 'package:front_end/src/api_prototype/compiler_options.dart';
|
|||
|
||||
import 'incremental_suite.dart' show TestIncrementalCompiler, getOptions;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
final Uri dart2jsUrl = Uri.base.resolve("pkg/compiler/bin/dart2js.dart");
|
||||
CompilerOptions options = getOptions();
|
||||
options.sdkSummary = options.sdkSummary!.resolve("nonexisting.dill");
|
||||
|
|
|
@ -7,7 +7,7 @@ import 'package:front_end/src/api_prototype/memory_file_system.dart';
|
|||
|
||||
import 'incremental_suite.dart' show TestIncrementalCompiler, getOptions;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
await compile("import 'foo.dart' if (dart.library.bar) 'baz.dart';");
|
||||
}
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ class SilentErrorReporter implements constants.ErrorReporter {
|
|||
|
||||
late IncrementalCompiler incrementalCompiler;
|
||||
|
||||
main(List<String> arguments) async {
|
||||
void main(List<String> arguments) async {
|
||||
Uri? platformUri;
|
||||
Uri mainUri;
|
||||
bool nnbd = false;
|
||||
|
|
|
@ -11,7 +11,7 @@ import 'package:front_end/src/testing/id_testing_helper.dart';
|
|||
import 'package:front_end/src/testing/id_testing_utils.dart';
|
||||
import 'package:kernel/ast.dart';
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
|
||||
await runTests<String>(dataDir,
|
||||
args: args,
|
||||
|
|
|
@ -19,7 +19,7 @@ import 'crashing_test_case_minimizer_impl.dart';
|
|||
// TODO(jensj): Add asserts or similar where - after each rewrite - we run the
|
||||
// parser on it and verifies that no syntax errors have been introduced.
|
||||
|
||||
main(List<String> arguments) async {
|
||||
void main(List<String> arguments) async {
|
||||
String filename;
|
||||
Uri loadJson;
|
||||
for (String arg in arguments) {
|
||||
|
|
|
@ -132,7 +132,7 @@ class TestMinimizerSettings {
|
|||
};
|
||||
}
|
||||
|
||||
initializeFromJson(Map<String, dynamic> json) {
|
||||
void initializeFromJson(Map<String, dynamic> json) {
|
||||
mainUri = Uri.parse(json["mainUri"]);
|
||||
platformUri = Uri.parse(json["platformUri"]);
|
||||
noPlatform = json["noPlatform"];
|
||||
|
@ -2109,7 +2109,7 @@ class _FakeFileSystem extends FileSystem {
|
|||
return new _FakeFileSystemEntity(this, uri);
|
||||
}
|
||||
|
||||
initializeFromJson(Map<String, dynamic> json) {
|
||||
void initializeFromJson(Map<String, dynamic> json) {
|
||||
_initialized = true;
|
||||
_redirectAndRecord = json['_redirectAndRecord'];
|
||||
data.clear();
|
||||
|
|
|
@ -9,7 +9,7 @@ import 'package:front_end/src/fasta/hybrid_file_system.dart';
|
|||
|
||||
import "../tool/dart_doctest_impl.dart" as impl;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
expectCategory = "comment extraction";
|
||||
testCommentExtraction();
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import 'package:testing/testing.dart'
|
|||
|
||||
import '../tool/dart_doctest_impl.dart';
|
||||
|
||||
main([List<String> arguments = const []]) =>
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext, configurationPath: "../testing.json");
|
||||
|
||||
Future<Context> createContext(
|
||||
|
|
|
@ -23,7 +23,7 @@ import 'package:front_end/src/testing/compiler_common.dart';
|
|||
import 'package:kernel/ast.dart' as ir;
|
||||
import 'package:kernel/binary/ast_from_binary.dart' show BinaryBuilder;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
await asyncTest(() async {
|
||||
await testRedirectingFactoryDirect();
|
||||
await testRedirectingFactorySerialized();
|
||||
|
@ -32,13 +32,13 @@ main() async {
|
|||
});
|
||||
}
|
||||
|
||||
testRedirectingFactoryDirect() async {
|
||||
Future<void> testRedirectingFactoryDirect() async {
|
||||
var component = await compileUnit(['a.dart'], {'a.dart': aSource});
|
||||
checkIsRedirectingFactory(component, 'a.dart', 'A', 'foo');
|
||||
checkIsRedirectingFactory(component, 'core', 'Uri', 'file');
|
||||
}
|
||||
|
||||
testRedirectingFactorySerialized() async {
|
||||
Future<void> testRedirectingFactorySerialized() async {
|
||||
var component = await compileUnit(['a.dart'], {'a.dart': aSource});
|
||||
var bytes = serializeComponent(component);
|
||||
component = new ir.Component();
|
||||
|
@ -49,7 +49,7 @@ testRedirectingFactorySerialized() async {
|
|||
|
||||
// regression test: redirecting factories from patch files don't have the
|
||||
// redirecting-factory flag stored in kernel.
|
||||
testRedirectingFactoryPatchFile() async {
|
||||
Future<void> testRedirectingFactoryPatchFile() async {
|
||||
var componentUri =
|
||||
computePlatformBinariesLocation().resolve('dart2js_platform.dill');
|
||||
var component = new ir.Component();
|
||||
|
@ -81,7 +81,7 @@ class _B implements A {
|
|||
}
|
||||
''';
|
||||
|
||||
testExtensionMemberKind() async {
|
||||
Future<void> testExtensionMemberKind() async {
|
||||
var component = await compileUnit(['e.dart'], {'e.dart': extensionSource});
|
||||
var library = component.libraries
|
||||
.firstWhere((l) => l.importUri.path.endsWith('e.dart'));
|
||||
|
|
|
@ -15,7 +15,7 @@ import 'package:kernel/target/targets.dart' show NoneTarget, TargetFlags;
|
|||
import 'incremental_suite.dart'
|
||||
show checkIsEqual, getOptions, normalCompilePlain;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
final Uri dart2jsUrl = Uri.base.resolve("pkg/compiler/bin/dart2js.dart");
|
||||
Stopwatch stopwatch = new Stopwatch()..start();
|
||||
Component compiledComponent = await normalCompilePlain(dart2jsUrl,
|
||||
|
|
|
@ -20,7 +20,7 @@ const Version experimentReleaseVersion = const Version(2, 9);
|
|||
/// The version used in this test as the experiment enabled version.
|
||||
const Version experimentEnabledVersion = const Version(2, 10);
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
print('--------------------------------------------------------------------');
|
||||
print('Test off-by-default with command-line flag');
|
||||
print('--------------------------------------------------------------------');
|
||||
|
@ -58,7 +58,7 @@ main() async {
|
|||
versionOptsInAllowed: experimentReleaseVersion);
|
||||
}
|
||||
|
||||
test(
|
||||
void test(
|
||||
{bool enableNonNullableByDefault,
|
||||
bool enableNonNullableExplicitly,
|
||||
Version versionImpliesOptIn,
|
||||
|
|
|
@ -23,7 +23,7 @@ import 'package:front_end/src/testing/id_testing_helper.dart';
|
|||
import 'package:front_end/src/testing/id_testing_utils.dart';
|
||||
import 'package:kernel/ast.dart';
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
|
||||
await runTests<Features>(dataDir,
|
||||
args: args,
|
||||
|
|
|
@ -20,7 +20,7 @@ import 'package:front_end/src/fasta/dill/dill_target.dart' show DillTarget;
|
|||
import 'package:kernel/ast.dart'
|
||||
show Field, Library, Name, Component, StringLiteral;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
await asyncTest(() async {
|
||||
Uri uri = Uri.parse("org.dartlang.fasta:library");
|
||||
Library library = new Library(uri, fileUri: uri);
|
||||
|
|
|
@ -8,7 +8,7 @@ import 'dart:io' show exitCode;
|
|||
|
||||
import "package:testing/src/run_tests.dart" as testing show main;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
// This method is async, but keeps a port open to prevent the VM from exiting
|
||||
// prematurely.
|
||||
// Note: if you change this file, also change
|
||||
|
|
|
@ -8,7 +8,7 @@ import 'dart:io' show exitCode;
|
|||
|
||||
import "package:testing/src/run_tests.dart" as testing show main;
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
await testing.main(<String>[
|
||||
"--config=pkg/front_end/testing_with_lints.json",
|
||||
"--verbose",
|
||||
|
|
|
@ -115,7 +115,7 @@ class VerifyingVisitor extends RecursiveVisitor {
|
|||
VerifyingVisitor(this.test);
|
||||
|
||||
@override
|
||||
visitProcedure(Procedure node) {
|
||||
void visitProcedure(Procedure node) {
|
||||
expectedSpan = test.spans[node.name.text];
|
||||
if (expectedSpan != null) {
|
||||
super.visitProcedure(node);
|
||||
|
@ -125,7 +125,7 @@ class VerifyingVisitor extends RecursiveVisitor {
|
|||
}
|
||||
|
||||
@override
|
||||
visitAssertStatement(AssertStatement node) {
|
||||
void visitAssertStatement(AssertStatement node) {
|
||||
Expect.equals(expectedSpan.startOffset, node.conditionStartOffset);
|
||||
Expect.equals(expectedSpan.endOffset, node.conditionEndOffset);
|
||||
}
|
||||
|
|
|
@ -107,5 +107,5 @@ class ComparisonFailed {
|
|||
ComparisonFailed(this.a, this.b);
|
||||
|
||||
@override
|
||||
toString() => "Error: $a is different from $b";
|
||||
String toString() => "Error: $a is different from $b";
|
||||
}
|
||||
|
|
|
@ -439,5 +439,5 @@ Future<Context> createContext(
|
|||
return new Context(compilerContext, errors, updateExpectations);
|
||||
}
|
||||
|
||||
main([List<String> arguments = const []]) =>
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../testing.json");
|
||||
|
|
|
@ -66,7 +66,7 @@ void check(String expected, Object generator) {
|
|||
Expect.stringEquals(expected, "$generator");
|
||||
}
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
await CompilerContext.runWithDefaultOptions((CompilerContext c) async {
|
||||
Token token = scanString(" myToken").tokens;
|
||||
Uri uri = Uri.parse("org-dartlang-test:my_library.dart");
|
||||
|
|
|
@ -244,5 +244,5 @@ Future<Context> createContext(
|
|||
return new Context(new CompilerContext(options), errors);
|
||||
}
|
||||
|
||||
main([List<String> arguments = const []]) =>
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../testing.json");
|
||||
|
|
|
@ -41,7 +41,7 @@ class IncrementalExpectation {
|
|||
hasCompileTimeError: extractHasCompileTimeError(data));
|
||||
}
|
||||
|
||||
toJson() {
|
||||
dynamic toJson() {
|
||||
if (!commitChangesShouldFail && !hasCompileTimeError) {
|
||||
return messages.length == 1 ? messages.first : messages;
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ void diagnosticMessageHandler(DiagnosticMessage message) {
|
|||
throw "Unexpected message: ${message.plainTextFormatted.join('\n')}";
|
||||
}
|
||||
|
||||
test({bool sdkFromSource}) async {
|
||||
Future<void> test({bool sdkFromSource}) async {
|
||||
final CompilerOptions optionBuilder = new CompilerOptions()
|
||||
..packagesFileUri = Uri.base.resolve(".packages")
|
||||
..target = new VmTarget(new TargetFlags())
|
||||
|
|
|
@ -8,12 +8,14 @@ import 'package:_fe_analyzer_shared/src/util/link.dart' show Link, LinkBuilder;
|
|||
|
||||
import 'package:expect/expect.dart' show Expect;
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
Link<String> strings = const Link<String>().prepend("B").prepend("A");
|
||||
Expect.stringEquals("[ A, B ]", "${strings}");
|
||||
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
|
||||
|
||||
strings = (new LinkBuilder<String>()..addLast("A")..addLast("B"))
|
||||
strings = (new LinkBuilder<String>()
|
||||
..addLast("A")
|
||||
..addLast("B"))
|
||||
.toLink(const Link<String>());
|
||||
|
||||
Expect.stringEquals("[ A, B ]", "${strings}");
|
||||
|
@ -34,7 +36,9 @@ main() {
|
|||
Expect.stringEquals("[ A, B ]", "${strings}");
|
||||
Expect.stringEquals("[ B, A ]", "${strings.reverse(const Link<String>())}");
|
||||
|
||||
strings = (new LinkBuilder<String>()..addLast("A")..addLast("B"))
|
||||
strings = (new LinkBuilder<String>()
|
||||
..addLast("A")
|
||||
..addLast("B"))
|
||||
.toLink(const Link<String>());
|
||||
|
||||
Expect.stringEquals("[ A, B ]", "${strings}");
|
||||
|
|
|
@ -876,5 +876,5 @@ class Script {
|
|||
}
|
||||
}
|
||||
|
||||
main([List<String> arguments = const []]) =>
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../testing.json");
|
||||
|
|
|
@ -75,12 +75,12 @@ Future<List<DiagnosticMessage>> outline(String objectHeader) async {
|
|||
return messages;
|
||||
}
|
||||
|
||||
test() async {
|
||||
Future<void> test() async {
|
||||
Set<String> normalErrors = (await outline("class Object {"))
|
||||
.map((DiagnosticMessage message) => getMessageCodeObject(message).name)
|
||||
.toSet();
|
||||
|
||||
check(String objectHeader, List<Code> expectedCodes) async {
|
||||
void check(String objectHeader, List<Code> expectedCodes) async {
|
||||
List<DiagnosticMessage> messages = (await outline(objectHeader))
|
||||
.where((DiagnosticMessage message) =>
|
||||
!normalErrors.contains(getMessageCodeObject(message).name))
|
||||
|
@ -100,6 +100,6 @@ test() async {
|
|||
<Code>[codeObjectExtends, codeObjectMixesIn]);
|
||||
}
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
asyncTest(test);
|
||||
}
|
||||
|
|
|
@ -13,5 +13,5 @@ Future<FastaContext> createContext(
|
|||
return FastaContext.create(suite, environment);
|
||||
}
|
||||
|
||||
main([List<String> arguments = const []]) =>
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../testing.json");
|
||||
|
|
|
@ -12,7 +12,7 @@ import 'package:front_end/src/fasta/source/diet_parser.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(CollectionElementTest);
|
||||
defineReflectiveTests(MapElementTest);
|
||||
|
@ -21,7 +21,7 @@ main() {
|
|||
|
||||
@reflectiveTest
|
||||
class CollectionElementTest {
|
||||
test_closingBrace() {
|
||||
void test_closingBrace() {
|
||||
parseEntry(
|
||||
'[ }',
|
||||
[
|
||||
|
@ -36,7 +36,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_comma() {
|
||||
void test_comma() {
|
||||
parseEntry(
|
||||
'[ ,',
|
||||
[
|
||||
|
@ -50,7 +50,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_expression() {
|
||||
void test_expression() {
|
||||
parseEntry(
|
||||
'[ x',
|
||||
[
|
||||
|
@ -63,7 +63,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_for() {
|
||||
void test_for() {
|
||||
parseEntry(
|
||||
'[ for (var i = 0; i < 10; ++i) 2',
|
||||
[
|
||||
|
@ -101,7 +101,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forForFor() {
|
||||
void test_forForFor() {
|
||||
parseEntry(
|
||||
'[ for (var i = 0; i < 10; ++i) for (x in y) for (var a in [6]) 2',
|
||||
[
|
||||
|
@ -178,7 +178,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forIfForElse() {
|
||||
void test_forIfForElse() {
|
||||
parseEntry(
|
||||
'[ await for (var x in y) if (a) for (b in c) 2 else 7',
|
||||
[
|
||||
|
@ -241,7 +241,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forIn() {
|
||||
void test_forIn() {
|
||||
parseEntry(
|
||||
'[ await for (var x in y) 2',
|
||||
[
|
||||
|
@ -271,7 +271,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forInSpread() {
|
||||
void test_forInSpread() {
|
||||
parseEntry(
|
||||
'[ for (var x in y) ...[2]',
|
||||
[
|
||||
|
@ -303,7 +303,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forSpreadQ() {
|
||||
void test_forSpreadQ() {
|
||||
parseEntry(
|
||||
'[ for (i = 0; i < 10; ++i) ...[2]',
|
||||
[
|
||||
|
@ -339,7 +339,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_if() {
|
||||
void test_if() {
|
||||
parseEntry(
|
||||
'[ if (true) 2',
|
||||
[
|
||||
|
@ -354,7 +354,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_ifElse() {
|
||||
void test_ifElse() {
|
||||
parseEntry(
|
||||
'[ if (true) 2 else 5',
|
||||
[
|
||||
|
@ -371,7 +371,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_ifFor() {
|
||||
void test_ifFor() {
|
||||
parseEntry(
|
||||
'[ if (true) for (x in y) 2',
|
||||
[
|
||||
|
@ -405,7 +405,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_ifForElseIfFor() {
|
||||
void test_ifForElseIfFor() {
|
||||
parseEntry(
|
||||
'[ if (true) for (a in b) 2 else if (c) for (d in e) 5',
|
||||
[
|
||||
|
@ -469,7 +469,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_ifSpreadQ() {
|
||||
void test_ifSpreadQ() {
|
||||
parseEntry(
|
||||
'[ if (true) ...?[2]',
|
||||
[
|
||||
|
@ -487,7 +487,7 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_ifElseSpreadQ() {
|
||||
void test_ifElseSpreadQ() {
|
||||
parseEntry(
|
||||
'[ if (true) ...?[2] else ... const {5}',
|
||||
[
|
||||
|
@ -512,14 +512,14 @@ class CollectionElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_intLiteral() {
|
||||
void test_intLiteral() {
|
||||
parseEntry('[ 1', [
|
||||
'handleLiteralInt 1',
|
||||
'handleLiteralList 1, [, null, ]',
|
||||
]);
|
||||
}
|
||||
|
||||
test_spread() {
|
||||
void test_spread() {
|
||||
parseEntry('[ ...[1]', [
|
||||
'handleNoTypeArguments [',
|
||||
'handleLiteralInt 1',
|
||||
|
@ -529,7 +529,7 @@ class CollectionElementTest {
|
|||
]);
|
||||
}
|
||||
|
||||
test_spreadQ() {
|
||||
void test_spreadQ() {
|
||||
parseEntry('[ ...?[1]', [
|
||||
'handleNoTypeArguments [',
|
||||
'handleLiteralInt 1',
|
||||
|
@ -565,7 +565,7 @@ class CollectionElementTest {
|
|||
|
||||
@reflectiveTest
|
||||
class MapElementTest {
|
||||
test_closingBrace() {
|
||||
void test_closingBrace() {
|
||||
parseEntry(
|
||||
'before }',
|
||||
[
|
||||
|
@ -588,7 +588,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_comma() {
|
||||
void test_comma() {
|
||||
parseEntry(
|
||||
'before ,',
|
||||
[
|
||||
|
@ -611,7 +611,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_expression() {
|
||||
void test_expression() {
|
||||
parseEntry(
|
||||
'before x:y',
|
||||
[
|
||||
|
@ -628,7 +628,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_for() {
|
||||
void test_for() {
|
||||
parseEntry(
|
||||
'before for (var i = 0; i < 10; ++i) 2:3',
|
||||
[
|
||||
|
@ -667,7 +667,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forIn() {
|
||||
void test_forIn() {
|
||||
parseEntry(
|
||||
'before await for (var x in y) 2:3',
|
||||
[
|
||||
|
@ -698,7 +698,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forInSpread() {
|
||||
void test_forInSpread() {
|
||||
parseEntry(
|
||||
'before for (var x in y) ...{2:3}',
|
||||
[
|
||||
|
@ -731,7 +731,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_forSpreadQ() {
|
||||
void test_forSpreadQ() {
|
||||
parseEntry(
|
||||
'before for (i = 0; i < 10; ++i) ...?{2:7}',
|
||||
[
|
||||
|
@ -768,7 +768,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_if() {
|
||||
void test_if() {
|
||||
parseEntry(
|
||||
'before if (true) 2:3',
|
||||
[
|
||||
|
@ -784,7 +784,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_ifSpread() {
|
||||
void test_ifSpread() {
|
||||
parseEntry(
|
||||
'before if (true) ...{2:3}',
|
||||
[
|
||||
|
@ -803,7 +803,7 @@ class MapElementTest {
|
|||
);
|
||||
}
|
||||
|
||||
test_intLiteral() {
|
||||
void test_intLiteral() {
|
||||
parseEntry('before 1:2', [
|
||||
'handleLiteralInt 1',
|
||||
'handleLiteralInt 2',
|
||||
|
@ -811,7 +811,7 @@ class MapElementTest {
|
|||
]);
|
||||
}
|
||||
|
||||
test_spread() {
|
||||
void test_spread() {
|
||||
parseEntry('before ...const {1:2}', [
|
||||
'beginConstLiteral {',
|
||||
'handleNoTypeArguments {',
|
||||
|
@ -824,7 +824,7 @@ class MapElementTest {
|
|||
]);
|
||||
}
|
||||
|
||||
test_spreadQ() {
|
||||
void test_spreadQ() {
|
||||
parseEntry('before ...?const {1:3}', [
|
||||
'beginConstLiteral {',
|
||||
'handleNoTypeArguments {',
|
||||
|
@ -1101,7 +1101,7 @@ class TestInfoListener implements Listener {
|
|||
}
|
||||
|
||||
@override
|
||||
noSuchMethod(Invocation invocation) {
|
||||
dynamic noSuchMethod(Invocation invocation) {
|
||||
throw '${invocation.memberName} should not be called.';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,5 +46,5 @@ class Parse extends Step<ScannedFile, Null, ChainContext> {
|
|||
}
|
||||
}
|
||||
|
||||
main(List<String> arguments) =>
|
||||
void main(List<String> arguments) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../../testing.json");
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'package:_fe_analyzer_shared/src/scanner/token_impl.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TokenStreamRewriterTest_NoPrevious);
|
||||
defineReflectiveTests(TokenStreamRewriterTest_UsingPrevious);
|
||||
|
|
|
@ -15,7 +15,7 @@ import 'package:front_end/src/fasta/source/diet_parser.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(NoTypeInfoTest);
|
||||
defineReflectiveTests(PrefixedTypeInfoTest);
|
||||
|
@ -304,7 +304,7 @@ class PrefixedTypeInfoTest {
|
|||
expect(prefixedType.couldBeExpression, isTrue);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd, expectedEnd);
|
||||
expect(listener.calls, [
|
||||
'handleIdentifier C prefixedTypeReference',
|
||||
|
@ -380,7 +380,7 @@ class SimpleNullableTypeTest {
|
|||
expect(simpleNullableType.couldBeExpression, isTrue);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd, expectedEnd);
|
||||
expect(listener.calls, [
|
||||
'handleIdentifier C typeReference',
|
||||
|
@ -431,7 +431,7 @@ class SimpleNullableTypeWith1ArgumentTest {
|
|||
expect(simpleNullableTypeWith1Argument.couldBeExpression, isFalse);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd, expectedEnd);
|
||||
expect(listener.calls, [
|
||||
'handleIdentifier C typeReference',
|
||||
|
@ -501,7 +501,7 @@ class SimpleTypeTest {
|
|||
expect(simpleType.couldBeExpression, isTrue);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd, expectedEnd);
|
||||
expect(listener.calls, [
|
||||
'handleIdentifier C typeReference',
|
||||
|
@ -575,7 +575,7 @@ class SimpleTypeWith1ArgumentTest {
|
|||
expect(simpleTypeWith1Argument.couldBeExpression, isFalse);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd, expectedEnd);
|
||||
expect(listener.calls, [
|
||||
'handleIdentifier C typeReference',
|
||||
|
@ -619,7 +619,7 @@ class SimpleTypeWith1ArgumentTest {
|
|||
expect(simpleTypeWith1ArgumentGtEq.couldBeExpression, isFalse);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd.lexeme, '>');
|
||||
expect(actualEnd.next.lexeme, '=');
|
||||
expect(actualEnd.next.next, semicolon);
|
||||
|
@ -664,7 +664,7 @@ class SimpleTypeWith1ArgumentTest {
|
|||
expect(simpleTypeWith1ArgumentGtGt.couldBeExpression, isFalse);
|
||||
|
||||
TypeInfoListener listener;
|
||||
assertResult(Token actualEnd) {
|
||||
void assertResult(Token actualEnd) {
|
||||
expect(actualEnd.lexeme, '>');
|
||||
expect(actualEnd.next.lexeme, '>');
|
||||
expect(actualEnd.next.next, semicolon);
|
||||
|
@ -3019,11 +3019,11 @@ class TypeInfoListener implements Listener {
|
|||
}
|
||||
|
||||
@override
|
||||
noSuchMethod(Invocation invocation) {
|
||||
dynamic noSuchMethod(Invocation invocation) {
|
||||
throw '${invocation.memberName} should not be called.';
|
||||
}
|
||||
|
||||
assertTokenInStream(Token match) {
|
||||
void assertTokenInStream(Token match) {
|
||||
if (firstToken != null && match != null && !match.isEof) {
|
||||
Token token = firstToken;
|
||||
while (!token.isEof) {
|
||||
|
|
|
@ -11,7 +11,7 @@ import "package:front_end/src/testing/compiler_common.dart" show compileUnit;
|
|||
import "package:front_end/src/api_prototype/front_end.dart"
|
||||
show CompilerOptions;
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
asyncTest(() async {
|
||||
var sources = <String, dynamic>{
|
||||
"a.dart": """
|
||||
|
|
|
@ -21,5 +21,5 @@ class ScannerContext extends ChainContext {
|
|||
];
|
||||
}
|
||||
|
||||
main(List<String> arguments) =>
|
||||
void main(List<String> arguments) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../../testing.json");
|
||||
|
|
|
@ -17,4 +17,5 @@ Future<FastaContext> createContext(
|
|||
return FastaContext.create(suite, environment);
|
||||
}
|
||||
|
||||
main([List<String> arguments = const []]) => runMe(arguments, createContext);
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext);
|
||||
|
|
|
@ -15,11 +15,11 @@ Future<FastaContext> createContext(
|
|||
return FastaContext.create(suite, environment);
|
||||
}
|
||||
|
||||
main(List<String> arguments) {
|
||||
void main(List<String> arguments) {
|
||||
internalMain(arguments: arguments);
|
||||
}
|
||||
|
||||
internalMain(
|
||||
void internalMain(
|
||||
{List<String> arguments = const [], int shards = 1, int shard = 0}) {
|
||||
runMe(arguments, createContext,
|
||||
configurationPath: "../../testing.json", shards: shards, shard: shard);
|
||||
|
|
|
@ -90,7 +90,7 @@ DiagnosticMessageHandler _makeDiagnosticMessageHandler(Set<String> names) {
|
|||
/// Check that by default an error is reported for all unresolved super
|
||||
/// invocations: independently of weather they target abstract super members
|
||||
/// or nonexistent targets.
|
||||
testDisabledSuperMixins() async {
|
||||
Future<void> testDisabledSuperMixins() async {
|
||||
var missingSuperMethodNames = new Set<String>();
|
||||
var options = new CompilerOptions()
|
||||
..onDiagnostic = _makeDiagnosticMessageHandler(missingSuperMethodNames);
|
||||
|
@ -103,7 +103,7 @@ testDisabledSuperMixins() async {
|
|||
/// super-invocation that targets an non-existent method, a super-invocation
|
||||
/// that targets an abstract member of the super-class should not be reported.
|
||||
/// In non-abstract class we should report both cases as an error.
|
||||
testEnabledSuperMixins() async {
|
||||
Future<void> testEnabledSuperMixins() async {
|
||||
var missingSuperMethodNames = new Set<String>();
|
||||
var options = new CompilerOptions()
|
||||
..onDiagnostic = _makeDiagnosticMessageHandler(missingSuperMethodNames)
|
||||
|
|
|
@ -2059,6 +2059,7 @@ mixin TestTarget on Target {
|
|||
}
|
||||
|
||||
class TestVmTarget extends VmTarget with TestTarget, TestTargetMixin {
|
||||
@override
|
||||
final TestTargetFlags flags;
|
||||
|
||||
TestVmTarget(this.flags) : super(flags);
|
||||
|
@ -2136,6 +2137,7 @@ class NoneConstantsBackendWithJs extends NoneConstantsBackend {
|
|||
}
|
||||
|
||||
class TestDart2jsTarget extends Dart2jsTarget with TestTarget, TestTargetMixin {
|
||||
@override
|
||||
final TestTargetFlags flags;
|
||||
|
||||
TestDart2jsTarget(String name, this.flags) : super(name, flags);
|
||||
|
@ -2143,6 +2145,7 @@ class TestDart2jsTarget extends Dart2jsTarget with TestTarget, TestTargetMixin {
|
|||
|
||||
class TestDevCompilerTarget extends DevCompilerTarget
|
||||
with TestTarget, TestTargetMixin {
|
||||
@override
|
||||
final TestTargetFlags flags;
|
||||
|
||||
TestDevCompilerTarget(this.flags) : super(flags);
|
||||
|
|
|
@ -15,11 +15,11 @@ Future<FastaContext> createContext(
|
|||
return FastaContext.create(suite, environment);
|
||||
}
|
||||
|
||||
main(List<String> arguments) {
|
||||
void main(List<String> arguments) {
|
||||
internalMain(arguments: arguments);
|
||||
}
|
||||
|
||||
internalMain(
|
||||
void internalMain(
|
||||
{List<String> arguments = const [], int shards = 1, int shard = 0}) {
|
||||
runMe(arguments, createContext,
|
||||
configurationPath: "../../testing.json", shards: shards, shard: shard);
|
||||
|
|
|
@ -52,7 +52,7 @@ Future<Context> createContext(
|
|||
return new Context(environment["updateExpectations"] == "true");
|
||||
}
|
||||
|
||||
main([List<String> arguments = const []]) =>
|
||||
void main([List<String> arguments = const []]) =>
|
||||
runMe(arguments, createContext, configurationPath: "../../testing.json");
|
||||
|
||||
class Context extends ChainContext with MatchContext {
|
||||
|
|
|
@ -47,7 +47,7 @@ const List<String> unsafeTools = const <String>[
|
|||
"testing",
|
||||
];
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
if (!Platform.isMacOS && !Platform.isLinux) {
|
||||
// The tool is a shell script and only works on Mac and Linux.
|
||||
return;
|
||||
|
|
|
@ -102,7 +102,7 @@ class FactorTypeTest extends FactorTypeTestMixin<DartType> {
|
|||
typeToText(type, TypeRepresentation.analyzerNonNullableByDefault);
|
||||
}
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
CompilerOptions options = new CompilerOptions()
|
||||
..explicitExperimentalFlags[ExperimentalFlag.nonNullable] = true;
|
||||
InternalCompilerResult result = await compileScript('',
|
||||
|
|
|
@ -14,7 +14,7 @@ import 'package:kernel/testing/type_parser_environment.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TypeConstraintGathererTest);
|
||||
});
|
||||
|
|
|
@ -14,7 +14,7 @@ import 'package:kernel/testing/type_parser_environment.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TypeConstraintGathererTest);
|
||||
});
|
||||
|
|
|
@ -9,7 +9,7 @@ import 'package:kernel/ast.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(IncludesTypeParametersCovariantlyTest);
|
||||
});
|
||||
|
|
|
@ -12,7 +12,7 @@ import 'package:kernel/testing/type_parser_environment.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TypeSchemaEliminationTest);
|
||||
});
|
||||
|
|
|
@ -12,7 +12,7 @@ import 'package:kernel/testing/type_parser_environment.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TypeSchemaEliminationTest);
|
||||
});
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'package:kernel/testing/type_parser_environment.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TypeSchemaEnvironmentTest);
|
||||
});
|
||||
|
|
|
@ -13,7 +13,7 @@ import 'package:kernel/testing/type_parser_environment.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(TypeSchemaEnvironmentTest);
|
||||
});
|
||||
|
|
|
@ -9,7 +9,7 @@ import 'package:kernel/ast.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(UnknownTypeTest);
|
||||
});
|
||||
|
|
|
@ -8,5 +8,5 @@ import "dart:io" show Platform;
|
|||
|
||||
import "subtypes_benchmark.dart" show run;
|
||||
|
||||
main() =>
|
||||
void main() =>
|
||||
run(Platform.script.resolve("benchmark_data/dart2js.json.gz"), "Dart2js");
|
||||
|
|
|
@ -6,4 +6,4 @@
|
|||
|
||||
import "dart2js_benchmark.dart" as bench show main;
|
||||
|
||||
main() => bench.main();
|
||||
void main() => bench.main();
|
||||
|
|
|
@ -14,7 +14,8 @@ import "package:kernel/core_types.dart" show CoreTypes;
|
|||
|
||||
import "package:kernel/target/targets.dart" show NoneTarget, TargetFlags;
|
||||
|
||||
import 'package:kernel/testing/type_parser_environment.dart' show parseComponent;
|
||||
import 'package:kernel/testing/type_parser_environment.dart'
|
||||
show parseComponent;
|
||||
|
||||
import "package:front_end/src/api_prototype/compiler_options.dart"
|
||||
show CompilerOptions;
|
||||
|
@ -100,7 +101,7 @@ F:
|
|||
interfaceSetters:
|
||||
""";
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
final Ticker ticker = new Ticker(isVerbose: false);
|
||||
final Component component = parseComponent("""
|
||||
class A;
|
||||
|
|
|
@ -63,7 +63,7 @@ class FastaLegacyUpperBoundTest extends LegacyUpperBoundTest {
|
|||
}
|
||||
}
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
final Ticker ticker = new Ticker();
|
||||
final CompilerContext context = new CompilerContext(new ProcessedOptions(
|
||||
options: new CompilerOptions()
|
||||
|
|
|
@ -40,7 +40,7 @@ import 'kernel_type_parser_test.dart' show parseSdk;
|
|||
|
||||
import "shared_type_tests.dart" show SubtypeTest;
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
final Ticker ticker = new Ticker(isVerbose: false);
|
||||
final CompilerContext context = new CompilerContext(new ProcessedOptions(
|
||||
options: new CompilerOptions()
|
||||
|
|
|
@ -21,7 +21,7 @@ FunctionType createTTo_VoidToR() {
|
|||
typeParameters: [T]);
|
||||
}
|
||||
|
||||
test1() {
|
||||
void test1() {
|
||||
DartType voidToR1 = createVoidToR();
|
||||
DartType voidToR2 = createVoidToR();
|
||||
DartType voidToR3 = createTTo_VoidToR().returnType;
|
||||
|
@ -48,7 +48,7 @@ FunctionType createVoidTo_VoidToR() {
|
|||
typeParameters: [R]);
|
||||
}
|
||||
|
||||
test2() {
|
||||
void test2() {
|
||||
FunctionType outer1 = createVoidTo_VoidToR();
|
||||
FunctionType outer2 = createVoidTo_VoidToR();
|
||||
DartType voidToR1 = outer1.returnType;
|
||||
|
@ -61,6 +61,6 @@ test2() {
|
|||
"Hash code mismatch for outer1 vs outer2."); // false, on no!
|
||||
}
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
test2();
|
||||
}
|
||||
|
|
|
@ -30,6 +30,6 @@ class KernelLegacyUpperBoundTest extends LegacyUpperBoundTest {
|
|||
}
|
||||
}
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
new KernelLegacyUpperBoundTest().test();
|
||||
}
|
||||
|
|
|
@ -114,7 +114,7 @@ Component parseSdk(Uri uri, TypeParserEnvironment environment) {
|
|||
return new Component(libraries: <Library>[library]);
|
||||
}
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
Uri uri = Uri.parse("dart:core");
|
||||
TypeParserEnvironment environment = new TypeParserEnvironment(uri, uri);
|
||||
Component component = parseSdk(uri, environment);
|
||||
|
|
|
@ -8,5 +8,5 @@ import "dart:io" show Platform;
|
|||
|
||||
import "subtypes_benchmark.dart" show run;
|
||||
|
||||
main() => run(
|
||||
void main() => run(
|
||||
Platform.script.resolve("benchmark_data/large_app.json.gz"), "LargeApp");
|
||||
|
|
|
@ -6,4 +6,4 @@
|
|||
|
||||
import "large_app_benchmark.dart" as bench show main;
|
||||
|
||||
main() => bench.main();
|
||||
void main() => bench.main();
|
||||
|
|
|
@ -178,4 +178,4 @@ Future<void> run(Uri benchmarkInput, String name) async {
|
|||
"${fastaWatch.elapsedMilliseconds / runs} ms");
|
||||
}
|
||||
|
||||
main() => run(Uri.base.resolve("type_checks.json"), "***");
|
||||
void main() => run(Uri.base.resolve("type_checks.json"), "***");
|
||||
|
|
|
@ -10,7 +10,7 @@ import 'package:package_config/package_config.dart';
|
|||
import 'package:test/test.dart';
|
||||
import 'package:test_reflective_loader/test_reflective_loader.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
defineReflectiveSuite(() {
|
||||
defineReflectiveTests(UriTranslatorImplTest);
|
||||
});
|
||||
|
|
|
@ -12,7 +12,7 @@ import 'package:front_end/src/fasta/util/direct_parser_ast_helper.dart';
|
|||
|
||||
Uri base;
|
||||
|
||||
main(List<String> args) {
|
||||
void main(List<String> args) {
|
||||
File script = new File.fromUri(Platform.script);
|
||||
base = script.parent.uri;
|
||||
|
||||
|
|
|
@ -14,11 +14,11 @@ Future<FastaContext> createContext(
|
|||
return FastaContext.create(suite, environment);
|
||||
}
|
||||
|
||||
main(List<String> arguments) {
|
||||
void main(List<String> arguments) {
|
||||
internalMain(arguments: arguments);
|
||||
}
|
||||
|
||||
internalMain(
|
||||
void internalMain(
|
||||
{List<String> arguments = const [], int shards = 1, int shard = 0}) =>
|
||||
runMe(arguments, createContext,
|
||||
configurationPath: "../../testing.json", shard: shard, shards: shards);
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
import 'package:expect/expect.dart';
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
// TODO(dacoharkes): implement dart:ffi tests
|
||||
Expect.isTrue(true);
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ Set<String> files = {};
|
|||
// but assumes that flutter has been setup as by the script
|
||||
// `tools/bots/flutter/compile_flutter.sh`.
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
if (Platform.isWindows) {
|
||||
throw "This script cannot run on Windows as it uses non-Windows "
|
||||
"assumptions both for the placement of pub packages and the presence "
|
||||
|
|
|
@ -20,7 +20,7 @@ import 'utils/io_utils.dart' show computeRepoDirUri;
|
|||
|
||||
final Uri repoDir = computeRepoDirUri();
|
||||
|
||||
main() async {
|
||||
void main() async {
|
||||
messages();
|
||||
experimentalFlags();
|
||||
directParserAstHelper();
|
||||
|
|
|
@ -66,7 +66,7 @@ abstract class TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
setUp() async {
|
||||
Future<void> setUp() async {
|
||||
outDir = Directory.systemTemp.createTempSync('hotreload_test');
|
||||
outputUri = outDir.uri.resolve('test.dill');
|
||||
var root = Uri.parse('org-dartlang-test:///');
|
||||
|
@ -81,7 +81,7 @@ abstract class TestCase {
|
|||
await rebuild(compiler, outputUri); // this is a full compile.
|
||||
}
|
||||
|
||||
tearDown() async {
|
||||
Future<void> tearDown() async {
|
||||
outDir.deleteSync(recursive: true);
|
||||
lines = null;
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ abstract class TestCase {
|
|||
|
||||
/// Start the VM with the first version of the program compiled by the
|
||||
/// incremental compiler.
|
||||
startProgram(int reloadCount) async {
|
||||
Future<void> startProgram(int reloadCount) async {
|
||||
var vmArgs = [
|
||||
'--enable-vm-service=0', // Note: use 0 to avoid port collisions.
|
||||
'--pause_isolates_on_start',
|
||||
|
@ -289,7 +289,7 @@ class ReloadToplevelField extends TestCase {
|
|||
}
|
||||
}
|
||||
|
||||
main() {
|
||||
void main() {
|
||||
asyncTest(() async {
|
||||
await new InitialProgramIsValid().test();
|
||||
await new ReloadAfterLeafLibraryModification().test();
|
||||
|
|
|
@ -30,7 +30,7 @@ import 'package:kernel/ast.dart'
|
|||
Library,
|
||||
TreeNode;
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
|
||||
await runTests<String>(dataDir,
|
||||
args: args,
|
||||
|
|
|
@ -19,7 +19,7 @@ import 'package:front_end/src/testing/id_testing_helper.dart';
|
|||
import 'package:front_end/src/testing/id_testing_utils.dart';
|
||||
import 'package:kernel/ast.dart' hide Variance;
|
||||
|
||||
main(List<String> args) async {
|
||||
void main(List<String> args) async {
|
||||
Directory dataDir = new Directory.fromUri(Platform.script.resolve(
|
||||
'../../../_fe_analyzer_shared/test/flow_analysis/assigned_variables/'
|
||||
'data'));
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue