Version 2.17.0-206.0.dev
Merge commit '935faa6c8a860125a4762296ebca5ff7b4174281' into 'dev'
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6bf63c92..be5981de 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -101,6 +101,23 @@
[web] A web app that uses only core Dart libraries.
```
+#### Linter
+
+Updated the Linter to `1.19.2`, which includes changes that
+
+- adds new lint: `use_super_initializers`.
+- adds new lint: `use_enums`.
+- adds new lint: `use_colored_box`.
+- improves performance for `sort_constructors`.
+- improves docs for `always_use_package_imports`,
+ `avoid_print`, and `avoid_relative_lib_imports` .
+- updates `avoid_void_async` to skip `main` functions.
+- updates `prefer_final_parameters` to not super on super params.
+- updates lints for enhanced-enums and super-initializer language
+ features.
+- updates `unnecessary_late` to report on variable names.
+- marks `null_check_on_nullable_type_parameter` stable.
+
## 2.16.1 - 2022-02-09
This is a patch release that fixes an AOT precompiler crash when building some
@@ -183,20 +200,8 @@
#### Linter
-Updated the Linter to `1.19.2`, which includes changes that
+Updated the Linter to `1.18.0`, which includes changes that
-- adds new lint: `use_super_initializers`.
-- adds new lint: `use_enums`.
-- adds new lint: `use_colored_box`.
-- improves performance for `sort_constructors`.
-- improves docs for `always_use_package_imports`,
- `avoid_print`, and `avoid_relative_lib_imports` .
-- updates `avoid_void_async` to skip `main` functions.
-- updates `prefer_final_parameters` to not super on super params.
-- updates lints for enhanced-enums and super-initializer language
- features.
-- updates `unnecessary_late` to report on variable names.
-- marks `null_check_on_nullable_type_parameter` stable.
- extends `camel_case_types` to cover enums.
- fixes `no_leading_underscores_for_local_identifiers` to not
mis-flag field formal parameters with default values.
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 12ae415..b4c545a 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -47,6 +47,7 @@
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/exception/exception.dart';
import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/file_system/overlay_file_system.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
import 'package:analyzer/src/dart/analysis/driver.dart' as analysis;
import 'package:analyzer/src/dart/analysis/status.dart' as analysis;
@@ -123,6 +124,34 @@
final StreamController _onAnalysisSetChangedController =
StreamController.broadcast(sync: true);
+ /// Key: a file path for which removing of the overlay was requested.
+ /// Value: a timer that will remove the overlay, or cancelled.
+ ///
+ /// This helps for analysis server running remotely, with slow remote file
+ /// systems, in the following scenario:
+ /// 1. User edits file, IDE sends "add overlay".
+ /// 2. User saves file, IDE saves file locally, sends "remove overlay".
+ /// 3. The remove server reads the file on "remove overlay". But the content
+ /// of the file on the remove machine is not the same as it is locally,
+ /// and not what the user looks in the IDE. So, analysis results, such
+ /// as semantic highlighting, are inconsistent with the local file content.
+ /// 4. (after a few seconds) The file is synced to the remove machine,
+ /// the watch event happens, server reads the file, sends analysis
+ /// results that are consistent with the local file content.
+ ///
+ /// We try to prevent the inconsistency between moments (3) and (4).
+ /// It is not wrong, we are still in the eventual consistency, but we
+ /// want to keep the inconsistency time shorter.
+ ///
+ /// To do this we keep the last overlay content on "remove overlay",
+ /// and wait for the next watch event in (4). But there might be race
+ /// condition, and when it happens, we still want to get to the eventual
+ /// consistency, so on timer we remove the overlay anyway.
+ final Map<String, Timer> _pendingFilesToRemoveOverlay = {};
+
+ @visibleForTesting
+ Duration pendingFilesRemoveOverlayDelay = const Duration(seconds: 10);
+
final DetachableFileSystemManager? detachableFileSystemManager;
/// The broadcast stream of requests that were discarded because there
@@ -231,6 +260,12 @@
cancellationTokens[id]?.cancel();
}
+ Future<void> dispose() async {
+ for (var timer in _pendingFilesToRemoveOverlay.values) {
+ timer.cancel();
+ }
+ }
+
/// The socket from which requests are being read has been closed.
void done() {}
@@ -511,7 +546,7 @@
} catch (_) {}
// Prepare the new contents.
- String? newContents;
+ String newContents;
if (change is AddContentOverlay) {
newContents = change.content;
} else if (change is ChangeContentOverlay) {
@@ -530,25 +565,28 @@
'Invalid overlay change')));
}
} else if (change is RemoveContentOverlay) {
- newContents = null;
+ _pendingFilesToRemoveOverlay[file]?.cancel();
+ _pendingFilesToRemoveOverlay[file] = Timer(
+ pendingFilesRemoveOverlayDelay,
+ () {
+ resourceProvider.removeOverlay(file);
+ _changeFileInDrivers(file);
+ },
+ );
+ return;
} else {
// Protocol parsing should have ensured that we never get here.
throw AnalysisException('Illegal change type');
}
- if (newContents != null) {
- resourceProvider.setOverlay(
- file,
- content: newContents,
- modificationStamp: overlayModificationStamp++,
- );
- } else {
- resourceProvider.removeOverlay(file);
- }
+ _pendingFilesToRemoveOverlay[file]?.cancel();
+ resourceProvider.setOverlay(
+ file,
+ content: newContents,
+ modificationStamp: overlayModificationStamp++,
+ );
- driverMap.values.forEach((driver) {
- driver.changeFile(file);
- });
+ _changeFileInDrivers(file);
// If the file did not exist, and is "overlay only", it still should be
// analyzed. Add it to driver to which it should have been added.
@@ -586,6 +624,12 @@
// });
}
+ void _changeFileInDrivers(String path) {
+ for (var driver in driverMap.values) {
+ driver.changeFile(path);
+ }
+ }
+
/// Returns `true` if there is a subscription for the given [service] and
/// [file].
bool _hasAnalysisServiceSubscription(AnalysisService service, String file) {
@@ -671,7 +715,7 @@
final AnalysisServer analysisServer;
/// The [ResourceProvider] by which paths are converted into [Resource]s.
- final ResourceProvider resourceProvider;
+ final OverlayResourceProvider resourceProvider;
/// The set of files for which notifications were sent.
final Set<String> filesToFlush = {};
@@ -698,6 +742,15 @@
@override
void afterWatchEvent(WatchEvent event) {
+ var path = event.path;
+
+ var pendingTimer = analysisServer._pendingFilesToRemoveOverlay.remove(path);
+ if (pendingTimer != null) {
+ pendingTimer.cancel();
+ resourceProvider.removeOverlay(path);
+ analysisServer._changeFileInDrivers(path);
+ }
+
analysisServer._onAnalysisSetChangedController.add(null);
}
diff --git a/pkg/analysis_server/lib/src/analysis_server_abstract.dart b/pkg/analysis_server/lib/src/analysis_server_abstract.dart
index d4ce078..65f35a6 100644
--- a/pkg/analysis_server/lib/src/analysis_server_abstract.dart
+++ b/pkg/analysis_server/lib/src/analysis_server_abstract.dart
@@ -417,8 +417,12 @@
return null;
}
- var result = await session.getParsedUnit2(path);
- return result is ParsedUnitResult ? result : null;
+ try {
+ var result = await session.getParsedUnit2(path);
+ return result is ParsedUnitResult ? result : null;
+ } on InconsistentAnalysisException {
+ return null;
+ }
}
/// Return the resolved unit for the file with the given [path]. The file is
diff --git a/pkg/analysis_server/lib/src/services/correction/assist.dart b/pkg/analysis_server/lib/src/services/correction/assist.dart
index 0e0b1c9..2dbdf85 100644
--- a/pkg/analysis_server/lib/src/services/correction/assist.dart
+++ b/pkg/analysis_server/lib/src/services/correction/assist.dart
@@ -201,10 +201,10 @@
30,
'Convert to a spread',
);
- static const CONVERT_TO_SUPER_INITIALIZING_PARAMETER = AssistKind(
- 'dart.assist.convert.toSuperInitializingParameter',
+ static const CONVERT_TO_SUPER_PARAMETERS = AssistKind(
+ 'dart.assist.convert.toSuperParameters',
30,
- 'Convert to a super initializing parameter',
+ 'Convert to using super parameters',
);
static const ENCAPSULATE_FIELD = AssistKind(
'dart.assist.encapsulateField',
diff --git a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
index 70835d5..c63b5e7 100644
--- a/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/assist_internal.dart
@@ -39,7 +39,7 @@
import 'package:analysis_server/src/services/correction/dart/convert_to_package_import.dart';
import 'package:analysis_server/src/services/correction/dart/convert_to_relative_import.dart';
import 'package:analysis_server/src/services/correction/dart/convert_to_set_literal.dart';
-import 'package:analysis_server/src/services/correction/dart/convert_to_super_initializing_parameter.dart';
+import 'package:analysis_server/src/services/correction/dart/convert_to_super_parameters.dart';
import 'package:analysis_server/src/services/correction/dart/encapsulate_field.dart';
import 'package:analysis_server/src/services/correction/dart/exchange_operands.dart';
import 'package:analysis_server/src/services/correction/dart/flutter_convert_to_children.dart';
@@ -120,7 +120,7 @@
ConvertToRelativeImport.newInstance,
ConvertToSetLiteral.newInstance,
ConvertToSingleQuotes.newInstance,
- ConvertToSuperInitializingParameter.newInstance,
+ ConvertToSuperParameters.newInstance,
EncapsulateField.newInstance,
ExchangeOperands.newInstance,
FlutterConvertToChildren.newInstance,
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart
index 9530b09..61cf3f9 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_class_to_enum.dart
@@ -4,6 +4,7 @@
import 'package:analysis_server/src/services/correction/assist.dart';
import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
+import 'package:analysis_server/src/services/correction/fix.dart';
import 'package:analysis_server/src/services/correction/util.dart';
import 'package:analysis_server/src/utilities/extensions/range_factory.dart';
import 'package:analyzer/dart/analysis/features.dart';
@@ -16,6 +17,7 @@
import 'package:analyzer_plugin/utilities/assist/assist.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
+import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
import 'package:analyzer_plugin/utilities/range_factory.dart';
import 'package:collection/collection.dart';
@@ -24,6 +26,18 @@
AssistKind get assistKind => DartAssistKind.CONVERT_CLASS_TO_ENUM;
@override
+ bool get canBeAppliedInBulk => true;
+
+ @override
+ bool get canBeAppliedToFile => true;
+
+ @override
+ FixKind get fixKind => DartFixKind.CONVERT_CLASS_TO_ENUM;
+
+ @override
+ FixKind get multiFixKind => DartFixKind.CONVERT_CLASS_TO_ENUM_MULTI;
+
+ @override
Future<void> compute(ChangeBuilder builder) async {
if (!libraryElement.featureSet.isEnabled(Feature.enhanced_enums)) {
// If the library doesn't support enhanced_enums then the class can't be
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_initializing_parameter.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_initializing_parameter.dart
deleted file mode 100644
index b26d127..0000000
--- a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_initializing_parameter.dart
+++ /dev/null
@@ -1,360 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:analysis_server/src/services/correction/assist.dart';
-import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
-import 'package:analyzer/dart/analysis/features.dart';
-import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/source/source_range.dart';
-import 'package:analyzer_plugin/utilities/assist/assist.dart';
-import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
-import 'package:analyzer_plugin/utilities/change_builder/change_builder_dart.dart';
-import 'package:analyzer_plugin/utilities/range_factory.dart';
-
-class ConvertToSuperInitializingParameter extends CorrectionProducer {
- @override
- AssistKind get assistKind =>
- DartAssistKind.CONVERT_TO_SUPER_INITIALIZING_PARAMETER;
-
- /// If the selected node is the name of either a simple formal parameter or a
- /// function-typed formal parameter, either with or without a default value,
- /// then return the formal parameter. Otherwise return `null`.
- FormalParameter? get _formalParameter {
- final node = this.node;
- if (node is SimpleIdentifier) {
- var parent = node.parent;
- if (parent is NormalFormalParameter &&
- (parent is SimpleFormalParameter ||
- parent is FunctionTypedFormalParameter) &&
- parent.identifier == node) {
- var grandparent = parent.parent;
- if (grandparent is DefaultFormalParameter) {
- return grandparent;
- }
- return parent;
- }
- }
- return null;
- }
-
- @override
- Future<void> compute(ChangeBuilder builder) async {
- if (!libraryElement.featureSet.isEnabled(Feature.super_parameters)) {
- // If the library doesn't support super_parameters then the change isn't
- // appropriate.
- return;
- }
- var parameter = _formalParameter;
- if (parameter == null) {
- // If the user hasn't selected a formal parameter to convert then there
- // is nothing to change.
- return;
- }
- var parameterList = parameter.parent;
- if (parameterList is! FormalParameterList) {
- // This is here to safely cast the parent. This branch should never be
- // reached.
- return;
- }
- var constructor = parameterList.parent;
- if (constructor is! ConstructorDeclaration) {
- // If this isn't a parameter in a constructor declaration then the change
- // isn't appropriate.
- return;
- }
- var superInvocation = _superInvocation(constructor);
- if (superInvocation == null) {
- // If there isn't an explicit invocation of the super constructor then the
- // change isn't appropriate.
- return;
- }
- var superConstructor = superInvocation.staticElement;
- if (superConstructor == null) {
- // If the super constructor wasn't resolved then we can't apply the
- // change.
- return;
- }
- var thisParameter = parameter.declaredElement;
- if (thisParameter == null) {
- return;
- }
-
- _ParameterData? data;
- if (parameter.isPositional) {
- data = _dataForPositionalParameter(
- parameter, thisParameter, superConstructor, superInvocation);
- } else if (parameter.isNamed) {
- data = _dataForNamedParameter(
- parameter, thisParameter, superConstructor, superInvocation);
- }
- if (data == null) {
- return;
- }
-
- final parameterData = data;
- await builder.addDartFileEdit(file, (builder) {
- var typeToDelete = parameterData.typeToDelete;
- if (typeToDelete == null) {
- builder.addSimpleInsertion(parameter.identifier!.offset, 'super.');
- } else {
- var primaryRange = typeToDelete.primaryRange;
- if (primaryRange == null) {
- builder.addSimpleInsertion(parameter.identifier!.offset, 'super.');
- } else {
- builder.addSimpleReplacement(primaryRange, 'super.');
- }
- var parameterRange = typeToDelete.parameterRange;
- if (parameterRange != null) {
- builder.addDeletion(parameterRange);
- }
- }
- parameterData.argumentUpdate.addDeletion(builder);
- var defaultValueRange = parameterData.defaultValueRange;
- if (defaultValueRange != null) {
- builder.addDeletion(defaultValueRange);
- }
- });
- }
-
- ParameterElement? _correspondingNamedParameter(
- ConstructorElement superConstructor, ParameterElement thisParameter) {
- for (var superParameter in superConstructor.parameters) {
- if (superParameter.isNamed && superParameter.name == thisParameter.name) {
- return superParameter;
- }
- }
- return null;
- }
-
- /// Return `true` if the named [parameter] can be converted into a super
- /// initializing formal parameter.
- _ParameterData? _dataForNamedParameter(
- FormalParameter parameter,
- ParameterElement thisParameter,
- ConstructorElement superConstructor,
- SuperConstructorInvocation superInvocation) {
- var superParameter =
- _correspondingNamedParameter(superConstructor, thisParameter);
- if (superParameter == null) {
- return null;
- }
- // Validate that the parameter is used in the super constructor invocation.
- _ArgumentUpdate? argumentUpdate;
- var arguments = superInvocation.argumentList.arguments;
- for (var argument in arguments) {
- if (argument is NamedExpression &&
- argument.name.label.name == thisParameter.name) {
- var expression = argument.expression;
- if (expression is SimpleIdentifier &&
- expression.staticElement == thisParameter) {
- argumentUpdate = _RemoveArgument(argument);
- break;
- }
- }
- }
- if (argumentUpdate == null) {
- // If the selected parameter isn't being passed to the super constructor,
- // then the change isn't appropriate.
- return null;
- } else if (arguments.length == 1) {
- // If the selected parameter is the only parameter being passed to the
- // super constructor then we no longer need to invoke the super
- // constructor.
- argumentUpdate = _RemoveInvocation(superInvocation);
- }
- // Compare the types.
- var superType = superParameter.type;
- var thisType = thisParameter.type;
- if (!typeSystem.isAssignableTo(superType, thisType)) {
- // If the type of the selected parameter can't be assigned to the super
- // parameter, the the change isn't appropriate.
- return null;
- }
- // Return the data.
- return _ParameterData(
- argumentUpdate: argumentUpdate,
- defaultValueRange:
- _defaultValueRange(parameter, superParameter, thisParameter),
- typeToDelete: superType == thisType ? _type(parameter) : null,
- );
- }
-
- /// Return `true` if the positional [parameter] can be converted into a super
- /// initializing formal parameter.
- _ParameterData? _dataForPositionalParameter(
- FormalParameter parameter,
- ParameterElement thisParameter,
- ConstructorElement superConstructor,
- SuperConstructorInvocation superInvocation) {
- var positionalArguments = _positionalArguments(superInvocation);
- if (positionalArguments.length != 1) {
- // If there's more than one positional parameter then they would all need
- // to be converted at the same time. If there's less than one, the the
- // selected parameter isn't being passed to the super constructor.
- return null;
- }
- var argument = positionalArguments[0];
- if (argument is! SimpleIdentifier ||
- argument.staticElement != parameter.declaredElement) {
- // If the selected parameter isn't the one being passed to the super
- // constructor then the change isn't appropriate.
- return null;
- }
- var positionalParameters = superConstructor.parameters
- .where((param) => param.isPositional)
- .toList();
- if (positionalParameters.isEmpty) {
- return null;
- }
- var superParameter = positionalParameters[0];
- _ArgumentUpdate? argumentUpdate;
- if (superInvocation.argumentList.arguments.length == 1) {
- argumentUpdate = _RemoveInvocation(superInvocation);
- } else {
- argumentUpdate = _RemoveArgument(argument);
- }
- // Compare the types.
- var superType = superParameter.type;
- var thisType = thisParameter.type;
- if (!typeSystem.isSubtypeOf(thisType, superType)) {
- // If the type of the selected parameter can't be assigned to the super
- // parameter, the the change isn't appropriate.
- return null;
- }
- // Return the data.
- return _ParameterData(
- argumentUpdate: argumentUpdate,
- defaultValueRange:
- _defaultValueRange(parameter, superParameter, thisParameter),
- typeToDelete: superType == thisType ? _type(parameter) : null,
- );
- }
-
- /// Return the range of the default value associated with the [parameter], or
- /// `null` if the parameter doesn't have a default value or if the default
- /// value is not the same as the default value in the super constructor.
- SourceRange? _defaultValueRange(FormalParameter parameter,
- ParameterElement superParameter, ParameterElement thisParameter) {
- if (parameter is DefaultFormalParameter) {
- var defaultValue = parameter.defaultValue;
- if (defaultValue != null) {
- var superDefault = superParameter.computeConstantValue();
- var thisDefault = thisParameter.computeConstantValue();
- if (superDefault != null && superDefault == thisDefault) {
- return range.endEnd(parameter.identifier!, defaultValue);
- }
- }
- }
- return null;
- }
-
- List<Expression> _positionalArguments(SuperConstructorInvocation invocation) {
- return invocation.argumentList.arguments
- .where((argument) => argument is! NamedExpression)
- .toList();
- }
-
- SuperConstructorInvocation? _superInvocation(
- ConstructorDeclaration constructor) {
- var initializers = constructor.initializers;
- // Search all of the initializers in case the code is invalid, but start
- // from the end because the code will usually be correct.
- for (var i = initializers.length - 1; i >= 0; i--) {
- var initializer = initializers[i];
- if (initializer is SuperConstructorInvocation) {
- return initializer;
- }
- }
- return null;
- }
-
- _TypeData? _type(FormalParameter parameter) {
- if (parameter is DefaultFormalParameter) {
- return _type(parameter.parameter);
- } else if (parameter is SimpleFormalParameter) {
- var typeAnnotation = parameter.type;
- if (typeAnnotation != null) {
- return _TypeData(
- primaryRange:
- range.startStart(typeAnnotation, parameter.identifier!));
- }
- } else if (parameter is FunctionTypedFormalParameter) {
- var returnType = parameter.returnType;
- return _TypeData(
- primaryRange: returnType != null
- ? range.startStart(returnType, parameter.identifier)
- : null,
- parameterRange: range.node(parameter.parameters));
- }
- return null;
- }
-
- /// Return an instance of this class. Used as a tear-off in `AssistProcessor`.
- static ConvertToSuperInitializingParameter newInstance() =>
- ConvertToSuperInitializingParameter();
-}
-
-abstract class _ArgumentUpdate {
- void addDeletion(DartFileEditBuilder builder);
-}
-
-class _ParameterData {
- /// Information used to remove the argument from the super constructor
- /// invocation.
- final _ArgumentUpdate argumentUpdate;
-
- /// Information about the type annotation that should be deleted, or `null` if
- /// there is no type annotation to delete or if the type should not be
- /// deleted.
- final _TypeData? typeToDelete;
-
- /// The range of the default value that is to be deleted, or `null` if there
- /// is no default value, the default value isn't to be deleted.
- final SourceRange? defaultValueRange;
-
- /// Initialize a newly create data object.
- _ParameterData(
- {required this.argumentUpdate,
- required this.typeToDelete,
- required this.defaultValueRange});
-}
-
-class _RemoveArgument extends _ArgumentUpdate {
- final Expression argument;
-
- _RemoveArgument(this.argument);
-
- @override
- void addDeletion(DartFileEditBuilder builder) {
- var argumentList = argument.parent as ArgumentList;
- var index = argumentList.arguments.indexOf(argument);
- builder.addDeletion(range.argumentRange(argumentList, index, index, true));
- }
-}
-
-class _RemoveInvocation extends _ArgumentUpdate {
- final SuperConstructorInvocation invocation;
-
- _RemoveInvocation(this.invocation);
-
- @override
- void addDeletion(DartFileEditBuilder builder) {
- var declaration = invocation.parent as ConstructorDeclaration;
- var initializerList = declaration.initializers;
- if (initializerList.length == 1) {
- builder.addDeletion(range.endEnd(declaration.parameters, invocation));
- } else {
- builder.addDeletion(range.nodeInList(initializerList, invocation));
- }
- }
-}
-
-class _TypeData {
- SourceRange? primaryRange;
-
- SourceRange? parameterRange;
-
- _TypeData({required this.primaryRange, this.parameterRange});
-}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart
new file mode 100644
index 0000000..dc3eb6f
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/correction/dart/convert_to_super_parameters.dart
@@ -0,0 +1,381 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analysis_server/src/services/correction/assist.dart';
+import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
+import 'package:analysis_server/src/utilities/extensions/range_factory.dart';
+import 'package:analyzer/dart/analysis/features.dart';
+import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/dart/element/element.dart';
+import 'package:analyzer/source/source_range.dart';
+import 'package:analyzer_plugin/utilities/assist/assist.dart';
+import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
+import 'package:analyzer_plugin/utilities/range_factory.dart';
+
+class ConvertToSuperParameters extends CorrectionProducer {
+ @override
+ AssistKind get assistKind => DartAssistKind.CONVERT_TO_SUPER_PARAMETERS;
+
+ @override
+ Future<void> compute(ChangeBuilder builder) async {
+ if (!libraryElement.featureSet.isEnabled(Feature.super_parameters)) {
+ // If the library doesn't support super_parameters then the change isn't
+ // appropriate.
+ return;
+ }
+ var constructor = _findConstructor();
+ if (constructor == null) {
+ // If this isn't a constructor declaration then the change isn't
+ // appropriate.
+ return;
+ }
+ var superInvocation = _superInvocation(constructor);
+ if (superInvocation == null) {
+ // If there isn't an explicit invocation of a super constructor then the
+ // change isn't appropriate. Note that this also rules out factory
+ // constructors because factory constructors can't have initializers.
+ return;
+ }
+ var superConstructor = superInvocation.staticElement;
+ if (superConstructor == null) {
+ // If the super constructor wasn't resolved then we can't apply the
+ // change.
+ return;
+ }
+ // Find the arguments that can be converted. Named arguments are added to
+ // [named]. Positional arguments are added to [positional], but the list is
+ // set to `null` if a positional argument is found that can't be converted
+ // because either all of the positional parameters must be converted or none
+ // of them can be converted.
+ var parameterMap = _parameterMap(constructor.parameters);
+ List<_ParameterData>? positional = [];
+ var named = <_ParameterData>[];
+ var arguments = superInvocation.argumentList.arguments;
+ for (var argumentIndex = 0;
+ argumentIndex < arguments.length;
+ argumentIndex++) {
+ var argument = arguments[argumentIndex];
+ if (argument is NamedExpression) {
+ var parameterAndElement =
+ _parameterFor(parameterMap, argument.expression);
+ if (parameterAndElement != null && parameterAndElement.isNamed) {
+ var data = _dataForParameter(
+ parameterAndElement.parameter,
+ parameterAndElement.element,
+ argumentIndex,
+ argument.staticParameterElement,
+ );
+ if (data != null) {
+ named.add(data);
+ }
+ }
+ } else if (positional != null) {
+ var parameterAndElement = _parameterFor(parameterMap, argument);
+ if (parameterAndElement == null || !parameterAndElement.isPositional) {
+ positional = null;
+ } else {
+ var data = _dataForParameter(
+ parameterAndElement.parameter,
+ parameterAndElement.element,
+ argumentIndex,
+ argument.staticParameterElement,
+ );
+ if (data == null) {
+ positional = null;
+ } else {
+ positional.add(data);
+ }
+ }
+ }
+ }
+ if (positional != null && !_inOrder(positional)) {
+ positional = null;
+ }
+ // At this point:
+ // 1. `positional` will be `null` if
+ // - there is at least one positional argument that can't be converted,
+ // which implies that there are no positional arguments that can be
+ // converted, or
+ // - if the order of the positional parameters doesn't match the order of
+ // the positional arguments.
+ // 2. `positional` will be empty if there are no positional arguments at
+ // all.
+ // 3. `named` will be empty if there are no named arguments that can be
+ // converted.
+ if ((positional == null || positional.isEmpty) && named.isEmpty) {
+ // There are no parameters that can be converted.
+ return;
+ }
+
+ var allParameters = <_ParameterData>[...?positional, ...named];
+
+ var argumentsToDelete =
+ allParameters.map((data) => data.argumentIndex).toList();
+ argumentsToDelete.sort();
+
+ await builder.addDartFileEdit(file, (builder) {
+ // Convert the parameters.
+ for (var parameterData in allParameters) {
+ var typeToDelete = parameterData.typeToDelete;
+ if (typeToDelete == null) {
+ builder.addSimpleInsertion(parameterData.nameOffset, 'super.');
+ } else {
+ var primaryRange = typeToDelete.primaryRange;
+ if (primaryRange == null) {
+ builder.addSimpleInsertion(parameterData.nameOffset, 'super.');
+ } else {
+ builder.addSimpleReplacement(primaryRange, 'super.');
+ }
+ var parameterRange = typeToDelete.parameterRange;
+ if (parameterRange != null) {
+ builder.addDeletion(parameterRange);
+ }
+ }
+ var defaultValueRange = parameterData.defaultValueRange;
+ if (defaultValueRange != null) {
+ builder.addDeletion(defaultValueRange);
+ }
+ }
+
+ // Remove the corresponding arguments.
+ if (argumentsToDelete.length == arguments.length) {
+ var initializers = constructor.initializers;
+ SourceRange initializerRange;
+ if (initializers.length == 1) {
+ initializerRange =
+ range.endEnd(constructor.parameters, superInvocation);
+ } else {
+ initializerRange = range.nodeInList(initializers, superInvocation);
+ }
+ builder.addDeletion(initializerRange);
+ } else {
+ var ranges = range.nodesInList(arguments, argumentsToDelete);
+ for (var range in ranges) {
+ builder.addDeletion(range);
+ }
+ }
+ });
+ }
+
+ /// If the [parameter] can be converted into a super initializing formal
+ /// parameter then return the data needed to do so.
+ _ParameterData? _dataForParameter(
+ _Parameter parameter,
+ ParameterElement thisParameter,
+ int argumentIndex,
+ ParameterElement? superParameter) {
+ if (superParameter == null) {
+ return null;
+ }
+ // If the type of the `thisParameter` isn't a subtype of the type of the
+ // super parameter, then the change isn't appropriate.
+ var superType = superParameter.type;
+ var thisType = thisParameter.type;
+ if (!typeSystem.isSubtypeOf(thisType, superType)) {
+ return null;
+ }
+ var identifier = parameter.parameter.identifier;
+ if (identifier == null) {
+ // This condition should never occur, but the test is here to promote the
+ // type.
+ return null;
+ }
+ // Return the data.
+ return _ParameterData(
+ argumentIndex: argumentIndex,
+ defaultValueRange: _defaultValueRange(
+ parameter.parameter, superParameter, thisParameter),
+ nameOffset: identifier.offset,
+ parameterIndex: parameter.index,
+ typeToDelete: superType == thisType ? _type(parameter.parameter) : null,
+ );
+ }
+
+ /// Return the range of the default value associated with the [parameter], or
+ /// `null` if the parameter doesn't have a default value or if the default
+ /// value is not the same as the default value in the super constructor.
+ SourceRange? _defaultValueRange(FormalParameter parameter,
+ ParameterElement superParameter, ParameterElement thisParameter) {
+ if (parameter is DefaultFormalParameter) {
+ var defaultValue = parameter.defaultValue;
+ if (defaultValue != null) {
+ var superDefault = superParameter.computeConstantValue();
+ var thisDefault = thisParameter.computeConstantValue();
+ if (superDefault != null && superDefault == thisDefault) {
+ return range.endEnd(parameter.identifier!, defaultValue);
+ }
+ }
+ }
+ return null;
+ }
+
+ /// Return the constructor to be converted, or `null` if the cursor is not on
+ /// the name of a constructor.
+ ConstructorDeclaration? _findConstructor() {
+ final node = this.node;
+ if (node is SimpleIdentifier) {
+ var parent = node.parent;
+ if (parent is ConstructorDeclaration) {
+ return parent;
+ } else if (parent is ConstructorName) {
+ var grandparent = parent.parent;
+ if (grandparent is ConstructorDeclaration) {
+ return grandparent;
+ }
+ }
+ }
+ return null;
+ }
+
+ /// Return `true` if the given list of [parameterData] is in order by the
+ /// index of the parameters. The list is known to be in order by the argument
+ /// positions, so this test is used to ensure that the order won't be changed
+ /// if the parameters are converted.
+ bool _inOrder(List<_ParameterData> parameterData) {
+ var previousIndex = -1;
+ for (var data in parameterData) {
+ var index = data.parameterIndex;
+ if (index < previousIndex) {
+ return false;
+ }
+ previousIndex = index;
+ }
+ return true;
+ }
+
+ /// Return the parameter element corresponding to the [expression], or `null`
+ /// if the expression isn't a simple reference to one of the parameters in the
+ /// constructor being converted.
+ _ParameterAndElement? _parameterFor(
+ Map<ParameterElement, _Parameter> parameterMap, Expression expression) {
+ if (expression is SimpleIdentifier) {
+ var element = expression.staticElement;
+ var parameter = parameterMap[element];
+ if (element is ParameterElement && parameter != null) {
+ return _ParameterAndElement(element, parameter);
+ }
+ }
+ return null;
+ }
+
+ /// Return a map from parameter elements to the parameters that define those
+ /// elements.
+ Map<ParameterElement, _Parameter> _parameterMap(
+ FormalParameterList parameterList) {
+ var map = <ParameterElement, _Parameter>{};
+ var parameters = parameterList.parameters;
+ for (var i = 0; i < parameters.length; i++) {
+ var parameter = parameters[i];
+ var element = parameter.declaredElement;
+ if (element != null) {
+ map[element] = _Parameter(parameter, i);
+ }
+ }
+ return map;
+ }
+
+ /// Return the invocation of the super constructor.
+ SuperConstructorInvocation? _superInvocation(
+ ConstructorDeclaration constructor) {
+ var initializers = constructor.initializers;
+ // Search all of the initializers in case the code is invalid, but start
+ // from the end because the code will usually be correct.
+ for (var i = initializers.length - 1; i >= 0; i--) {
+ var initializer = initializers[i];
+ if (initializer is SuperConstructorInvocation) {
+ return initializer;
+ }
+ }
+ return null;
+ }
+
+ /// Return data about the type annotation on the [parameter]. This is the
+ /// information about the ranges of text that need to be removed in order to
+ /// remove the type annotation.
+ _TypeData? _type(FormalParameter parameter) {
+ if (parameter is DefaultFormalParameter) {
+ return _type(parameter.parameter);
+ } else if (parameter is SimpleFormalParameter) {
+ var typeAnnotation = parameter.type;
+ if (typeAnnotation != null) {
+ return _TypeData(
+ primaryRange:
+ range.startStart(typeAnnotation, parameter.identifier!));
+ }
+ } else if (parameter is FunctionTypedFormalParameter) {
+ var returnType = parameter.returnType;
+ return _TypeData(
+ primaryRange: returnType != null
+ ? range.startStart(returnType, parameter.identifier)
+ : null,
+ parameterRange: range.node(parameter.parameters));
+ }
+ return null;
+ }
+
+ /// Return an instance of this class. Used as a tear-off in `AssistProcessor`.
+ static ConvertToSuperParameters newInstance() => ConvertToSuperParameters();
+}
+
+/// Information about a single parameter.
+class _Parameter {
+ final FormalParameter parameter;
+
+ final int index;
+
+ _Parameter(this.parameter, this.index);
+}
+
+/// A data class used to avoid a null check.
+class _ParameterAndElement {
+ final ParameterElement element;
+
+ final _Parameter parameter;
+
+ _ParameterAndElement(this.element, this.parameter);
+
+ bool get isNamed => element.isNamed;
+
+ bool get isPositional => element.isPositional;
+}
+
+/// Information used to convert a single parameter.
+class _ParameterData {
+ /// The type annotation that should be deleted from the parameter list, or
+ /// `null` if there is no type annotation to delete or if the type should not
+ /// be deleted.
+ final _TypeData? typeToDelete;
+
+ /// The offset of the name.
+ final int nameOffset;
+
+ /// The range of the default value that is to be deleted from the parameter
+ /// list, or `null` if there is no default value, the default value isn't to
+ /// be deleted.
+ final SourceRange? defaultValueRange;
+
+ /// The index of the parameter to be updated.
+ final int parameterIndex;
+
+ /// The index of the argument to be deleted.
+ final int argumentIndex;
+
+ /// Initialize a newly create data object.
+ _ParameterData(
+ {required this.typeToDelete,
+ required this.nameOffset,
+ required this.defaultValueRange,
+ required this.parameterIndex,
+ required this.argumentIndex});
+}
+
+/// Information about the ranges of text that need to be removed in order to
+/// remove a type annotation.
+class _TypeData {
+ SourceRange? primaryRange;
+
+ SourceRange? parameterRange;
+
+ _TypeData({required this.primaryRange, this.parameterRange});
+}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/remove_assignment.dart b/pkg/analysis_server/lib/src/services/correction/dart/remove_assignment.dart
new file mode 100644
index 0000000..8f95178
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/correction/dart/remove_assignment.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
+import 'package:analysis_server/src/services/correction/fix.dart';
+import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/source/source_range.dart';
+import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
+import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
+import 'package:analyzer_plugin/utilities/range_factory.dart';
+
+class RemoveAssignment extends CorrectionProducer {
+ @override
+ bool get canBeAppliedInBulk => true;
+
+ @override
+ bool get canBeAppliedToFile => true;
+
+ @override
+ FixKind get fixKind => DartFixKind.REMOVE_ASSIGNMENT;
+
+ @override
+ FixKind get multiFixKind => DartFixKind.REMOVE_ASSIGNMENT_MULTI;
+
+ @override
+ Future<void> compute(ChangeBuilder builder) async {
+ var expression = node;
+ if (expression is! AssignmentExpression) {
+ return;
+ }
+
+ SourceRange sourceRange;
+ var parent = expression.parent;
+ while (parent is ParenthesizedExpression) {
+ parent = parent.parent;
+ }
+ if (parent is ExpressionStatement) {
+ sourceRange = utils.getLinesRange(range.node(parent));
+ } else {
+ sourceRange = range.endEnd(
+ expression.leftHandSide.endToken, expression.rightHandSide.endToken);
+ }
+
+ await builder.addDartFileEdit(file, (builder) {
+ builder.addDeletion(sourceRange);
+ });
+ }
+
+ /// Return an instance of this class. Used as a tear-off in `FixProcessor`.
+ static RemoveAssignment newInstance() => RemoveAssignment();
+}
diff --git a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
index 0a88729..a2be51b 100644
--- a/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
+++ b/pkg/analysis_server/lib/src/services/correction/error_fix_status.yaml
@@ -1783,7 +1783,7 @@
LintCode.unnecessary_new:
status: hasFix
LintCode.unnecessary_null_aware_assignments:
- status: needsFix
+ status: hasFix
LintCode.unnecessary_null_checks:
status: needsEvaluation
LintCode.unnecessary_null_in_if_null_operators:
@@ -1819,7 +1819,7 @@
LintCode.use_decorated_box:
status: needsEvaluation
LintCode.use_enums:
- status: needsFix
+ status: hasFix
LintCode.use_full_hex_values_for_flutter_colors:
status: hasFix
LintCode.use_function_type_syntax_for_parameters:
diff --git a/pkg/analysis_server/lib/src/services/correction/fix.dart b/pkg/analysis_server/lib/src/services/correction/fix.dart
index d3411f7..d5879e9 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix.dart
@@ -308,6 +308,16 @@
DartFixKindPriority.DEFAULT,
"Change '{0}' to '{1}' type annotation",
);
+ static const CONVERT_CLASS_TO_ENUM = FixKind(
+ 'dart.fix.convert.classToEnum',
+ DartFixKindPriority.DEFAULT,
+ 'Convert class to an enum',
+ );
+ static const CONVERT_CLASS_TO_ENUM_MULTI = FixKind(
+ 'dart.fix.convert.classToEnum.multi',
+ DartFixKindPriority.DEFAULT,
+ 'Convert classes to enums in file',
+ );
static const CONVERT_FLUTTER_CHILD = FixKind(
'dart.fix.flutter.convert.childToChildren',
DartFixKindPriority.DEFAULT,
@@ -819,6 +829,16 @@
DartFixKindPriority.IN_FILE,
'Remove arguments in file',
);
+ static const REMOVE_ASSIGNMENT = FixKind(
+ 'dart.fix.remove.assignment',
+ DartFixKindPriority.DEFAULT,
+ 'Remove assignment',
+ );
+ static const REMOVE_ASSIGNMENT_MULTI = FixKind(
+ 'dart.fix.remove.assignment.multi',
+ DartFixKindPriority.IN_FILE,
+ 'Remove unnecessary assignments everywhere in file',
+ );
static const REMOVE_AWAIT = FixKind(
'dart.fix.remove.await',
DartFixKindPriority.DEFAULT,
diff --git a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
index 11db925..50e70815 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -39,6 +39,7 @@
import 'package:analysis_server/src/services/correction/dart/change_to_static_access.dart';
import 'package:analysis_server/src/services/correction/dart/change_type_annotation.dart';
import 'package:analysis_server/src/services/correction/dart/convert_add_all_to_spread.dart';
+import 'package:analysis_server/src/services/correction/dart/convert_class_to_enum.dart';
import 'package:analysis_server/src/services/correction/dart/convert_conditional_expression_to_if_element.dart';
import 'package:analysis_server/src/services/correction/dart/convert_documentation_into_line.dart';
import 'package:analysis_server/src/services/correction/dart/convert_flutter_child.dart';
@@ -103,6 +104,7 @@
import 'package:analysis_server/src/services/correction/dart/remove_abstract.dart';
import 'package:analysis_server/src/services/correction/dart/remove_annotation.dart';
import 'package:analysis_server/src/services/correction/dart/remove_argument.dart';
+import 'package:analysis_server/src/services/correction/dart/remove_assignment.dart';
import 'package:analysis_server/src/services/correction/dart/remove_await.dart';
import 'package:analysis_server/src/services/correction/dart/remove_comparison.dart';
import 'package:analysis_server/src/services/correction/dart/remove_const.dart';
@@ -627,6 +629,9 @@
LintNames.unnecessary_new: [
RemoveUnnecessaryNew.newInstance,
],
+ LintNames.unnecessary_null_aware_assignments: [
+ RemoveAssignment.newInstance,
+ ],
LintNames.unnecessary_null_in_if_null_operators: [
RemoveIfNullOperator.newInstance,
],
@@ -651,6 +656,9 @@
LintNames.unnecessary_this: [
RemoveThisExpression.newInstance,
],
+ LintNames.use_enums: [
+ ConvertClassToEnum.newInstance,
+ ],
LintNames.use_full_hex_values_for_flutter_colors: [
ReplaceWithEightDigitHex.newInstance,
],
diff --git a/pkg/analysis_server/lib/src/services/linter/lint_names.dart b/pkg/analysis_server/lib/src/services/linter/lint_names.dart
index 472ddf8..108dde5 100644
--- a/pkg/analysis_server/lib/src/services/linter/lint_names.dart
+++ b/pkg/analysis_server/lib/src/services/linter/lint_names.dart
@@ -136,6 +136,8 @@
static const String unnecessary_lambdas = 'unnecessary_lambdas';
static const String unnecessary_late = 'unnecessary_late';
static const String unnecessary_new = 'unnecessary_new';
+ static const String unnecessary_null_aware_assignments =
+ 'unnecessary_null_aware_assignments';
static const String unnecessary_null_in_if_null_operators =
'unnecessary_null_in_if_null_operators';
static const String unnecessary_nullable_for_final_variable_declarations =
@@ -147,6 +149,7 @@
static const String unnecessary_string_interpolations =
'unnecessary_string_interpolations';
static const String unnecessary_this = 'unnecessary_this';
+ static const String use_enums = 'use_enums';
static const String use_full_hex_values_for_flutter_colors =
'use_full_hex_values_for_flutter_colors';
static const String use_function_type_syntax_for_parameters =
diff --git a/pkg/analysis_server/lib/src/services/snippets/dart/dart_snippet_producers.dart b/pkg/analysis_server/lib/src/services/snippets/dart/dart_snippet_producers.dart
index 8a49420..016b2f7 100644
--- a/pkg/analysis_server/lib/src/services/snippets/dart/dart_snippet_producers.dart
+++ b/pkg/analysis_server/lib/src/services/snippets/dart/dart_snippet_producers.dart
@@ -10,6 +10,43 @@
import 'package:analyzer/src/lint/linter.dart' show LinterContextImpl;
import 'package:analyzer_plugin/utilities/change_builder/change_builder_core.dart';
+/// Produces a [Snippet] that creates a Class definition.
+class DartClassSnippetProducer extends DartSnippetProducer {
+ static const prefix = 'class';
+ static const label = 'class';
+
+ DartClassSnippetProducer._(DartSnippetRequest request) : super(request);
+
+ @override
+ Future<Snippet> compute() async {
+ final builder = ChangeBuilder(session: request.analysisSession);
+ final indent = utils.getLinePrefix(request.offset);
+
+ await builder.addDartFileEdit(request.filePath, (builder) {
+ builder.addReplacement(request.replacementRange, (builder) {
+ void writeIndented(String string) => builder.write('$indent$string');
+ builder.write('class ');
+ builder.addEmptyLinkedEdit('className');
+ builder.writeln(' {');
+ writeIndented(' ');
+ builder.selectHere();
+ builder.writeln();
+ writeIndented('}');
+ });
+ });
+
+ return Snippet(
+ prefix,
+ label,
+ 'Insert a class definition.',
+ builder.sourceChange,
+ );
+ }
+
+ static DartClassSnippetProducer newInstance(DartSnippetRequest request) =>
+ DartClassSnippetProducer._(request);
+}
+
/// Produces a [Snippet] that creates a `do while` loop.
class DartDoWhileLoopSnippetProducer extends DartSnippetProducer {
static const prefix = 'do';
@@ -219,11 +256,7 @@
/// function.
///
/// The parameter is suppressed for any known test directories.
- bool get _insertArgsParameter {
- final path = request.unit.path;
- return !LinterContextImpl.testDirectories
- .any((testDir) => path.contains(testDir));
- }
+ bool get _insertArgsParameter => !isInTestDirectory;
@override
Future<Snippet> compute() async {
@@ -273,6 +306,12 @@
utils = CorrectionUtils(request.unit),
super(request);
+ bool get isInTestDirectory {
+ final path = request.unit.path;
+ return LinterContextImpl.testDirectories
+ .any((testDir) => path.contains(testDir));
+ }
+
bool isLintEnabled(String name) {
var analysisOptions = sessionHelper.session.analysisContext.analysisOptions;
return analysisOptions.isLintEnabled(name);
@@ -323,6 +362,100 @@
DartSwitchSnippetProducer._(request);
}
+/// Produces a [Snippet] that creates a `test()` block.
+class DartTestBlockSnippetProducer extends DartSnippetProducer {
+ static const prefix = 'test';
+ static const label = 'test';
+
+ DartTestBlockSnippetProducer._(DartSnippetRequest request) : super(request);
+
+ @override
+ Future<Snippet> compute() async {
+ final builder = ChangeBuilder(session: request.analysisSession);
+ final indent = utils.getLinePrefix(request.offset);
+
+ await builder.addDartFileEdit(request.filePath, (builder) {
+ builder.addReplacement(request.replacementRange, (builder) {
+ void writeIndented(String string) => builder.write('$indent$string');
+ builder.write("test('");
+ builder.addEmptyLinkedEdit('testName');
+ builder.writeln("', () {");
+ writeIndented(' ');
+ builder.selectHere();
+ builder.writeln();
+ writeIndented('});');
+ });
+ });
+
+ return Snippet(
+ prefix,
+ label,
+ 'Insert a test block.',
+ builder.sourceChange,
+ );
+ }
+
+ @override
+ Future<bool> isValid() async {
+ if (!await super.isValid()) {
+ return false;
+ }
+
+ return isInTestDirectory;
+ }
+
+ static DartTestBlockSnippetProducer newInstance(DartSnippetRequest request) =>
+ DartTestBlockSnippetProducer._(request);
+}
+
+/// Produces a [Snippet] that creates a `test()` block.
+class DartTestGroupBlockSnippetProducer extends DartSnippetProducer {
+ static const prefix = 'group';
+ static const label = 'group';
+
+ DartTestGroupBlockSnippetProducer._(DartSnippetRequest request)
+ : super(request);
+
+ @override
+ Future<Snippet> compute() async {
+ final builder = ChangeBuilder(session: request.analysisSession);
+ final indent = utils.getLinePrefix(request.offset);
+
+ await builder.addDartFileEdit(request.filePath, (builder) {
+ builder.addReplacement(request.replacementRange, (builder) {
+ void writeIndented(String string) => builder.write('$indent$string');
+ builder.write("group('");
+ builder.addEmptyLinkedEdit('groupName');
+ builder.writeln("', () {");
+ writeIndented(' ');
+ builder.selectHere();
+ builder.writeln();
+ writeIndented('});');
+ });
+ });
+
+ return Snippet(
+ prefix,
+ label,
+ 'Insert a test group block.',
+ builder.sourceChange,
+ );
+ }
+
+ @override
+ Future<bool> isValid() async {
+ if (!await super.isValid()) {
+ return false;
+ }
+
+ return isInTestDirectory;
+ }
+
+ static DartTestGroupBlockSnippetProducer newInstance(
+ DartSnippetRequest request) =>
+ DartTestGroupBlockSnippetProducer._(request);
+}
+
/// Produces a [Snippet] that creates a try/catch statement.
class DartTryCatchSnippetProducer extends DartSnippetProducer {
static const prefix = 'try';
diff --git a/pkg/analysis_server/lib/src/services/snippets/dart/snippet_manager.dart b/pkg/analysis_server/lib/src/services/snippets/dart/snippet_manager.dart
index 4972b2d..914de9f 100644
--- a/pkg/analysis_server/lib/src/services/snippets/dart/snippet_manager.dart
+++ b/pkg/analysis_server/lib/src/services/snippets/dart/snippet_manager.dart
@@ -28,6 +28,7 @@
FlutterStatefulWidgetSnippetProducer.newInstance,
FlutterStatefulWidgetWithAnimationControllerSnippetProducer.newInstance,
FlutterStatelessWidgetSnippetProducer.newInstance,
+ DartClassSnippetProducer.newInstance,
],
SnippetContext.inBlock: [
DartDoWhileLoopSnippetProducer.newInstance,
@@ -38,6 +39,8 @@
DartSwitchSnippetProducer.newInstance,
DartTryCatchSnippetProducer.newInstance,
DartWhileLoopSnippetProducer.newInstance,
+ DartTestBlockSnippetProducer.newInstance,
+ DartTestGroupBlockSnippetProducer.newInstance,
],
};
diff --git a/pkg/analysis_server/test/abstract_context.dart b/pkg/analysis_server/test/abstract_context.dart
index 2d8b06f..ab5be7e 100644
--- a/pkg/analysis_server/test/abstract_context.dart
+++ b/pkg/analysis_server/test/abstract_context.dart
@@ -81,7 +81,7 @@
String get workspaceRootPath => '/home';
void addSource(String path, String content) {
- newFile(path, content: content);
+ newFile2(path, content);
}
Future<void> analyzeTestPackageFiles() async {
@@ -134,7 +134,7 @@
}
}
- newFile(analysisOptionsPath, content: buffer.toString());
+ newFile2(analysisOptionsPath, buffer.toString());
}
AnalysisDriver driverFor(String path) {
@@ -158,14 +158,14 @@
}
@override
- File newFile(String path, {String content = ''}) {
+ File newFile2(String path, String content) {
if (_analysisContextCollection != null && !path.endsWith('.dart')) {
throw StateError('Only dart files can be changed after analysis.');
}
path = convertPath(path);
_addAnalyzedFileToDrivers(path);
- return super.newFile(path, content: content);
+ return super.newFile2(path, content);
}
Future<ResolvedUnitResult> resolveFile(String path) async {
@@ -209,13 +209,13 @@
/// Update `pubspec.yaml` and create the driver.
void updateTestPubspecFile(String content) {
- newFile(testPubspecPath, content: content);
+ newFile2(testPubspecPath, content);
}
void verifyCreatedCollection() {}
void writePackageConfig(String path, PackageConfigFileBuilder config) {
- newFile(path, content: config.toContent(toUriStr: toUriStr));
+ newFile2(path, config.toContent(toUriStr: toUriStr));
}
void writeTestPackageConfig({
diff --git a/pkg/analysis_server/test/abstract_single_unit.dart b/pkg/analysis_server/test/abstract_single_unit.dart
index 4def5df..3dd0ad3 100644
--- a/pkg/analysis_server/test/abstract_single_unit.dart
+++ b/pkg/analysis_server/test/abstract_single_unit.dart
@@ -57,11 +57,11 @@
}
@override
- File newFile(String path, {String content = ''}) {
+ File newFile2(String path, String content) {
if (useLineEndingsForPlatform) {
content = normalizeNewlinesForPlatform(content);
}
- return super.newFile(path, content: content);
+ return super.newFile2(path, content);
}
Future<void> resolveFile2(String path) async {
diff --git a/pkg/analysis_server/test/analysis/get_errors_test.dart b/pkg/analysis_server/test/analysis/get_errors_test.dart
index baca9b0..8310a89 100644
--- a/pkg/analysis_server/test/analysis/get_errors_test.dart
+++ b/pkg/analysis_server/test/analysis/get_errors_test.dart
@@ -45,12 +45,12 @@
Future<void> test_errorInPart() async {
var libPath = join(testFolder, 'main.dart');
var partPath = join(testFolder, 'main_part.dart');
- newFile(libPath, content: r'''
+ newFile2(libPath, r'''
library main;
part 'main_part.dart';
class A {}
''');
- newFile(partPath, content: r'''
+ newFile2(partPath, r'''
part of main;
class A {}
''');
@@ -69,7 +69,7 @@
Future<void> test_fileWithoutContext() async {
// Broken under the new driver.
var file = convertPath('/outside.dart');
- newFile(file, content: '''
+ newFile2(file, '''
main() {
print(42);
}
diff --git a/pkg/analysis_server/test/analysis/get_hover_test.dart b/pkg/analysis_server/test/analysis/get_hover_test.dart
index 440b1b4..96b7f7f 100644
--- a/pkg/analysis_server/test/analysis/get_hover_test.dart
+++ b/pkg/analysis_server/test/analysis/get_hover_test.dart
@@ -20,13 +20,13 @@
@reflectiveTest
class AnalysisHoverBazelTest extends AbstractAnalysisTest {
Future<void> test_bazel_notOwnedUri() async {
- newFile('/workspace/WORKSPACE');
+ newFile2('/workspace/WORKSPACE', '');
projectPath = newFolder('/workspace').path;
testFile = convertPath('/workspace/dart/my/lib/test.dart');
- newFile(
+ newFile2(
'/workspace/bazel-genfiles/dart/my/lib/test.dart',
- content: '// generated',
+ '// generated',
);
await createProject();
diff --git a/pkg/analysis_server/test/analysis/get_navigation_test.dart b/pkg/analysis_server/test/analysis/get_navigation_test.dart
index 793dad6..3450000 100644
--- a/pkg/analysis_server/test/analysis/get_navigation_test.dart
+++ b/pkg/analysis_server/test/analysis/get_navigation_test.dart
@@ -68,7 +68,7 @@
Future<void> test_comment_toolSeeCodeComment() async {
var examplePath = 'examples/api/foo.dart';
- newFile(convertPath('$testFolder/$examplePath'), content: '');
+ newFile2(convertPath('$testFolder/$examplePath'), '');
addTestFile('''
/// {@tool dartpad}
/// ** See code in $examplePath **
@@ -191,8 +191,8 @@
}
Future<void> test_importUri_configurations() async {
- final ioFile = newFile(join(testFolder, 'io.dart'));
- final htmlFile = newFile(join(testFolder, 'html.dart'));
+ final ioFile = newFile2(join(testFolder, 'io.dart'), '');
+ final htmlFile = newFile2(join(testFolder, 'html.dart'), '');
addTestFile('''
import 'foo.dart'
if (dart.library.io) 'io.dart'
diff --git a/pkg/analysis_server/test/analysis/get_signature_test.dart b/pkg/analysis_server/test/analysis/get_signature_test.dart
index d213962..ba5a920 100644
--- a/pkg/analysis_server/test/analysis/get_signature_test.dart
+++ b/pkg/analysis_server/test/analysis/get_signature_test.dart
@@ -177,7 +177,7 @@
}
Future<void> test_function_from_other_file() async {
- newFile('/project/bin/other.dart', content: '''
+ newFile2('/project/bin/other.dart', '''
/// one doc
one(String name, int length) {}
main() {
diff --git a/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart b/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart
index 6116340..b82f567 100644
--- a/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart
@@ -40,7 +40,7 @@
List<AnalysisError> get testFileErrors => filesErrors[testFile]!;
void addOptionsFile(String contents) {
- newFile(optionsFilePath, content: contents);
+ newFile2(optionsFilePath, contents);
}
@override
diff --git a/pkg/analysis_server/test/analysis/notification_analyzed_files_test.dart b/pkg/analysis_server/test/analysis/notification_analyzed_files_test.dart
index 93cb4ac..e2fce2f 100644
--- a/pkg/analysis_server/test/analysis/notification_analyzed_files_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_analyzed_files_test.dart
@@ -111,7 +111,7 @@
// Making a change that *does* affect the set of reachable files should
// trigger the notification to be re-sent.
addTestFile('class A {}');
- newFile('/foo.dart', content: 'library foo;');
+ newFile2('/foo.dart', 'library foo;');
await prepareAnalyzedFiles();
expect(analyzedFilesReceived, isTrue);
diff --git a/pkg/analysis_server/test/analysis/notification_errors_test.dart b/pkg/analysis_server/test/analysis/notification_errors_test.dart
index a85cfaefb..ab0e04d 100644
--- a/pkg/analysis_server/test/analysis/notification_errors_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_errors_test.dart
@@ -45,6 +45,7 @@
void setUp() {
registerLintRules();
super.setUp();
+ server.pendingFilesRemoveOverlayDelay = const Duration(milliseconds: 10);
server.handlers = [
AnalysisDomainHandler(server),
];
@@ -53,7 +54,7 @@
Future<void> test_analysisOptionsFile() async {
var filePath = join(projectPath, 'analysis_options.yaml');
- var analysisOptionsFile = newFile(filePath, content: '''
+ var analysisOptionsFile = newFile2(filePath, '''
linter:
rules:
- invalid_lint_rule_name
@@ -75,7 +76,7 @@
Future<void> test_analysisOptionsFile_packageInclude() async {
var filePath = join(projectPath, 'analysis_options.yaml');
- var analysisOptionsFile = newFile(filePath, content: '''
+ var analysisOptionsFile = newFile2(filePath, '''
include: package:pedantic/analysis_options.yaml
''').path;
@@ -94,7 +95,7 @@
// Write a package file that allows resolving the include.
newPackageConfigJsonFile(
projectPath,
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'pedantic', rootPath: pedanticFolder.parent.path))
.toContent(toUriStr: toUriStr),
);
@@ -108,14 +109,14 @@
Future<void> test_androidManifestFile() async {
var filePath = join(projectPath, 'android', 'AndroidManifest.xml');
- var manifestFile = newFile(filePath, content: '''
+ var manifestFile = newFile2(filePath, '''
<manifest
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.home_screen" />
</manifest>
''').path;
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -137,14 +138,14 @@
Future<void> test_androidManifestFile_dotDirectoryIgnored() async {
var filePath = join(projectPath, 'ios', '.symlinks', 'AndroidManifest.xml');
- var manifestFile = newFile(filePath, content: '''
+ var manifestFile = newFile2(filePath, '''
<manifest
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.home_screen" />
</manifest>
''').path;
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -171,10 +172,10 @@
// Add the generated project into package_config.json.
final config = PackageConfigFileBuilder();
config.add(name: 'foo', rootPath: generatedProject);
- newFile(configPath, content: config.toContent(toUriStr: toUriStr));
+ newFile2(configPath, config.toContent(toUriStr: toUriStr));
// Set up project that references the class prior to initial analysis.
- newFile(generatedFile, content: 'class A {}');
+ newFile2(generatedFile, 'class A {}');
addTestFile('''
import 'package:foo/foo.dart';
A? a;
@@ -196,7 +197,7 @@
Future<void> test_dataFile() async {
var filePath = join(projectPath, 'lib', 'fix_data.yaml');
- var dataFile = newFile(filePath, content: '''
+ var dataFile = newFile2(filePath, '''
version: 1
transforms:
''').path;
@@ -222,8 +223,7 @@
await createProject();
addTestFile('');
var brokenFile =
- newFile(join(projectPath, '.dart_tool/broken.dart'), content: 'err')
- .path;
+ newFile2(join(projectPath, '.dart_tool/broken.dart'), 'err').path;
await waitForTasksFinished();
await pumpEventQueue(times: 5000);
@@ -247,8 +247,7 @@
await createProject();
addTestFile('');
var brokenFile =
- newFile(join(projectPath, '.dart_tool/broken.dart'), content: 'err')
- .path;
+ newFile2(join(projectPath, '.dart_tool/broken.dart'), 'err').path;
await waitForTasksFinished();
await pumpEventQueue(times: 5000);
@@ -264,14 +263,14 @@
}
Future<void> test_excludedFolder() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
exclude:
- excluded/**
''');
await createProject();
var excludedFile =
- newFile(join(projectPath, 'excluded/broken.dart'), content: 'err').path;
+ newFile2(join(projectPath, 'excluded/broken.dart'), 'err').path;
// There should be no errors initially.
await waitForTasksFinished();
@@ -313,7 +312,7 @@
Future<void> test_lintError() async {
var camelCaseTypesLintName = 'camel_case_types';
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
linter:
rules:
- $camelCaseTypesLintName
@@ -344,7 +343,7 @@
Future<void> test_notInAnalysisRoot() async {
await createProject();
- var otherFile = newFile('/other.dart', content: 'UnknownType V;').path;
+ var otherFile = newFile2('/other.dart', 'UnknownType V;').path;
addTestFile('''
import '/other.dart';
main() {
@@ -361,8 +360,7 @@
await createProject();
addTestFile('');
var brokenFile =
- newFile(join(projectPath, '.dart_tool/broken.dart'), content: 'err')
- .path;
+ newFile2(join(projectPath, '.dart_tool/broken.dart'), 'err').path;
await waitForTasksFinished();
await pumpEventQueue(times: 5000);
@@ -408,6 +406,10 @@
brokenFile: RemoveContentOverlay(),
}).toRequest('1'),
);
+
+ // Wait for the timer to remove the overlay to fire.
+ await Future.delayed(server.pendingFilesRemoveOverlayDelay);
+
await waitForTasksFinished();
await pumpEventQueue(times: 5000);
@@ -439,7 +441,7 @@
expect(filesErrors[brokenFile], hasLength(greaterThan(0)));
// Write the file to disk.
- newFile(brokenFile, content: 'err');
+ newFile2(brokenFile, 'err');
await waitForTasksFinished();
await pumpEventQueue(times: 5000);
@@ -505,7 +507,7 @@
}
Future<void> test_pubspecFile_lint() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
linter:
rules:
- sort_pub_dependencies
diff --git a/pkg/analysis_server/test/analysis/notification_highlights2_test.dart b/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
index 3048a8c..f74517f 100644
--- a/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_highlights2_test.dart
@@ -328,7 +328,7 @@
void f() {
var part = 42;
}''');
- newFile('/project/bin/my_part.dart', content: 'part of lib;');
+ newFile2('/project/bin/my_part.dart', 'part of lib;');
await prepareHighlights();
assertHasRegion(HighlightRegionType.BUILT_IN, 'part "my_');
assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 42');
@@ -1677,7 +1677,7 @@
}
void _addLibraryForTestPart() {
- newFile(join(testFolder, 'my_lib.dart'), content: '''
+ newFile2(join(testFolder, 'my_lib.dart'), '''
library lib;
part 'test.dart';
''');
diff --git a/pkg/analysis_server/test/analysis/notification_implemented_test.dart b/pkg/analysis_server/test/analysis/notification_implemented_test.dart
index a9db25d..c7e6989 100644
--- a/pkg/analysis_server/test/analysis/notification_implemented_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_implemented_test.dart
@@ -365,7 +365,7 @@
}
Future<void> test_method_withMethod_private_differentLib() async {
- newFile(join(testFolder, 'lib.dart'), content: r'''
+ newFile2(join(testFolder, 'lib.dart'), r'''
import 'test.dart';
class B extends A {
void _m() {}
diff --git a/pkg/analysis_server/test/analysis/notification_navigation_test.dart b/pkg/analysis_server/test/analysis/notification_navigation_test.dart
index 506df55..fc40e2d 100644
--- a/pkg/analysis_server/test/analysis/notification_navigation_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_navigation_test.dart
@@ -274,7 +274,7 @@
}
Future<void> test_annotationConstructor_importPrefix() async {
- newFile(join(testFolder, 'my_annotation.dart'), content: r'''
+ newFile2(join(testFolder, 'my_annotation.dart'), r'''
library an;
class MyAnnotation {
const MyAnnotation();
@@ -349,7 +349,7 @@
}
Future<void> test_annotationField_importPrefix() async {
- newFile(join(testFolder, 'mayn.dart'), content: r'''
+ newFile2(join(testFolder, 'mayn.dart'), r'''
library an;
const myan = new Object();
''');
@@ -821,7 +821,7 @@
}
Future<void> test_functionReference_importPrefix_function() async {
- newFile(join(testFolder, 'a.dart'), content: r'''
+ newFile2(join(testFolder, 'a.dart'), r'''
void foo<T>() {}
''');
addTestFile('''
@@ -1070,8 +1070,8 @@
}
Future<void> test_multiplyDefinedElement() async {
- newFile('$projectPath/bin/libA.dart', content: 'library A; int TEST = 1;');
- newFile('$projectPath/bin/libB.dart', content: 'library B; int TEST = 2;');
+ newFile2('$projectPath/bin/libA.dart', 'library A; int TEST = 1;');
+ newFile2('$projectPath/bin/libB.dart', 'library B; int TEST = 2;');
addTestFile('''
import 'libA.dart';
import 'libB.dart';
@@ -1162,7 +1162,7 @@
Future<void> test_partOf() async {
var libCode = 'library lib; part "test.dart";';
- var libFile = newFile('$projectPath/bin/lib.dart', content: libCode).path;
+ var libFile = newFile2('$projectPath/bin/lib.dart', libCode).path;
addTestFile('part of lib;');
await prepareNavigation();
assertHasRegionString('lib');
@@ -1221,8 +1221,8 @@
}
Future<void> test_string_configuration() async {
- newFile('$projectPath/bin/lib.dart', content: '').path;
- var lib2File = newFile('$projectPath/bin/lib2.dart', content: '').path;
+ newFile2('$projectPath/bin/lib.dart', '').path;
+ var lib2File = newFile2('$projectPath/bin/lib2.dart', '').path;
addTestFile('import "lib.dart" if (dart.library.html) "lib2.dart";');
await prepareNavigation();
assertHasRegionString('"lib2.dart"');
@@ -1231,7 +1231,7 @@
Future<void> test_string_export() async {
var libCode = 'library lib;';
- var libFile = newFile('$projectPath/bin/lib.dart', content: libCode).path;
+ var libFile = newFile2('$projectPath/bin/lib.dart', libCode).path;
addTestFile('export "lib.dart";');
await prepareNavigation();
assertHasRegionString('"lib.dart"');
@@ -1246,7 +1246,7 @@
Future<void> test_string_import() async {
var libCode = 'library lib;';
- var libFile = newFile('$projectPath/bin/lib.dart', content: libCode).path;
+ var libFile = newFile2('$projectPath/bin/lib.dart', libCode).path;
addTestFile('import "lib.dart";');
await prepareNavigation();
assertHasRegionString('"lib.dart"');
@@ -1267,8 +1267,7 @@
Future<void> test_string_part() async {
var unitCode = 'part of lib; f() {}';
- var unitFile =
- newFile('$projectPath/bin/test_unit.dart', content: unitCode).path;
+ var unitFile = newFile2('$projectPath/bin/test_unit.dart', unitCode).path;
addTestFile('''
library lib;
part "test_unit.dart";
diff --git a/pkg/analysis_server/test/analysis/notification_overrides_test.dart b/pkg/analysis_server/test/analysis/notification_overrides_test.dart
index 3ce1928..2e10b24 100644
--- a/pkg/analysis_server/test/analysis/notification_overrides_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_overrides_test.dart
@@ -221,7 +221,7 @@
}
Future<void> test_class_BAD_privateByPrivate_inDifferentLib() async {
- newFile(join(testFolder, 'lib.dart'), content: r'''
+ newFile2(join(testFolder, 'lib.dart'), r'''
class A {
void _m() {}
}
diff --git a/pkg/analysis_server/test/analysis/reanalyze_test.dart b/pkg/analysis_server/test/analysis/reanalyze_test.dart
index 4fc723b..84aea11 100644
--- a/pkg/analysis_server/test/analysis/reanalyze_test.dart
+++ b/pkg/analysis_server/test/analysis/reanalyze_test.dart
@@ -32,7 +32,7 @@
Future<void> test_reanalyze() async {
var b = convertPath('/other/b.dart');
- newFile(testFile, content: r'''
+ newFile2(testFile, r'''
import '../../other/b.dart';
var b = B();
@@ -47,7 +47,7 @@
filesErrors.clear();
// Create b.dart, reanalyzing should fix the error.
- newFile(b, content: 'class B {}');
+ newFile2(b, 'class B {}');
// Reanalyze.
await server.reanalyze();
diff --git a/pkg/analysis_server/test/analysis/set_priority_files_test.dart b/pkg/analysis_server/test/analysis/set_priority_files_test.dart
index 9d3c505..16b93d0 100644
--- a/pkg/analysis_server/test/analysis/set_priority_files_test.dart
+++ b/pkg/analysis_server/test/analysis/set_priority_files_test.dart
@@ -46,7 +46,7 @@
Future<void> test_fileInAnalysisRootAddedLater() async {
var path = convertPath('/other/file.dart');
- newFile(path);
+ newFile2(path, '');
await _setPriorityFile(path);
await _setAnalysisRoots('/other');
_verifyPriorityFiles(path);
@@ -64,50 +64,49 @@
Future<void> test_fileNotInAnalysisRoot() async {
var path = convertPath('/other/file.dart');
- newFile(path);
+ newFile2(path, '');
await _setPriorityFile(path);
_verifyPriorityFiles(path);
}
Future<void> test_ignoredInAnalysisOptions() async {
var sampleFile = convertPath('$projectPath/samples/sample.dart');
- newFile('$projectPath/${file_paths.analysisOptionsYaml}', content: r'''
+ newFile2('$projectPath/${file_paths.analysisOptionsYaml}', r'''
analyzer:
exclude:
- 'samples/**'
''');
- newFile(sampleFile);
+ newFile2(sampleFile, '');
// attempt to set priority file
await _setPriorityFile(sampleFile);
_verifyPriorityFiles(sampleFile);
}
Future<void> test_ignoredInAnalysisOptions_inChildContext() async {
- newPackageConfigJsonFile(projectPath);
- newPackageConfigJsonFile('$projectPath/child');
+ newPackageConfigJsonFile(projectPath, '');
+ newPackageConfigJsonFile('$projectPath/child', '');
var sampleFile = convertPath('$projectPath/child/samples/sample.dart');
- newFile('$projectPath/child/${file_paths.analysisOptionsYaml}',
- content: r'''
+ newFile2('$projectPath/child/${file_paths.analysisOptionsYaml}', r'''
analyzer:
exclude:
- 'samples/**'
''');
- newFile(sampleFile);
+ newFile2(sampleFile, '');
// attempt to set priority file
await _setPriorityFile(sampleFile);
_verifyPriorityFiles(sampleFile);
}
Future<void> test_ignoredInAnalysisOptions_inRootContext() async {
- newPackageConfigJsonFile(projectPath);
- newPackageConfigJsonFile('$projectPath/child');
+ newPackageConfigJsonFile(projectPath, '');
+ newPackageConfigJsonFile('$projectPath/child', '');
var sampleFile = convertPath('$projectPath/child/samples/sample.dart');
- newFile('$projectPath/${file_paths.analysisOptionsYaml}', content: r'''
+ newFile2('$projectPath/${file_paths.analysisOptionsYaml}', r'''
analyzer:
exclude:
- 'child/samples/**'
''');
- newFile(sampleFile);
+ newFile2(sampleFile, '');
// attempt to set priority file
await _setPriorityFile(sampleFile);
_verifyPriorityFiles(sampleFile);
diff --git a/pkg/analysis_server/test/analysis/update_content_test.dart b/pkg/analysis_server/test/analysis/update_content_test.dart
index 0f1313f..b5213d9 100644
--- a/pkg/analysis_server/test/analysis/update_content_test.dart
+++ b/pkg/analysis_server/test/analysis/update_content_test.dart
@@ -83,15 +83,15 @@
Future<void> test_multiple_contexts() async {
var project1path = convertPath('/project1');
var project2path = convertPath('/project2');
- var fooPath = newFile('/project1/foo.dart', content: '''
+ var fooPath = newFile2('/project1/foo.dart', '''
library foo;
import '../project2/baz.dart';
main() { f(); }''').path;
- var barPath = newFile('/project2/bar.dart', content: '''
+ var barPath = newFile2('/project2/bar.dart', '''
library bar;
import 'baz.dart';
main() { f(); }''').path;
- var bazPath = newFile('/project2/baz.dart', content: '''
+ var bazPath = newFile2('/project2/baz.dart', '''
library baz;
f(int i) {}
''').path;
diff --git a/pkg/analysis_server/test/analysis_abstract.dart b/pkg/analysis_server/test/analysis_abstract.dart
index df45776..b6014a5 100644
--- a/pkg/analysis_server/test/analysis_abstract.dart
+++ b/pkg/analysis_server/test/analysis_abstract.dart
@@ -85,7 +85,7 @@
}
String addTestFile(String content) {
- newFile(testFile, content: content);
+ newFile2(testFile, content);
testCode = content;
return testFile;
}
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
index 4b83983f..58ac7dd 100644
--- a/pkg/analysis_server/test/analysis_server_test.dart
+++ b/pkg/analysis_server/test/analysis_server_test.dart
@@ -46,8 +46,8 @@
server.serverServices = {ServerService.STATUS};
newFolder('/foo');
newFolder('/bar');
- newFile('/foo/foo.dart', content: 'import "../bar/bar.dart";');
- var bar = newFile('/bar/bar.dart', content: 'library bar;');
+ newFile2('/foo/foo.dart', 'import "../bar/bar.dart";');
+ var bar = newFile2('/bar/bar.dart', 'library bar;');
await server.setAnalysisRoots('0', ['/foo', '/bar'], []);
var subscriptions = <AnalysisService, Set<String>>{};
for (var service in AnalysisService.VALUES) {
@@ -119,9 +119,9 @@
// Create a file that references two packages, which will we write to
// package_config.json individually.
newFolder(projectRoot);
- newFile(
+ newFile2(
projectTestFile,
- content: r'''
+ r'''
import "package:foo/foo.dart";'
import "package:bar/bar.dart";'
''',
@@ -183,7 +183,7 @@
Future test_serverStatusNotifications_hasFile() async {
server.serverServices.add(ServerService.STATUS);
- newFile('/test/lib/a.dart', content: r'''
+ newFile2('/test/lib/a.dart', r'''
class A {}
''');
await server.setAnalysisRoots('0', [convertPath('/test')], []);
@@ -245,8 +245,8 @@
Future<void>
test_setAnalysisSubscriptions_fileInIgnoredFolder_newOptions() async {
var path = convertPath('/project/samples/sample.dart');
- newFile(path);
- newAnalysisOptionsYamlFile('/project', content: r'''
+ newFile2(path, '');
+ newAnalysisOptionsYamlFile2('/project', r'''
analyzer:
exclude:
- 'samples/**'
@@ -266,8 +266,8 @@
Future<void>
test_setAnalysisSubscriptions_fileInIgnoredFolder_oldOptions() async {
var path = convertPath('/project/samples/sample.dart');
- newFile(path);
- newAnalysisOptionsYamlFile('/project', content: r'''
+ newFile2(path, '');
+ newAnalysisOptionsYamlFile2('/project', r'''
analyzer:
exclude:
- 'samples/**'
@@ -334,7 +334,7 @@
}
void writePackageConfig(String path, PackageConfigFileBuilder config) {
- newFile(path, content: config.toContent(toUriStr: toUriStr));
+ newFile2(path, config.toContent(toUriStr: toUriStr));
}
/// Creates a simple package named [name] with [content] in the file at
@@ -343,7 +343,7 @@
/// Returns a [Folder] that represents the packages `lib` folder.
Folder _addSimplePackage(String name, String content) {
final packagePath = '/packages/$name';
- final file = newFile('$packagePath/lib/$name.dart', content: content);
+ final file = newFile2('$packagePath/lib/$name.dart', content);
return file.parent;
}
}
diff --git a/pkg/analysis_server/test/client/completion_driver_test.dart b/pkg/analysis_server/test/client/completion_driver_test.dart
index 6316a24..9cb255d 100644
--- a/pkg/analysis_server/test/client/completion_driver_test.dart
+++ b/pkg/analysis_server/test/client/completion_driver_test.dart
@@ -296,11 +296,11 @@
mixin CompletionWithSuggestionsTestCases on AbstractCompletionDriverTest {
Future<void> test_project_filterImports_defaultConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
@@ -324,13 +324,13 @@
/// See: https://github.com/dart-lang/sdk/issues/40620
Future<void> test_project_filterImports_enumValues() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum E {
e,
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
@@ -353,13 +353,13 @@
/// See: https://github.com/dart-lang/sdk/issues/40620
Future<void> test_project_filterImports_namedConstructors() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A.a();
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
@@ -382,11 +382,11 @@
}
Future<void> test_project_filterMultipleImports() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
@@ -410,7 +410,7 @@
}
Future<void> test_project_lib() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
enum E {
e,
@@ -467,7 +467,7 @@
}
Future<void> test_project_lib_fields_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int f = 0;
}
@@ -487,7 +487,7 @@
}
Future<void> test_project_lib_fields_static() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int f = 0;
}
@@ -510,7 +510,7 @@
}
Future<void> test_project_lib_getters_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get g => 0;
}
@@ -530,7 +530,7 @@
}
Future<void> test_project_lib_getters_static() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int get g => 0;
}
@@ -554,7 +554,7 @@
/// See: https://github.com/dart-lang/sdk/issues/40626
Future<void> test_project_lib_getters_topLevel() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int get g => 0;
''');
@@ -575,7 +575,7 @@
}
Future<void> test_project_lib_methods_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo() => 0;
}
@@ -595,7 +595,7 @@
}
Future<void> test_project_lib_methods_static() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static void foo() => 0;
}
@@ -615,11 +615,11 @@
}
Future<void> test_project_lib_multipleExports() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
@@ -642,7 +642,7 @@
}
Future<void> test_project_lib_setters_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
set s(int s) {}
}
@@ -662,7 +662,7 @@
}
Future<void> test_project_lib_setters_static() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static set g(int g) {}
}
@@ -683,7 +683,7 @@
/// See: https://github.com/dart-lang/sdk/issues/40626
Future<void> test_project_lib_setters_topLevel() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
set s(int s) {}
''');
@@ -706,7 +706,7 @@
@FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/38739')
Future<void>
test_project_suggestionRelevance_constructorParameterType() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'b.dart';
class A {
@@ -714,7 +714,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
class O { }
''');
@@ -745,7 +745,7 @@
}
Future<void> test_project_suggestionRelevance_constructorsAndTypes() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A { }
''');
@@ -777,7 +777,7 @@
/// See: https://github.com/dart-lang/sdk/issues/35529
Future<void> test_project_suggestMixins() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
mixin M { }
class A { }
''');
diff --git a/pkg/analysis_server/test/client/impl/completion_driver.dart b/pkg/analysis_server/test/client/impl/completion_driver.dart
index c57c328..3383e6c 100644
--- a/pkg/analysis_server/test/client/impl/completion_driver.dart
+++ b/pkg/analysis_server/test/client/impl/completion_driver.dart
@@ -92,14 +92,16 @@
if (offset != null) {
expect(completionOffset, -1, reason: 'cannot supply offset and ^');
completionOffset = offset;
- server.newFile(server.testFilePath, content: content);
+ server.newFile2(server.testFilePath, content);
} else {
expect(completionOffset, isNot(equals(-1)), reason: 'missing ^');
var nextOffset = content.indexOf('^', completionOffset + 1);
expect(nextOffset, equals(-1), reason: 'too many ^');
- server.newFile(server.testFilePath,
- content: content.substring(0, completionOffset) +
- content.substring(completionOffset + 1));
+ server.newFile2(
+ server.testFilePath,
+ content.substring(0, completionOffset) +
+ content.substring(completionOffset + 1),
+ );
}
}
diff --git a/pkg/analysis_server/test/completion_test_support.dart b/pkg/analysis_server/test/completion_test_support.dart
index 35f61fd..de59784 100644
--- a/pkg/analysis_server/test/completion_test_support.dart
+++ b/pkg/analysis_server/test/completion_test_support.dart
@@ -83,12 +83,12 @@
await super.setUp();
return Future(() {
var content = spec.source;
- newFile(testFile, content: content);
+ newFile2(testFile, content);
testCode = content;
completionOffset = spec.testLocation;
if (extraFiles != null) {
extraFiles.forEach((String fileName, String content) {
- newFile(fileName, content: content);
+ newFile2(fileName, content);
});
}
}).then((_) => getSuggestions()).then((_) {
diff --git a/pkg/analysis_server/test/domain_analysis_test.dart b/pkg/analysis_server/test/domain_analysis_test.dart
index 229f1ca..776c72d 100644
--- a/pkg/analysis_server/test/domain_analysis_test.dart
+++ b/pkg/analysis_server/test/domain_analysis_test.dart
@@ -36,14 +36,14 @@
@override
void setUp() {
super.setUp();
- newFile('$workspaceRootPath/WORKSPACE');
+ newFile2('$workspaceRootPath/WORKSPACE', '');
}
Future<void> test_fileSystem_changeFile_buildFile() async {
// This BUILD file does not enable null safety.
newBazelBuildFile(myPackageRootPath, '');
- newFile(myPackageTestFilePath, content: '''
+ newFile2(myPackageTestFilePath, '''
void f(int? a) {}
''');
@@ -85,7 +85,7 @@
);
// Write the options file that excludes b.dart
- newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, r'''
analyzer:
exclude:
- lib/b.dart
@@ -107,7 +107,7 @@
var a_path = '$testPackageLibPath/a.dart';
var options_path = '$testPackageRootPath/analysis_options.yaml';
- newFile(a_path, content: 'error');
+ newFile2(a_path, 'error');
await setRoots(included: [workspaceRootPath], excluded: []);
await server.onAnalysisComplete;
@@ -119,7 +119,7 @@
);
// Add 'analysis_options.yaml' that has an error.
- newFile(options_path, content: '''
+ newFile2(options_path, '''
analyzer:
error:
''');
@@ -136,9 +136,9 @@
Future<void> test_fileSystem_addFile_androidManifestXml() async {
var path = '$testPackageRootPath/AndroidManifest.xml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
- newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -146,7 +146,7 @@
await setRoots(included: [workspaceRootPath], excluded: []);
- newFile(path, content: '<manifest/>');
+ newFile2(path, '<manifest/>');
await pumpEventQueue();
await server.onAnalysisComplete;
@@ -178,7 +178,7 @@
var a_path = '$testPackageLibPath/.foo/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
import '.foo/a.dart';
void f(A a) {}
''');
@@ -189,7 +189,7 @@
// We don't have a.dart, so the import cannot be resolved.
assertHasErrors(b_path);
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class A {}
''');
await pumpEventQueue();
@@ -206,13 +206,13 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, r'''
analyzer:
exclude:
- "**/a.dart"
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
import 'a.dart';
void f(A a) {}
''');
@@ -223,7 +223,7 @@
// We don't have a.dart, so the import cannot be resolved.
assertHasErrors(b_path);
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class A {}
''');
await pumpEventQueue();
@@ -239,7 +239,7 @@
Future<void> test_fileSystem_addFile_fixDataYaml() async {
var path = '$testPackageLibPath/fix_data.yaml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
await setRoots(included: [workspaceRootPath], excluded: []);
@@ -247,7 +247,7 @@
assertNoErrorsNotification(path);
// Create it, will be analyzed.
- newFile(path, content: '0: 1');
+ newFile2(path, '0: 1');
await pumpEventQueue();
await server.onAnalysisComplete;
@@ -262,11 +262,11 @@
var aaaRootPath = '/packages/aaa';
var a_path = '$aaaRootPath/lib/a.dart';
- newFile(a_path, content: '''
+ newFile2(a_path, '''
class A {}
''');
- newFile(testFilePath, content: '''
+ newFile2(testFilePath, '''
import 'package:aaa/a.dart';
void f(A a) {}
''');
@@ -297,11 +297,11 @@
var a_path = '$testPackageLibPath/a.dart';
var pubspec_path = '$testPackageRootPath/pubspec.yaml';
- newFile(a_path, content: 'error');
+ newFile2(a_path, 'error');
// Write an empty file to force a new analysis context.
// We look for `pubspec.yaml` files only in analysis context roots.
- newAnalysisOptionsYamlFile(testPackageRootPath, content: '');
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '');
await setRoots(included: [workspaceRootPath], excluded: []);
await server.onAnalysisComplete;
@@ -313,7 +313,7 @@
);
// Add a non-Dart file that we know how to analyze.
- newFile(pubspec_path, content: '''
+ newFile2(pubspec_path, '''
name: sample
dependencies: true
''');
@@ -331,7 +331,7 @@
var a_path = '$testPackageLibPath/a.dart';
var unrelated_path = '$testPackageRootPath/unrelated.txt';
- newFile(a_path, content: 'error');
+ newFile2(a_path, 'error');
await setRoots(included: [workspaceRootPath], excluded: []);
await server.onAnalysisComplete;
@@ -343,7 +343,7 @@
);
// Add an unrelated file, no analysis.
- newFile(unrelated_path, content: 'anything');
+ newFile2(unrelated_path, 'anything');
await pumpEventQueue();
await server.onAnalysisComplete;
@@ -361,7 +361,7 @@
_createFilesWithErrors([a_path, b_path, c_path]);
// Exclude b.dart from analysis.
- newFile(options_path, content: r'''
+ newFile2(options_path, r'''
analyzer:
exclude:
- lib/b.dart
@@ -377,7 +377,7 @@
);
// Exclude c.dart from analysis.
- newFile(options_path, content: r'''
+ newFile2(options_path, r'''
analyzer:
exclude:
- lib/c.dart
@@ -398,12 +398,12 @@
Future<void> test_fileSystem_changeFile_androidManifestXml() async {
var path = '$testPackageRootPath/AndroidManifest.xml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
// Has an error - no touch screen.
- newFile(path, content: '<manifest/>');
+ newFile2(path, '<manifest/>');
- newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -416,7 +416,7 @@
assertNoErrorsNotification(path);
// Update the file, so analyze it.
- newFile(path, content: '<manifest/>');
+ newFile2(path, '<manifest/>');
await pumpEventQueue();
await server.onAnalysisComplete;
@@ -428,11 +428,11 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class A2 {}
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
import 'a.dart';
void f(A a) {}
''');
@@ -445,7 +445,7 @@
forgetReceivedErrors();
// Update a.dart so that b.dart has no error.
- newFile(a_path, content: 'class A {}');
+ newFile2(a_path, 'class A {}');
await pumpEventQueue();
await server.onAnalysisComplete;
@@ -458,11 +458,11 @@
var a_path = '$testPackageLibPath/.foo/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class B {}
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
import '.foo/a.dart';
void f(A a) {}
''');
@@ -477,7 +477,7 @@
// We have `B`, not `A`, in a.dart, so has errors.
assertHasErrors(b_path);
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class A {}
''');
await pumpEventQueue();
@@ -494,17 +494,17 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, r'''
analyzer:
exclude:
- "**/a.dart"
''');
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class B {}
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
import 'a.dart';
void f(A a) {}
''');
@@ -519,7 +519,7 @@
// We have `B`, not `A`, in a.dart, so has errors.
assertHasErrors(b_path);
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class A {}
''');
await pumpEventQueue();
@@ -532,10 +532,10 @@
Future<void> test_fileSystem_changeFile_fixDataYaml() async {
var path = '$testPackageLibPath/fix_data.yaml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
// This file has an error.
- newFile(path, content: '0: 1');
+ newFile2(path, '0: 1');
await setRoots(included: [workspaceRootPath], excluded: []);
@@ -543,7 +543,7 @@
assertHasErrors(path);
// Replace with the context that does not have errors.
- newFile(path, content: r'''
+ newFile2(path, r'''
version: 1
transforms: []
''');
@@ -558,7 +558,7 @@
}
Future<void> test_fileSystem_changeFile_hasOverlay_removeOverlay() async {
- newFile(testFilePath, content: '');
+ newFile2(testFilePath, '');
// Add an overlay without errors.
await handleSuccessfulRequest(
@@ -569,8 +569,8 @@
await setRoots(included: [workspaceRootPath], excluded: []);
- // The test file is analyzed, no errors.
- await server.onAnalysisComplete;
+ // The test file (overlay) is analyzed, no errors.
+ await _waitAnalysisComplete();
_assertAnalyzedFiles(
hasErrors: [],
noErrors: [testFilePathPlatform],
@@ -578,24 +578,87 @@
);
// Change the file, has errors.
- newFile(testFilePath, content: 'error');
+ newFile2(testFilePath, 'error');
// But the overlay is still present, so the file is not analyzed.
- await server.onAnalysisComplete;
+ await _waitAnalysisComplete();
_assertAnalyzedFiles(
hasErrors: [],
notAnalyzed: [testFilePathPlatform],
);
- // Remove the overlay, now the file will be read.
+ // Ask to remove the overlay, still active, start a timer.
await handleSuccessfulRequest(
AnalysisUpdateContentParams({
testFilePathPlatform: RemoveContentOverlay(),
}).toRequest('0'),
);
+ // Wait for the timer to remove the overlay to fire.
+ await Future.delayed(server.pendingFilesRemoveOverlayDelay);
+
// The file has errors.
- await server.onAnalysisComplete;
+ await _waitAnalysisComplete();
+ _assertAnalyzedFiles(
+ hasErrors: [testFilePathPlatform],
+ noErrors: [],
+ notAnalyzed: [],
+ );
+ }
+
+ Future<void>
+ test_fileSystem_changeFile_hasOverlay_removeOverlay_delayed() async {
+ // Use long delay, so that it does not happen.
+ server.pendingFilesRemoveOverlayDelay = const Duration(seconds: 300);
+
+ newFile2(testFilePath, '');
+
+ // Add an overlay without errors.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: AddContentOverlay(''),
+ }).toRequest('0'),
+ );
+
+ await setRoots(included: [workspaceRootPath], excluded: []);
+
+ // The test file (overlay) is analyzed, no errors.
+ await _waitAnalysisComplete();
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ noErrors: [testFilePathPlatform],
+ notAnalyzed: [],
+ );
+
+ // Change the file, has errors.
+ modifyFile(testFilePath, 'error');
+
+ // But the overlay is still present, so the file is not analyzed.
+ await _waitAnalysisComplete();
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ notAnalyzed: [testFilePathPlatform],
+ );
+
+ // Ask to remove the overlay, still active, start a timer.
+ await handleSuccessfulRequest(
+ AnalysisUpdateContentParams({
+ testFilePathPlatform: RemoveContentOverlay(),
+ }).toRequest('0'),
+ );
+
+ // Long timer, so still not analyzed.
+ await _waitAnalysisComplete();
+ _assertAnalyzedFiles(
+ hasErrors: [],
+ notAnalyzed: [testFilePathPlatform],
+ );
+
+ // Change the file again, has errors.
+ newFile2(testFilePath, 'error');
+
+ // The timer cancelled on the watch event, and the file analyzed.
+ await _waitAnalysisComplete();
_assertAnalyzedFiles(
hasErrors: [testFilePathPlatform],
noErrors: [],
@@ -607,11 +670,11 @@
var aaaRootPath = '/packages/aaa';
var a_path = '$aaaRootPath/lib/a.dart';
- newFile(a_path, content: '''
+ newFile2(a_path, '''
class A {}
''');
- newFile(testFilePath, content: '''
+ newFile2(testFilePath, '''
import 'package:aaa/a.dart';
void f(A a) {}
''');
@@ -647,7 +710,7 @@
_createFilesWithErrors([a_path, b_path]);
// Exclude b.dart from analysis.
- newFile(options_path, content: r'''
+ newFile2(options_path, r'''
analyzer:
exclude:
- lib/b.dart
@@ -679,12 +742,12 @@
Future<void> test_fileSystem_deleteFile_androidManifestXml() async {
var path = '$testPackageRootPath/AndroidManifest.xml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
// Has an error - no touch screen.
- newFile(path, content: '<manifest/>');
+ newFile2(path, '<manifest/>');
- newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
@@ -727,17 +790,17 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newAnalysisOptionsYamlFile(testPackageRootPath, content: r'''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, r'''
analyzer:
exclude:
- "**/a.dart"
''');
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
class A {}
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
import 'a.dart';
void f(A a) {}
''');
@@ -763,10 +826,10 @@
Future<void> test_fileSystem_deleteFile_fixDataYaml() async {
var path = '$testPackageLibPath/fix_data.yaml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
// This file has an error.
- newFile(path, content: '0: 1');
+ newFile2(path, '0: 1');
await setRoots(included: [workspaceRootPath], excluded: []);
@@ -785,7 +848,7 @@
var aaaRootPath = '/packages/aaa';
var a_path = '$aaaRootPath/lib/a.dart';
- newFile(a_path, content: '''
+ newFile2(a_path, '''
class A {}
''');
@@ -795,7 +858,7 @@
..add(name: 'aaa', rootPath: aaaRootPath),
);
- newFile(testFilePath, content: '''
+ newFile2(testFilePath, '''
import 'package:aaa/a.dart';
void f(A a) {}
''');
@@ -1024,7 +1087,7 @@
var a_path = '$testPackageLibPath/a.dart';
var b_path = '$testPackageLibPath/b.dart';
- newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
exclude:
- "**/b.dart"
@@ -1107,15 +1170,15 @@
Future<void> test_setRoots_notDartFile_androidManifestXml() async {
var path = '$testPackageRootPath/AndroidManifest.xml';
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
- newAnalysisOptionsYamlFile(testPackageRootPath, content: '''
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '''
analyzer:
optional-checks:
chrome-os-manifest-checks: true
''');
- newFile(path, content: '<manifest/>');
+ newFile2(path, '<manifest/>');
await setRoots(included: [workspaceRootPath], excluded: []);
@@ -1127,7 +1190,7 @@
var path = '$testPackageLibPath/fix_data.yaml';
// `lib/fix_data.yaml` will be analyzed.
- newFile(path, content: '0: 1');
+ newFile2(path, '0: 1');
await setRoots(included: [workspaceRootPath], excluded: []);
@@ -1138,7 +1201,7 @@
var aaaRootPath = '/packages/aaa';
var a_path = '$aaaRootPath/lib/a.dart';
- newFile(a_path, content: '''
+ newFile2(a_path, '''
class A {}
''');
@@ -1147,7 +1210,7 @@
..add(name: 'aaa', rootPath: aaaRootPath),
);
- newFile(testFilePath, content: '''
+ newFile2(testFilePath, '''
import 'package:aaa/a.dart';
void f(A a) {}
''');
@@ -1164,7 +1227,7 @@
}
Future<void> test_updateContent_addOverlay() async {
- newFile('$testFilePath', content: 'error');
+ newFile2('$testFilePath', 'error');
await setRoots(included: [workspaceRootPath], excluded: []);
@@ -1193,7 +1256,7 @@
}
Future<void> test_updateContent_changeOverlay() async {
- newFile('$testFilePath', content: '');
+ newFile2('$testFilePath', '');
// Add the content with an error.
await handleSuccessfulRequest(
@@ -1255,7 +1318,7 @@
String initialContent,
SourceEdit edit,
) async {
- newFile('$testFilePath', content: initialContent);
+ newFile2('$testFilePath', initialContent);
await setRoots(included: [workspaceRootPath], excluded: []);
await server.onAnalysisComplete;
@@ -1280,6 +1343,16 @@
),
);
}
+
+ /// Pump the event queue, so that watch events are processed.
+ /// Wait for analysis to complete.
+ /// Repeat a few times, eventually there will be no work to do.
+ Future<void> _waitAnalysisComplete() async {
+ for (var i = 0; i < 128; i++) {
+ pumpEventQueue();
+ await server.onAnalysisComplete;
+ }
+ }
}
@reflectiveTest
@@ -1325,13 +1398,13 @@
}
Future<void> test_afterAnalysis_packageFile_external() async {
- var pkgFile = newFile('/packages/pkgA/lib/libA.dart', content: '''
+ var pkgFile = newFile2('/packages/pkgA/lib/libA.dart', '''
library lib_a;
class A {}
''').path;
newPackageConfigJsonFile(
'/project',
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'pkgA', rootPath: '/packages/pkgA'))
.toContent(toUriStr: toUriStr),
);
@@ -1356,11 +1429,11 @@
Future<void> test_afterAnalysis_packageFile_inRoot() async {
var pkgA = convertPath('/pkgA');
var pkgB = convertPath('/pkgA');
- var pkgFileA = newFile('$pkgA/lib/libA.dart', content: '''
+ var pkgFileA = newFile2('$pkgA/lib/libA.dart', '''
library lib_a;
class A {}
''').path;
- newFile('$pkgA/lib/libB.dart', content: '''
+ newFile2('$pkgA/lib/libB.dart', '''
import 'package:pkgA/libA.dart';
main() {
new A();
@@ -1380,13 +1453,13 @@
}
Future<void> test_afterAnalysis_packageFile_notUsed() async {
- var pkgFile = newFile('/packages/pkgA/lib/libA.dart', content: '''
+ var pkgFile = newFile2('/packages/pkgA/lib/libA.dart', '''
library lib_a;
class A {}
''').path;
newPackageConfigJsonFile(
'/project',
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'pkgA', rootPath: '/packages/pkgA'))
.toContent(toUriStr: toUriStr),
);
@@ -1514,7 +1587,7 @@
/// So, when analyzed, these files will satisfy [assertHasErrors].
void _createFilesWithErrors(List<String> paths) {
for (var path in paths) {
- newFile(path, content: 'error');
+ newFile2(path, 'error');
}
}
}
diff --git a/pkg/analysis_server/test/domain_completion_test.dart b/pkg/analysis_server/test/domain_completion_test.dart
index 3618cc0..ad469f1 100644
--- a/pkg/analysis_server/test/domain_completion_test.dart
+++ b/pkg/analysis_server/test/domain_completion_test.dart
@@ -133,7 +133,7 @@
''');
var aaaRoot = getFolder('$workspaceRootPath/packages/aaa');
- newFile('${aaaRoot.path}/lib/f.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/f.dart', '''
class Test {}
''');
@@ -164,7 +164,7 @@
}
Future<void> test_import_package_this() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class Test {}
''');
@@ -224,8 +224,9 @@
var nextOffset = content.indexOf('^', completionOffset + 1);
expect(nextOffset, equals(-1), reason: 'too many ^');
- newFile(path,
- content: content.substring(0, completionOffset) +
+ newFile2(
+ path,
+ content.substring(0, completionOffset) +
content.substring(completionOffset + 1));
return await _getDetails(
@@ -282,7 +283,7 @@
abortedIdSet.add(request.id);
});
- newFile(testFilePath, content: '');
+ newFile2(testFilePath, '');
await _configureWithWorkspaceRoot();
@@ -320,7 +321,7 @@
abortedIdSet.add(request.id);
});
- newFile(testFilePath, content: '');
+ newFile2(testFilePath, '');
await _configureWithWorkspaceRoot();
@@ -344,13 +345,13 @@
}
Future<void> test_isNotImportedFeature_prefixed_classInstanceMethod() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void foo01() {}
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class B extends A {
@@ -424,13 +425,13 @@
}
Future<void> test_notImported_lowerRelevance_enumConstant() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
enum E1 {
foo01
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
enum E2 {
foo02
}
@@ -464,13 +465,13 @@
Future<void> test_notImported_lowerRelevance_extension_getter() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
int get foo01 => 0;
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
extension E2 on int {
int get foo02 => 0;
}
@@ -502,13 +503,13 @@
Future<void> test_notImported_lowerRelevance_extension_method() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
void foo01() {}
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
extension E2 on int {
void foo02() {}
}
@@ -540,13 +541,13 @@
Future<void> test_notImported_lowerRelevance_extension_setter() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
set foo01(int _) {}
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
extension E2 on int {
set foo02(int _) {}
}
@@ -576,11 +577,11 @@
}
Future<void> test_notImported_lowerRelevance_topLevel_class() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
class A02 {}
''');
@@ -610,11 +611,11 @@
}
Future<void> test_notImported_lowerRelevance_topLevel_getter() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
int get foo01 => 0;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
int get foo02 => 0;
''');
@@ -644,11 +645,11 @@
}
Future<void> test_notImported_lowerRelevance_topLevel_setter() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
set foo01(int _) {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
set foo02(int _) {}
''');
@@ -678,11 +679,11 @@
}
Future<void> test_notImported_lowerRelevance_topLevel_variable() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var foo01 = 0;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
var foo02 = 0;
''');
@@ -721,18 +722,18 @@
''');
var aaaRoot = getFolder('$workspaceRootPath/packages/aaa');
- newFile('${aaaRoot.path}/lib/f.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/f.dart', '''
class A01 {}
''');
- newFile('${aaaRoot.path}/lib/src/f.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/src/f.dart', '''
class A02 {}
''');
var bbbRoot = getFolder('$workspaceRootPath/packages/bbb');
- newFile('${bbbRoot.path}/lib/f.dart', content: '''
+ newFile2('${bbbRoot.path}/lib/f.dart', '''
class A03 {}
''');
- newFile('${bbbRoot.path}/lib/src/f.dart', content: '''
+ newFile2('${bbbRoot.path}/lib/src/f.dart', '''
class A04 {}
''');
@@ -771,18 +772,18 @@
''');
var aaaRoot = getFolder('$workspaceRootPath/packages/aaa');
- newFile('${aaaRoot.path}/lib/f.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/f.dart', '''
class A01 {}
''');
- newFile('${aaaRoot.path}/lib/src/f.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/src/f.dart', '''
class A02 {}
''');
var bbbRoot = getFolder('$workspaceRootPath/packages/bbb');
- newFile('${bbbRoot.path}/lib/f.dart', content: '''
+ newFile2('${bbbRoot.path}/lib/f.dart', '''
class A03 {}
''');
- newFile('${bbbRoot.path}/lib/src/f.dart', content: '''
+ newFile2('${bbbRoot.path}/lib/src/f.dart', '''
class A04 {}
''');
@@ -819,11 +820,11 @@
}
Future<void> test_notImported_pub_this() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
class A02 {}
''');
@@ -850,12 +851,12 @@
}
Future<void> test_notImported_pub_this_hasImport() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
class A02 {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
class A03 {}
''');
@@ -887,12 +888,12 @@
}
Future<void> test_notImported_pub_this_hasImport_hasShow() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
class A02 {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
class A03 {}
''');
@@ -932,11 +933,11 @@
name: test
''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
''');
- newFile('$testPackageTestPath/b.dart', content: '''
+ newFile2('$testPackageTestPath/b.dart', '''
class A02 {}
''');
@@ -964,11 +965,11 @@
name: test
''');
- newFile('$testPackageLibPath/f.dart', content: '''
+ newFile2('$testPackageLibPath/f.dart', '''
class A01 {}
''');
- newFile('$testPackageLibPath/src/f.dart', content: '''
+ newFile2('$testPackageLibPath/src/f.dart', '''
class A02 {}
''');
@@ -999,11 +1000,11 @@
name: test
''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
''');
- var b = newFile('$testPackageTestPath/b.dart', content: '''
+ var b = newFile2('$testPackageTestPath/b.dart', '''
class A02 {}
''');
var b_uriStr = toUriStr(b.path);
@@ -1039,11 +1040,11 @@
name: test
''');
- newFile('$testPackageLibPath/f.dart', content: '''
+ newFile2('$testPackageLibPath/f.dart', '''
class A01 {}
''');
- newFile('$testPackageLibPath/src/f.dart', content: '''
+ newFile2('$testPackageLibPath/src/f.dart', '''
class A02 {}
''');
@@ -1132,7 +1133,7 @@
Future<void> test_numResults_topLevelVariables_imported_withPrefix() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var foo01 = 0;
var foo02 = 0;
var foo03 = 0;
@@ -1312,7 +1313,7 @@
Future<void> test_prefixed_expression_extensionGetters_notImported() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
int get foo01 => 0;
int get bar => 0;
@@ -1353,7 +1354,7 @@
test_prefixed_expression_extensionGetters_notImported_private() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
int get foo01 => 0;
}
@@ -1421,7 +1422,7 @@
Future<void> test_prefixed_expression_extensionMethods_notImported() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
void foo01() {}
void bar() {}
@@ -1494,7 +1495,7 @@
Future<void> test_prefixed_expression_extensionSetters_notImported() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
set foo01(int _) {}
set bar(int _) {}
@@ -1535,7 +1536,7 @@
test_prefixed_expression_extensionSetters_notImported_private() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
set foo01(int _) {}
}
@@ -1570,7 +1571,7 @@
Future<void> test_prefixed_extensionGetters_imported() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E1 on int {
int get foo01 => 0;
int get foo02 => 0;
@@ -1714,11 +1715,11 @@
Future<void> test_unprefixed_imported_class() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A01 {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
class A02 {}
''');
@@ -1752,11 +1753,11 @@
Future<void> test_unprefixed_imported_topLevelVariable() async {
await _configureWithWorkspaceRoot();
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var foo01 = 0;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
var foo02 = 0;
''');
@@ -1951,9 +1952,11 @@
var nextOffset = content.indexOf('^', completionOffset + 1);
expect(nextOffset, equals(-1), reason: 'too many ^');
- newFile(path,
- content: content.substring(0, completionOffset) +
- content.substring(completionOffset + 1));
+ newFile2(
+ path,
+ content.substring(0, completionOffset) +
+ content.substring(completionOffset + 1),
+ );
return await _getSuggestions(
path: path,
@@ -2281,7 +2284,7 @@
Future<void> test_import_uri_with_trailing() {
final filePath = '/project/bin/testA.dart';
final incompleteImportText = toUriStr('/project/bin/t');
- newFile(filePath, content: 'library libA;');
+ newFile2(filePath, 'library libA;');
addTestFile('''
import "$incompleteImportText^.dart";
void f() {}''');
@@ -2578,7 +2581,7 @@
}
Future<void> test_inDartDoc_reference1() async {
- newFile('/testA.dart', content: '''
+ newFile2('/testA.dart', '''
part of libA;
foo(bar) => 0;''');
addTestFile('''
@@ -2731,7 +2734,7 @@
}
Future<void> test_local_override() {
- newFile('/project/bin/a.dart', content: 'class A {m() {}}');
+ newFile2('/project/bin/a.dart', 'class A {m() {}}');
addTestFile('''
import 'a.dart';
class B extends A {
@@ -2796,7 +2799,7 @@
}
Future<void> test_overrides() {
- newFile('/project/bin/a.dart', content: 'class A {m() {}}');
+ newFile2('/project/bin/a.dart', 'class A {m() {}}');
addTestFile('''
import 'a.dart';
class B extends A {m() {^}}
@@ -2809,7 +2812,7 @@
}
Future<void> test_partFile() {
- newFile('/project/bin/a.dart', content: '''
+ newFile2('/project/bin/a.dart', '''
library libA;
import 'dart:html';
part 'test.dart';
@@ -2832,7 +2835,7 @@
}
Future<void> test_partFile2() {
- newFile('/project/bin/a.dart', content: '''
+ newFile2('/project/bin/a.dart', '''
part of libA;
class A { }''');
addTestFile('''
@@ -3016,20 +3019,25 @@
InstrumentationService.NULL_SERVICE,
);
+ server.pendingFilesRemoveOverlayDelay = const Duration(milliseconds: 10);
completionDomain.budgetDuration = const Duration(seconds: 30);
}
+ Future<void> tearDown() async {
+ await server.dispose();
+ }
+
void writePackageConfig(Folder root, PackageConfigFileBuilder config) {
newPackageConfigJsonFile(
root.path,
- content: config.toContent(toUriStr: toUriStr),
+ config.toContent(toUriStr: toUriStr),
);
}
void writeTestPackageAnalysisOptionsFile(AnalysisOptionsFileConfig config) {
- newAnalysisOptionsYamlFile(
+ newAnalysisOptionsYamlFile2(
testPackageRootPath,
- content: config.toContent(),
+ config.toContent(),
);
}
diff --git a/pkg/analysis_server/test/domain_diagnostic_test.dart b/pkg/analysis_server/test/domain_diagnostic_test.dart
index 2a354f2..e19b27d 100644
--- a/pkg/analysis_server/test/domain_diagnostic_test.dart
+++ b/pkg/analysis_server/test/domain_diagnostic_test.dart
@@ -27,7 +27,7 @@
Future<void> test_getDiagnostics() async {
newPubspecYamlFile('/project', 'name: project');
- newFile('/project/bin/test.dart', content: 'main() {}');
+ newFile2('/project/bin/test.dart', 'main() {}');
await server.setAnalysisRoots('0', [convertPath('/project')], []);
diff --git a/pkg/analysis_server/test/domain_execution_test.dart b/pkg/analysis_server/test/domain_execution_test.dart
index d3945a8..3bfafaf 100644
--- a/pkg/analysis_server/test/domain_execution_test.dart
+++ b/pkg/analysis_server/test/domain_execution_test.dart
@@ -188,8 +188,8 @@
}
''';
- var path = newFile('/test.dart').path;
- newFile(path, content: code);
+ var path = newFile2('/test.dart', '').path;
+ newFile2(path, code);
var request = ExecutionGetSuggestionsParams(
'a.',
@@ -213,7 +213,7 @@
}
void test_mapUri_file() {
- var path = newFile('/a/b.dart').path;
+ var path = newFile2('/a/b.dart', '').path;
// map the file
var result = _mapUri(file: path);
expect(result.file, isNull);
@@ -229,7 +229,7 @@
}
void test_mapUri_uri() {
- var path = newFile('/a/b.dart').path;
+ var path = newFile2('/a/b.dart', '').path;
// map the uri
var result = _mapUri(uri: Uri.file(path).toString());
expect(result.file, convertPath('/a/b.dart'));
diff --git a/pkg/analysis_server/test/edit/bulk_fixes_test.dart b/pkg/analysis_server/test/edit/bulk_fixes_test.dart
index b746b44..4928226 100644
--- a/pkg/analysis_server/test/edit/bulk_fixes_test.dart
+++ b/pkg/analysis_server/test/edit/bulk_fixes_test.dart
@@ -60,7 +60,7 @@
}
Future<void> test_annotateOverrides_excludedFile() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
exclude:
- test/**
@@ -69,7 +69,7 @@
- annotate_overrides
''');
- newFile('$projectPath/test/test.dart', content: '''
+ newFile2('$projectPath/test/test.dart', '''
class A {
void f() {}
}
@@ -83,7 +83,7 @@
Future<void> test_annotateOverrides_excludedSubProject() async {
// Root project.
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
exclude:
- test/data/**
@@ -91,7 +91,7 @@
// Sub-project.
var subprojectRoot = '$projectPath/test/data/subproject';
- newAnalysisOptionsYamlFile(subprojectRoot, content: '''
+ newAnalysisOptionsYamlFile2(subprojectRoot, '''
linter:
rules:
- annotate_overrides
@@ -101,7 +101,7 @@
name: subproject
''');
- newFile('$subprojectRoot/test.dart', content: '''
+ newFile2('$subprojectRoot/test.dart', '''
class A {
void f() {}
}
@@ -115,7 +115,7 @@
Future<void> test_annotateOverrides_subProject() async {
var subprojectRoot = '$projectPath/test/data/subproject';
- newAnalysisOptionsYamlFile(subprojectRoot, content: '''
+ newAnalysisOptionsYamlFile2(subprojectRoot, '''
linter:
rules:
- annotate_overrides
@@ -147,7 +147,7 @@
}
Future<void> test_details() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
linter:
rules:
- annotate_overrides
@@ -155,7 +155,7 @@
''');
var fileA = convertPath('$projectPath/a.dart');
- newFile(fileA, content: '''
+ newFile2(fileA, '''
class A {
A f() => new A();
}
@@ -181,7 +181,7 @@
}
Future<void> test_unnecessaryNew() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
linter:
rules:
- unnecessary_new
@@ -205,7 +205,7 @@
if (Platform.isWindows) {
fail('Should not be passing on Windows, but it does');
}
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
linter:
rules:
- prefer_collection_literals
@@ -228,7 +228,7 @@
}
Future<void> test_unnecessaryNew_ignoredInOptions() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
errors:
unnecessary_new: ignore
@@ -244,7 +244,7 @@
}
Future<void> test_unnecessaryNew_ignoredInSource() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
linter:
rules:
- unnecessary_new
diff --git a/pkg/analysis_server/test/edit/fixes_test.dart b/pkg/analysis_server/test/edit/fixes_test.dart
index b84a06c..ba507ba 100644
--- a/pkg/analysis_server/test/edit/fixes_test.dart
+++ b/pkg/analysis_server/test/edit/fixes_test.dart
@@ -33,7 +33,7 @@
Future<void> test_fileOutsideRoot() async {
final outsideFile = '/foo/test.dart';
- newFile(outsideFile, content: 'bad code to create error');
+ newFile2(outsideFile, 'bad code to create error');
// Set up the original project, as the code fix code won't run at all
// if there are no contexts.
@@ -152,7 +152,7 @@
Future<void> test_suggestImportFromDifferentAnalysisRoot() async {
newPackageConfigJsonFile(
'/aaa',
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'aaa', rootPath: '/aaa')
..add(name: 'bbb', rootPath: '/bbb'))
.toContent(toUriStr: toUriStr),
@@ -164,12 +164,12 @@
newPackageConfigJsonFile(
'/bbb',
- content: (PackageConfigFileBuilder()..add(name: 'bbb', rootPath: '/bbb'))
+ (PackageConfigFileBuilder()..add(name: 'bbb', rootPath: '/bbb'))
.toContent(toUriStr: toUriStr),
);
- newFile('/bbb/lib/target.dart', content: 'class Foo() {}');
- newFile('/bbb/lib/target.generated.dart', content: 'class Foo() {}');
- newFile('/bbb/lib/target.template.dart', content: 'class Foo() {}');
+ newFile2('/bbb/lib/target.dart', 'class Foo() {}');
+ newFile2('/bbb/lib/target.generated.dart', 'class Foo() {}');
+ newFile2('/bbb/lib/target.template.dart', 'class Foo() {}');
await setRoots(
included: [convertPath('/aaa'), convertPath('/bbb')], excluded: []);
diff --git a/pkg/analysis_server/test/edit/refactoring_test.dart b/pkg/analysis_server/test/edit/refactoring_test.dart
index 74507b0..fe52d9d 100644
--- a/pkg/analysis_server/test/edit/refactoring_test.dart
+++ b/pkg/analysis_server/test/edit/refactoring_test.dart
@@ -269,7 +269,7 @@
Future<void> test_analysis_onlyOneFile() async {
shouldWaitForFullAnalysis = false;
- newFile(join(testFolder, 'other.dart'), content: r'''
+ newFile2(join(testFolder, 'other.dart'), r'''
foo(int myName) {}
''');
addTestFile('''
@@ -468,7 +468,7 @@
Future<void> test_resetOnAnalysisSetChanged_watch_otherFile() async {
var otherFile = join(testFolder, 'other.dart');
- newFile(otherFile, content: '// other 1');
+ newFile2(otherFile, '// other 1');
addTestFile('''
void f() {
foo(1 + 2);
@@ -488,7 +488,7 @@
// The refactoring is reset, even though it's a different file. It is up to
// analyzer to track dependencies and provide resolved units fast when
// possible.
- newFile(otherFile, content: '// other 2');
+ newFile2(otherFile, '// other 2');
await pumpEventQueue();
expect(test_resetCount, initialResetCount + 1);
}
@@ -843,7 +843,7 @@
void addFlutterPackage() {
var libFolder = MockPackages.instance.addFlutter(resourceProvider);
// Create .packages in the project.
- newFile(join(projectPath, '.packages'), content: '''
+ newFile2(join(projectPath, '.packages'), '''
flutter:${libFolder.toUri()}
''');
}
@@ -1088,7 +1088,7 @@
Future<void> test_analysis_onlyOneFile() async {
shouldWaitForFullAnalysis = false;
var otherFile = join(testFolder, 'other.dart');
- newFile(otherFile, content: r'''
+ newFile2(otherFile, r'''
foo(int p) {}
''');
addTestFile('''
@@ -1156,7 +1156,7 @@
}
Future<void> test_resetOnAnalysisSetChanged() async {
- newFile(join(testFolder, 'other.dart'), content: '// other 1');
+ newFile2(join(testFolder, 'other.dart'), '// other 1');
addTestFile('''
void f() {
int res = 1 + 2;
@@ -1318,7 +1318,7 @@
late MoveFileOptions options;
Future<void> test_file_OK() {
- newFile('/project/bin/lib.dart');
+ newFile2('/project/bin/lib.dart', '');
addTestFile('''
import 'dart:math';
import 'lib.dart';
@@ -1333,7 +1333,7 @@
}
Future<void> test_folder_cancel() {
- newFile('/project/bin/original_folder/file.dart');
+ newFile2('/project/bin/original_folder/file.dart', '');
addTestFile('''
import 'dart:math';
import 'original_folder/file.dart';
@@ -1346,7 +1346,7 @@
}
Future<void> test_folder_OK() {
- newFile('/project/bin/original_folder/file.dart');
+ newFile2('/project/bin/original_folder/file.dart', '');
addTestFile('''
import 'dart:math';
import 'original_folder/file.dart';
@@ -2129,7 +2129,7 @@
}
Future<void> test_library_partOfDirective() {
- newFile(join(testFolder, 'my_lib.dart'), content: '''
+ newFile2(join(testFolder, 'my_lib.dart'), '''
library aaa.bbb.ccc;
part 'test.dart';
''');
diff --git a/pkg/analysis_server/test/edit/sort_members_test.dart b/pkg/analysis_server/test/edit/sort_members_test.dart
index 4c173d9..05a3cc1 100644
--- a/pkg/analysis_server/test/edit/sort_members_test.dart
+++ b/pkg/analysis_server/test/edit/sort_members_test.dart
@@ -195,7 +195,7 @@
}
Future<void> test_OK_genericFunctionType() async {
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
strong-mode: true
''');
diff --git a/pkg/analysis_server/test/integration/lsp_server/analyzer_status_test.dart b/pkg/analysis_server/test/integration/lsp_server/analyzer_status_test.dart
index 4889961..f7b847d 100644
--- a/pkg/analysis_server/test/integration/lsp_server/analyzer_status_test.dart
+++ b/pkg/analysis_server/test/integration/lsp_server/analyzer_status_test.dart
@@ -17,7 +17,7 @@
class AnalyzerStatusTest extends AbstractLspAnalysisServerIntegrationTest {
Future<void> test_afterDocumentEdits() async {
const initialContents = 'int a = 1;';
- newFile(mainFilePath, content: initialContents);
+ newFile(mainFilePath, initialContents);
final initialAnalysis = waitForAnalysisComplete();
@@ -39,7 +39,7 @@
Future<void> test_afterInitialize() async {
const initialContents = 'int a = 1;';
- newFile(mainFilePath, content: initialContents);
+ newFile(mainFilePath, initialContents);
// To avoid races, set up listeners for the notifications before we initialise
// and track which event came first to ensure they arrived in the expected
diff --git a/pkg/analysis_server/test/integration/lsp_server/diagnostic_test.dart b/pkg/analysis_server/test/integration/lsp_server/diagnostic_test.dart
index e9ed76a..ca65cbd 100644
--- a/pkg/analysis_server/test/integration/lsp_server/diagnostic_test.dart
+++ b/pkg/analysis_server/test/integration/lsp_server/diagnostic_test.dart
@@ -23,7 +23,7 @@
print(x);
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile(mainFilePath, withoutMarkers(content));
final diagnosticsUpdate = waitForDiagnostics(mainFileUri);
await initialize();
@@ -45,7 +45,7 @@
}
Future<void> test_initialAnalysis() async {
- newFile(mainFilePath, content: 'String a = 1;');
+ newFile(mainFilePath, 'String a = 1;');
final diagnosticsUpdate = waitForDiagnostics(mainFileUri);
await initialize();
@@ -60,8 +60,8 @@
}
Future<void> test_lints() async {
- newFile(mainFilePath, content: '''main() async => await 1;''');
- newFile(analysisOptionsPath, content: '''
+ newFile(mainFilePath, '''main() async => await 1;''');
+ newFile(analysisOptionsPath, '''
linter:
rules:
- await_only_futures
diff --git a/pkg/analysis_server/test/integration/lsp_server/integration_tests.dart b/pkg/analysis_server/test/integration/lsp_server/integration_tests.dart
index 3022431..cbf06cd 100644
--- a/pkg/analysis_server/test/integration/lsp_server/integration_tests.dart
+++ b/pkg/analysis_server/test/integration/lsp_server/integration_tests.dart
@@ -43,8 +43,8 @@
}
}
- void newFile(String path, {String? content}) =>
- File(path).writeAsStringSync(content ?? '');
+ void newFile(String path, String content) =>
+ File(path).writeAsStringSync(content);
void newFolder(String path) => Directory(path).createSync(recursive: true);
diff --git a/pkg/analysis_server/test/lsp/analyzer_status_test.dart b/pkg/analysis_server/test/lsp/analyzer_status_test.dart
index a137a95..151158d 100644
--- a/pkg/analysis_server/test/lsp/analyzer_status_test.dart
+++ b/pkg/analysis_server/test/lsp/analyzer_status_test.dart
@@ -39,7 +39,7 @@
Future<void> test_afterDocumentEdits() async {
const initialContents = 'int a = 1;';
- newFile(mainFilePath, content: initialContents);
+ newFile2(mainFilePath, initialContents);
final initialAnalysis = waitForAnalysisComplete();
@@ -61,7 +61,7 @@
Future<void> test_afterInitialize() async {
const initialContents = 'int a = 1;';
- newFile(mainFilePath, content: initialContents);
+ newFile2(mainFilePath, initialContents);
// To avoid races, set up listeners for the notifications before we initialise
// and track which event came first to ensure they arrived in the expected
diff --git a/pkg/analysis_server/test/lsp/change_workspace_folders_test.dart b/pkg/analysis_server/test/lsp/change_workspace_folders_test.dart
index 14ae4a4..cddb554 100644
--- a/pkg/analysis_server/test/lsp/change_workspace_folders_test.dart
+++ b/pkg/analysis_server/test/lsp/change_workspace_folders_test.dart
@@ -74,7 +74,7 @@
join(workspaceFolder1Path, 'nested', 'deeply', 'in', 'folders');
final nestedFilePath = join(nestedFolderPath, 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
await initialize(allowEmptyRootUri: true);
await openFile(nestedFileUri, '');
@@ -111,7 +111,7 @@
join(workspaceFolder1Path, 'nested', 'deeply', 'in', 'folders');
final nestedFilePath = join(nestedFolderPath, 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
await initialize(allowEmptyRootUri: true);
await openFile(nestedFileUri, '');
@@ -149,7 +149,7 @@
join(workspaceFolder1Path, 'nested', 'deeply', 'in', 'folders');
final nestedFilePath = join(nestedFolderPath, 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
await initialize(workspaceFolders: [workspaceFolder1Uri]);
@@ -184,7 +184,7 @@
join(workspaceFolder1Path, 'nested', 'deeply', 'in', 'folders');
final nestedFilePath = join(nestedFolderPath, 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
await initialize(workspaceFolders: [workspaceFolder1Uri]);
@@ -220,7 +220,7 @@
join(workspaceFolder1Path, 'nested', 'deeply', 'in', 'folders');
final nestedFilePath = join(nestedFolderPath, 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
// Ensure no pubspecs in tree.
deleteFile(
@@ -256,10 +256,10 @@
// analysis driver will be used (see [AbstractAnalysisServer.getAnalysisDriver])
// and no new root will be created.
final workspace1FilePath = join(workspaceFolder1Path, 'test.dart');
- newFile(workspace1FilePath);
+ newFile2(workspace1FilePath, '');
final workspace2FilePath = join(workspaceFolder2Path, 'test.dart');
final workspace2FileUri = Uri.file(workspace2FilePath);
- newFile(workspace2FilePath);
+ newFile2(workspace2FilePath, '');
await initialize(workspaceFolders: [workspaceFolder1Uri]);
@@ -309,7 +309,7 @@
// Generate an error in the test project.
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
- newFile(mainFilePath, content: 'String a = 1;');
+ newFile2(mainFilePath, 'String a = 1;');
final initialDiagnostics = await firstDiagnosticsUpdate;
expect(initialDiagnostics, hasLength(1));
diff --git a/pkg/analysis_server/test/lsp/code_actions_assists_test.dart b/pkg/analysis_server/test/lsp/code_actions_assists_test.dart
index 68652df..06d962f 100644
--- a/pkg/analysis_server/test/lsp/code_actions_assists_test.dart
+++ b/pkg/analysis_server/test/lsp/code_actions_assists_test.dart
@@ -45,7 +45,7 @@
Future f;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -86,7 +86,7 @@
Future f;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -122,7 +122,7 @@
// indicating this is not a valid (Dart) int.
// https://github.com/dart-lang/sdk/issues/42786
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize();
final request = makeRequest(
@@ -157,7 +157,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -191,7 +191,7 @@
request is plugin.EditGetAssistsParams ? pluginResult : null,
);
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -228,7 +228,7 @@
request is plugin.EditGetAssistsParams ? pluginResult : null,
);
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -285,7 +285,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -357,7 +357,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -421,7 +421,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -463,7 +463,7 @@
build() => Contai^ner(child: Container());
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -504,7 +504,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
diff --git a/pkg/analysis_server/test/lsp/code_actions_fixes_test.dart b/pkg/analysis_server/test/lsp/code_actions_fixes_test.dart
index 9a541dc..3cd73f3 100644
--- a/pkg/analysis_server/test/lsp/code_actions_fixes_test.dart
+++ b/pkg/analysis_server/test/lsp/code_actions_fixes_test.dart
@@ -35,7 +35,7 @@
Future foo;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -77,7 +77,7 @@
Future foo;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -111,7 +111,7 @@
final expectedCreatedFile =
path.join(path.dirname(mainFilePath), 'newfile.dart');
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -142,7 +142,7 @@
Future foo;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final ofKind = (CodeActionKind kind) => getCodeActions(
@@ -182,7 +182,7 @@
import 'dart:convert';
Future foo;''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -217,7 +217,7 @@
import 'dart:convert';
Future foo;''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -244,7 +244,7 @@
var a = [Test, Test, Te[[]]st];
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -264,7 +264,7 @@
var a = [Test, Test, Te[[]]st];
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -281,7 +281,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -294,7 +294,7 @@
Future<void> test_organizeImportsFix_namedOrganizeImports() async {
registerLintRules();
- newFile(analysisOptionsPath, content: '''
+ newFile2(analysisOptionsPath, '''
linter:
rules:
- directives_ordering
@@ -316,7 +316,7 @@
Completer a;
ProcessInfo b;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -343,7 +343,7 @@
Future<void> test_outsideRoot() async {
final otherFilePath = convertPath('/home/otherProject/foo.dart');
final otherFileUri = Uri.file(otherFilePath);
- newFile(otherFilePath, content: 'bad code to create error');
+ newFile2(otherFilePath, 'bad code to create error');
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -387,7 +387,7 @@
request is plugin.EditGetFixesParams ? pluginResult : null,
);
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -437,7 +437,7 @@
request is plugin.EditGetFixesParams ? pluginResult : null,
);
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -473,7 +473,7 @@
var b = bar();
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -495,7 +495,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -524,7 +524,7 @@
print(a);
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
@@ -556,7 +556,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.QuickFix]),
diff --git a/pkg/analysis_server/test/lsp/code_actions_refactor_test.dart b/pkg/analysis_server/test/lsp/code_actions_refactor_test.dart
index e8921f7..ac78b0d 100644
--- a/pkg/analysis_server/test/lsp/code_actions_refactor_test.dart
+++ b/pkg/analysis_server/test/lsp/code_actions_refactor_test.dart
@@ -44,7 +44,7 @@
var b = test();
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -76,7 +76,7 @@
var b = test;
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -144,7 +144,7 @@
print('Test!');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -173,7 +173,7 @@
print('Test!');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -241,7 +241,7 @@
[[print('Test!');]]
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities,
@@ -301,7 +301,7 @@
Object Container(Object text) => null;
Object Text(Object text) => null;
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -319,7 +319,7 @@
^
main() {}
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString());
@@ -345,7 +345,7 @@
print('Test!');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
windowCapabilities:
withWorkDoneProgressSupport(emptyWindowClientCapabilities));
@@ -381,7 +381,7 @@
print('Test!');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
var didGetProgressNotifications = false;
@@ -417,7 +417,7 @@
print('Test!');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
windowCapabilities:
withWorkDoneProgressSupport(emptyWindowClientCapabilities));
@@ -455,7 +455,7 @@
void foo(int arg) {}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -485,7 +485,7 @@
void foo(int arg) {}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -565,7 +565,7 @@
}
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -583,7 +583,7 @@
^
main() {}
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString());
@@ -614,7 +614,7 @@
print(1);
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -658,7 +658,7 @@
print('test');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
@@ -693,7 +693,7 @@
print('test');
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString(),
diff --git a/pkg/analysis_server/test/lsp/code_actions_source_test.dart b/pkg/analysis_server/test/lsp/code_actions_source_test.dart
index 75118f8..76fb7a9 100644
--- a/pkg/analysis_server/test/lsp/code_actions_source_test.dart
+++ b/pkg/analysis_server/test/lsp/code_actions_source_test.dart
@@ -38,8 +38,8 @@
''';
registerLintRules();
- newFile(analysisOptionsPath, content: analysisOptionsContent);
- newFile(mainFilePath, content: content);
+ newFile2(analysisOptionsPath, analysisOptionsContent);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
@@ -70,7 +70,7 @@
Completer foo;
int minified(int x, int y) => min(x, y);
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities: withApplyEditSupport(
withDocumentChangesSupport(emptyWorkspaceClientCapabilities)));
@@ -98,7 +98,7 @@
Completer foo;
int minified(int x, int y) => min(x, y);
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -110,7 +110,7 @@
}
Future<void> test_availableAsCodeActionLiteral() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Source]),
@@ -126,7 +126,7 @@
}
Future<void> test_availableAsCommand() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -141,7 +141,7 @@
Future<void> test_failsSilentlyIfFileHasErrors() async {
final content = 'invalid dart code';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -161,7 +161,7 @@
}
Future<void> test_filtersCorrectly() async {
- newFile(mainFilePath, content: '');
+ newFile2(mainFilePath, '');
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -187,7 +187,7 @@
Completer foo;
int minified(int x, int y) => min(x, y);
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -208,7 +208,7 @@
}
Future<void> test_unavailableWhenNotRequested() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -221,7 +221,7 @@
}
Future<void> test_unavailableWithoutApplyEditSupport() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString());
@@ -241,7 +241,7 @@
String a;
String b;
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities: withApplyEditSupport(
withDocumentChangesSupport(emptyWorkspaceClientCapabilities)));
@@ -262,7 +262,7 @@
String a;
String b;
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -274,7 +274,7 @@
}
Future<void> test_availableAsCodeActionLiteral() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Source]),
@@ -290,7 +290,7 @@
}
Future<void> test_availableAsCommand() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -308,7 +308,7 @@
String b;
String a;
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -341,7 +341,7 @@
Future<void> test_failsIfFileHasErrors() async {
final content = 'invalid dart code';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
workspaceCapabilities:
withApplyEditSupport(emptyWorkspaceClientCapabilities));
@@ -361,7 +361,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Source]),
@@ -374,7 +374,7 @@
}
Future<void> test_unavailableWhenNotRequested() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize(
textDocumentCapabilities: withCodeActionKinds(
emptyTextDocumentClientCapabilities, [CodeActionKind.Refactor]),
@@ -387,7 +387,7 @@
}
Future<void> test_unavailableWithoutApplyEditSupport() async {
- newFile(mainFilePath);
+ newFile2(mainFilePath, '');
await initialize();
final codeActions = await getCodeActions(mainFileUri.toString());
diff --git a/pkg/analysis_server/test/lsp/completion_dart_test.dart b/pkg/analysis_server/test/lsp/completion_dart_test.dart
index 17744ff..4647afd 100644
--- a/pkg/analysis_server/test/lsp/completion_dart_test.dart
+++ b/pkg/analysis_server/test/lsp/completion_dart_test.dart
@@ -459,7 +459,7 @@
);
Future<void> test_completionKinds_default() async {
- newFile(join(projectFolderPath, 'file.dart'));
+ newFile2(join(projectFolderPath, 'file.dart'), '');
newFolder(join(projectFolderPath, 'folder'));
final content = "import '^';";
@@ -1161,7 +1161,7 @@
Future<void> test_nonAnalyzedFile() async {
final readmeFilePath = convertPath(join(projectFolderPath, 'README.md'));
- newFile(readmeFilePath, content: '');
+ newFile2(readmeFilePath, '');
await initialize();
final res = await getCompletion(Uri.file(readmeFilePath), startOfDocPos);
@@ -1274,9 +1274,9 @@
}
Future<void> test_unimportedSymbols() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'other_file.dart'),
- content: '''
+ '''
/// This class is in another file.
class InOtherFile {}
''',
@@ -1350,21 +1350,21 @@
test_unimportedSymbols_doesNotDuplicate_importedViaMultipleLibraries() async {
// An item that's already imported through multiple libraries that
// export it should not result in multiple entries.
- newFile(
+ newFile2(
join(projectFolderPath, 'lib/source_file.dart'),
- content: '''
+ '''
class MyExportedClass {}
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib/reexport1.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib/reexport2.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
@@ -1395,21 +1395,21 @@
test_unimportedSymbols_doesNotDuplicate_importedViaSingleLibrary() async {
// An item that's already imported through a library that exports it
// should not result in multiple entries.
- newFile(
+ newFile2(
join(projectFolderPath, 'lib/source_file.dart'),
- content: '''
+ '''
class MyExportedClass {}
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib/reexport1.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib/reexport2.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
@@ -1437,17 +1437,17 @@
Future<void> test_unimportedSymbols_doesNotFilterSymbolsWithSameName() async {
// Classes here are not re-exports, so should not be filtered out.
- newFile(
+ newFile2(
join(projectFolderPath, 'source_file1.dart'),
- content: 'class MyDuplicatedClass {}',
+ 'class MyDuplicatedClass {}',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'source_file2.dart'),
- content: 'class MyDuplicatedClass {}',
+ 'class MyDuplicatedClass {}',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'source_file3.dart'),
- content: 'class MyDuplicatedClass {}',
+ 'class MyDuplicatedClass {}',
);
final content = '''
@@ -1478,9 +1478,9 @@
}
Future<void> test_unimportedSymbols_enumValues() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'source_file.dart'),
- content: '''
+ '''
enum MyExportedEnum { One, Two }
''',
);
@@ -1542,21 +1542,21 @@
}
Future<void> test_unimportedSymbols_enumValuesAlreadyImported() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'source_file.dart'),
- content: '''
+ '''
enum MyExportedEnum { One, Two }
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'reexport1.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'reexport2.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
@@ -1586,21 +1586,21 @@
}
Future<void> test_unimportedSymbols_filtersOutAlreadyImportedSymbols() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'source_file.dart'),
- content: '''
+ '''
class MyExportedClass {}
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'reexport1.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'reexport2.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
@@ -1629,9 +1629,9 @@
}
Future<void> test_unimportedSymbols_importsPackageUri() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'lib', 'my_class.dart'),
- content: 'class MyClass {}',
+ 'class MyClass {}',
);
final content = '''
@@ -1660,21 +1660,21 @@
Future<void>
test_unimportedSymbols_includesReexportedSymbolsForEachFile() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'source_file.dart'),
- content: '''
+ '''
class MyExportedClass {}
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'reexport1.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
- newFile(
+ newFile2(
join(projectFolderPath, 'reexport2.dart'),
- content: '''
+ '''
export 'source_file.dart';
''',
);
@@ -1706,9 +1706,9 @@
}
Future<void> test_unimportedSymbols_insertReplaceRanges() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'other_file.dart'),
- content: '''
+ '''
/// This class is in another file.
class InOtherFile {}
''',
@@ -1799,16 +1799,16 @@
Future<void> test_unimportedSymbols_insertsIntoPartFiles() async {
// File we'll be adding an import for.
- newFile(
+ newFile2(
join(projectFolderPath, 'other_file.dart'),
- content: 'class InOtherFile {}',
+ 'class InOtherFile {}',
);
// File that will have the import added.
final parentContent = '''part 'main.dart';''';
- final parentFilePath = newFile(
+ final parentFilePath = newFile2(
join(projectFolderPath, 'lib', 'parent.dart'),
- content: parentContent,
+ parentContent,
).path;
// File that we're invoking completion in.
@@ -1889,9 +1889,9 @@
}
Future<void> test_unimportedSymbols_members() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'source_file.dart'),
- content: '''
+ '''
class MyExportedClass {
DateTime myInstanceDateTime;
static DateTime myStaticDateTimeField;
@@ -1979,7 +1979,7 @@
await initialAnalysis;
// Start with a blank file.
- newFile(otherFilePath, content: '');
+ newFile2(otherFilePath, '');
await openFile(otherFileUri, '');
await pumpEventQueue(times: 5000);
@@ -1997,9 +1997,9 @@
}
Future<void> test_unimportedSymbols_namedConstructors() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'other_file.dart'),
- content: '''
+ '''
/// This class is in another file.
class InOtherFile {
InOtherFile.fromJson() {}
@@ -2065,7 +2065,7 @@
join(projectFolderPath, 'lib', 'nested2', 'imported.dart');
// Create a file that will be auto-imported from completion.
- newFile(importedFilePath, content: 'class MyClass {}');
+ newFile2(importedFilePath, 'class MyClass {}');
final content = '''
void f() {
@@ -2103,7 +2103,7 @@
join(projectFolderPath, 'lib', 'nested2', 'imported.dart');
// Create a file that will be auto-imported from completion.
- newFile(importedFilePath, content: 'class MyClass {}');
+ newFile2(importedFilePath, 'class MyClass {}');
final content = '''
void f() {
@@ -2130,9 +2130,9 @@
}
Future<void> test_unimportedSymbols_unavailableIfDisabled() async {
- newFile(
+ newFile2(
join(projectFolderPath, 'other_file.dart'),
- content: 'class InOtherFile {}',
+ 'class InOtherFile {}',
);
final content = '''
@@ -2163,9 +2163,9 @@
Future<void> test_unimportedSymbols_unavailableWithoutApplyEdit() async {
// If client doesn't advertise support for workspace/applyEdit, we won't
// include suggestion sets.
- newFile(
+ newFile2(
join(projectFolderPath, 'other_file.dart'),
- content: 'class InOtherFile {}',
+ 'class InOtherFile {}',
);
final content = '''
@@ -2198,7 +2198,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final res = await getCompletion(mainFileUri, positionFromMarker(content));
expect(res.any((c) => c.label == 'abcdefghij'), isTrue);
@@ -2264,7 +2264,7 @@
void _enableLints(List<String> lintNames) {
registerLintRules();
final lintsYaml = lintNames.map((name) => ' - $name\n').join();
- newFile(analysisOptionsPath, content: '''
+ newFile2(analysisOptionsPath, '''
linter:
rules:
$lintsYaml
@@ -2309,10 +2309,9 @@
Future<void> test_completeFunctionCalls_requiredNamed_suggestionSet() async {
final otherFile = join(projectFolderPath, 'lib', 'other.dart');
- newFile(
+ newFile2(
otherFile,
- content:
- "void myFunction(String a, int b, {required String c, String d = ''}) {}",
+ "void myFunction(String a, int b, {required String c, String d = ''}) {}",
);
final content = '''
void f() {
@@ -2371,6 +2370,25 @@
@reflectiveTest
class DartSnippetCompletionTest extends SnippetCompletionTest {
+ Future<void> test_snippets_class() async {
+ final content = '''
+clas^
+''';
+
+ await initializeWithSnippetSupportAndPreviewFlag();
+ final updated = await expectAndApplySnippet(
+ content,
+ prefix: DartClassSnippetProducer.prefix,
+ label: DartClassSnippetProducer.label,
+ );
+
+ expect(updated, r'''
+class $1 {
+ $0
+}
+''');
+ }
+
Future<void> test_snippets_disabled() async {
final content = '^';
@@ -2590,6 +2608,56 @@
''');
}
+ Future<void> test_snippets_testBlock() async {
+ mainFilePath = join(projectFolderPath, 'test', 'foo_test.dart');
+ mainFileUri = Uri.file(mainFilePath);
+ final content = '''
+void f() {
+ test^
+}
+''';
+
+ await initializeWithSnippetSupportAndPreviewFlag();
+ final updated = await expectAndApplySnippet(
+ content,
+ prefix: DartTestBlockSnippetProducer.prefix,
+ label: DartTestBlockSnippetProducer.label,
+ );
+
+ expect(updated, r'''
+void f() {
+ test('$1', () {
+ $0
+ });
+}
+''');
+ }
+
+ Future<void> test_snippets_testGroupBlock() async {
+ mainFilePath = join(projectFolderPath, 'test', 'foo_test.dart');
+ mainFileUri = Uri.file(mainFilePath);
+ final content = '''
+void f() {
+ group^
+}
+''';
+
+ await initializeWithSnippetSupportAndPreviewFlag();
+ final updated = await expectAndApplySnippet(
+ content,
+ prefix: DartTestGroupBlockSnippetProducer.prefix,
+ label: DartTestGroupBlockSnippetProducer.label,
+ );
+
+ expect(updated, r'''
+void f() {
+ group('$1', () {
+ $0
+ });
+}
+''');
+ }
+
Future<void> test_snippets_tryCatch() async {
final content = '''
void f() {
diff --git a/pkg/analysis_server/test/lsp/completion_yaml_test.dart b/pkg/analysis_server/test/lsp/completion_yaml_test.dart
index 444b101..c1b0e04 100644
--- a/pkg/analysis_server/test/lsp/completion_yaml_test.dart
+++ b/pkg/analysis_server/test/lsp/completion_yaml_test.dart
@@ -502,7 +502,7 @@
dependencies:
one: ^2.3.4''';
- newFile(pubspecFilePath, content: content);
+ newFile2(pubspecFilePath, content);
await initialize();
await openFile(pubspecFileUri, withoutMarkers(content));
await pumpEventQueue(times: 500);
@@ -556,7 +556,7 @@
dependencies:
one: ^''';
- newFile(pubspecFilePath, content: content);
+ newFile2(pubspecFilePath, content);
await initialize();
await openFile(pubspecFileUri, withoutMarkers(content));
await pumpEventQueue(times: 500);
diff --git a/pkg/analysis_server/test/lsp/definition_test.dart b/pkg/analysis_server/test/lsp/definition_test.dart
index f15c592..1a5e7ee 100644
--- a/pkg/analysis_server/test/lsp/definition_test.dart
+++ b/pkg/analysis_server/test/lsp/definition_test.dart
@@ -87,7 +87,7 @@
);
configureTestPlugin(respondWith: pluginResult);
- newFile(pluginAnalyzedFilePath);
+ newFile2(pluginAnalyzedFilePath, '');
await initialize();
final res = await getDefinitionAsLocation(
pluginAnalyzedFileUri, lsp.Position(line: 0, character: 0));
@@ -189,7 +189,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize();
final res = await getDefinitionAsLocation(pubspecFileUri, startOfDocPos);
@@ -287,7 +287,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(contents));
+ newFile2(mainFilePath, withoutMarkers(contents));
await initialize();
final res = await getDefinitionAsLocation(
mainFileUri, positionFromMarker(contents));
diff --git a/pkg/analysis_server/test/lsp/diagnostic_test.dart b/pkg/analysis_server/test/lsp/diagnostic_test.dart
index 2d009c7..3a7f8e0 100644
--- a/pkg/analysis_server/test/lsp/diagnostic_test.dart
+++ b/pkg/analysis_server/test/lsp/diagnostic_test.dart
@@ -21,7 +21,7 @@
Future<void> checkPluginErrorsForFile(String pluginAnalyzedFilePath) async {
final pluginAnalyzedUri = Uri.file(pluginAnalyzedFilePath);
- newFile(pluginAnalyzedFilePath, content: '''String a = "Test";
+ newFile2(pluginAnalyzedFilePath, '''String a = "Test";
String b = "Test";
''');
await initialize();
@@ -68,7 +68,7 @@
Future<void> test_afterDocumentEdits() async {
const initialContents = 'int a = 1;';
- newFile(mainFilePath, content: initialContents);
+ newFile2(mainFilePath, initialContents);
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
await initialize();
@@ -84,7 +84,7 @@
}
Future<void> test_analysisOptionsFile() async {
- newFile(analysisOptionsPath, content: '''
+ newFile2(analysisOptionsPath, '''
linter:
rules:
- invalid_lint_rule_name
@@ -100,7 +100,7 @@
@FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/43926')
Future<void> test_analysisOptionsFile_packageInclude() async {
- newFile(analysisOptionsPath, content: '''
+ newFile2(analysisOptionsPath, '''
include: package:pedantic/analysis_options.yaml
''');
@@ -125,7 +125,7 @@
}
Future<void> test_contextMessage() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
void f() {
x = 0;
int x;
@@ -142,7 +142,7 @@
}
Future<void> test_correction() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
void f() {
x = 0;
}
@@ -157,7 +157,7 @@
}
Future<void> test_deletedFile() async {
- newFile(mainFilePath, content: 'String a = 1;');
+ newFile2(mainFilePath, 'String a = 1;');
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
await initialize();
@@ -172,7 +172,7 @@
}
Future<void> test_diagnosticTag_deprecated() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
@deprecated
int dep;
@@ -191,7 +191,7 @@
}
Future<void> test_diagnosticTag_notSupported() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
@deprecated
int dep;
@@ -208,7 +208,7 @@
}
Future<void> test_diagnosticTag_unnecessary() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
void main() {
return;
print('unreachable');
@@ -227,7 +227,7 @@
}
Future<void> test_documentationUrl() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
// ignore: unused_import
import 'dart:async' as import; // produces BUILT_IN_IDENTIFIER_IN_DECLARATION
''');
@@ -247,7 +247,7 @@
}
Future<void> test_documentationUrl_notSupported() async {
- newFile(mainFilePath, content: '''
+ newFile2(mainFilePath, '''
// ignore: unused_import
import 'dart:async' as import; // produces BUILT_IN_IDENTIFIER_IN_DECLARATION
''');
@@ -266,7 +266,7 @@
join(projectFolderPath, '.dart_tool', 'tool_file.dart');
var dotFolderFileUri = Uri.file(dotFolderFilePath);
- newFile(dotFolderFilePath, content: 'String a = 1;');
+ newFile2(dotFolderFilePath, 'String a = 1;');
List<Diagnostic>? diagnostics;
waitForDiagnostics(dotFolderFileUri).then((d) => diagnostics = d);
@@ -283,7 +283,7 @@
Future<void> test_fixDataFile() async {
var fixDataPath = join(projectFolderPath, 'lib', 'fix_data.yaml');
var fixDataUri = Uri.file(fixDataPath);
- newFile(fixDataPath, content: '''
+ newFile2(fixDataPath, '''
version: latest
''').path;
@@ -309,7 +309,7 @@
"A value of type 'int' can't be assigned to a variable of type 'String'";
final pluginErrorMessage = 'Test error from plugin';
- newFile(mainFilePath, content: 'String a = 1;');
+ newFile2(mainFilePath, 'String a = 1;');
final initialDiagnosticsFuture = waitForDiagnostics(mainFileUri);
await initialize();
final initialDiagnostics = await initialDiagnosticsFuture;
@@ -342,7 +342,7 @@
}
Future<void> test_initialAnalysis() async {
- newFile(mainFilePath, content: 'String a = 1;');
+ newFile2(mainFilePath, 'String a = 1;');
final diagnosticsUpdate = waitForDiagnostics(mainFileUri);
await initialize();
@@ -385,7 +385,7 @@
// FIXME: This
String a = "";
''';
- newFile(mainFilePath, content: contents);
+ newFile2(mainFilePath, contents);
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
await provideConfig(
@@ -403,7 +403,7 @@
// TODO: This
String a = "";
''';
- newFile(mainFilePath, content: contents);
+ newFile2(mainFilePath, contents);
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
// TODOs are disabled by default so we don't need to send any config.
@@ -449,7 +449,7 @@
// FIXME: This
String a = "";
''';
- newFile(mainFilePath, content: contents);
+ newFile2(mainFilePath, contents);
final firstDiagnosticsUpdate = waitForDiagnostics(mainFileUri);
await provideConfig(
diff --git a/pkg/analysis_server/test/lsp/document_color_test.dart b/pkg/analysis_server/test/lsp/document_color_test.dart
index 755752a..ff131a3 100644
--- a/pkg/analysis_server/test/lsp/document_color_test.dart
+++ b/pkg/analysis_server/test/lsp/document_color_test.dart
@@ -40,7 +40,7 @@
importRange = ranges[0];
colorRange = ranges[1];
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final colorPresentations = await getColorPresentation(
@@ -60,7 +60,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize();
final colors = await getColorPresentation(
@@ -80,7 +80,7 @@
colorRange = rangeFromMarkers(content);
final outsideRootFilePath = convertPath('/home/other/test.dart');
- newFile(outsideRootFilePath, content: withoutMarkers(content));
+ newFile2(outsideRootFilePath, withoutMarkers(content));
await initialize();
final colorPresentations = await getColorPresentation(
@@ -102,7 +102,7 @@
''';
colorRange = rangeFromMarkers(content);
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final colorPresentations = await getColorPresentation(
@@ -155,7 +155,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize();
final colors = await getDocumentColors(pubspecFileUri.toString());
@@ -168,7 +168,7 @@
const red = [[Colors.red]];
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final colors = await getDocumentColors(mainFileUri.toString());
diff --git a/pkg/analysis_server/test/lsp/document_symbols_test.dart b/pkg/analysis_server/test/lsp/document_symbols_test.dart
index 48ddc1b..c49bf01 100644
--- a/pkg/analysis_server/test/lsp/document_symbols_test.dart
+++ b/pkg/analysis_server/test/lsp/document_symbols_test.dart
@@ -24,7 +24,7 @@
light,
}
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize();
final result = await getDocumentSymbols(mainFileUri.toString());
@@ -53,7 +53,7 @@
light,
}
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
textDocumentCapabilities: withDocumentSymbolKinds(
emptyTextDocumentClientCapabilities,
@@ -90,7 +90,7 @@
extension StringExtensions on String {}
extension on String {}
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize();
final result = await getDocumentSymbols(mainFileUri.toString());
@@ -143,7 +143,7 @@
myMethod() {}
}
''';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(
textDocumentCapabilities: withHierarchicalDocumentSymbolSupport(
emptyTextDocumentClientCapabilities));
@@ -182,7 +182,7 @@
// When there are no analysis roots and we open a file, it should be added as
// a temporary root allowing us to service requests for it.
const content = 'class MyClass {}';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(allowEmptyRootUri: true);
await openFile(mainFileUri, content);
@@ -203,7 +203,7 @@
// When there are no analysis roots and we receive requests for a file that
// was not opened, we will reject the file due to not being analyzed.
const content = 'class MyClass {}';
- newFile(mainFilePath, content: content);
+ newFile2(mainFilePath, content);
await initialize(allowEmptyRootUri: true);
await expectLater(
@@ -213,7 +213,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize();
final result = await getDocumentSymbols(pubspecFileUri.toString());
diff --git a/pkg/analysis_server/test/lsp/folding_test.dart b/pkg/analysis_server/test/lsp/folding_test.dart
index 9d35988..2aa3b7c 100644
--- a/pkg/analysis_server/test/lsp/folding_test.dart
+++ b/pkg/analysis_server/test/lsp/folding_test.dart
@@ -143,7 +143,7 @@
''';
final ranges = rangesFromMarkers(content);
final withoutMarkers = withoutRangeMarkers(content);
- newFile(pluginAnalyzedFilePath);
+ newFile2(pluginAnalyzedFilePath, '');
await initialize();
await openFile(pluginAnalyzedUri, withoutMarkers);
@@ -173,7 +173,7 @@
);
''';
final withoutMarkers = withoutRangeMarkers(content);
- newFile(pluginAnalyzedFilePath, content: withoutMarkers);
+ newFile2(pluginAnalyzedFilePath, withoutMarkers);
await initialize();
await openFile(pluginAnalyzedUri, withoutMarkers);
diff --git a/pkg/analysis_server/test/lsp/format_test.dart b/pkg/analysis_server/test/lsp/format_test.dart
index f3d24e8..ad72337 100644
--- a/pkg/analysis_server/test/lsp/format_test.dart
+++ b/pkg/analysis_server/test/lsp/format_test.dart
@@ -695,7 +695,7 @@
print('test');
}
''';
- newFile(mainFilePath, content: contents);
+ newFile2(mainFilePath, contents);
await initialize();
await expectFormattedContents(mainFileUri, contents, expected);
}
diff --git a/pkg/analysis_server/test/lsp/hover_test.dart b/pkg/analysis_server/test/lsp/hover_test.dart
index bb8423b..9ac1ce2 100644
--- a/pkg/analysis_server/test/lsp/hover_test.dart
+++ b/pkg/analysis_server/test/lsp/hover_test.dart
@@ -316,7 +316,7 @@
String [[a^bc]];
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final hover = await getHover(mainFileUri, positionFromMarker(content));
expect(hover, isNotNull);
diff --git a/pkg/analysis_server/test/lsp/implementation_test.dart b/pkg/analysis_server/test/lsp/implementation_test.dart
index 195b46b..dabf3ec 100644
--- a/pkg/analysis_server/test/lsp/implementation_test.dart
+++ b/pkg/analysis_server/test/lsp/implementation_test.dart
@@ -151,7 +151,7 @@
''');
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize();
final res = await getImplementations(pubspecFileUri, startOfDocPos);
diff --git a/pkg/analysis_server/test/lsp/initialization_test.dart b/pkg/analysis_server/test/lsp/initialization_test.dart
index 6b43de8..2f693e4 100644
--- a/pkg/analysis_server/test/lsp/initialization_test.dart
+++ b/pkg/analysis_server/test/lsp/initialization_test.dart
@@ -33,15 +33,15 @@
Future<void> test_bazelWorkspace() async {
var workspacePath = '/home/user/ws';
// Make it a Bazel workspace.
- newFile(convertPath('$workspacePath/WORKSPACE'));
+ newFile2(convertPath('$workspacePath/WORKSPACE'), '');
var packagePath = '$workspacePath/team/project1';
// Make it a Blaze project.
- newFile(convertPath('$packagePath/BUILD'));
+ newFile2(convertPath('$packagePath/BUILD'), '');
final file1 = convertPath('$packagePath/lib/file1.dart');
- newFile(file1);
+ newFile2(file1, '');
await initialize(allowEmptyRootUri: true);
@@ -498,10 +498,10 @@
Future<void> test_emptyAnalysisRoots_multipleOpenFiles() async {
final file1 = join(projectFolderPath, 'file1.dart');
final file1Uri = Uri.file(file1);
- newFile(file1);
+ newFile2(file1, '');
final file2 = join(projectFolderPath, 'file2.dart');
final file2Uri = Uri.file(file2);
- newFile(file2);
+ newFile2(file2, '');
newPubspecYamlFile(projectFolderPath, '');
await initialize(allowEmptyRootUri: true);
@@ -532,7 +532,7 @@
final nestedFilePath = join(
projectFolderPath, 'nested', 'deeply', 'in', 'folders', 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
// The project folder shouldn't be added to start with.
await initialize(allowEmptyRootUri: true);
@@ -547,7 +547,7 @@
final nestedFilePath = join(
projectFolderPath, 'nested', 'deeply', 'in', 'folders', 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
newPubspecYamlFile(projectFolderPath, '');
// The project folder shouldn't be added to start with.
@@ -736,7 +736,7 @@
Future<void> test_nonProjectFiles_basicWorkspace() async {
final file1 = convertPath('/home/nonProject/file1.dart');
- newFile(file1);
+ newFile2(file1, '');
await initialize(allowEmptyRootUri: true);
@@ -747,10 +747,10 @@
Future<void> test_nonProjectFiles_bazelWorkspace() async {
final file1 = convertPath('/home/nonProject/file1.dart');
- newFile(file1);
+ newFile2(file1, '');
// Make /home a bazel workspace.
- newFile(convertPath('/home/WORKSPACE'));
+ newFile2(convertPath('/home/WORKSPACE'), '');
await initialize(allowEmptyRootUri: true);
@@ -781,10 +781,10 @@
Future<void> test_onlyAnalyzeProjectsWithOpenFiles_multipleFiles() async {
final file1 = join(projectFolderPath, 'file1.dart');
final file1Uri = Uri.file(file1);
- newFile(file1);
+ newFile2(file1, '');
final file2 = join(projectFolderPath, 'file2.dart');
final file2Uri = Uri.file(file2);
- newFile(file2);
+ newFile2(file2, '');
newPubspecYamlFile(projectFolderPath, '');
await initialize(
@@ -819,7 +819,7 @@
final nestedFilePath = join(
projectFolderPath, 'nested', 'deeply', 'in', 'folders', 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
// The project folder shouldn't be added to start with.
await initialize(
@@ -837,7 +837,7 @@
final nestedFilePath = join(
projectFolderPath, 'nested', 'deeply', 'in', 'folders', 'test.dart');
final nestedFileUri = Uri.file(nestedFilePath);
- newFile(nestedFilePath);
+ newFile2(nestedFilePath, '');
newPubspecYamlFile(projectFolderPath, '');
// The project folder shouldn't be added to start with.
diff --git a/pkg/analysis_server/test/lsp/reanalyze_test.dart b/pkg/analysis_server/test/lsp/reanalyze_test.dart
index 69afce8..0c3e3d5 100644
--- a/pkg/analysis_server/test/lsp/reanalyze_test.dart
+++ b/pkg/analysis_server/test/lsp/reanalyze_test.dart
@@ -17,7 +17,7 @@
class ReanalyzeTest extends AbstractLspAnalysisServerTest {
Future<void> test_reanalyze() async {
const initialContents = 'int a = 1;';
- newFile(mainFilePath, content: initialContents);
+ newFile2(mainFilePath, initialContents);
final initialAnalysis = waitForAnalysisComplete();
diff --git a/pkg/analysis_server/test/lsp/references_test.dart b/pkg/analysis_server/test/lsp/references_test.dart
index 350de59..df007e5 100644
--- a/pkg/analysis_server/test/lsp/references_test.dart
+++ b/pkg/analysis_server/test/lsp/references_test.dart
@@ -102,7 +102,7 @@
}
Future<void> test_nonDartFile() async {
- newFile(pubspecFilePath, content: simplePubspecContent);
+ newFile2(pubspecFilePath, simplePubspecContent);
await initialize();
final res = await getReferences(pubspecFileUri, startOfDocPos);
@@ -137,7 +137,7 @@
}
''';
- newFile(mainFilePath, content: withoutMarkers(contents));
+ newFile2(mainFilePath, withoutMarkers(contents));
await initialize();
final res = await getReferences(mainFileUri, positionFromMarker(contents));
diff --git a/pkg/analysis_server/test/lsp/rename_test.dart b/pkg/analysis_server/test/lsp/rename_test.dart
index f62944d..ddb3df6 100644
--- a/pkg/analysis_server/test/lsp/rename_test.dart
+++ b/pkg/analysis_server/test/lsp/rename_test.dart
@@ -244,7 +244,7 @@
''';
final otherFilePath = join(projectFolderPath, 'lib', 'other.dart');
final newMainFilePath = join(projectFolderPath, 'lib', 'my_new_main.dart');
- newFile(mainFilePath, content: withoutMarkers(mainContent));
+ newFile2(mainFilePath, withoutMarkers(mainContent));
await pumpEventQueue(times: 5000);
await provideConfig(
() async {
@@ -539,7 +539,7 @@
final a = new [[Ob^ject]]();
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final request = makeRequest(
diff --git a/pkg/analysis_server/test/lsp/server_abstract.dart b/pkg/analysis_server/test/lsp/server_abstract.dart
index 4d5a6c4..fbfbeb1 100644
--- a/pkg/analysis_server/test/lsp/server_abstract.dart
+++ b/pkg/analysis_server/test/lsp/server_abstract.dart
@@ -210,7 +210,7 @@
newFolder(join(projectFolderPath, 'lib'));
// Create a folder and file to aid testing that includes imports/completion.
newFolder(join(projectFolderPath, 'lib', 'folder'));
- newFile(join(projectFolderPath, 'lib', 'file.dart'));
+ newFile2(join(projectFolderPath, 'lib', 'file.dart'), '');
mainFilePath = join(projectFolderPath, 'lib', 'main.dart');
mainFileUri = Uri.file(mainFilePath);
pubspecFilePath = join(projectFolderPath, file_paths.pubspecYaml);
@@ -610,7 +610,7 @@
var path = '$projectFolderPath/.dart_tool/package_config.json';
var content = config.toContent(toUriStr: toUriStr);
- newFile(path, content: content);
+ newFile2(path, content);
}
}
diff --git a/pkg/analysis_server/test/lsp/signature_help_test.dart b/pkg/analysis_server/test/lsp/signature_help_test.dart
index a9de8f5..17ffa43 100644
--- a/pkg/analysis_server/test/lsp/signature_help_test.dart
+++ b/pkg/analysis_server/test/lsp/signature_help_test.dart
@@ -582,7 +582,7 @@
final expectedLabel = 'foo(String s, int i)';
final expectedDoc = 'Does foo.';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize(
textDocumentCapabilities: withSignatureHelpContentFormat(
emptyTextDocumentClientCapabilities, [MarkupKind.Markdown]));
diff --git a/pkg/analysis_server/test/lsp/workspace_symbols_test.dart b/pkg/analysis_server/test/lsp/workspace_symbols_test.dart
index f81b17a..3af1f88 100644
--- a/pkg/analysis_server/test/lsp/workspace_symbols_test.dart
+++ b/pkg/analysis_server/test/lsp/workspace_symbols_test.dart
@@ -22,7 +22,7 @@
extension StringExtensions on String {}
extension on String {}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final symbols = await getWorkspaceSymbols('S');
@@ -44,7 +44,7 @@
myMethod() {}
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final symbols = await getWorkspaceSymbols('topLevel');
@@ -69,7 +69,7 @@
myMethod() {}
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
// meld should match myField
@@ -118,7 +118,7 @@
[[myMethodWithArgs(int a) {}]]
}
''';
- newFile(mainFilePath, content: withoutMarkers(content));
+ newFile2(mainFilePath, withoutMarkers(content));
await initialize();
final symbols = await getWorkspaceSymbols('my');
diff --git a/pkg/analysis_server/test/search/declarations_test.dart b/pkg/analysis_server/test/search/declarations_test.dart
index 3c0a02f..c5f71ad 100644
--- a/pkg/analysis_server/test/search/declarations_test.dart
+++ b/pkg/analysis_server/test/search/declarations_test.dart
@@ -83,11 +83,11 @@
}
Future<void> test_maxResults() async {
- newFile(join(testFolder, 'a.dart'), content: r'''
+ newFile2(join(testFolder, 'a.dart'), r'''
class A {}
class B {}
''').path;
- newFile(join(testFolder, 'b.dart'), content: r'''
+ newFile2(join(testFolder, 'b.dart'), r'''
class C {}
class D {}
''').path;
@@ -124,8 +124,8 @@
}
Future<void> test_multipleFiles() async {
- var a = newFile(join(testFolder, 'a.dart'), content: 'class A {}').path;
- var b = newFile(join(testFolder, 'b.dart'), content: 'class B {}').path;
+ var a = newFile2(join(testFolder, 'a.dart'), 'class A {}').path;
+ var b = newFile2(join(testFolder, 'b.dart'), 'class B {}').path;
await _getDeclarations();
@@ -153,8 +153,8 @@
}
Future<void> test_onlyForFile() async {
- var a = newFile(join(testFolder, 'a.dart'), content: 'class A {}').path;
- newFile(join(testFolder, 'b.dart'), content: 'class B {}').path;
+ var a = newFile2(join(testFolder, 'a.dart'), 'class A {}').path;
+ newFile2(join(testFolder, 'b.dart'), 'class B {}').path;
await _getDeclarations(file: a);
diff --git a/pkg/analysis_server/test/search/type_hierarchy_test.dart b/pkg/analysis_server/test/search/type_hierarchy_test.dart
index 2b1903c..589e9a5 100644
--- a/pkg/analysis_server/test/search/type_hierarchy_test.dart
+++ b/pkg/analysis_server/test/search/type_hierarchy_test.dart
@@ -164,21 +164,21 @@
Future<void> test_class_extends_fileAndPackageUris() async {
// prepare packages
- newFile('/packages/pkgA/lib/libA.dart', content: '''
+ newFile2('/packages/pkgA/lib/libA.dart', '''
library lib_a;
class A {}
class B extends A {}
''');
newPackageConfigJsonFile(
'/packages/pkgA',
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'pkgA', rootPath: '/packages/pkgA'))
.toContent(toUriStr: toUriStr),
);
// reference the package from a project
newPackageConfigJsonFile(
projectPath,
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'pkgA', rootPath: '/packages/pkgA'))
.toContent(toUriStr: toUriStr),
);
@@ -652,7 +652,7 @@
}
Future<void> test_class_member_method_private_differentLib() async {
- newFile(join(testFolder, 'lib.dart'), content: r'''
+ newFile2(join(testFolder, 'lib.dart'), r'''
import 'test.dart';
class A {
void _m() {}
diff --git a/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
index 142d6f6..66791e5 100644
--- a/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/arglist_contributor_test.dart
@@ -732,7 +732,7 @@
await computeAndCheck();
// Annotation, imported class.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
const A$parameters;
}
@@ -746,7 +746,7 @@
await computeAndCheck();
// Annotation, imported class, prefixed.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
const A$parameters;
}
@@ -789,7 +789,7 @@
await computeAndCheck();
// Instance creation, imported class, generative.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
A$parameters;
}
@@ -802,7 +802,7 @@
await computeAndCheck();
// Instance creation, imported class, factory.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
factory A$parameters => throw 0;
}
@@ -833,7 +833,7 @@
await computeAndCheck();
// Method invocation, imported function.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
void f$parameters() {}
''');
addTestSource2('''
diff --git a/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart b/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart
index e1c149a..555a28f 100644
--- a/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/completion_manager_test.dart
@@ -32,7 +32,7 @@
}
Future<void> test_resolveDirectives() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
library libA;
/// My class.
/// Short description.
@@ -40,7 +40,7 @@
/// Longer description.
class A {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
library libB;
import "a.dart" as foo;
part 'test.dart';
diff --git a/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart b/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart
index 66a1a19..e06f764 100644
--- a/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/declaration/enum_test.dart
@@ -59,7 +59,7 @@
}
Future<void> test_enumConstantName_imported_withPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum MyEnum { foo01 }
''');
@@ -119,7 +119,7 @@
}
Future<void> test_enumName_imported_withPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum MyEnum { foo01 }
''');
@@ -155,7 +155,7 @@
@FailingTest(reason: 'element.kind is LIBRARY')
Future<void> test_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum MyEnum { v }
''');
@@ -189,7 +189,7 @@
}
Future<void> test_importPrefix_dot() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum MyEnum { v }
''');
@@ -246,7 +246,7 @@
}
Future<void> test_nothing_imported_withPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum MyEnum { v }
''');
@@ -304,7 +304,7 @@
// imported
{
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
$declaration
''');
if (isProtocolVersion1) {
@@ -321,7 +321,7 @@
// not imported
{
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
$declaration
''');
if (isProtocolVersion1) {
diff --git a/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
index 534635b..4305c13 100644
--- a/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/imported_reference_contributor_test.dart
@@ -1237,7 +1237,7 @@
}
Future<void> test_Block_unimported() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('void f() { ^ }');
@@ -1971,7 +1971,7 @@
}
Future<void> test_ExtendsClause() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('''
import 'a.dart';
@@ -1982,7 +1982,7 @@
}
Future<void> test_ExtensionDeclaration_extendedType() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('''
import 'a.dart';
@@ -1994,7 +1994,7 @@
}
Future<void> test_ExtensionDeclaration_extendedType2() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('''
import 'a.dart';
@@ -2006,7 +2006,7 @@
}
Future<void> test_ExtensionDeclaration_member() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('''
import 'a.dart';
@@ -2697,7 +2697,7 @@
}
Future<void> test_implementsClause() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('''
import 'a.dart';
@@ -4898,7 +4898,7 @@
}
Future<void> test_withClause_mixin() async {
- newFile('$testPackageLibPath/a.dart', content: 'mixin M {}');
+ newFile2('$testPackageLibPath/a.dart', 'mixin M {}');
addTestSource('''
import 'a.dart';
diff --git a/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart
index d9dc05e..5f1ccc7 100644
--- a/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/library_member_contributor_test.dart
@@ -104,7 +104,7 @@
Future<void> test_libraryPrefix_deferred_inPart() async {
// SimpleIdentifier PrefixedIdentifier ExpressionStatement
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
library testA;
import "dart:async" deferred as bar;
part "test.dart";''');
@@ -118,8 +118,8 @@
}
Future<void> test_libraryPrefix_with_exports() async {
- newFile('$testPackageLibPath/a.dart', content: 'library libA; class A { }');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', 'library libA; class A { }');
+ newFile2('$testPackageLibPath/b.dart', '''
library libB;
export "a.dart";
class B { }
@@ -194,12 +194,12 @@
Future<void> test_PrefixedIdentifier_library_inPart() async {
// SimpleIdentifier PrefixedIdentifier ExpressionStatement
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
var T1;
class X { }
class Y { }''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
library testA;
import "b.dart" as b;
part "test.dart";
@@ -225,7 +225,7 @@
Future<void> test_PrefixedIdentifier_library_typesOnly() async {
// SimpleIdentifier PrefixedIdentifier NamedType
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
var T1;
class X { }
@@ -258,7 +258,7 @@
Future<void> test_PrefixedIdentifier_library_typesOnly2() async {
// SimpleIdentifier PrefixedIdentifier NamedType
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
var T1;
class X { }
@@ -283,7 +283,7 @@
Future<void> test_PrefixedIdentifier_parameter() async {
// SimpleIdentifier PrefixedIdentifier ExpressionStatement
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
class _W {M y; var _z;}
class X extends _W {}
@@ -297,7 +297,7 @@
Future<void> test_PrefixedIdentifier_prefix() async {
// SimpleIdentifier PrefixedIdentifier ExpressionStatement
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {static int bar = 10;}
_B() {}''');
addTestSource('''
diff --git a/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart
index 52c6b90..5c1dd55 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_library_contributor_test.dart
@@ -29,12 +29,12 @@
Future<void> test_partFile_Constructor() async {
// SimpleIdentifier NamedType ConstructorName
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
int T1;
F1() { }
class X {X.c(); X._d(); z() {}}''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
library libA;
import "b.dart";
part "test.dart";
@@ -64,12 +64,12 @@
Future<void> test_partFile_Constructor2() async {
// SimpleIdentifier NamedType ConstructorName
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
int T1;
F1() { }
class X {X.c(); X._d(); z() {}}''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
part of libA;
class B { }''');
addTestSource('''
@@ -97,7 +97,7 @@
}
Future<void> test_partFile_extension() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
part of libA;
extension E on int {}
''');
@@ -115,12 +115,12 @@
Future<void>
test_partFile_InstanceCreationExpression_assignment_filter() async {
// ConstructorName InstanceCreationExpression VariableDeclarationList
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
int T1;
F1() { }
class X {X.c(); X._d(); z() {}}''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
part of libA;
class A {} class B extends A {} class C implements A {} class D {}
''');
@@ -162,12 +162,12 @@
Future<void>
test_partFile_InstanceCreationExpression_variable_declaration_filter() async {
// ConstructorName InstanceCreationExpression VariableDeclarationList
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
int T1;
F1() { }
class X {X.c(); X._d(); z() {}}''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
part of libA;
class A {} class B extends A {} class C implements A {} class D {}
''');
@@ -205,12 +205,12 @@
}
Future<void> test_partFile_TypeName() async {
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
int T1;
F1() { }
class X {X.c(); X._d(); z() {}}''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
library libA;
import "b.dart";
part "test.dart";
@@ -254,12 +254,12 @@
}
Future<void> test_partFile_TypeName2() async {
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
lib B;
int T1;
F1() { }
class X {X.c(); X._d(); z() {}}''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
part of libA;
class B { var b1; b2(){}}
int bf() => 0;
diff --git a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
index 235ed40..45e5c5d 100644
--- a/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/local_reference_contributor_test.dart
@@ -1512,7 +1512,7 @@
}
Future<void> test_Block_unimported() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('void f() { ^ }');
await computeSuggestions();
diff --git a/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart
index df03716..01f664e 100644
--- a/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/override_contributor_test.dart
@@ -462,7 +462,7 @@
}
Future<void> test_private_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void foo() {}
void _bar() {}
diff --git a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
index a5d53f4..ea54cb1 100644
--- a/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/type_member_contributor_test.dart
@@ -1079,7 +1079,7 @@
}
Future<void> test_Block_unimported() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
addTestSource('void f() { ^ }');
await computeSuggestions();
diff --git a/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart b/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
index db354c4..e2d0297 100644
--- a/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
+++ b/pkg/analysis_server/test/services/completion/dart/uri_contributor_test.dart
@@ -75,9 +75,9 @@
Future<void> test_export_package2() async {
var fooRootPath = '$workspaceRootPath/foo';
var barRootPath = '$workspaceRootPath/bar';
- newFile('$fooRootPath/lib/foo.dart', content: 'library foo;');
- newFile('$fooRootPath/lib/baz/too.dart', content: 'library too;');
- newFile('$barRootPath/lib/bar.dart', content: 'library bar;');
+ newFile2('$fooRootPath/lib/foo.dart', 'library foo;');
+ newFile2('$fooRootPath/lib/baz/too.dart', 'library too;');
+ newFile2('$barRootPath/lib/bar.dart', 'library bar;');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -144,9 +144,9 @@
Future<void> test_import_file() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "^" import');
await computeSuggestions();
@@ -162,9 +162,9 @@
Future<void> test_import_file2() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "..^" import');
await computeSuggestions();
@@ -180,9 +180,9 @@
Future<void> test_import_file_child() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "foo/^" import');
await computeSuggestions();
@@ -197,10 +197,10 @@
}
Future<void> test_import_file_outside_lib() async {
- newFile('$testPackageLibPath/other.dart');
- newFile('$testPackageLibPath/foo/bar.dart');
- newFile('$testPackageRootPath/blat.dart');
- newFile('$testPackageRootPath/bin/boo.dart');
+ newFile2('$testPackageLibPath/other.dart', '');
+ newFile2('$testPackageLibPath/foo/bar.dart', '');
+ newFile2('$testPackageRootPath/blat.dart', '');
+ newFile2('$testPackageRootPath/bin/boo.dart', '');
addTestSource('import "../^" import');
await computeSuggestions();
@@ -218,10 +218,10 @@
Future<void> test_import_file_parent() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
- newFile('$workspaceRootPath/aaa/boo.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
+ newFile2('$workspaceRootPath/aaa/boo.dart', '');
addTestSource('import "../^" import');
await computeSuggestions();
@@ -238,9 +238,9 @@
Future<void> test_import_file_parent2() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "../b^" import');
await computeSuggestions();
@@ -265,8 +265,8 @@
Future<void> test_import_only_dart_files() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newAnalysisOptionsYamlFile(testPackageRootPath);
+ newFile2('$testPackageRootPath/other.dart', '');
+ newAnalysisOptionsYamlFile2(testPackageRootPath, '');
addTestSource('import "package:^";');
await computeSuggestions();
@@ -276,9 +276,9 @@
Future<void> test_import_package() async {
var fooRootPath = '$workspaceRootPath/foo';
var barRootPath = '$workspaceRootPath/bar';
- newFile('$fooRootPath/lib/foo.dart');
- newFile('$fooRootPath/lib/baz/too.dart');
- newFile('$barRootPath/lib/bar.dart');
+ newFile2('$fooRootPath/lib/foo.dart', '');
+ newFile2('$fooRootPath/lib/baz/too.dart', '');
+ newFile2('$barRootPath/lib/bar.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -304,9 +304,9 @@
Future<void> test_import_package2() async {
var fooRootPath = '$workspaceRootPath/foo';
var barRootPath = '$workspaceRootPath/bar';
- newFile('$fooRootPath/lib/foo.dart');
- newFile('$fooRootPath/lib/baz/too.dart');
- newFile('$barRootPath/lib/bar.dart');
+ newFile2('$fooRootPath/lib/foo.dart', '');
+ newFile2('$fooRootPath/lib/baz/too.dart', '');
+ newFile2('$barRootPath/lib/bar.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -323,9 +323,9 @@
Future<void> test_import_package2_raw() async {
var fooRootPath = '$workspaceRootPath/foo';
var barRootPath = '$workspaceRootPath/bar';
- newFile('$fooRootPath/lib/foo.dart');
- newFile('$fooRootPath/lib/baz/too.dart');
- newFile('$barRootPath/lib/bar.dart');
+ newFile2('$fooRootPath/lib/foo.dart', '');
+ newFile2('$fooRootPath/lib/baz/too.dart', '');
+ newFile2('$barRootPath/lib/bar.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -342,9 +342,9 @@
Future<void> test_import_package2_with_trailing() async {
var fooRootPath = '$workspaceRootPath/foo';
var barRootPath = '$workspaceRootPath/bar';
- newFile('$fooRootPath/lib/foo.dart');
- newFile('$fooRootPath/lib/baz/too.dart');
- newFile('$barRootPath/lib/bar.dart');
+ newFile2('$fooRootPath/lib/foo.dart', '');
+ newFile2('$fooRootPath/lib/baz/too.dart', '');
+ newFile2('$barRootPath/lib/bar.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -379,9 +379,9 @@
Future<void> test_import_package_raw() async {
var fooRootPath = '$workspaceRootPath/foo';
var barRootPath = '$workspaceRootPath/bar';
- newFile('$fooRootPath/lib/foo.dart');
- newFile('$fooRootPath/lib/baz/too.dart');
- newFile('$barRootPath/lib/bar.dart');
+ newFile2('$fooRootPath/lib/foo.dart', '');
+ newFile2('$fooRootPath/lib/baz/too.dart', '');
+ newFile2('$barRootPath/lib/bar.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -479,9 +479,9 @@
Future<void> test_part_file() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "^" import');
await computeSuggestions();
@@ -497,9 +497,9 @@
Future<void> test_part_file2() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "..^" import');
await computeSuggestions();
@@ -515,9 +515,9 @@
Future<void> test_part_file_child() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "foo/^" import');
await computeSuggestions();
@@ -533,9 +533,9 @@
Future<void> test_part_file_parent() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "../^" import');
await computeSuggestions();
@@ -567,9 +567,9 @@
Future<void> test_import_file() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "^" import');
await computeSuggestions();
@@ -585,9 +585,9 @@
Future<void> test_import_file2() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "..^" import');
await computeSuggestions();
@@ -603,9 +603,9 @@
Future<void> test_import_file_child() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "foo/^" import');
await computeSuggestions();
@@ -621,9 +621,9 @@
Future<void> test_import_file_parent() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "../^" import');
await computeSuggestions();
@@ -639,9 +639,9 @@
Future<void> test_import_file_parent2() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('import "../b^" import');
await computeSuggestions();
@@ -657,9 +657,9 @@
Future<void> test_part_file() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "^" import');
await computeSuggestions();
@@ -675,9 +675,9 @@
Future<void> test_part_file2() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "..^" import');
await computeSuggestions();
@@ -693,9 +693,9 @@
Future<void> test_part_file_child() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "foo/^" import');
await computeSuggestions();
@@ -711,9 +711,9 @@
Future<void> test_part_file_parent() async {
testFile = convertPath('$testPackageRootPath/test.dart');
- newFile('$testPackageRootPath/other.dart');
- newFile('$testPackageRootPath/foo/bar.dart');
- newFile('$workspaceRootPath/blat.dart');
+ newFile2('$testPackageRootPath/other.dart', '');
+ newFile2('$testPackageRootPath/foo/bar.dart', '');
+ newFile2('$workspaceRootPath/blat.dart', '');
addTestSource('library x; part "../^" import');
await computeSuggestions();
diff --git a/pkg/analysis_server/test/services/completion/postfix/postfix_completion_test.dart b/pkg/analysis_server/test/services/completion/postfix/postfix_completion_test.dart
index bc6f11e..7676492 100644
--- a/pkg/analysis_server/test/services/completion/postfix/postfix_completion_test.dart
+++ b/pkg/analysis_server/test/services/completion/postfix/postfix_completion_test.dart
@@ -739,7 +739,7 @@
}
Future<void> test_tryonThrowStatement_nnbd_into_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
String? x;
''');
await _prepareCompletion('.tryon', '''
@@ -763,7 +763,7 @@
}
Future<void> test_tryonThrowStatement_nnbd_into_legacy_nested() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
List<String?> x;
''');
await _prepareCompletion('.tryon', '''
@@ -787,7 +787,7 @@
}
Future<void> test_tryonThrowStatement_nnbd_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.8
String x;
''');
@@ -810,7 +810,7 @@
}
Future<void> test_tryonThrowStatement_nnbd_legacy_nested() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.8
List<String> x;
''');
diff --git a/pkg/analysis_server/test/services/correction/util_test.dart b/pkg/analysis_server/test/services/correction/util_test.dart
index d6dc428..3269037 100644
--- a/pkg/analysis_server/test/services/correction/util_test.dart
+++ b/pkg/analysis_server/test/services/correction/util_test.dart
@@ -196,8 +196,8 @@
Future<void>
test_addLibraryImports_package_hasDart_hasPackages_insertAfter() async {
- newFile('$workspaceRootPath/aaa/lib/aaa.dart');
- newFile('$workspaceRootPath/bbb/lib/bbb.dart');
+ newFile2('$workspaceRootPath/aaa/lib/aaa.dart', '');
+ newFile2('$workspaceRootPath/bbb/lib/bbb.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -221,8 +221,8 @@
Future<void>
test_addLibraryImports_package_hasDart_hasPackages_insertBefore() async {
- newFile('$workspaceRootPath/aaa/lib/aaa.dart');
- newFile('$workspaceRootPath/bbb/lib/bbb.dart');
+ newFile2('$workspaceRootPath/aaa/lib/aaa.dart', '');
+ newFile2('$workspaceRootPath/bbb/lib/bbb.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -245,10 +245,10 @@
}
Future<void> test_addLibraryImports_package_hasImports_between() async {
- newFile('$workspaceRootPath/aaa/lib/aaa.dart');
- newFile('$workspaceRootPath/bbb/lib/bbb.dart');
- newFile('$workspaceRootPath/ccc/lib/ccc.dart');
- newFile('$workspaceRootPath/ddd/lib/ddd.dart');
+ newFile2('$workspaceRootPath/aaa/lib/aaa.dart', '');
+ newFile2('$workspaceRootPath/bbb/lib/bbb.dart', '');
+ newFile2('$workspaceRootPath/ccc/lib/ccc.dart', '');
+ newFile2('$workspaceRootPath/ddd/lib/ddd.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
diff --git a/pkg/analysis_server/test/services/refactoring/move_file_test.dart b/pkg/analysis_server/test/services/refactoring/move_file_test.dart
index 7c2c008..bb098d2 100644
--- a/pkg/analysis_server/test/services/refactoring/move_file_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/move_file_test.dart
@@ -24,10 +24,10 @@
Future<void> test_file_containing_imports_exports_parts() async {
final root = '/home/test/000/1111';
testFile = convertPath('$root/test.dart');
- newFile('/absolute/uri.dart', content: '');
- final fileA = newFile('$root/a.dart', content: 'part of lib;');
- final fileB = newFile('$root/b.dart', content: "import 'test.dart';");
- final fileC = newFile('$root/22/c.dart', content: '');
+ newFile2('/absolute/uri.dart', '');
+ final fileA = newFile2('$root/a.dart', 'part of lib;');
+ final fileB = newFile2('$root/b.dart', "import 'test.dart';");
+ final fileC = newFile2('$root/22/c.dart', '');
verifyNoTestUnitErrors = false;
await resolveTestCode('''
library lib;
@@ -55,7 +55,7 @@
}
Future<void> test_file_imported_with_package_uri_down() async {
- var file = newFile('$testPackageLibPath/old_name.dart', content: '');
+ var file = newFile2('$testPackageLibPath/old_name.dart', '');
addTestSource(r'''
import 'package:test/old_name.dart';
''');
@@ -79,8 +79,7 @@
@failingTest
Future<void> test_file_imported_with_package_uri_lib_change() async {
// The current testing stack does not support creating such bazel roots
- var file =
- newFile('/home/test0/test1/test2/lib/111/name.dart', content: '');
+ var file = newFile2('/home/test0/test1/test2/lib/111/name.dart', '');
addTestSource(r'''
import 'package:test0.test1.test2/111/name.dart';
''');
@@ -103,8 +102,7 @@
@failingTest
Future<void> test_file_imported_with_package_uri_lib_change_down() async {
// The current testing stack does not support creating such bazel roots
- var file =
- newFile('/home/test0/test1/test2/lib/111/name.dart', content: '');
+ var file = newFile2('/home/test0/test1/test2/lib/111/name.dart', '');
addTestSource(r'''
import 'package:test0.test1.test2/111/name.dart';
''');
@@ -127,8 +125,7 @@
@failingTest
Future<void> test_file_imported_with_package_uri_lib_change_up() async {
// The current testing stack does not support creating such bazel roots
- var file =
- newFile('/home/test0/test1/test2/lib/111/name.dart', content: '');
+ var file = newFile2('/home/test0/test1/test2/lib/111/name.dart', '');
addTestSource(r'''
import 'package:test0.test1.test2/111/name.dart';
''');
@@ -149,7 +146,7 @@
}
Future<void> test_file_imported_with_package_uri_sideways() async {
- var file = newFile('$testPackageLibPath/111/old_name.dart', content: '');
+ var file = newFile2('$testPackageLibPath/111/old_name.dart', '');
addTestSource(r'''
import 'package:test/111/old_name.dart';
''');
@@ -171,7 +168,7 @@
}
Future<void> test_file_imported_with_package_uri_up() async {
- var file = newFile('$testPackageLibPath/222/old_name.dart', content: '');
+ var file = newFile2('$testPackageLibPath/222/old_name.dart', '');
addTestSource(r'''
import 'package:test/222/old_name.dart';
''');
diff --git a/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart b/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart
index 524da05..7ce9136 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_class_member_test.dart
@@ -740,7 +740,7 @@
Future<void> test_createChange_MethodElement_potential_inPubCache() async {
var externalPath = '$packagesRootPath/aaa/lib/lib.dart';
- newFile(externalPath, content: r'''
+ newFile2(externalPath, r'''
processObj(p) {
p.test();
}
@@ -819,7 +819,7 @@
}
Future<void> test_createChange_outsideOfProject_declarationInPackage() async {
- newFile('$workspaceRootPath/aaa/lib/aaa.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/aaa.dart', r'''
class A {
void test() {}
}
@@ -867,7 +867,7 @@
}
Future<void> test_createChange_outsideOfProject_referenceInPart() async {
- newFile('/home/part.dart', content: r'''
+ newFile2('/home/part.dart', r'''
part of test;
void foo(A a) {
diff --git a/pkg/analysis_server/test/services/refactoring/rename_local_test.dart b/pkg/analysis_server/test/services/refactoring/rename_local_test.dart
index 16a846e..5d0000b 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_local_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_local_test.dart
@@ -475,12 +475,12 @@
var a = convertPath('$testPackageLibPath/a.dart');
var b = convertPath('$testPackageLibPath/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {
A({test});
}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
void f() {
diff --git a/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart b/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
index e0ebb09..34c0d21 100644
--- a/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/rename_unit_member_test.dart
@@ -236,7 +236,7 @@
}
Future<void> test_checkInitialConditions_outsideOfProject() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {}
''');
@@ -644,7 +644,7 @@
}
Future<void> test_createChange_outsideOfProject_referenceInPart() async {
- newFile('/home/part.dart', content: r'''
+ newFile2('/home/part.dart', r'''
part of test;
Test test2;
diff --git a/pkg/analysis_server/test/services/search/search_engine_test.dart b/pkg/analysis_server/test/services/search/search_engine_test.dart
index 0097edb..6a43b83 100644
--- a/pkg/analysis_server/test/services/search/search_engine_test.dart
+++ b/pkg/analysis_server/test/services/search/search_engine_test.dart
@@ -31,7 +31,7 @@
String get testFilePath => '$testPackageLibPath/test.dart';
void addTestFile(String content) {
- newFile(testFilePath, content: content);
+ newFile2(testFilePath, content);
}
/// Resolve the file with the [path] into [result].
@@ -62,7 +62,7 @@
}
Future<void> test_membersOfSubtypes_classByClass_hasMembers() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void a() {}
void b() {}
@@ -70,14 +70,14 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class B extends A {
void a() {}
}
''');
- newFile('$testPackageLibPath/c.dart', content: '''
+ newFile2('$testPackageLibPath/c.dart', '''
import 'a.dart';
class C extends A {
void b() {}
@@ -126,7 +126,7 @@
}
Future<void> test_membersOfSubtypes_noMembers() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void a() {}
void b() {}
@@ -134,7 +134,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class B extends A {}
''');
@@ -147,7 +147,7 @@
}
Future<void> test_membersOfSubtypes_noSubtypes() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void a() {}
void b() {}
@@ -155,7 +155,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class B {
void a() {}
@@ -170,7 +170,7 @@
}
Future<void> test_membersOfSubtypes_private() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void a() {}
void _b() {}
@@ -181,7 +181,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class C extends A {
void a() {}
@@ -219,12 +219,12 @@
Future<void> test_searchAllSubtypes_acrossDrivers() async {
var aaaRootPath = _configureForPackage_aaa();
- newFile('$aaaRootPath/lib/a.dart', content: '''
+ newFile2('$aaaRootPath/lib/a.dart', '''
class T {}
class A extends T {}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'package:aaa/a.dart';
class B extends A {}
class C extends B {}
@@ -279,8 +279,8 @@
int test;
''';
- newFile('$testPackageLibPath/a.dart', content: codeA);
- newFile('$testPackageLibPath/b.dart', content: codeB);
+ newFile2('$testPackageLibPath/a.dart', codeA);
+ newFile2('$testPackageLibPath/b.dart', codeB);
var matches = await searchEngine.searchMemberDeclarations('test');
expect(matches, hasLength(2));
@@ -299,7 +299,7 @@
}
Future<void> test_searchMemberReferences() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
int test;
}
@@ -308,7 +308,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
bar(p) {
p.test = 1;
@@ -330,7 +330,7 @@
Future<void> test_searchReferences() async {
var aaaRootPath = _configureForPackage_aaa();
- newFile('$aaaRootPath/lib/a.dart', content: '''
+ newFile2('$aaaRootPath/lib/a.dart', '''
class T {}
T a;
''');
@@ -352,11 +352,11 @@
Future<void> test_searchReferences_discover_owned() async {
var aaaRootPath = _configureForPackage_aaa();
- var a = newFile('$aaaRootPath/lib/a.dart', content: '''
+ var a = newFile2('$aaaRootPath/lib/a.dart', '''
int a;
''').path;
- var t = newFile('$testPackageLibPath/lib/t.dart', content: '''
+ var t = newFile2('$testPackageLibPath/lib/t.dart', '''
import 'package:aaa/a.dart';
int t;
''').path;
@@ -497,12 +497,12 @@
}
Future<void> test_searchTopLevelDeclarations() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {}
int a;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
class B {}
get b => 42;
''');
@@ -528,13 +528,13 @@
Future<void> test_searchTopLevelDeclarations_dependentPackage() async {
var aaaRootPath = _configureForPackage_aaa();
- newFile('$aaaRootPath/lib/a.dart', content: '''
+ newFile2('$aaaRootPath/lib/a.dart', '''
class A {}
''');
// The `package:test` uses the class `A` from the `package:aaa`.
// So it sees the declaration the element `A`.
- newFile('$testFilePath', content: '''
+ newFile2('$testFilePath', '''
import 'package:aaa/a.dart';
class B extends A {}
''');
diff --git a/pkg/analysis_server/test/services/snippets/dart/dart_snippet_producers_test.dart b/pkg/analysis_server/test/services/snippets/dart/dart_snippet_producers_test.dart
index 5482204..15df536 100644
--- a/pkg/analysis_server/test/services/snippets/dart/dart_snippet_producers_test.dart
+++ b/pkg/analysis_server/test/services/snippets/dart/dart_snippet_producers_test.dart
@@ -22,10 +22,60 @@
defineReflectiveTests(DartSwitchSnippetProducerTest);
defineReflectiveTests(DartTryCatchSnippetProducerTest);
defineReflectiveTests(DartWhileLoopSnippetProducerTest);
+ defineReflectiveTests(DartClassSnippetProducerTest);
+ defineReflectiveTests(DartTestBlockSnippetProducerTest);
+ defineReflectiveTests(DartTestGroupBlockSnippetProducerTest);
});
}
@reflectiveTest
+class DartClassSnippetProducerTest extends DartSnippetProducerTest {
+ @override
+ final generator = DartClassSnippetProducer.newInstance;
+
+ @override
+ String get label => DartClassSnippetProducer.label;
+
+ @override
+ String get prefix => DartClassSnippetProducer.prefix;
+
+ Future<void> test_class() async {
+ var code = r'''
+class A {}
+
+^
+
+class B {}''';
+ final snippet = await expectValidSnippet(code);
+ expect(snippet.prefix, prefix);
+ expect(snippet.label, label);
+ expect(snippet.change.edits, hasLength(1));
+ code = withoutMarkers(code);
+ snippet.change.edits
+ .forEach((edit) => code = SourceEdit.applySequence(code, edit.edits));
+ expect(code, '''
+class A {}
+
+class {
+
+}
+
+class B {}''');
+ expect(snippet.change.selection!.file, testFile);
+ expect(snippet.change.selection!.offset, 25);
+ expect(snippet.change.linkedEditGroups.map((group) => group.toJson()), [
+ {
+ 'positions': [
+ {'file': testFile, 'offset': 20},
+ ],
+ 'length': 0,
+ 'suggestions': []
+ }
+ ]);
+ }
+}
+
+@reflectiveTest
class DartDoWhileLoopSnippetProducerTest extends DartSnippetProducerTest {
@override
final generator = DartDoWhileLoopSnippetProducer.newInstance;
@@ -524,6 +574,110 @@
}
@reflectiveTest
+class DartTestBlockSnippetProducerTest extends DartSnippetProducerTest {
+ @override
+ final generator = DartTestBlockSnippetProducer.newInstance;
+
+ @override
+ String get label => DartTestBlockSnippetProducer.label;
+
+ @override
+ String get prefix => DartTestBlockSnippetProducer.prefix;
+
+ Future<void> test_inTestFile() async {
+ testFile = convertPath('$testPackageLibPath/test/foo_test.dart');
+ var code = r'''
+void f() {
+ test^
+}''';
+ final snippet = await expectValidSnippet(code);
+ expect(snippet.prefix, prefix);
+ expect(snippet.label, label);
+ expect(snippet.change.edits, hasLength(1));
+ code = withoutMarkers(code);
+ snippet.change.edits
+ .forEach((edit) => code = SourceEdit.applySequence(code, edit.edits));
+ expect(code, '''
+void f() {
+ test('', () {
+
+ });
+}''');
+ expect(snippet.change.selection!.file, testFile);
+ expect(snippet.change.selection!.offset, 31);
+ expect(snippet.change.linkedEditGroups.map((group) => group.toJson()), [
+ {
+ 'positions': [
+ {'file': testFile, 'offset': 19},
+ ],
+ 'length': 0,
+ 'suggestions': []
+ }
+ ]);
+ }
+
+ Future<void> test_notTestFile() async {
+ var code = r'''
+void f() {
+ test^
+}''';
+ await expectNotValidSnippet(code);
+ }
+}
+
+@reflectiveTest
+class DartTestGroupBlockSnippetProducerTest extends DartSnippetProducerTest {
+ @override
+ final generator = DartTestGroupBlockSnippetProducer.newInstance;
+
+ @override
+ String get label => DartTestGroupBlockSnippetProducer.label;
+
+ @override
+ String get prefix => DartTestGroupBlockSnippetProducer.prefix;
+
+ Future<void> test_inTestFile() async {
+ testFile = convertPath('$testPackageLibPath/test/foo_test.dart');
+ var code = r'''
+void f() {
+ group^
+}''';
+ final snippet = await expectValidSnippet(code);
+ expect(snippet.prefix, prefix);
+ expect(snippet.label, label);
+ expect(snippet.change.edits, hasLength(1));
+ code = withoutMarkers(code);
+ snippet.change.edits
+ .forEach((edit) => code = SourceEdit.applySequence(code, edit.edits));
+ expect(code, '''
+void f() {
+ group('', () {
+
+ });
+}''');
+ expect(snippet.change.selection!.file, testFile);
+ expect(snippet.change.selection!.offset, 32);
+ expect(snippet.change.linkedEditGroups.map((group) => group.toJson()), [
+ {
+ 'positions': [
+ {'file': testFile, 'offset': 20},
+ ],
+ 'length': 0,
+ 'suggestions': []
+ }
+ ]);
+ }
+
+ Future<void> test_notTestFile() async {
+ var code = r'''
+void f() {
+ group^
+}''';
+ await expectNotValidSnippet(code);
+ }
+}
+
+@reflectiveTest
class DartTryCatchSnippetProducerTest extends DartSnippetProducerTest {
@override
final generator = DartTryCatchSnippetProducer.newInstance;
diff --git a/pkg/analysis_server/test/src/cider/assists_test.dart b/pkg/analysis_server/test/src/cider/assists_test.dart
index 0dfc1321..d4182cb 100644
--- a/pkg/analysis_server/test/src/cider/assists_test.dart
+++ b/pkg/analysis_server/test/src/cider/assists_test.dart
@@ -132,7 +132,7 @@
var location = lineInfo.getLocation(offset);
content = content.substring(0, offset) + content.substring(offset + 1);
- newFile(testPath, content: content);
+ newFile2(testPath, content);
_correctionContext = _CorrectionContext(
content,
diff --git a/pkg/analysis_server/test/src/cider/cider_service.dart b/pkg/analysis_server/test/src/cider/cider_service.dart
index 32aafc2..0e40f53 100644
--- a/pkg/analysis_server/test/src/cider/cider_service.dart
+++ b/pkg/analysis_server/test/src/cider/cider_service.dart
@@ -51,8 +51,8 @@
logger = PerformanceLog(logBuffer);
- newFile('/workspace/WORKSPACE');
- newFile('/workspace/dart/test/BUILD');
+ newFile2('/workspace/WORKSPACE', '');
+ newFile2('/workspace/dart/test/BUILD', '');
createFileResolver();
}
diff --git a/pkg/analysis_server/test/src/cider/completion_test.dart b/pkg/analysis_server/test/src/cider/completion_test.dart
index 7a50af7..06ee178 100644
--- a/pkg/analysis_server/test/src/cider/completion_test.dart
+++ b/pkg/analysis_server/test/src/cider/completion_test.dart
@@ -112,7 +112,7 @@
Future<void> test_compute_updateImportedLibrary() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
@@ -132,7 +132,7 @@
_assertHasClass(text: 'A');
// Update the imported library, has 'B', but not 'A'.
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class B {}
''');
_createFileResolver();
@@ -144,7 +144,7 @@
Future<void> test_compute_updateImports() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
@@ -166,7 +166,7 @@
}
Future<void> test_compute_uriContributor_disabled() async {
- newFile('/workspace/dart/test/lib/a.dart', content: '');
+ newFile2('/workspace/dart/test/lib/a.dart', '');
await _compute(r'''
import '^';
''');
@@ -474,7 +474,7 @@
}
Future<void> test_limitedResolution_hasPart() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
class A {}
''');
@@ -488,7 +488,7 @@
}
Future<void> test_limitedResolution_inPart_partOfName() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
library my_lib;
part 'test.dart';
class A {}
@@ -504,7 +504,7 @@
}
Future<void> test_limitedResolution_inPart_partOfUri() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
part 'test.dart';
class A {}
''');
@@ -599,12 +599,12 @@
Future<void> test_warmUp_cachesImportedLibraries() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
''');
@@ -885,7 +885,7 @@
var location = lineInfo.getLocation(offset);
content = content.substring(0, offset) + content.substring(offset + 1);
- newFile(testPath, content: content);
+ newFile2(testPath, content);
return _CompletionContext(
content,
diff --git a/pkg/analysis_server/test/src/cider/fixes_test.dart b/pkg/analysis_server/test/src/cider/fixes_test.dart
index 63179b7..8bb64dc 100644
--- a/pkg/analysis_server/test/src/cider/fixes_test.dart
+++ b/pkg/analysis_server/test/src/cider/fixes_test.dart
@@ -73,7 +73,7 @@
}
Future<void> test_importLibrary_withClass() async {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
class Test {}
''');
fileResolver.resolve(path: a.path);
@@ -90,7 +90,7 @@
}
Future<void> test_importLibrary_withEnum() async {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
enum Test {a, b, c}
''');
fileResolver.resolve(path: a.path);
@@ -107,7 +107,7 @@
}
Future<void> test_importLibrary_withExtension() async {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
extension E on int {
void foo() {}
}
@@ -130,7 +130,7 @@
}
Future<void> test_importLibrary_withFunction() async {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
void foo() {}
''');
fileResolver.resolve(path: a.path);
@@ -151,7 +151,7 @@
}
Future<void> test_importLibrary_withMixin() async {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
mixin Test {}
''');
fileResolver.resolve(path: a.path);
@@ -168,7 +168,7 @@
}
Future<void> test_importLibrary_withTopLevelVariable() async {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
var a = 0;
''');
fileResolver.resolve(path: a.path);
@@ -230,7 +230,7 @@
var location = lineInfo.getLocation(offset);
content = content.substring(0, offset) + content.substring(offset + 1);
- newFile(testPath, content: content);
+ newFile2(testPath, content);
_correctionContext = _CorrectionContext(
content,
diff --git a/pkg/analysis_server/test/src/cider/rename_test.dart b/pkg/analysis_server/test/src/cider/rename_test.dart
index 59f686d..98341fb 100644
--- a/pkg/analysis_server/test/src/cider/rename_test.dart
+++ b/pkg/analysis_server/test/src/cider/rename_test.dart
@@ -325,7 +325,7 @@
}
void test_rename_function_imported() {
- var a = newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ var a = newFile2('/workspace/dart/test/lib/a.dart', r'''
foo() {}
''');
fileResolver.resolve(path: a.path);
@@ -451,7 +451,7 @@
var location = lineInfo.getLocation(offset);
content = content.substring(0, offset) + content.substring(offset + 1);
- newFile(testPath, content: content);
+ newFile2(testPath, content);
_correctionContext = _CorrectionContext(
content,
diff --git a/pkg/analysis_server/test/src/cider/signature_help_test.dart b/pkg/analysis_server/test/src/cider/signature_help_test.dart
index 2b99d72..a5384eb 100644
--- a/pkg/analysis_server/test/src/cider/signature_help_test.dart
+++ b/pkg/analysis_server/test/src/cider/signature_help_test.dart
@@ -232,7 +232,7 @@
var location = lineInfo.getLocation(offset);
content = content.substring(0, offset) + content.substring(offset + 1);
- newFile(testPath, content: content);
+ newFile2(testPath, content);
_correctionContext = _CorrectionContext(
content,
diff --git a/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart b/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart
index 037bb02..307a91f 100644
--- a/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/closing_labels_computer_test.dart
@@ -396,7 +396,7 @@
}
Future<List<ClosingLabel>> _computeElements(String sourceContent) async {
- newFile(sourcePath, content: sourceContent);
+ newFile2(sourcePath, sourceContent);
var result =
await (await session).getResolvedUnit(sourcePath) as ResolvedUnitResult;
var computer = DartUnitClosingLabelsComputer(result.lineInfo, result.unit);
diff --git a/pkg/analysis_server/test/src/computer/color_computer_test.dart b/pkg/analysis_server/test/src/computer/color_computer_test.dart
index c6ec12a..2083610 100644
--- a/pkg/analysis_server/test/src/computer/color_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/color_computer_test.dart
@@ -127,9 +127,9 @@
dartCode = _withCommonImports(dartCode);
otherCode = otherCode != null ? _withCommonImports(otherCode) : null;
- newFile(testPath, content: dartCode);
+ newFile2(testPath, dartCode);
if (otherCode != null) {
- newFile(otherPath, content: otherCode);
+ newFile2(otherPath, otherCode);
final otherResult = await (await session).getResolvedUnit(otherPath)
as ResolvedUnitResult;
expectNoErrors(otherResult);
diff --git a/pkg/analysis_server/test/src/computer/folding_computer_test.dart b/pkg/analysis_server/test/src/computer/folding_computer_test.dart
index b0a445f..09c90df 100644
--- a/pkg/analysis_server/test/src/computer/folding_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/folding_computer_test.dart
@@ -580,7 +580,7 @@
}
Future<List<FoldingRegion>> _computeRegions(String sourceContent) async {
- newFile(sourcePath, content: sourceContent);
+ newFile2(sourcePath, sourceContent);
var result =
await (await session).getResolvedUnit(sourcePath) as ResolvedUnitResult;
var computer = DartUnitFoldingComputer(result.lineInfo, result.unit);
diff --git a/pkg/analysis_server/test/src/computer/highlights_computer_test.dart b/pkg/analysis_server/test/src/computer/highlights_computer_test.dart
index 0314f65..a38a867 100644
--- a/pkg/analysis_server/test/src/computer/highlights_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/highlights_computer_test.dart
@@ -112,7 +112,7 @@
bool hasErrors = false,
}) async {
this.content = content;
- newFile(sourcePath, content: content);
+ newFile2(sourcePath, content);
var result =
await (await session).getResolvedUnit(sourcePath) as ResolvedUnitResult;
diff --git a/pkg/analysis_server/test/src/computer/import_elements_computer_test.dart b/pkg/analysis_server/test/src/computer/import_elements_computer_test.dart
index 4cf9605..9e66300 100644
--- a/pkg/analysis_server/test/src/computer/import_elements_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/import_elements_computer_test.dart
@@ -49,7 +49,7 @@
Future<void> createBuilder(String content) async {
originalContent = content;
- newFile(path, content: content);
+ newFile2(path, content);
var result =
await (await session).getResolvedUnit(path) as ResolvedUnitResult;
computer = ImportElementsComputer(resourceProvider, result);
@@ -81,7 +81,7 @@
}
Future<void> test_createEdits_addImport_noPrefix() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -101,7 +101,7 @@
}
Future<void> test_createEdits_addImport_prefix() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -121,7 +121,7 @@
}
Future<void> test_createEdits_addShow_multipleNames() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -142,7 +142,7 @@
}
Future<void> test_createEdits_addShow_removeHide() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -161,7 +161,7 @@
}
Future<void> test_createEdits_addShow_singleName_noPrefix() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -180,7 +180,7 @@
}
Future<void> test_createEdits_addShow_singleName_prefix() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -201,7 +201,7 @@
}
Future<void> test_createEdits_alreadyImported_noCombinators() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -218,7 +218,7 @@
}
Future<void> test_createEdits_alreadyImported_withPrefix() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -235,7 +235,7 @@
}
Future<void> test_createEdits_alreadyImported_withShow() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -264,7 +264,7 @@
}
Future<void> test_createEdits_invalidUri() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -290,7 +290,7 @@
}
Future<void> test_createEdits_removeHide_firstInCombinator() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -309,7 +309,7 @@
}
Future<void> test_createEdits_removeHide_lastInCombinator() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -328,7 +328,7 @@
}
Future<void> test_createEdits_removeHide_middleInCombinator() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -347,7 +347,7 @@
}
Future<void> test_createEdits_removeHide_multipleCombinators() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -366,7 +366,7 @@
}
Future<void> test_createEdits_removeHide_multipleNames() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -385,7 +385,7 @@
}
Future<void> test_createEdits_removeHideCombinator_first() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -404,7 +404,7 @@
}
Future<void> test_createEdits_removeHideCombinator_last() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -423,7 +423,7 @@
}
Future<void> test_createEdits_removeHideCombinator_middle() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -442,7 +442,7 @@
}
Future<void> test_createEdits_removeHideCombinator_only() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -461,7 +461,7 @@
}
Future<void> test_createEdits_removeHideCombinator_only_multiple() async {
- var fooFile = newFile('$workspaceRootPath/pkg/lib/foo.dart');
+ var fooFile = newFile2('$workspaceRootPath/pkg/lib/foo.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
diff --git a/pkg/analysis_server/test/src/computer/imported_elements_computer_test.dart b/pkg/analysis_server/test/src/computer/imported_elements_computer_test.dart
index e3140d3..c9f45ba 100644
--- a/pkg/analysis_server/test/src/computer/imported_elements_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/imported_elements_computer_test.dart
@@ -223,7 +223,7 @@
Future<void> test_package_multipleInSame() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
class A {
static String a = '';
}
@@ -252,7 +252,7 @@
Future<void> test_package_noPrefix() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
class Foo {
static String first = '';
}
@@ -278,7 +278,7 @@
Future<void> test_package_prefix_selected_class() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
class Foo {
static String first = '';
}
@@ -304,7 +304,7 @@
Future<void> test_package_prefix_selected_function() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
String foo() => '';
''');
@@ -328,7 +328,7 @@
Future<void> test_package_prefix_selected_getter() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
String foo = '';
''');
@@ -352,7 +352,7 @@
Future<void> test_package_prefix_selected_setter() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
String foo = '';
''');
@@ -376,7 +376,7 @@
Future<void> test_package_prefix_unselected() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
class Foo {
static String first = '';
}
@@ -402,7 +402,7 @@
Future<void> test_package_prefixedAndNot() async {
var fooPath = '$workspaceRootPath/foo/lib/foo.dart';
- newFile(fooPath, content: '''
+ newFile2(fooPath, '''
class Foo {
static String first = '';
static String second = '';
@@ -469,7 +469,7 @@
Future<void> _computeElements(String content, String selection) async {
// TODO(brianwilkerson) Automatically extract the selection from the content.
- newFile(sourcePath, content: content);
+ newFile2(sourcePath, content);
var result =
await (await session).getResolvedUnit(sourcePath) as ResolvedUnitResult;
var computer = ImportedElementsComputer(
diff --git a/pkg/analysis_server/test/src/computer/outline_computer_test.dart b/pkg/analysis_server/test/src/computer/outline_computer_test.dart
index 46d85a7..25fdf23 100644
--- a/pkg/analysis_server/test/src/computer/outline_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/outline_computer_test.dart
@@ -31,7 +31,7 @@
Future<Outline> _computeOutline(String code) async {
testCode = code;
- newFile(testPath, content: code);
+ newFile2(testPath, code);
var resolveResult =
await (await session).getResolvedUnit(testPath) as ResolvedUnitResult;
return DartUnitOutlineComputer(
diff --git a/pkg/analysis_server/test/src/computer/selection_range_computer_test.dart b/pkg/analysis_server/test/src/computer/selection_range_computer_test.dart
index 0a3539b..20fdbfd 100644
--- a/pkg/analysis_server/test/src/computer/selection_range_computer_test.dart
+++ b/pkg/analysis_server/test/src/computer/selection_range_computer_test.dart
@@ -192,7 +192,7 @@
Future<List<SelectionRange>?> _computeSelectionRanges(
String sourceContent, int offset) async {
- newFile(sourcePath, content: sourceContent);
+ newFile2(sourcePath, sourceContent);
var result =
await (await session).getResolvedUnit(sourcePath) as ResolvedUnitResult;
var computer = DartSelectionRangeComputer(result.unit, offset);
diff --git a/pkg/analysis_server/test/src/domains/completion/available_suggestion_sets_test.dart b/pkg/analysis_server/test/src/domains/completion/available_suggestion_sets_test.dart
index 477d52b..4b42e1a 100644
--- a/pkg/analysis_server/test/src/domains/completion/available_suggestion_sets_test.dart
+++ b/pkg/analysis_server/test/src/domains/completion/available_suggestion_sets_test.dart
@@ -26,7 +26,7 @@
// Create the file, should get the set.
{
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {}
''');
var set = await waitForSetWithUri(uriStr);
@@ -35,7 +35,7 @@
// Update the file, should get the updated set.
{
- newFile(path, content: r'''
+ newFile2(path, r'''
class B {}
''');
removeSet(uriStr);
@@ -52,7 +52,7 @@
var path = convertPath('/home/test/lib/a.dart');
var uriStr = 'package:test/a.dart';
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {
A.a();
}
@@ -120,7 +120,7 @@
var path = convertPath('/home/test/lib/a.dart');
var uriStr = 'package:test/a.dart';
- newFile(path, content: r'''
+ newFile2(path, r'''
abstract class A {
A.a();
factory A.b() => _B();
@@ -195,12 +195,12 @@
var b_path = convertPath('/home/test/lib/b.dart');
var a_uriStr = 'package:test/a.dart';
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
part 'b.dart';
class A {}
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
part of 'a.dart';
class B {}
''');
@@ -264,7 +264,7 @@
var path = convertPath('/home/test/lib/a.dart');
var uriStr = 'package:test/a.dart';
- newFile(path, content: r'''
+ newFile2(path, r'''
enum MyEnum {
aaa,
bbb,
@@ -355,7 +355,7 @@
var path = convertPath('/home/test/lib/a.dart');
var uriStr = 'package:test/a.dart';
- newFile(path, content: r'''
+ newFile2(path, r'''
var boolV = false;
var intV = 0;
var doubleV = 0.1;
@@ -473,7 +473,7 @@
var path = convertPath('/home/test/lib/a.dart');
var uriStr = 'package:test/a.dart';
- newFile(path, content: r'''
+ newFile2(path, r'''
typedef MyAlias = double;
''');
@@ -509,7 +509,7 @@
var path = convertPath('/home/test/lib/a.dart');
var uriStr = 'package:test/a.dart';
- newFile(path, content: r'''
+ newFile2(path, r'''
typedef MyAlias = void Function();
''');
diff --git a/pkg/analysis_server/test/src/domains/completion/available_suggestions_base.dart b/pkg/analysis_server/test/src/domains/completion/available_suggestions_base.dart
index d528d5f..9fee7ee 100644
--- a/pkg/analysis_server/test/src/domains/completion/available_suggestions_base.dart
+++ b/pkg/analysis_server/test/src/domains/completion/available_suggestions_base.dart
@@ -81,8 +81,7 @@
newPubspecYamlFile('/home/test', '');
newPackageConfigJsonFile(
'/home/test',
- content: (PackageConfigFileBuilder()
- ..add(name: 'test', rootPath: '/home/test'))
+ (PackageConfigFileBuilder()..add(name: 'test', rootPath: '/home/test'))
.toContent(toUriStr: toUriStr),
);
diff --git a/pkg/analysis_server/test/src/domains/completion/get_suggestion_details_test.dart b/pkg/analysis_server/test/src/domains/completion/get_suggestion_details_test.dart
index 9009034..75ae254 100644
--- a/pkg/analysis_server/test/src/domains/completion/get_suggestion_details_test.dart
+++ b/pkg/analysis_server/test/src/domains/completion/get_suggestion_details_test.dart
@@ -17,7 +17,7 @@
@reflectiveTest
class GetSuggestionDetailsTest extends AvailableSuggestionsBase {
Future<void> test_enum() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
enum MyEnum {
aaa, bbb
}
@@ -218,7 +218,7 @@
main() {} // ref
''';
- var partPath = newFile('/home/test/lib/a.dart', content: partCode).path;
+ var partPath = newFile2('/home/test/lib/a.dart', partCode).path;
addTestFile(r'''
part 'a.dart';
''');
diff --git a/pkg/analysis_server/test/src/domains/completion/get_suggestions_available_test.dart b/pkg/analysis_server/test/src/domains/completion/get_suggestions_available_test.dart
index 9c47432..8a1b392 100644
--- a/pkg/analysis_server/test/src/domains/completion/get_suggestions_available_test.dart
+++ b/pkg/analysis_server/test/src/domains/completion/get_suggestions_available_test.dart
@@ -110,7 +110,7 @@
}
Future<void> test_defaultArgumentListString() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
void fff(int aaa, int bbb) {}
void ggg({int aaa, @required int bbb, @required int ccc}) {}
@@ -129,11 +129,11 @@
Future<void> test_displayUri_file() async {
var aPath = '/home/test/test/a.dart';
- newFile(aPath, content: 'class A {}');
+ newFile2(aPath, 'class A {}');
var aSet = await waitForSetWithUri(toUriStr(aPath));
- var testPath = newFile('/home/test/test/sub/test.dart').path;
+ var testPath = newFile2('/home/test/test/sub/test.dart', '').path;
var results = await _getSuggestions(testPath, 0);
expect(
@@ -146,10 +146,10 @@
Future<void> test_displayUri_package() async {
var aPath = '/home/test/lib/a.dart';
- newFile(aPath, content: 'class A {}');
+ newFile2(aPath, 'class A {}');
var aSet = await waitForSetWithUri('package:test/a.dart');
- var testPath = newFile('/home/test/lib/test.dart').path;
+ var testPath = newFile2('/home/test/lib/test.dart', '').path;
var results = await _getSuggestions(testPath, 0);
expect(
@@ -217,10 +217,10 @@
}
Future<void> test_inHtml() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
+ newFile2('/home/test/lib/a.dart', 'class A {}');
var path = convertPath('/home/test/doc/a.html');
- newFile(path, content: '<html></html>');
+ newFile2(path, '<html></html>');
await waitResponse(
CompletionGetSuggestionsParams(path, 0).toRequest('0'),
@@ -257,7 +257,7 @@
}
Future<void> test_relevanceTags_enum() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
enum MyEnum {
aaa, bbb
}
diff --git a/pkg/analysis_server/test/src/domains/execution/completion_test.dart b/pkg/analysis_server/test/src/domains/execution/completion_test.dart
index 4f3af62..b7cccdc 100644
--- a/pkg/analysis_server/test/src/domains/execution/completion_test.dart
+++ b/pkg/analysis_server/test/src/domains/execution/completion_test.dart
@@ -335,8 +335,8 @@
@FailingTest(reason: 'No support for OverlayResourceProvider')
Future<void> test_syntheticImportPrefix() async {
- newFile('/test/lib/a.dart', content: 'class A {}');
- newFile('/test/lib/b.dart', content: 'class B {}');
+ newFile2('/test/lib/a.dart', 'class A {}');
+ newFile2('/test/lib/b.dart', 'class B {}');
addContextFile(r'''
import 'a.dart';
impoty 'b.dart';
diff --git a/pkg/analysis_server/test/src/domains/flutter/base.dart b/pkg/analysis_server/test/src/domains/flutter/base.dart
index 659378f..39d724f 100644
--- a/pkg/analysis_server/test/src/domains/flutter/base.dart
+++ b/pkg/analysis_server/test/src/domains/flutter/base.dart
@@ -50,7 +50,7 @@
var flutterLib = MockPackages.instance.addFlutter(resourceProvider);
newPackageConfigJsonFile(
'/home/test',
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'test', rootPath: '/home/test')
..add(name: 'meta', rootPath: metaLib.parent.path)
..add(name: 'flutter', rootPath: flutterLib.parent.path))
diff --git a/pkg/analysis_server/test/src/flutter/flutter_outline_computer_test.dart b/pkg/analysis_server/test/src/flutter/flutter_outline_computer_test.dart
index e8fd170..c698324 100644
--- a/pkg/analysis_server/test/src/flutter/flutter_outline_computer_test.dart
+++ b/pkg/analysis_server/test/src/flutter/flutter_outline_computer_test.dart
@@ -234,7 +234,7 @@
}
Future<void> test_children_closure_blockBody() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:flutter/widgets.dart';
class WidgetA extends StatelessWidget {
@@ -270,7 +270,7 @@
}
Future<void> test_children_closure_expressionBody() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:flutter/widgets.dart';
class WidgetA extends StatelessWidget {
@@ -472,7 +472,7 @@
}
Future<void> test_namedArgument_anywhere() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:flutter/widgets.dart';
class WidgetA extends StatelessWidget {
@@ -512,7 +512,7 @@
}
Future<void> test_parentAssociationLabel() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:flutter/widgets.dart';
class WidgetA extends StatelessWidget {
@@ -584,7 +584,7 @@
Future<FlutterOutline> _computeOutline(String code) async {
testCode = code;
- newFile(testPath, content: code);
+ newFile2(testPath, code);
resolveResult =
await (await session).getResolvedUnit(testPath) as ResolvedUnitResult;
computer = FlutterOutlineComputer(resolveResult);
diff --git a/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart b/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart
index 58b7f0e..96c2b66 100644
--- a/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart
+++ b/pkg/analysis_server/test/src/flutter/flutter_outline_notification_test.dart
@@ -75,11 +75,11 @@
Future<void> test_children() async {
newPackageConfigJsonFile(
projectPath,
- content: (PackageConfigFileBuilder()
+ (PackageConfigFileBuilder()
..add(name: 'flutter', rootPath: flutterFolder.parent.path))
.toContent(toUriStr: toUriStr),
);
- newAnalysisOptionsYamlFile(projectPath, content: '''
+ newAnalysisOptionsYamlFile2(projectPath, '''
analyzer:
strong-mode: true
''');
diff --git a/pkg/analysis_server/test/src/g3/fixes_test.dart b/pkg/analysis_server/test/src/g3/fixes_test.dart
index 34bdfbf..a90cff0 100644
--- a/pkg/analysis_server/test/src/g3/fixes_test.dart
+++ b/pkg/analysis_server/test/src/g3/fixes_test.dart
@@ -202,6 +202,6 @@
}
}
- newFile('/home/test/analysis_options.yaml', content: buffer.toString());
+ newFile2('/home/test/analysis_options.yaml', buffer.toString());
}
}
diff --git a/pkg/analysis_server/test/src/plugin/plugin_manager_test.dart b/pkg/analysis_server/test/src/plugin/plugin_manager_test.dart
index d2644f7..4241eec 100644
--- a/pkg/analysis_server/test/src/plugin/plugin_manager_test.dart
+++ b/pkg/analysis_server/test/src/plugin/plugin_manager_test.dart
@@ -480,8 +480,8 @@
// a .packages file.
//
var pluginDirPath = newFolder('/plugin').path;
- var pluginFilePath = newFile('/plugin/bin/plugin.dart').path;
- var packagesFilePath = newDotPackagesFile('/plugin').path;
+ var pluginFilePath = newFile2('/plugin/bin/plugin.dart', '').path;
+ var packagesFilePath = newDotPackagesFile('/plugin', '').path;
//
// Test path computation.
//
@@ -495,14 +495,14 @@
//
// Build a Bazel workspace containing four packages, including the plugin.
//
- newFile('/workspaceRoot/WORKSPACE');
+ newFile2('/workspaceRoot/WORKSPACE', '');
newFolder('/workspaceRoot/bazel-bin');
newFolder('/workspaceRoot/bazel-genfiles');
String newPackage(String packageName, [List<String>? dependencies]) {
var packageRoot =
newFolder('/workspaceRoot/third_party/dart/$packageName').path;
- newFile('$packageRoot/lib/$packageName.dart');
+ newFile2('$packageRoot/lib/$packageName.dart', '');
var buffer = StringBuffer();
if (dependencies != null) {
buffer.writeln('dependencies:');
@@ -518,7 +518,7 @@
newPackage('b', ['d']);
newPackage('c', ['d']);
newPackage('d');
- var pluginFilePath = newFile('$pluginDirPath/bin/plugin.dart').path;
+ var pluginFilePath = newFile2('$pluginDirPath/bin/plugin.dart', '').path;
//
// Test path computation.
//
diff --git a/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart b/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart
index 62eb89f..7d12566 100644
--- a/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart
+++ b/pkg/analysis_server/test/src/plugin/plugin_watcher_test.dart
@@ -36,9 +36,10 @@
Future<void> test_addedDriver() async {
newPubspecYamlFile('/foo', 'name: foo');
- newFile(
+ newFile2(
join('/foo', PluginLocator.toolsFolderName,
PluginLocator.defaultPluginFolderName, 'bin', 'plugin.dart'),
+ '',
);
writeTestPackageConfig(
diff --git a/pkg/analysis_server/test/src/services/completion/dart/completion_test.dart b/pkg/analysis_server/test/src/services/completion/dart/completion_test.dart
index d131792..b6ad6a1 100644
--- a/pkg/analysis_server/test/src/services/completion/dart/completion_test.dart
+++ b/pkg/analysis_server/test/src/services/completion/dart/completion_test.dart
@@ -205,7 +205,7 @@
}
Future<void> test_explicitTarget_method_imported() async {
- newFile(convertPath('/project/bin/lib.dart'), content: '''
+ newFile2(convertPath('/project/bin/lib.dart'), '''
extension E on String {
void m() {}
}
@@ -221,7 +221,7 @@
}
Future<void> test_explicitTarget_method_inLibrary() async {
- newFile(convertPath('/project/bin/lib.dart'), content: '''
+ newFile2(convertPath('/project/bin/lib.dart'), '''
part 'test.dart';
extension E on String {
void m() {}
@@ -238,7 +238,7 @@
}
Future<void> test_explicitTarget_method_inPart() async {
- newFile(convertPath('/project/bin/part.dart'), content: '''
+ newFile2(convertPath('/project/bin/part.dart'), '''
extension E on String {
void m() {}
}
@@ -257,7 +257,7 @@
Future<void> test_explicitTarget_method_notImported() async {
// Available suggestions data doesn't yet have information about extension
// methods.
- newFile(convertPath('/project/bin/lib.dart'), content: '''
+ newFile2(convertPath('/project/bin/lib.dart'), '''
extension E on String {
void m() {}
}
@@ -589,7 +589,7 @@
@failingTest
Future<void> test_unnamedConstructor_inDifferentLibrary() async {
- newFile('/project/bin/b.dart', content: '''
+ newFile2('/project/bin/b.dart', '''
class B implements A {
B();
}
@@ -710,7 +710,7 @@
@reflectiveTest
class SuperConstructorInvocationCompletionTest extends CompletionTestCase {
Future<void> test_namedConstructor_notVisible() async {
- newFile('/project/bin/a.dart', content: '''
+ newFile2('/project/bin/a.dart', '''
class A {
A._() {}
}
diff --git a/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart b/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart
index 1104ef2..d3d1e91 100644
--- a/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart
+++ b/pkg/analysis_server/test/src/services/completion/yaml/pubspec_generator_test.dart
@@ -85,7 +85,7 @@
}
void test_flutter_assets_invalidPath() {
- newFile('/home/test/assets/img1.jpg');
+ newFile2('/home/test/assets/img1.jpg', '');
getCompletions('''
flutter:
assets:
@@ -95,7 +95,7 @@
}
void test_flutter_assets_nonExistentPath() {
- newFile('/home/test/assets/img1.jpg');
+ newFile2('/home/test/assets/img1.jpg', '');
getCompletions('''
flutter:
assets:
@@ -105,7 +105,7 @@
}
void test_flutter_assets_noPath() {
- newFile('/home/test/assets/img1.jpg');
+ newFile2('/home/test/assets/img1.jpg', '');
getCompletions('''
flutter:
assets:
@@ -115,7 +115,7 @@
}
void test_flutter_assets_partialPath() {
- newFile('/home/test/assets/img1.jpg');
+ newFile2('/home/test/assets/img1.jpg', '');
getCompletions('''
flutter:
assets:
@@ -125,7 +125,7 @@
}
void test_flutter_assets_path_withFollowing() {
- newFile('/home/test/assets/img1.jpg');
+ newFile2('/home/test/assets/img1.jpg', '');
getCompletions('''
flutter:
assets:
@@ -135,7 +135,7 @@
}
void test_flutter_assets_path_withoutFollowing() {
- newFile('/home/test/assets/img1.jpg');
+ newFile2('/home/test/assets/img1.jpg', '');
getCompletions('''
flutter:
assets:
@@ -380,7 +380,7 @@
return MockProcess(1, 0, '', '');
};
- newFile('/home/DEPS');
+ newFile2('/home/DEPS', '');
pubPackageService.beginCachePreloads([convertPath('/home/test/$fileName')]);
await pumpEventQueue(times: 500);
diff --git a/pkg/analysis_server/test/src/services/completion/yaml/yaml_generator_test_support.dart b/pkg/analysis_server/test/src/services/completion/yaml/yaml_generator_test_support.dart
index 90a8df5..c0c63d4 100644
--- a/pkg/analysis_server/test/src/services/completion/yaml/yaml_generator_test_support.dart
+++ b/pkg/analysis_server/test/src/services/completion/yaml/yaml_generator_test_support.dart
@@ -57,7 +57,7 @@
content = content.substring(0, completionOffset) +
content.substring(completionOffset + 1);
// Add the file to the file system.
- var file = newFile('/home/test/$fileName', content: content);
+ var file = newFile2('/home/test/$fileName', content);
// Generate completions.
results = generator.getSuggestions(file.path, completionOffset).suggestions;
}
diff --git a/pkg/analysis_server/test/src/services/correction/assist/convert_class_to_enum_test.dart b/pkg/analysis_server/test/src/services/correction/assist/convert_class_to_enum_test.dart
index fa8e2fe..0eeb8a9 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/convert_class_to_enum_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/convert_class_to_enum_test.dart
@@ -321,7 +321,7 @@
Future<void> test_invalid_hasPart() async {
// Change this test if the assist becomes able to look for references to the
// class and its constructors in part files.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
part of 'test.dart';
''');
await resolveTestCode('''
diff --git a/pkg/analysis_server/test/src/services/correction/assist/convert_to_super_initializing_parameter_test.dart b/pkg/analysis_server/test/src/services/correction/assist/convert_to_super_initializing_parameter_test.dart
deleted file mode 100644
index df4f094..0000000
--- a/pkg/analysis_server/test/src/services/correction/assist/convert_to_super_initializing_parameter_test.dart
+++ /dev/null
@@ -1,484 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:analysis_server/src/services/correction/assist.dart';
-import 'package:analyzer_plugin/utilities/assist/assist.dart';
-import 'package:test_reflective_loader/test_reflective_loader.dart';
-
-import 'assist_processor.dart';
-
-void main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(ConvertToSuperInitializingParameterTest);
- });
-}
-
-@reflectiveTest
-class ConvertToSuperInitializingParameterTest extends AssistProcessorTest {
- @override
- AssistKind get kind => DartAssistKind.CONVERT_TO_SUPER_INITIALIZING_PARAMETER;
-
- Future<void> test_named_first() async {
- await resolveTestCode('''
-class A {
- A({int? x, int? y});
-}
-class B extends A {
- B({int? x, int? y}) : super(x: x, y: y);
-}
-''');
- await assertHasAssistAt('x, int? y}) :', '''
-class A {
- A({int? x, int? y});
-}
-class B extends A {
- B({super.x, int? y}) : super(y: y);
-}
-''');
- }
-
- Future<void> test_named_last() async {
- await resolveTestCode('''
-class A {
- A({int? x, int? y});
-}
-class B extends A {
- B({int? x, int? y}) : super(x: x, y: y);
-}
-''');
- await assertHasAssistAt('y}) :', '''
-class A {
- A({int? x, int? y});
-}
-class B extends A {
- B({int? x, super.y}) : super(x: x);
-}
-''');
- }
-
- Future<void> test_named_middle() async {
- await resolveTestCode('''
-class A {
- A({int? x, int? y, int? z});
-}
-class B extends A {
- B({int? x, int? y, int? z}) : super(x: x, y: y, z: z);
-}
-''');
- await assertHasAssistAt('y, int? z}) :', '''
-class A {
- A({int? x, int? y, int? z});
-}
-class B extends A {
- B({int? x, super.y, int? z}) : super(x: x, z: z);
-}
-''');
- }
-
- Future<void> test_named_noSuperInvocation() async {
- await resolveTestCode('''
-class A {
- A({int x = 0});
-}
-class B extends A {
- B({int x = 1});
-}
-''');
- await assertNoAssistAt('x = 1');
- }
-
- Future<void> test_named_notGenerative() async {
- await resolveTestCode('''
-class A {
- A({required int x});
-}
-class B extends A {
- static List<B> instances = [];
- factory B({required int x}) => instances[x];
-}
-''');
- await assertNoAssistAt('x}) =>');
- }
-
- Future<void> test_named_notInConstructor() async {
- await resolveTestCode('''
-class A {
- void m({required int x}) {}
-}
-''');
- await assertNoAssistAt('x})');
- }
-
- Future<void> test_named_notPassed_unreferenced() async {
- await resolveTestCode('''
-class A {
- A({int x = 0});
-}
-class B extends A {
- B({int x = 0}) : super(x: 0);
-}
-''');
- await assertNoAssistAt('x = 0}) :');
- }
-
- Future<void> test_named_notPassed_usedInExpression() async {
- await resolveTestCode('''
-class A {
- A({String x = ''});
-}
-class B extends A {
- B({required Object x}) : super(x: x.toString());
-}
-''');
- await assertNoAssistAt('x}) :');
- }
-
- Future<void> test_named_notSupported() async {
- await resolveTestCode('''
-// @dart=2.16
-class A {
- A({int? x});
-}
-class B extends A {
- B({int? x}) : super(x: x);
-}
-''');
- await assertNoAssistAt('x}) :');
- }
-
- Future<void> test_named_only() async {
- await resolveTestCode('''
-class A {
- A({int? x});
-}
-class B extends A {
- B({int? x}) : super(x: x);
-}
-''');
- await assertHasAssistAt('x}) :', '''
-class A {
- A({int? x});
-}
-class B extends A {
- B({super.x});
-}
-''');
- }
-
- Future<void> test_named_withDifferentDefaultValue() async {
- await resolveTestCode('''
-class A {
- A({int x = 0});
-}
-class B extends A {
- B({int x = 2}) : super(x: x);
-}
-''');
- await assertHasAssistAt('x = 2}) :', '''
-class A {
- A({int x = 0});
-}
-class B extends A {
- B({super.x = 2});
-}
-''');
- }
-
- Future<void> test_named_withEqualDefaultValue() async {
- await resolveTestCode('''
-class A {
- A({int x = 0});
-}
-class B extends A {
- B({int x = 0}) : super(x: x);
-}
-''');
- await assertHasAssistAt('x = 0}) :', '''
-class A {
- A({int x = 0});
-}
-class B extends A {
- B({super.x});
-}
-''');
- }
-
- Future<void> test_optionalPositional_singleSuperParameter_only() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- B([int x = 0]) : super(x);
-}
-''');
- await assertHasAssistAt('x = 0]', '''
-class A {
- A(int x);
-}
-class B extends A {
- B([super.x = 0]);
-}
-''');
- }
-
- Future<void> test_requiredPositional_mixedSuperParameters_first() async {
- await resolveTestCode('''
-class A {
- A(int x, {int? y});
-}
-class B extends A {
- B(int x, int y) : super(x, y: y);
-}
-''');
- await assertHasAssistAt('x, int y)', '''
-class A {
- A(int x, {int? y});
-}
-class B extends A {
- B(super.x, int y) : super(y: y);
-}
-''');
- }
-
- Future<void> test_requiredPositional_mixedSuperParameters_last() async {
- await resolveTestCode('''
-class A {
- A(int x, {int? y});
-}
-class B extends A {
- B(int y, int x) : super(x, y: y);
-}
-''');
- await assertHasAssistAt('x) :', '''
-class A {
- A(int x, {int? y});
-}
-class B extends A {
- B(int y, super.x) : super(y: y);
-}
-''');
- }
-
- Future<void> test_requiredPositional_mixedSuperParameters_middle() async {
- await resolveTestCode('''
-class A {
- A(int y, {int? z});
-}
-class B extends A {
- B(int x, int y, int z) : super(y, z: z);
-}
-''');
- await assertHasAssistAt('y, int z) :', '''
-class A {
- A(int y, {int? z});
-}
-class B extends A {
- B(int x, super.y, int z) : super(z: z);
-}
-''');
- }
-
- Future<void> test_requiredPositional_multipleSuperParameters_first() async {
- await resolveTestCode('''
-class A {
- A(int x, int y);
-}
-class B extends A {
- B(int x, int y) : super(x, y);
-}
-''');
- await assertNoAssistAt('x, int y) :');
- }
-
- Future<void> test_requiredPositional_multipleSuperParameters_last() async {
- await resolveTestCode('''
-class A {
- A(int x, int y);
-}
-class B extends A {
- B(int x, int y) : super(x, y);
-}
-''');
- await assertNoAssistAt('y) :');
- }
-
- Future<void> test_requiredPositional_multipleSuperParameters_middle() async {
- await resolveTestCode('''
-class A {
- A(int x, int y, int z);
-}
-class B extends A {
- B(int x, int y, int z) : super(x, y, z);
-}
-''');
- await assertNoAssistAt('y, int z) :');
- }
-
- Future<void> test_requiredPositional_noSuperInvocation() async {
- await resolveTestCode('''
-class A {
- A();
-}
-class B extends A {
- B(int x);
-}
-''');
- await assertNoAssistAt('x);');
- }
-
- Future<void> test_requiredPositional_notGenerative() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- static List<B> instances = [];
- factory B(int x) => instances[x];
-}
-''');
- await assertNoAssistAt('x) =>');
- }
-
- Future<void> test_requiredPositional_notInConstructor() async {
- await resolveTestCode('''
-class A {
- void m(int x) {}
-}
-''');
- await assertNoAssistAt('x)');
- }
-
- Future<void> test_requiredPositional_notPassed_unreferenced() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x) : super(0);
-}
-''');
- await assertNoAssistAt('x) :');
- }
-
- Future<void> test_requiredPositional_notPassed_usedInExpression() async {
- await resolveTestCode('''
-class A {
- A(String x);
-}
-class B extends A {
- B(Object x) : super(x.toString());
-}
-''');
- await assertNoAssistAt('x) :');
- }
-
- Future<void> test_requiredPositional_notSupported() async {
- await resolveTestCode('''
-// @dart=2.16
-class A {
- A(int x);
-}
-class B extends A {
- B(int x) : super(x);
-}
-''');
- await assertNoAssistAt('x) :');
- }
-
- Future<void> test_requiredPositional_singleSuperParameter_first() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x, int y) : super(x);
-}
-''');
- await assertHasAssistAt('x, int y)', '''
-class A {
- A(int x);
-}
-class B extends A {
- B(super.x, int y);
-}
-''');
- }
-
- Future<void> test_requiredPositional_singleSuperParameter_last() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x, int y) : super(y);
-}
-''');
- await assertHasAssistAt('y) :', '''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x, super.y);
-}
-''');
- }
-
- Future<void> test_requiredPositional_singleSuperParameter_middle() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x, int y, int z) : super(y);
-}
-''');
- await assertHasAssistAt('y, int z) :', '''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x, super.y, int z);
-}
-''');
- }
-
- Future<void> test_requiredPositional_singleSuperParameter_only() async {
- await resolveTestCode('''
-class A {
- A(int x);
-}
-class B extends A {
- B(int x) : super(x);
-}
-''');
- await assertHasAssistAt('x) :', '''
-class A {
- A(int x);
-}
-class B extends A {
- B(super.x);
-}
-''');
- }
-
- Future<void> test_requiredPositional_unpassedOptionalPositional() async {
- await resolveTestCode('''
-class A {
- A(int x, [int y = 0]);
-}
-class B extends A {
- B(int x) : super(x);
-}
-''');
- await assertHasAssistAt('x) :', '''
-class A {
- A(int x, [int y = 0]);
-}
-class B extends A {
- B(super.x);
-}
-''');
- }
-}
diff --git a/pkg/analysis_server/test/src/services/correction/assist/convert_to_super_parameters_test.dart b/pkg/analysis_server/test/src/services/correction/assist/convert_to_super_parameters_test.dart
new file mode 100644
index 0000000..b3652ca
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/assist/convert_to_super_parameters_test.dart
@@ -0,0 +1,658 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analysis_server/src/services/correction/assist.dart';
+import 'package:analyzer_plugin/utilities/assist/assist.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'assist_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ConvertToSuperParametersTest);
+ });
+}
+
+@reflectiveTest
+class ConvertToSuperParametersTest extends AssistProcessorTest {
+ @override
+ AssistKind get kind => DartAssistKind.CONVERT_TO_SUPER_PARAMETERS;
+
+ Future<void> test_cursorLocation_named_onClassName() async {
+ await resolveTestCode('''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B.name({int? x}) : super(x: x);
+}
+''');
+ await assertHasAssistAt('B.name', '''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B.name({super.x});
+}
+''');
+ }
+
+ Future<void> test_cursorLocation_named_onConstructorName() async {
+ await resolveTestCode('''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B.name({int? x}) : super(x: x);
+}
+''');
+ await assertHasAssistAt('ame(', '''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B.name({super.x});
+}
+''');
+ }
+
+ Future<void> test_cursorLocation_unnamed_notOnClassName() async {
+ await resolveTestCode('''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B({int? x}) : super(x: x);
+}
+''');
+ await assertNoAssistAt('super');
+ }
+
+ Future<void> test_cursorLocation_unnamed_onClassName() async {
+ await resolveTestCode('''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B({int? x}) : super(x: x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B({super.x});
+}
+''');
+ }
+
+ Future<void> test_defaultValue_different_named() async {
+ await resolveTestCode('''
+class A {
+ A({int x = 0});
+}
+class B extends A {
+ B({int x = 2}) : super(x: x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int x = 0});
+}
+class B extends A {
+ B({super.x = 2});
+}
+''');
+ }
+
+ Future<void> test_defaultValue_different_positional() async {
+ await resolveTestCode('''
+class A {
+ A([int x = 0]);
+}
+class B extends A {
+ B([int x = 2]) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A([int x = 0]);
+}
+class B extends A {
+ B([super.x = 2]);
+}
+''');
+ }
+
+ Future<void> test_defaultValue_equal_named() async {
+ await resolveTestCode('''
+class A {
+ A({int x = 0});
+}
+class B extends A {
+ B({int x = 0}) : super(x: x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int x = 0});
+}
+class B extends A {
+ B({super.x});
+}
+''');
+ }
+
+ Future<void> test_defaultValue_equal_positional() async {
+ await resolveTestCode('''
+class A {
+ A([int x = 0]);
+}
+class B extends A {
+ B([int x = 0]) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A([int x = 0]);
+}
+class B extends A {
+ B([super.x]);
+}
+''');
+ }
+
+ Future<void> test_invalid_namedToPositional() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B({int x = 0}) : super(x);
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_noSuperInvocation_factory() async {
+ await resolveTestCode('''
+class A {
+ A({required int x});
+}
+class B extends A {
+ static List<B> instances = [];
+ factory B({required int x}) => instances[x];
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_noSuperInvocation_generative() async {
+ await resolveTestCode('''
+class A {
+ A({int x = 0});
+}
+class B extends A {
+ B({int x = 1});
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_notAConstructor() async {
+ await resolveTestCode('''
+class A {
+ void m({required int x}) {}
+}
+''');
+ await assertNoAssistAt('m(');
+ }
+
+ Future<void> test_invalid_notPassed_unreferenced_named() async {
+ await resolveTestCode('''
+class A {
+ A({int x = 0});
+}
+class B extends A {
+ B({int x = 0}) : super(x: 0);
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_notPassed_unreferenced_positional() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x) : super(0);
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_notPassed_usedInExpression_named() async {
+ await resolveTestCode('''
+class A {
+ A({String x = ''});
+}
+class B extends A {
+ B({required Object x}) : super(x: x.toString());
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_notPassed_usedInExpression_positional() async {
+ await resolveTestCode('''
+class A {
+ A(String x);
+}
+class B extends A {
+ B(Object x) : super(x.toString());
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_optedOut() async {
+ await resolveTestCode('''
+// @dart=2.16
+class A {
+ A({int? x});
+}
+class B extends A {
+ B({int? x}) : super(x: x);
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_invalid_positionalToNamed() async {
+ await resolveTestCode('''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B(int x) : super(x: x);
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_mixed_first() async {
+ await resolveTestCode('''
+class A {
+ A(int x, {int? y});
+}
+class B extends A {
+ B(int x, int y) : super(x, y: y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x, {int? y});
+}
+class B extends A {
+ B(super.x, int y) : super(y: y);
+}
+''');
+ }
+
+ Future<void> test_mixed_last() async {
+ await resolveTestCode('''
+class A {
+ A(int x, {int? y});
+}
+class B extends A {
+ B(int y, int x) : super(x, y: y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x, {int? y});
+}
+class B extends A {
+ B(int y, super.x) : super(y: y);
+}
+''');
+ }
+
+ Future<void> test_mixed_middle() async {
+ await resolveTestCode('''
+class A {
+ A(int y, {int? z});
+}
+class B extends A {
+ B(int x, int y, int z) : super(y, z: z);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int y, {int? z});
+}
+class B extends A {
+ B(int x, super.y, int z) : super(z: z);
+}
+''');
+ }
+
+ Future<void> test_named_all_reversedOrder() async {
+ await resolveTestCode('''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({int? y, int? x}) : super(x: x, y: y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({super.y, super.x});
+}
+''');
+ }
+
+ Future<void> test_named_all_sameOrder() async {
+ await resolveTestCode('''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({int? x, int? y}) : super(x: x, y: y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({super.x, super.y});
+}
+''');
+ }
+
+ Future<void> test_named_first() async {
+ await resolveTestCode('''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({int? x, required int y}) : super(x: x, y: y + 1);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({super.x, required int y}) : super(y: y + 1);
+}
+''');
+ }
+
+ Future<void> test_named_last() async {
+ await resolveTestCode('''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({required int x, int? y}) : super(x: x + 1, y: y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x, int? y});
+}
+class B extends A {
+ B({required int x, super.y}) : super(x: x + 1);
+}
+''');
+ }
+
+ Future<void> test_named_middle() async {
+ await resolveTestCode('''
+class A {
+ A({int? x, int? y, int? z});
+}
+class B extends A {
+ B({required int x, int? y, required int z}) : super(x: x + 1, y: y, z: z + 1);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x, int? y, int? z});
+}
+class B extends A {
+ B({required int x, super.y, required int z}) : super(x: x + 1, z: z + 1);
+}
+''');
+ }
+
+ Future<void> test_named_only() async {
+ await resolveTestCode('''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B({int? x}) : super(x: x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A({int? x});
+}
+class B extends A {
+ B({super.x});
+}
+''');
+ }
+
+ Future<void> test_positional_first() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x, int y) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(super.x, int y);
+}
+''');
+ }
+
+ Future<void> test_positional_functionTypedFormalParameter() async {
+ await resolveTestCode('''
+class A {
+ A(int x(int));
+}
+class B extends A {
+ B(int x(int)) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x(int));
+}
+class B extends A {
+ B(super.x);
+}
+''');
+ }
+
+ Future<void> test_positional_last() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x, int y) : super(y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x, super.y);
+}
+''');
+ }
+
+ Future<void> test_positional_middle() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x, int y, int z) : super(y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x, super.y, int z);
+}
+''');
+ }
+
+ Future<void> test_positional_multiple_notInOrder() async {
+ await resolveTestCode('''
+class A {
+ A(int x, int y);
+}
+class B extends A {
+ B(int x, int y) : super(y, x);
+}
+''');
+ await assertNoAssistAt('B(');
+ }
+
+ Future<void> test_positional_multiple_optional() async {
+ await resolveTestCode('''
+class A {
+ A([int? x, int? y]);
+}
+class B extends A {
+ B([int? x, int? y]) : super(x, y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A([int? x, int? y]);
+}
+class B extends A {
+ B([super.x, super.y]);
+}
+''');
+ }
+
+ Future<void> test_positional_multiple_required() async {
+ await resolveTestCode('''
+class A {
+ A(int x, int y);
+}
+class B extends A {
+ B(int x, int y) : super(x, y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x, int y);
+}
+class B extends A {
+ B(super.x, super.y);
+}
+''');
+ }
+
+ Future<void> test_positional_multiple_requiredAndOptional() async {
+ await resolveTestCode('''
+class A {
+ A(int x, [int? y]);
+}
+class B extends A {
+ B(int x, [int? y]) : super(x, y);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x, [int? y]);
+}
+class B extends A {
+ B(super.x, [super.y]);
+}
+''');
+ }
+
+ Future<void> test_positional_only() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(int x) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x);
+}
+class B extends A {
+ B(super.x);
+}
+''');
+ }
+
+ Future<void> test_positional_only_optional() async {
+ await resolveTestCode('''
+class A {
+ A(int x);
+}
+class B extends A {
+ B([int x = 0]) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x);
+}
+class B extends A {
+ B([super.x = 0]);
+}
+''');
+ }
+
+ Future<void> test_positional_unpassedOptionalPositional() async {
+ await resolveTestCode('''
+class A {
+ A(int x, [int y = 0]);
+}
+class B extends A {
+ B(int x) : super(x);
+}
+''');
+ await assertHasAssistAt('B(', '''
+class A {
+ A(int x, [int y = 0]);
+}
+class B extends A {
+ B(super.x);
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/assist/test_all.dart b/pkg/analysis_server/test/src/services/correction/assist/test_all.dart
index 2c05865..d32b3c0 100644
--- a/pkg/analysis_server/test/src/services/correction/assist/test_all.dart
+++ b/pkg/analysis_server/test/src/services/correction/assist/test_all.dart
@@ -42,8 +42,7 @@
import 'convert_to_single_quoted_string_test.dart'
as convert_to_single_quoted_string;
import 'convert_to_spread_test.dart' as convert_to_spread;
-import 'convert_to_super_initializing_parameter_test.dart'
- as convert_to_super_initializing_parameter;
+import 'convert_to_super_parameters_test.dart' as convert_to_super_parameters;
import 'encapsulate_field_test.dart' as encapsulate_field;
import 'exchange_operands_test.dart' as exchange_operands;
import 'flutter_convert_to_children_test.dart' as flutter_convert_to_children;
@@ -126,7 +125,7 @@
convert_to_set_literal.main();
convert_to_single_quoted_string.main();
convert_to_spread.main();
- convert_to_super_initializing_parameter.main();
+ convert_to_super_parameters.main();
encapsulate_field.main();
exchange_operands.main();
flutter_convert_to_children.main();
diff --git a/pkg/analysis_server/test/src/services/correction/fix/add_missing_parameter_required_test.dart b/pkg/analysis_server/test/src/services/correction/fix/add_missing_parameter_required_test.dart
index d75d912..5a9faa9 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/add_missing_parameter_required_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/add_missing_parameter_required_test.dart
@@ -166,7 +166,7 @@
}
Future<void> test_function_inPackage_inWorkspace() async {
- newFile('/home/aaa/lib/a.dart', content: 'void test() {}');
+ newFile2('/home/aaa/lib/a.dart', 'void test() {}');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
@@ -193,7 +193,7 @@
}
Future<void> test_function_inPackage_outsideWorkspace() async {
- newFile('/home/bbb/lib/b.dart', content: 'void test() {}');
+ newFile2('/home/bbb/lib/b.dart', 'void test() {}');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
diff --git a/pkg/analysis_server/test/src/services/correction/fix/convert_class_to_enum_test.dart b/pkg/analysis_server/test/src/services/correction/fix/convert_class_to_enum_test.dart
new file mode 100644
index 0000000..b918348
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/convert_class_to_enum_test.dart
@@ -0,0 +1,212 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analysis_server/src/services/correction/fix.dart';
+import 'package:analysis_server/src/services/linter/lint_names.dart';
+import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ConvertClassToEnumBulkTest);
+ defineReflectiveTests(ConvertClassToEnumTest);
+ });
+}
+
+@reflectiveTest
+class ConvertClassToEnumBulkTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.use_enums;
+
+ Future<void> test_multipleClasses() async {
+ await resolveTestCode('''
+class _E {
+ static const _E c0 = _E(0);
+ static const _E c1 = _E(1);
+
+ final int value;
+
+ const _E(this.value);
+}
+
+class E {
+ static const E c0 = E._(0);
+ static const E c1 = E._(1);
+
+ final int value;
+
+ const E._(this.value);
+}
+
+var x = [_E.c0, _E.c1];
+''');
+ await assertHasFix('''
+enum _E {
+ c0(0),
+ c1(1);
+
+ final int value;
+
+ const _E(this.value);
+}
+
+enum E {
+ c0._(0),
+ c1._(1);
+
+ final int value;
+
+ const E._(this.value);
+}
+
+var x = [_E.c0, _E.c1];
+''');
+ }
+}
+
+@reflectiveTest
+class ConvertClassToEnumTest extends FixProcessorLintTest {
+ @override
+ FixKind get kind => DartFixKind.CONVERT_CLASS_TO_ENUM;
+
+ @override
+ String get lintCode => LintNames.use_enums;
+
+ Future<void> test_minimal_intField_privateClass() async {
+ await resolveTestCode('''
+class _E {
+ static const _E c0 = _E(0);
+ static const _E c1 = _E(1);
+
+ final int value;
+
+ const _E(this.value);
+}
+
+var x = [_E.c0, _E.c1];
+''');
+ await assertHasFix('''
+enum _E {
+ c0(0),
+ c1(1);
+
+ final int value;
+
+ const _E(this.value);
+}
+
+var x = [_E.c0, _E.c1];
+''');
+ }
+
+ Future<void> test_minimal_intField_publicClass() async {
+ await resolveTestCode('''
+class E {
+ static const E c0 = E._(0);
+ static const E c1 = E._(1);
+
+ final int value;
+
+ const E._(this.value);
+}
+''');
+ await assertHasFix('''
+enum E {
+ c0._(0),
+ c1._(1);
+
+ final int value;
+
+ const E._(this.value);
+}
+''');
+ }
+
+ Future<void> test_minimal_notIntField_privateClass() async {
+ await resolveTestCode('''
+class _E {
+ static const _E c0 = _E('c0');
+ static const _E c1 = _E('c1');
+
+ final String name;
+
+ const _E(this.name);
+}
+
+var x = [_E.c0, _E.c1];
+''');
+ await assertHasFix('''
+enum _E {
+ c0('c0'),
+ c1('c1');
+
+ final String name;
+
+ const _E(this.name);
+}
+
+var x = [_E.c0, _E.c1];
+''');
+ }
+
+ Future<void> test_minimal_notIntField_publicClass() async {
+ await resolveTestCode('''
+class E {
+ static const E c0 = E._('c0');
+ static const E c1 = E._('c1');
+
+ final String name;
+
+ const E._(this.name);
+}
+''');
+ await assertHasFix('''
+enum E {
+ c0._('c0'),
+ c1._('c1');
+
+ final String name;
+
+ const E._(this.name);
+}
+''');
+ }
+
+ Future<void> test_withReferencedFactoryConstructor() async {
+ await resolveTestCode('''
+class _E {
+ static const _E c0 = _E(0);
+ static const _E c1 = _E(1);
+
+ final int value;
+
+ const _E(this.value);
+
+ factory _E.withValue(int x) => c0;
+}
+
+_E e = _E.withValue(0);
+
+var x = [_E.c0, _E.c1];
+''');
+ await assertHasFix('''
+enum _E {
+ c0(0),
+ c1(1);
+
+ final int value;
+
+ const _E(this.value);
+
+ factory _E.withValue(int x) => c0;
+}
+
+_E e = _E.withValue(0);
+
+var x = [_E.c0, _E.c1];
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/convert_to_package_import_test.dart b/pkg/analysis_server/test/src/services/correction/fix/convert_to_package_import_test.dart
index 9e78353..7f66a9b 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/convert_to_package_import_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/convert_to_package_import_test.dart
@@ -60,7 +60,7 @@
String get lintCode => LintNames.always_use_package_imports;
Future<void> test_relativeImport() async {
- newFile('$testPackageLibPath/foo.dart', content: '''
+ newFile2('$testPackageLibPath/foo.dart', '''
class Foo {}
''');
await resolveTestCode('''
@@ -118,7 +118,7 @@
// This test fails because any attempt to specify a relative path that
// includes 'lib' (which the lint requires) results in a malformed URI when
// trying to resolve the import.
- newFile('$testPackageLibPath/foo/bar.dart', content: '''
+ newFile2('$testPackageLibPath/foo/bar.dart', '''
class C {}
''');
await resolveTestCode('''
diff --git a/pkg/analysis_server/test/src/services/correction/fix/create_constructor_test.dart b/pkg/analysis_server/test/src/services/correction/fix/create_constructor_test.dart
index 96d0f22..f989538 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/create_constructor_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/create_constructor_test.dart
@@ -41,7 +41,7 @@
FixKind get kind => DartFixKind.CREATE_CONSTRUCTOR;
Future<void> test_inLibrary_insteadOfSyntheticDefault() async {
- var a = newFile('$testPackageLibPath/a.dart', content: '''
+ var a = newFile2('$testPackageLibPath/a.dart', '''
/// $_text200
class A {}
''').path;
@@ -61,7 +61,7 @@
}
Future<void> test_inLibrary_named() async {
- var a = newFile('$testPackageLibPath/a.dart', content: '''
+ var a = newFile2('$testPackageLibPath/a.dart', '''
/// $_text200
class A {}
''').path;
diff --git a/pkg/analysis_server/test/src/services/correction/fix/create_local_variable_test.dart b/pkg/analysis_server/test/src/services/correction/fix/create_local_variable_test.dart
index c06ac62..eb9fe9a 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/create_local_variable_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/create_local_variable_test.dart
@@ -158,13 +158,13 @@
}
Future<void> test_withImport() async {
- newFile('$workspaceRootPath/pkg/lib/a/a.dart', content: '''
+ newFile2('$workspaceRootPath/pkg/lib/a/a.dart', '''
class A {}
''');
- newFile('$workspaceRootPath/pkg/lib/b/b.dart', content: '''
+ newFile2('$workspaceRootPath/pkg/lib/b/b.dart', '''
class B {}
''');
- newFile('$workspaceRootPath/pkg/lib/c/c.dart', content: '''
+ newFile2('$workspaceRootPath/pkg/lib/c/c.dart', '''
import 'package:pkg/a/a.dart';
import 'package:pkg/b/b.dart';
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test.dart
index 82353b0..aeffff8 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test.dart
@@ -576,7 +576,7 @@
}
Future<void> test_addParameter_withImport() async {
- newFile('$workspaceRootPath/p/lib/d.dart', content: '''
+ newFile2('$workspaceRootPath/p/lib/d.dart', '''
class D {}
''');
setPackageContent('''
@@ -1356,14 +1356,14 @@
/// Add the file containing the data used by the data-driven fix with the
/// given [content].
void addPackageDataFile(String content) {
- newFile('$workspaceRootPath/p/lib/${TransformSetManager.dataFileName}',
- content: content);
+ newFile2('$workspaceRootPath/p/lib/${TransformSetManager.dataFileName}',
+ content);
}
/// Set the content of the library that defines the element referenced by the
/// data on which this test is based.
void setPackageContent(String content) {
- newFile('$workspaceRootPath/p/lib/lib.dart', content: content);
+ newFile2('$workspaceRootPath/p/lib/lib.dart', content);
writeTestPackageConfig(
config: PackageConfigFileBuilder()
..add(name: 'p', rootPath: '$workspaceRootPath/p'),
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test_support.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test_support.dart
index e26e0061..4da84b2 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test_support.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/data_driven_test_support.dart
@@ -26,8 +26,8 @@
/// Add the file containing the data used by the data-driven fix with the
/// given [content].
void addPackageDataFile(String content) {
- newFile('$workspaceRootPath/p/lib/${TransformSetManager.dataFileName}',
- content: content);
+ newFile2('$workspaceRootPath/p/lib/${TransformSetManager.dataFileName}',
+ content);
}
/// Return a code template that will produce the given [text].
@@ -44,7 +44,7 @@
/// Set the content of the library that defines the element referenced by the
/// data on which this test is based.
void setPackageContent(String content) {
- newFile('$workspaceRootPath/p/lib/lib.dart', content: content);
+ newFile2('$workspaceRootPath/p/lib/lib.dart', content);
writeTestPackageConfig(
config: PackageConfigFileBuilder()
..add(name: 'p', rootPath: '$workspaceRootPath/p'),
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/element_matcher_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/element_matcher_test.dart
index e7a0f03..327eb16 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/element_matcher_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/element_matcher_test.dart
@@ -366,7 +366,7 @@
Future<void> test_imports_package() async {
var packageRootPath = '$workspaceRootPath/other';
- newFile('$packageRootPath/lib/other.dart', content: '');
+ newFile2('$packageRootPath/lib/other.dart', '');
writeTestPackageConfig(
config: PackageConfigFileBuilder()
..add(name: 'other', rootPath: packageRootPath));
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/sdk_fix_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/sdk_fix_test.dart
index 72a5b03..49604dc 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/sdk_fix_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/sdk_fix_test.dart
@@ -17,8 +17,9 @@
class AbstractSdkFixTest extends DataDrivenFixProcessorTest {
void addSdkDataFile(String content) {
- newFile('${sdkRoot.path}/lib/_internal/${TransformSetManager.dataFileName}',
- content: content);
+ newFile2(
+ '${sdkRoot.path}/lib/_internal/${TransformSetManager.dataFileName}',
+ content);
}
@override
diff --git a/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_manager_test.dart b/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_manager_test.dart
index e6d1f6c..2f7755b 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_manager_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/data_driven/transform_set_manager_test.dart
@@ -52,7 +52,7 @@
}
void _addDataFile(String packageName) {
- newFile('$workspaceRootPath/$packageName/lib/fix_data.yaml', content: '''
+ newFile2('$workspaceRootPath/$packageName/lib/fix_data.yaml', '''
version: 1
transforms:
- title: 'Rename A'
diff --git a/pkg/analysis_server/test/src/services/correction/fix/import_library_project_test.dart b/pkg/analysis_server/test/src/services/correction/fix/import_library_project_test.dart
index 75e8a94..db8bd08 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/import_library_project_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/import_library_project_test.dart
@@ -237,11 +237,11 @@
Future<void> test_extension_otherPackage_exported_fromSrc() async {
var pkgRootPath = '$packagesRootPath/aaa';
- newFile('$pkgRootPath/lib/a.dart', content: r'''
+ newFile2('$pkgRootPath/lib/a.dart', r'''
export 'src/b.dart';
''');
- newFile('$pkgRootPath/lib/src/b.dart', content: r'''
+ newFile2('$pkgRootPath/lib/src/b.dart', r'''
extension IntExtension on int {
int get foo => 0;
}
@@ -299,7 +299,7 @@
}
Future<void> test_lib() async {
- newFile('$packagesRootPath/my_pkg/lib/a.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/a.dart', '''
class Test {}
''');
@@ -331,7 +331,7 @@
}
Future<void> test_lib_extension() async {
- newFile('$packagesRootPath/my_pkg/lib/a.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/a.dart', '''
extension E on int {
static String m() => '';
}
@@ -363,7 +363,7 @@
}
Future<void> test_lib_src() async {
- newFile('$packagesRootPath/my_pkg/lib/src/a.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/src/a.dart', '''
class Test {}
''');
@@ -718,7 +718,7 @@
Future<void> test_withClass_pub_other_inLib_dependencies() async {
var aaaRoot = getFolder('$packagesRootPath/aaa');
- newFile('${aaaRoot.path}/lib/a.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/a.dart', '''
class Test {}
''');
@@ -746,7 +746,7 @@
Future<void> test_withClass_pub_other_inLib_devDependencies() async {
var aaaRoot = getFolder('$packagesRootPath/aaa');
- newFile('${aaaRoot.path}/lib/a.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/a.dart', '''
class Test {}
''');
@@ -770,7 +770,7 @@
Future<void> test_withClass_pub_other_inLib_notListed() async {
var aaaRoot = getFolder('$packagesRootPath/aaa');
- newFile('${aaaRoot.path}/lib/a.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/a.dart', '''
class Test {}
''');
@@ -793,7 +793,7 @@
Future<void> test_withClass_pub_other_inTest_dependencies() async {
var aaaRoot = getFolder('$packagesRootPath/aaa');
- newFile('${aaaRoot.path}/lib/a.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/a.dart', '''
class Test {}
''');
@@ -808,7 +808,7 @@
..add(name: 'aaa', rootPath: aaaRoot.path),
);
- var b = newFile('$testPackageTestPath/b.dart', content: r'''
+ var b = newFile2('$testPackageTestPath/b.dart', r'''
void f(Test t) {}
''');
@@ -823,7 +823,7 @@
Future<void> test_withClass_pub_other_inTest_devDependencies() async {
var aaaRoot = getFolder('$packagesRootPath/aaa');
- newFile('${aaaRoot.path}/lib/a.dart', content: '''
+ newFile2('${aaaRoot.path}/lib/a.dart', '''
class Test {}
''');
@@ -838,7 +838,7 @@
..add(name: 'aaa', rootPath: aaaRoot.path),
);
- var b = newFile('$testPackageTestPath/b.dart', content: r'''
+ var b = newFile2('$testPackageTestPath/b.dart', r'''
void f(Test t) {}
''');
@@ -856,7 +856,7 @@
name: test
''');
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class Test {}
''');
@@ -876,7 +876,7 @@
name: test
''');
- newFile('$testPackageTestPath/a.dart', content: r'''
+ newFile2('$testPackageTestPath/a.dart', r'''
class Test {}
''');
@@ -891,11 +891,11 @@
name: test
''');
- newFile('$testPackageTestPath/a.dart', content: r'''
+ newFile2('$testPackageTestPath/a.dart', r'''
class Test {}
''');
- var b = newFile('$testPackageTestPath/b.dart', content: r'''
+ var b = newFile2('$testPackageTestPath/b.dart', r'''
void f(Test t) {}
''');
@@ -913,7 +913,7 @@
name: test
''');
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension IntExtension on int {
int get foo => 0;
}
@@ -1225,10 +1225,10 @@
FixKind get kind => DartFixKind.IMPORT_LIBRARY_PROJECT2;
Future<void> test_lib() async {
- newFile('$packagesRootPath/my_pkg/lib/a.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/a.dart', '''
export 'b.dart';
''');
- newFile('$packagesRootPath/my_pkg/lib/b.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/b.dart', '''
class Test {}
''');
@@ -1258,10 +1258,10 @@
}
Future<void> test_lib_src() async {
- newFile('$packagesRootPath/my_pkg/lib/a.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/a.dart', '''
export 'src/b.dart';
''');
- newFile('$packagesRootPath/my_pkg/lib/src/b.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/src/b.dart', '''
class Test {}
''');
@@ -1291,10 +1291,10 @@
}
Future<void> test_lib_src_extension() async {
- newFile('$packagesRootPath/my_pkg/lib/a.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/a.dart', '''
export 'src/b.dart';
''');
- newFile('$packagesRootPath/my_pkg/lib/src/b.dart', content: '''
+ newFile2('$packagesRootPath/my_pkg/lib/src/b.dart', '''
extension E on int {
static String m() => '';
}
@@ -1354,7 +1354,7 @@
name: test
''');
- newFile('$testPackageLibPath/src/a.dart', content: r'''
+ newFile2('$testPackageLibPath/src/a.dart', r'''
class Test {}
''');
@@ -1374,11 +1374,11 @@
name: test
''');
- newFile('$testPackageLibPath/src/a.dart', content: r'''
+ newFile2('$testPackageLibPath/src/a.dart', r'''
class Test {}
''');
- var b = newFile('$testPackageTestPath/b.dart', content: r'''
+ var b = newFile2('$testPackageTestPath/b.dart', r'''
void f(Test t) {}
''');
diff --git a/pkg/analysis_server/test/src/services/correction/fix/organize_imports_test.dart b/pkg/analysis_server/test/src/services/correction/fix/organize_imports_test.dart
index 8d5d664..770e2c0 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/organize_imports_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/organize_imports_test.dart
@@ -42,12 +42,12 @@
}
Future<void> test_organizePathImports() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
''');
- newFile('$testPackageLibPath/a/b.dart', content: '''
+ newFile2('$testPackageLibPath/a/b.dart', '''
class B {
static void m() {}
}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/pubspec/test_support.dart b/pkg/analysis_server/test/src/services/correction/fix/pubspec/test_support.dart
index dcf483f..2f939e1 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/pubspec/test_support.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/pubspec/test_support.dart
@@ -43,7 +43,7 @@
void validatePubspec(String content) {
this.content = content;
- var pubspecFile = newFile('/home/test/pubspec.yaml', content: content);
+ var pubspecFile = newFile2('/home/test/pubspec.yaml', content);
document = loadYamlDocument(content);
var yamlContent = document.contents;
if (yamlContent is! YamlMap) {
diff --git a/pkg/analysis_server/test/src/services/correction/fix/qualify_reference_test.dart b/pkg/analysis_server/test/src/services/correction/fix/qualify_reference_test.dart
index 6d3cf03..6c3ee19 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/qualify_reference_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/qualify_reference_test.dart
@@ -43,7 +43,7 @@
}
Future<void> test_class_imported() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
@@ -60,7 +60,7 @@
}
Future<void> test_class_importedWithPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
@@ -104,12 +104,12 @@
}
Future<void> test_class_notImported() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class B extends A {}
''');
@@ -148,7 +148,7 @@
}
Future<void> test_extension_imported() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
@@ -165,7 +165,7 @@
}
Future<void> test_extension_importedWithPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
@@ -209,12 +209,12 @@
}
Future<void> test_extension_notImported() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void m() {}
}
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
class B extends A {}
''');
diff --git a/pkg/analysis_server/test/src/services/correction/fix/remove_assignment_test.dart b/pkg/analysis_server/test/src/services/correction/fix/remove_assignment_test.dart
new file mode 100644
index 0000000..c613d86
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/remove_assignment_test.dart
@@ -0,0 +1,88 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:analysis_server/src/services/correction/fix.dart';
+import 'package:analysis_server/src/services/linter/lint_names.dart';
+import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(RemoveAssignmentBulkTest);
+ defineReflectiveTests(RemoveAssignmentTest);
+ });
+}
+
+@reflectiveTest
+class RemoveAssignmentBulkTest extends BulkFixProcessorTest {
+ @override
+ String get lintCode => LintNames.unnecessary_null_aware_assignments;
+
+ Future<void> test_singleFile() async {
+ await resolveTestCode('''
+void f() {
+ var x;
+ var y;
+ x ??= null;
+ y ??= null;
+}
+''');
+ await assertHasFix('''
+void f() {
+ var x;
+ var y;
+}
+''');
+ }
+}
+
+@reflectiveTest
+class RemoveAssignmentTest extends FixProcessorLintTest {
+ @override
+ FixKind get kind => DartFixKind.REMOVE_ASSIGNMENT;
+
+ @override
+ String get lintCode => LintNames.unnecessary_null_aware_assignments;
+
+ Future<void> test_assignment() async {
+ await resolveTestCode('''
+void f() {
+ var x;
+ x ??= null;
+}
+''');
+ await assertHasFix('''
+void f() {
+ var x;
+}
+''');
+ }
+
+ Future<void> test_assignment_compound() async {
+ await resolveTestCode('''
+void f(x, y) {
+ y = x ??= null;
+}
+''');
+ await assertHasFix('''
+void f(x, y) {
+ y = x;
+}
+''');
+ }
+
+ Future<void> test_assignment_parenthesized() async {
+ await resolveTestCode('''
+void f(int? x) {
+ (x ??= null);
+}
+''');
+ await assertHasFix('''
+void f(int? x) {
+}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/remove_method_declaration_test.dart b/pkg/analysis_server/test/src/services/correction/fix/remove_method_declaration_test.dart
index 4dec631..319a8e9 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/remove_method_declaration_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/remove_method_declaration_test.dart
@@ -126,7 +126,7 @@
@FailingTest(issue: 'https://github.com/dart-lang/linter/issues/1997')
Future<void> test_method_nullSafety_optIn_fromOptOut() async {
createAnalysisOptionsFile(lints: [lintCode]);
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo() => 0;
}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/replace_with_extension_name_test.dart b/pkg/analysis_server/test/src/services/correction/fix/replace_with_extension_name_test.dart
index eaf03e1..809b33f 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/replace_with_extension_name_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/replace_with_extension_name_test.dart
@@ -62,7 +62,7 @@
}
Future<void> test_qualified() async {
- newFile('$testPackageLibPath/ext.dart', content: '''
+ newFile2('$testPackageLibPath/ext.dart', '''
extension E on String {
static int m() => 0;
}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/test_all.dart b/pkg/analysis_server/test/src/services/correction/fix/test_all.dart
index 5997525..9478bc2 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/test_all.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/test_all.dart
@@ -48,6 +48,7 @@
import 'change_to_static_access_test.dart' as change_to_static_access;
import 'change_to_test.dart' as change_to;
import 'change_type_annotation_test.dart' as change_type_annotation;
+import 'convert_class_to_enum_test.dart' as convert_class_to_enum;
import 'convert_documentation_into_line_test.dart'
as convert_documentation_into_line;
import 'convert_flutter_child_test.dart' as convert_flutter_child;
@@ -128,6 +129,7 @@
import 'remove_abstract_test.dart' as remove_abstract;
import 'remove_annotation_test.dart' as remove_annotation;
import 'remove_argument_test.dart' as remove_argument;
+import 'remove_assignment_test.dart' as remove_assignment;
import 'remove_await_test.dart' as remove_await;
import 'remove_comparison_test.dart' as remove_comparison;
import 'remove_const_test.dart' as remove_const;
@@ -262,6 +264,7 @@
change_to_nearest_precise_value.main();
change_to_static_access.main();
change_type_annotation.main();
+ convert_class_to_enum.main();
convert_documentation_into_line.main();
convert_flutter_child.main();
convert_flutter_children.main();
@@ -335,6 +338,7 @@
remove_abstract.main();
remove_annotation.main();
remove_argument.main();
+ remove_assignment.main();
remove_await.main();
remove_comparison.main();
remove_const.main();
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index ccc51f6..a1312a7 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -10,6 +10,8 @@
* Deprecated `astFactory`, clients should not create AST nodes manually.
* Changed `CompilationUnit.lineInfo` to be non-nullable.
* Changed `CompilationUnitElement.lineInfo` to be non-nullable.
+* Deprecated `ResourceProviderMixin.newFile`, use `newFile2` instead.
+* Deprecated `ResourceProviderMixin.newAnalysisOptionsYamlFile`.
## 3.3.1
* Report HintCode.OVERRIDE_ON_NON_OVERRIDING_xyz on enum.
diff --git a/pkg/analyzer/lib/dart/analysis/analysis_context.dart b/pkg/analyzer/lib/dart/analysis/analysis_context.dart
index b30e1fc..68fb611 100644
--- a/pkg/analyzer/lib/dart/analysis/analysis_context.dart
+++ b/pkg/analyzer/lib/dart/analysis/analysis_context.dart
@@ -38,5 +38,12 @@
/// Return a [Future] that completes after pending file changes are applied,
/// so that [currentSession] can be used to compute results.
- Future<void> applyPendingFileChanges();
+ ///
+ /// The value is the set of all files that are potentially affected by
+ /// the pending changes. This set can be both wider than the set of analyzed
+ /// files (because it may include files imported from other packages, and
+ /// which are on the import path from a changed file to an analyze file),
+ /// and narrower than the set of analyzed files (because only files that
+ /// were previously accessed are considered to be known and affected).
+ Future<List<String>> applyPendingFileChanges();
}
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index c1d72a8..562528c 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -82,7 +82,7 @@
/// TODO(scheglov) Clean up the list of implicitly analyzed files.
class AnalysisDriver implements AnalysisDriverGeneric {
/// The version of data format, should be incremented on every format change.
- static const int DATA_VERSION = 209;
+ static const int DATA_VERSION = 210;
static const bool _applyFileChangesSynchronously = true;
@@ -145,8 +145,12 @@
/// The file changes that should be applied before processing requests.
final List<_FileChange> _pendingFileChanges = [];
+ /// When [_applyFileChangesSynchronously] is `true`, affected files are
+ /// accumulated here.
+ Set<String> _accumulatedAffected = {};
+
/// The completers to complete after [_pendingFileChanges] are applied.
- final _pendingFileChangesCompleters = <Completer<void>>[];
+ final _pendingFileChangesCompleters = <Completer<List<String>>>[];
/// The mapping from the files for which analysis was requested using
/// [getResult] to the [Completer]s to report the result.
@@ -453,7 +457,7 @@
if (file_paths.isDart(resourceProvider.pathContext, path)) {
_priorityResults.clear();
if (_applyFileChangesSynchronously) {
- _removePotentiallyAffectedLibraries(path);
+ _removePotentiallyAffectedLibraries(_accumulatedAffected, path);
_fileTracker.addFile(path);
} else {
_pendingFileChanges.add(
@@ -466,13 +470,22 @@
/// Return a [Future] that completes after pending file changes are applied,
/// so that [currentSession] can be used to compute results.
- Future<void> applyPendingFileChanges() {
+ ///
+ /// The value is the set of all files that are potentially affected by
+ /// the pending changes. This set can be both wider than the set of analyzed
+ /// files (because it may include files imported from other packages, and
+ /// which are on the import path from a changed file to an analyze file),
+ /// and narrower than the set of analyzed files (because only files that
+ /// were previously accessed are considered to be known and affected).
+ Future<List<String>> applyPendingFileChanges() {
if (_pendingFileChanges.isNotEmpty) {
- var completer = Completer<void>();
+ var completer = Completer<List<String>>();
_pendingFileChangesCompleters.add(completer);
return completer.future;
} else {
- return Future.value();
+ var accumulatedAffected = _accumulatedAffected.toList();
+ _accumulatedAffected = {};
+ return Future.value(accumulatedAffected);
}
}
@@ -500,7 +513,7 @@
if (file_paths.isDart(resourceProvider.pathContext, path)) {
_priorityResults.clear();
if (_applyFileChangesSynchronously) {
- _removePotentiallyAffectedLibraries(path);
+ _removePotentiallyAffectedLibraries(_accumulatedAffected, path);
_fileTracker.changeFile(path);
} else {
_pendingFileChanges.add(
@@ -1386,7 +1399,7 @@
_lastProducedSignatures.remove(path);
_priorityResults.clear();
if (_applyFileChangesSynchronously) {
- _removePotentiallyAffectedLibraries(path);
+ _removePotentiallyAffectedLibraries(_accumulatedAffected, path);
_fileTracker.removeFile(path);
} else {
_pendingFileChanges.add(
@@ -1464,9 +1477,10 @@
}
void _applyPendingFileChanges() {
+ var accumulatedAffected = <String>{};
for (var fileChange in _pendingFileChanges) {
var path = fileChange.path;
- _removePotentiallyAffectedLibraries(path);
+ _removePotentiallyAffectedLibraries(accumulatedAffected, path);
switch (fileChange.kind) {
case _FileChangeKind.add:
_fileTracker.addFile(path);
@@ -1485,7 +1499,9 @@
var completers = _pendingFileChangesCompleters.toList();
_pendingFileChangesCompleters.clear();
for (var completer in completers) {
- completer.complete();
+ completer.complete(
+ accumulatedAffected.toList(),
+ );
}
}
}
@@ -1896,12 +1912,16 @@
'missing', errorsResult, AnalysisDriverUnitIndexBuilder());
}
- void _removePotentiallyAffectedLibraries(String path) {
+ void _removePotentiallyAffectedLibraries(
+ Set<String> accumulatedAffected,
+ String path,
+ ) {
var affected = <FileState>{};
_fsState.collectAffected(path, affected);
for (var file in affected) {
file.invalidateLibraryCycle();
+ accumulatedAffected.add(file.path);
}
_libraryContext?.elementFactory.removeLibraries(
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver_based_analysis_context.dart b/pkg/analyzer/lib/src/dart/analysis/driver_based_analysis_context.dart
index b00038a..79b54c0 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver_based_analysis_context.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver_based_analysis_context.dart
@@ -55,7 +55,7 @@
}
@override
- Future<void> applyPendingFileChanges() {
+ Future<List<String>> applyPendingFileChanges() {
return driver.applyPendingFileChanges();
}
}
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 0f0720a..11e0af2 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -712,6 +712,14 @@
return true;
}
+ bool get isMacro {
+ return hasModifier(Modifier.MACRO);
+ }
+
+ set isMacro(bool isMacro) {
+ setModifier(Modifier.MACRO, isMacro);
+ }
+
@override
bool get isMixinApplication {
return hasModifier(Modifier.MIXIN_APPLICATION);
@@ -4338,23 +4346,26 @@
/// Indicates that modifier 'lazy' was applied to the element.
static const Modifier LATE = Modifier('LATE', 17);
+ /// Indicates that a class is a macro builder.
+ static const Modifier MACRO = Modifier('MACRO', 18);
+
/// Indicates that a class is a mixin application.
- static const Modifier MIXIN_APPLICATION = Modifier('MIXIN_APPLICATION', 18);
+ static const Modifier MIXIN_APPLICATION = Modifier('MIXIN_APPLICATION', 19);
/// Indicates that the pseudo-modifier 'set' was applied to the element.
- static const Modifier SETTER = Modifier('SETTER', 19);
+ static const Modifier SETTER = Modifier('SETTER', 20);
/// See [TypeParameterizedElement.isSimplyBounded].
- static const Modifier SIMPLY_BOUNDED = Modifier('SIMPLY_BOUNDED', 20);
+ static const Modifier SIMPLY_BOUNDED = Modifier('SIMPLY_BOUNDED', 21);
/// Indicates that the modifier 'static' was applied to the element.
- static const Modifier STATIC = Modifier('STATIC', 21);
+ static const Modifier STATIC = Modifier('STATIC', 22);
/// Indicates that the element does not appear in the source code but was
/// implicitly created. For example, if a class does not define any
/// constructors, an implicit zero-argument constructor will be created and it
/// will be marked as being synthetic.
- static const Modifier SYNTHETIC = Modifier('SYNTHETIC', 22);
+ static const Modifier SYNTHETIC = Modifier('SYNTHETIC', 23);
static const List<Modifier> values = [
ABSTRACT,
@@ -4374,6 +4385,7 @@
HAS_PART_OF_DIRECTIVE,
IMPLICIT_TYPE,
LATE,
+ MACRO,
MIXIN_APPLICATION,
SETTER,
STATIC,
diff --git a/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart b/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart
index f4077d4..eb43608 100644
--- a/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart
+++ b/pkg/analyzer/lib/src/dart/element/generic_inferrer.dart
@@ -56,12 +56,34 @@
final Set<TypeParameterElement> _typeParameters = Set.identity();
final Map<TypeParameterElement, List<_TypeConstraint>> _constraints = {};
- GenericInferrer(
- this._typeSystem,
- Iterable<TypeParameterElement> typeFormals,
- ) {
- _typeParameters.addAll(typeFormals);
- for (var formal in typeFormals) {
+ /// The list of type parameters being inferred.
+ final List<TypeParameterElement> _typeFormals;
+
+ /// Indicates whether type parameter bounds should be included in constraints.
+ final bool considerExtendsClause;
+
+ /// The [ErrorReporter] to which inference errors should be reported, or
+ /// `null` if errors shouldn't be reported.
+ final ErrorReporter? errorReporter;
+
+ /// The [AstNode] to which errors should be attached. May be `null` if errors
+ /// are not being reported (that is, if [errorReporter] is also `null`).
+ final AstNode? errorNode;
+
+ /// Indicates whether the "generic metadata" feature is enabled. When it is,
+ /// type arguments are allowed to be instantiated with generic function types.
+ final bool genericMetadataIsEnabled;
+
+ GenericInferrer(this._typeSystem, this._typeFormals,
+ {this.considerExtendsClause = true,
+ this.errorReporter,
+ this.errorNode,
+ required this.genericMetadataIsEnabled}) {
+ if (errorReporter != null) {
+ assert(errorNode != null);
+ }
+ _typeParameters.addAll(_typeFormals);
+ for (var formal in _typeFormals) {
_constraints[formal] = [];
}
}
@@ -85,6 +107,24 @@
tryMatchSubtypeOf(argumentType, parameterType, origin, covariant: false);
}
+ /// Applies all the argument constraints implied by [parameters] and
+ /// [argumentTypes].
+ void constrainArguments(
+ {ClassElement? genericClass,
+ required List<ParameterElement> parameters,
+ required List<DartType> argumentTypes}) {
+ for (int i = 0; i < argumentTypes.length; i++) {
+ // Try to pass each argument to each parameter, recording any type
+ // parameter bounds that were implied by this assignment.
+ constrainArgument(
+ argumentTypes[i],
+ parameters[i].type,
+ parameters[i].name,
+ genericClass: genericClass,
+ );
+ }
+ }
+
/// Constrain a universal function type [fnType] used in a context
/// [contextType].
void constrainGenericFunctionInContext(
@@ -117,67 +157,46 @@
tryMatchSubtypeOf(declaredType, contextType, origin, covariant: true);
}
- /// Given the constraints that were given by calling [constrainArgument] and
- /// [constrainReturnType], find the type arguments for the [typeFormals] that
- /// satisfies these constraints.
+ /// Performs downwards inference, producing a set of inferred types that may
+ /// contain references to the "unknown type".
+ List<DartType> downwardsInfer() => _chooseTypes(downwardsInferPhase: true);
+
+ /// Tries to make [i1] a subtype of [i2] and accumulate constraints as needed.
///
- /// If [downwardsInferPhase] is set, we are in the first pass of inference,
- /// pushing context types down. At that point we are allowed to push down
- /// `_` to precisely represent an unknown type. If [downwardsInferPhase] is
- /// false, we are on our final inference pass, have all available information
- /// including argument types, and must not conclude `_` for any type formal.
- List<DartType>? infer(
- List<TypeParameterElement> typeFormals, {
- bool considerExtendsClause = true,
- ErrorReporter? errorReporter,
- AstNode? errorNode,
- bool failAtError = false,
- bool downwardsInferPhase = false,
- required bool genericMetadataIsEnabled,
- }) {
- // Initialize the inferred type array.
- //
- // In the downwards phase, they all start as `_` to offer reasonable
- // degradation for f-bounded type parameters.
- var inferredTypes =
- List<DartType>.filled(typeFormals.length, UnknownInferredType.instance);
-
- for (int i = 0; i < typeFormals.length; i++) {
- // TODO (kallentu) : Clean up TypeParameterElementImpl casting once
- // variance is added to the interface.
- var typeParam = typeFormals[i] as TypeParameterElementImpl;
- _TypeConstraint? extendsClause;
- var bound = typeParam.bound;
- if (considerExtendsClause && bound != null) {
- extendsClause = _TypeConstraint.fromExtends(
- typeParam,
- bound,
- Substitution.fromPairs(typeFormals, inferredTypes)
- .substituteType(bound),
- isNonNullableByDefault: isNonNullableByDefault,
- );
+ /// The return value indicates whether the match was successful. If it was
+ /// unsuccessful, any constraints that were accumulated during the match
+ /// attempt have been rewound (see [_rewindConstraints]).
+ bool tryMatchSubtypeOf(DartType t1, DartType t2, _TypeConstraintOrigin origin,
+ {required bool covariant}) {
+ var gatherer = TypeConstraintGatherer(
+ typeSystem: _typeSystem, typeParameters: _typeParameters);
+ var success = gatherer.trySubtypeMatch(t1, t2, !covariant);
+ if (success) {
+ var constraints = gatherer.computeConstraints();
+ for (var entry in constraints.entries) {
+ if (!entry.value.isEmpty) {
+ var constraint = _constraints[entry.key]!;
+ constraint.add(
+ _TypeConstraint(origin, entry.key,
+ lower: entry.value.lower, upper: entry.value.upper),
+ );
+ }
}
-
- var constraints = _constraints[typeParam]!;
- inferredTypes[i] = downwardsInferPhase
- ? _inferTypeParameterFromContext(constraints, extendsClause,
- isContravariant: typeParam.variance.isContravariant)
- : _inferTypeParameterFromAll(constraints, extendsClause,
- isContravariant: typeParam.variance.isContravariant,
- preferUpwardsInference: !typeParam.isLegacyCovariant);
}
- // If the downwards infer phase has failed, we'll catch this in the upwards
- // phase later on.
- if (downwardsInferPhase) {
- return inferredTypes;
- }
+ return success;
+ }
+ /// Same as [upwardsInfer], but if [failAtError] is `true` (the default) and
+ /// inference fails, returns `null` rather than trying to perform error
+ /// recovery.
+ List<DartType>? tryUpwardsInfer({bool failAtError = true}) {
+ var inferredTypes = _chooseTypes(downwardsInferPhase: false);
// Check the inferred types against all of the constraints.
var knownTypes = <TypeParameterElement, DartType>{};
var hasErrorReported = false;
- for (int i = 0; i < typeFormals.length; i++) {
- TypeParameterElement parameter = typeFormals[i];
+ for (int i = 0; i < _typeFormals.length; i++) {
+ TypeParameterElement parameter = _typeFormals[i];
var constraints = _constraints[parameter]!;
var inferred = inferredTypes[i];
@@ -189,7 +208,7 @@
var parameterBoundRaw = parameter.bound;
if (parameterBoundRaw != null) {
var parameterBound =
- Substitution.fromPairs(typeFormals, inferredTypes)
+ Substitution.fromPairs(_typeFormals, inferredTypes)
.substituteType(parameterBoundRaw);
parameterBound = _toLegacyElementIfOptOut(parameterBound);
var extendsConstraint = _TypeConstraint.fromExtends(
@@ -225,7 +244,7 @@
hasErrorReported = true;
var typeFormals = inferred.typeFormals;
var typeFormalsStr = typeFormals.map(_elementStr).join(', ');
- errorReporter.reportErrorForNode(
+ errorReporter!.reportErrorForNode(
CompileTimeErrorCode.COULD_NOT_INFER, errorNode!, [
parameter.name,
' Inferred candidate type ${_typeStr(inferred)} has type parameters'
@@ -250,8 +269,8 @@
}
// Use instantiate to bounds to finish things off.
- var hasError = List<bool>.filled(typeFormals.length, false);
- var result = _typeSystem.instantiateTypeFormalsToBounds(typeFormals,
+ var hasError = List<bool>.filled(_typeFormals.length, false);
+ var result = _typeSystem.instantiateTypeFormalsToBounds(_typeFormals,
hasError: hasError, knownTypes: knownTypes);
// Report any errors from instantiateToBounds.
@@ -259,8 +278,8 @@
if (hasError[i]) {
if (failAtError) return null;
hasErrorReported = true;
- TypeParameterElement typeParam = typeFormals[i];
- var typeParamBound = Substitution.fromPairs(typeFormals, inferredTypes)
+ TypeParameterElement typeParam = _typeFormals[i];
+ var typeParamBound = Substitution.fromPairs(_typeFormals, inferredTypes)
.substituteType(typeParam.bound ?? typeProvider.objectType);
// TODO(jmesserly): improve this error message.
errorReporter?.reportErrorForNode(
@@ -277,7 +296,6 @@
_checkArgumentsNotMatchingBounds(
errorNode: errorNode,
errorReporter: errorReporter,
- typeParameters: typeFormals,
typeArguments: result,
);
}
@@ -286,47 +304,18 @@
return result;
}
- /// Tries to make [i1] a subtype of [i2] and accumulate constraints as needed.
- ///
- /// The return value indicates whether the match was successful. If it was
- /// unsuccessful, any constraints that were accumulated during the match
- /// attempt have been rewound (see [_rewindConstraints]).
- bool tryMatchSubtypeOf(DartType t1, DartType t2, _TypeConstraintOrigin origin,
- {required bool covariant}) {
- var gatherer = TypeConstraintGatherer(
- typeSystem: _typeSystem,
- typeParameters: _typeParameters,
- );
- var success = gatherer.trySubtypeMatch(t1, t2, !covariant);
- if (success) {
- var constraints = gatherer.computeConstraints();
- for (var entry in constraints.entries) {
- if (!entry.value.isEmpty) {
- var constraint = _constraints[entry.key]!;
- constraint.add(
- _TypeConstraint(
- origin,
- entry.key,
- lower: entry.value.lower,
- upper: entry.value.upper,
- ),
- );
- }
- }
- }
-
- return success;
- }
+ /// Performs upwards inference, producing a final set of inferred types that
+ /// does not contain references to the "unknown type".
+ List<DartType> upwardsInfer() => tryUpwardsInfer(failAtError: false)!;
/// Check that inferred [typeArguments] satisfy the [typeParameters] bounds.
void _checkArgumentsNotMatchingBounds({
required AstNode? errorNode,
required ErrorReporter? errorReporter,
- required List<TypeParameterElement> typeParameters,
required List<DartType> typeArguments,
}) {
- for (int i = 0; i < typeParameters.length; i++) {
- var parameter = typeParameters[i];
+ for (int i = 0; i < _typeFormals.length; i++) {
+ var parameter = _typeFormals[i];
var argument = typeArguments[i];
var rawBound = parameter.bound;
@@ -335,7 +324,7 @@
}
rawBound = _typeSystem.toLegacyTypeIfOptOut(rawBound);
- var substitution = Substitution.fromPairs(typeParameters, typeArguments);
+ var substitution = Substitution.fromPairs(_typeFormals, typeArguments);
var bound = substitution.substituteType(rawBound);
if (!_typeSystem.isSubtypeOf(argument, bound)) {
errorReporter?.reportErrorForNode(
@@ -438,6 +427,38 @@
}
}
+ /// Computes (or recomputes) a set of [inferredTypes] based on the constraints
+ /// that have been recorded so far.
+ List<DartType> _chooseTypes({required bool downwardsInferPhase}) {
+ var inferredTypes = List<DartType>.filled(
+ _typeFormals.length, UnknownInferredType.instance);
+ for (int i = 0; i < _typeFormals.length; i++) {
+ // TODO (kallentu) : Clean up TypeParameterElementImpl casting once
+ // variance is added to the interface.
+ var typeParam = _typeFormals[i] as TypeParameterElementImpl;
+ _TypeConstraint? extendsClause;
+ var bound = typeParam.bound;
+ if (considerExtendsClause && bound != null) {
+ extendsClause = _TypeConstraint.fromExtends(
+ typeParam,
+ bound,
+ Substitution.fromPairs(_typeFormals, inferredTypes)
+ .substituteType(bound),
+ isNonNullableByDefault: isNonNullableByDefault);
+ }
+
+ var constraints = _constraints[typeParam]!;
+ inferredTypes[i] = downwardsInferPhase
+ ? _inferTypeParameterFromContext(constraints, extendsClause,
+ isContravariant: typeParam.variance.isContravariant)
+ : _inferTypeParameterFromAll(constraints, extendsClause,
+ isContravariant: typeParam.variance.isContravariant,
+ preferUpwardsInference: !typeParam.isLegacyCovariant);
+ }
+
+ return inferredTypes;
+ }
+
String _elementStr(Element element) {
return element.getDisplayString(withNullability: isNonNullableByDefault);
}
diff --git a/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart b/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
index ccbba42..eed4d97 100644
--- a/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_constraint_gatherer.dart
@@ -47,6 +47,8 @@
_typeParameters.addAll(typeParameters);
}
+ bool get isConstraintSetEmpty => _constraints.isEmpty;
+
DartType get _defaultTypeParameterBound {
if (_typeSystem.isNonNullableByDefault) {
return _typeSystem.objectQuestion;
diff --git a/pkg/analyzer/lib/src/dart/element/type_system.dart b/pkg/analyzer/lib/src/dart/element/type_system.dart
index 9097f205..10f80f7 100644
--- a/pkg/analyzer/lib/src/dart/element/type_system.dart
+++ b/pkg/analyzer/lib/src/dart/element/type_system.dart
@@ -425,13 +425,9 @@
/// Given a generic function type `F<T0, T1, ... Tn>` and a context type C,
/// infer an instantiation of F, such that `F<S0, S1, ..., Sn>` <: C.
///
- /// This is similar to [inferGenericFunctionOrType], but the return type is
+ /// This is similar to [setupGenericTypeInference], but the return type is
/// also considered as part of the solution.
- ///
- /// If this function is called with a [contextType] that is also
- /// uninstantiated, or a [fnType] that is already instantiated, it will have
- /// no effect and return `null`.
- List<DartType>? inferFunctionTypeInstantiation(
+ List<DartType> inferFunctionTypeInstantiation(
FunctionType contextType,
FunctionType fnType, {
ErrorReporter? errorReporter,
@@ -446,87 +442,14 @@
// inferred. It will optimistically assume these type parameters can be
// subtypes (or supertypes) as necessary, and track the constraints that
// are implied by this.
- var inferrer = GenericInferrer(this, fnType.typeFormals);
+ var inferrer = GenericInferrer(this, fnType.typeFormals,
+ errorReporter: errorReporter,
+ errorNode: errorNode,
+ genericMetadataIsEnabled: genericMetadataIsEnabled);
inferrer.constrainGenericFunctionInContext(fnType, contextType);
// Infer and instantiate the resulting type.
- return inferrer.infer(
- fnType.typeFormals,
- errorReporter: errorReporter,
- errorNode: errorNode,
- genericMetadataIsEnabled: genericMetadataIsEnabled,
- );
- }
-
- /// Infers type arguments for a generic type, function, method, or
- /// list/map literal, using the downward context type as well as the
- /// argument types if available.
- ///
- /// For example, given a function type with generic type parameters, this
- /// infers the type parameters from the actual argument types, and returns the
- /// instantiated function type.
- ///
- /// Concretely, given a function type with parameter types P0, P1, ... Pn,
- /// result type R, and generic type parameters T0, T1, ... Tm, use the
- /// argument types A0, A1, ... An to solve for the type parameters.
- ///
- /// For each parameter Pi, we want to ensure that Ai <: Pi. We can do this by
- /// running the subtype algorithm, and when we reach a type parameter Tj,
- /// recording the lower or upper bound it must satisfy. At the end, all
- /// constraints can be combined to determine the type.
- ///
- /// All constraints on each type parameter Tj are tracked, as well as where
- /// they originated, so we can issue an error message tracing back to the
- /// argument values, type parameter "extends" clause, or the return type
- /// context.
- List<DartType>? inferGenericFunctionOrType({
- ClassElement? genericClass,
- required List<TypeParameterElement> typeParameters,
- required List<ParameterElement> parameters,
- required DartType declaredReturnType,
- required List<DartType> argumentTypes,
- required DartType? contextReturnType,
- ErrorReporter? errorReporter,
- AstNode? errorNode,
- bool downwards = false,
- bool isConst = false,
- required bool genericMetadataIsEnabled,
- }) {
- if (typeParameters.isEmpty) {
- return null;
- }
-
- // Create a TypeSystem that will allow certain type parameters to be
- // inferred. It will optimistically assume these type parameters can be
- // subtypes (or supertypes) as necessary, and track the constraints that
- // are implied by this.
- var inferrer = GenericInferrer(this, typeParameters);
-
- if (contextReturnType != null) {
- if (isConst) {
- contextReturnType = eliminateTypeVariables(contextReturnType);
- }
- inferrer.constrainReturnType(declaredReturnType, contextReturnType);
- }
-
- for (int i = 0; i < argumentTypes.length; i++) {
- // Try to pass each argument to each parameter, recording any type
- // parameter bounds that were implied by this assignment.
- inferrer.constrainArgument(
- argumentTypes[i],
- parameters[i].type,
- parameters[i].name,
- genericClass: genericClass,
- );
- }
-
- return inferrer.infer(
- typeParameters,
- errorReporter: errorReporter,
- errorNode: errorNode,
- downwardsInferPhase: downwards,
- genericMetadataIsEnabled: genericMetadataIsEnabled,
- );
+ return inferrer.upwardsInfer();
}
/// Given a [DartType] [type], if [type] is an uninstantiated
@@ -1295,19 +1218,18 @@
required bool genericMetadataIsEnabled,
}) {
var typeParameters = mixinElement.typeParameters;
- var inferrer = GenericInferrer(this, typeParameters);
+ var inferrer = GenericInferrer(this, typeParameters,
+ considerExtendsClause: false,
+ genericMetadataIsEnabled: genericMetadataIsEnabled);
for (int i = 0; i < srcTypes.length; i++) {
inferrer.constrainReturnType(srcTypes[i], destTypes[i]);
inferrer.constrainReturnType(destTypes[i], srcTypes[i]);
}
- var inferredTypes = inferrer.infer(
- typeParameters,
- considerExtendsClause: false,
- genericMetadataIsEnabled: genericMetadataIsEnabled,
- )!;
- inferredTypes =
- inferredTypes.map(_removeBoundsOfGenericFunctionTypes).toList();
+ var inferredTypes = inferrer
+ .upwardsInfer()
+ .map(_removeBoundsOfGenericFunctionTypes)
+ .toList();
var substitution = Substitution.fromPairs(typeParameters, inferredTypes);
for (int i = 0; i < srcTypes.length; i++) {
@@ -1568,6 +1490,36 @@
return RuntimeTypeEqualityHelper(this).equal(T1, T2);
}
+ /// Prepares to infer type arguments for a generic type, function, method, or
+ /// list/map literal, initializing a [GenericInferrer] using the downward
+ /// context type.
+ GenericInferrer setupGenericTypeInference(
+ {required List<TypeParameterElement> typeParameters,
+ required DartType declaredReturnType,
+ required DartType? contextReturnType,
+ ErrorReporter? errorReporter,
+ AstNode? errorNode,
+ required bool genericMetadataIsEnabled,
+ bool isConst = false}) {
+ // Create a GenericInferrer that will allow certain type parameters to be
+ // inferred. It will optimistically assume these type parameters can be
+ // subtypes (or supertypes) as necessary, and track the constraints that
+ // are implied by this.
+ var inferrer = GenericInferrer(this, typeParameters,
+ errorReporter: errorReporter,
+ errorNode: errorNode,
+ genericMetadataIsEnabled: genericMetadataIsEnabled);
+
+ if (contextReturnType != null) {
+ if (isConst) {
+ contextReturnType = eliminateTypeVariables(contextReturnType);
+ }
+ inferrer.constrainReturnType(declaredReturnType, contextReturnType);
+ }
+
+ return inferrer;
+ }
+
/// If a legacy library, return the legacy version of the [type].
/// Otherwise, return the original type.
DartType toLegacyTypeIfOptOut(DartType type) {
diff --git a/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart b/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart
index 5d26817..0d09988 100644
--- a/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/applicable_extensions.dart
@@ -196,24 +196,21 @@
var freshTypeParameters = freshTypes.freshTypeParameters;
var rawExtendedType = freshTypes.substitute(extension.extendedType);
- var inferrer = GenericInferrer(typeSystem, freshTypeParameters);
+ var inferrer = GenericInferrer(typeSystem, freshTypeParameters,
+ genericMetadataIsEnabled: genericMetadataIsEnabled);
inferrer.constrainArgument(
targetType,
rawExtendedType,
'extendedType',
);
- var typeArguments = inferrer.infer(
- freshTypeParameters,
- failAtError: true,
- genericMetadataIsEnabled: genericMetadataIsEnabled,
- );
- if (typeArguments == null) {
+ var inferredTypes = inferrer.tryUpwardsInfer();
+ if (inferredTypes == null) {
continue;
}
var substitution = Substitution.fromPairs(
extension.typeParameters,
- typeArguments,
+ inferredTypes,
);
var extendedType = substitution.substituteType(
extension.extendedType,
diff --git a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
index 15862ca..0e5d140 100644
--- a/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/extension_member_resolver.dart
@@ -343,18 +343,16 @@
return _listOfDynamic(typeParameters);
}
} else {
- var inferrer = GenericInferrer(_typeSystem, typeParameters);
+ var inferrer = GenericInferrer(_typeSystem, typeParameters,
+ errorReporter: _errorReporter,
+ errorNode: node.extensionName,
+ genericMetadataIsEnabled: _genericMetadataIsEnabled);
inferrer.constrainArgument(
receiverType,
element.extendedType,
'extendedType',
);
- return inferrer.infer(
- typeParameters,
- errorReporter: _errorReporter,
- errorNode: node.extensionName,
- genericMetadataIsEnabled: _genericMetadataIsEnabled,
- );
+ return inferrer.upwardsInfer();
}
}
diff --git a/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart b/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart
index 945c794..80295e6 100644
--- a/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/invocation_inference_helper.dart
@@ -133,7 +133,7 @@
errorReporter: _errorReporter,
errorNode: expression,
genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
+ );
identifier.tearOffTypeArgumentTypes = typeArguments;
if (typeArguments.isNotEmpty) {
return tearOffType.instantiate(typeArguments);
diff --git a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart
index 3d3278b..01e63e9 100644
--- a/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/invocation_inferrer.dart
@@ -8,6 +8,7 @@
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/ast/extensions.dart';
+import 'package:analyzer/src/dart/element/generic_inferrer.dart';
import 'package:analyzer/src/dart/element/member.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/dart/element/type_algebra.dart';
@@ -97,6 +98,7 @@
List<DartType>? typeArgumentTypes;
FunctionType? invokeType;
+ GenericInferrer? inferrer;
if (_isGenericInferenceDisabled(resolver)) {
if (rawType != null && rawType.typeFormals.isNotEmpty) {
typeArgumentTypes = List.filled(
@@ -156,21 +158,17 @@
rawType = getFreshTypeParameters(rawType.typeFormals)
.applyToFunctionType(rawType);
- var downwardsTypeArguments =
- resolver.typeSystem.inferGenericFunctionOrType(
+ inferrer = resolver.typeSystem.setupGenericTypeInference(
typeParameters: rawType.typeFormals,
- parameters: const <ParameterElement>[],
declaredReturnType: rawType.returnType,
- argumentTypes: const <DartType>[],
contextReturnType: contextType,
- downwards: true,
isConst: _getIsConst(node),
errorReporter: resolver.errorReporter,
errorNode: _getErrorNode(node),
genericMetadataIsEnabled: resolver.genericMetadataIsEnabled,
- )!;
+ );
- invokeType = rawType.instantiate(downwardsTypeArguments);
+ invokeType = rawType.instantiate(inferrer.downwardsInfer());
}
super.resolveInvocation(
@@ -182,7 +180,7 @@
var argumentList = _getArgumentList(node);
- if (typeArgumentTypes == null) {
+ if (inferrer != null) {
if (rawType != null) {
// Get the parameters that correspond to the uninstantiated generic.
List<ParameterElement?> rawParameters =
@@ -200,17 +198,9 @@
argTypes.add(argumentList.arguments[i].typeOrThrow);
}
}
- typeArgumentTypes = resolver.typeSystem.inferGenericFunctionOrType(
- typeParameters: rawType.typeFormals,
- parameters: params,
- declaredReturnType: rawType.returnType,
- argumentTypes: argTypes,
- contextReturnType: contextType,
- isConst: _getIsConst(node),
- errorReporter: resolver.errorReporter,
- errorNode: _getErrorNode(node),
- genericMetadataIsEnabled: resolver.genericMetadataIsEnabled,
- )!;
+ inferrer.constrainArguments(
+ parameters: params, argumentTypes: argTypes);
+ typeArgumentTypes = inferrer.upwardsInfer();
invokeType = rawType.instantiate(typeArgumentTypes);
} else {
typeArgumentTypes = const [];
diff --git a/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
index 5063c86..1d564ff 100644
--- a/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/named_type_resolver.dart
@@ -172,14 +172,13 @@
if (typeParameters.isEmpty) {
return element.thisType;
} else {
- var typeArguments = typeSystem.inferGenericFunctionOrType(
+ var inferrer = typeSystem.setupGenericTypeInference(
typeParameters: typeParameters,
- parameters: const [],
declaredReturnType: element.thisType,
- argumentTypes: const [],
contextReturnType: enclosingClass!.thisType,
genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
+ );
+ var typeArguments = inferrer.upwardsInfer();
return element.instantiate(
typeArguments: typeArguments,
nullabilitySuffix: _noneOrStarSuffix,
diff --git a/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart b/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart
index 660a6eb..747b7f0 100644
--- a/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart
+++ b/pkg/analyzer/lib/src/dart/resolver/typed_literal_resolver.dart
@@ -11,6 +11,7 @@
import 'package:analyzer/src/dart/ast/ast.dart';
import 'package:analyzer/src/dart/ast/extensions.dart';
import 'package:analyzer/src/dart/element/element.dart';
+import 'package:analyzer/src/dart/element/generic_inferrer.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/dart/element/type_provider.dart';
import 'package:analyzer/src/dart/element/type_system.dart';
@@ -98,6 +99,7 @@
void resolveListLiteral(ListLiteralImpl node,
{required DartType? contextType}) {
InterfaceType? listType;
+ GenericInferrer? inferrer;
var typeArguments = node.typeArguments?.arguments;
if (typeArguments != null) {
@@ -108,8 +110,12 @@
}
}
} else {
- listType =
- _inferListType(node, downwards: true, contextType: contextType);
+ inferrer = _inferListTypeDownwards(node, contextType: contextType);
+ if (contextType != null) {
+ var typeArguments = inferrer.downwardsInfer();
+ listType = _typeProvider.listElement.instantiate(
+ typeArguments: typeArguments, nullabilitySuffix: _noneOrStarSuffix);
+ }
}
CollectionLiteralContext? context;
if (listType != null) {
@@ -121,7 +127,7 @@
node.typeArguments?.accept(_resolver);
_resolveElements(node.elements, context);
- _resolveListLiteral2(node, contextType: contextType);
+ _resolveListLiteral2(inferrer, node, contextType: contextType);
}
void resolveSetOrMapLiteral(SetOrMapLiteral node,
@@ -130,6 +136,7 @@
var typeArguments = node.typeArguments?.arguments;
InterfaceType? literalType;
+ GenericInferrer? inferrer;
var literalResolution =
_computeSetOrMapResolution(node, contextType: contextType);
if (literalResolution.kind == _LiteralResolutionKind.set) {
@@ -137,8 +144,13 @@
var elementType = typeArguments[0].typeOrThrow;
literalType = _typeProvider.setType(elementType);
} else {
- literalType =
- _inferSetTypeDownwards(node, literalResolution.contextType);
+ inferrer = _inferSetTypeDownwards(node, literalResolution.contextType);
+ if (literalResolution.contextType != null) {
+ var typeArguments = inferrer.downwardsInfer();
+ literalType = _typeProvider.setElement.instantiate(
+ typeArguments: typeArguments,
+ nullabilitySuffix: _noneOrStarSuffix);
+ }
}
} else if (literalResolution.kind == _LiteralResolutionKind.map) {
if (typeArguments != null && typeArguments.length == 2) {
@@ -146,8 +158,13 @@
var valueType = typeArguments[1].typeOrThrow;
literalType = _typeProvider.mapType(keyType, valueType);
} else {
- literalType =
- _inferMapTypeDownwards(node, literalResolution.contextType);
+ inferrer = _inferMapTypeDownwards(node, literalResolution.contextType);
+ if (literalResolution.contextType != null) {
+ var typeArguments = inferrer.downwardsInfer();
+ literalType = _typeProvider.mapElement.instantiate(
+ typeArguments: typeArguments,
+ nullabilitySuffix: _noneOrStarSuffix);
+ }
}
} else {
assert(literalResolution.kind == _LiteralResolutionKind.ambiguous);
@@ -182,7 +199,8 @@
node.typeArguments?.accept(_resolver);
_resolveElements(node.elements, context);
- _resolveSetOrMapLiteral2(node, contextType: contextType);
+ _resolveSetOrMapLiteral2(inferrer, literalResolution, node,
+ contextType: contextType);
}
DartType _computeElementType(CollectionElement element) {
@@ -450,30 +468,37 @@
}
}
- InterfaceType? _inferListType(ListLiteral node,
- {bool downwards = false, required DartType? contextType}) {
+ GenericInferrer _inferListTypeDownwards(ListLiteral node,
+ {required DartType? contextType}) {
+ var element = _typeProvider.listElement;
+ var typeParameters = element.typeParameters;
+
+ return _typeSystem.setupGenericTypeInference(
+ typeParameters: typeParameters,
+ declaredReturnType: element.thisType,
+ contextReturnType: contextType,
+ isConst: node.isConst,
+ errorReporter: _errorReporter,
+ errorNode: node,
+ genericMetadataIsEnabled: _genericMetadataIsEnabled);
+ }
+
+ InterfaceType? _inferListTypeUpwards(
+ GenericInferrer inferrer, ListLiteral node,
+ {required DartType? contextType}) {
var element = _typeProvider.listElement;
var typeParameters = element.typeParameters;
var genericElementType = typeParameters[0].instantiate(
nullabilitySuffix: _noneOrStarSuffix,
);
- List<DartType> elementTypes;
- List<ParameterElement> parameters;
-
- if (downwards) {
- if (contextType == null) {
- return null;
- }
- elementTypes = [];
- parameters = [];
- } else {
- // Also use upwards information to infer the type.
- elementTypes = _getListElements(node).map(_computeElementType).toList();
- var syntheticParameter = ParameterElementImpl.synthetic(
- 'element', genericElementType, ParameterKind.POSITIONAL);
- parameters = List.filled(elementTypes.length, syntheticParameter);
- }
+ // Also use upwards information to infer the type.
+ List<DartType> elementTypes =
+ _getListElements(node).map(_computeElementType).toList();
+ var syntheticParameter = ParameterElementImpl.synthetic(
+ 'element', genericElementType, ParameterKind.POSITIONAL);
+ List<ParameterElement> parameters =
+ List.filled(elementTypes.length, syntheticParameter);
if (_strictInference && parameters.isEmpty && contextType == null) {
// We cannot infer the type of a collection literal with no elements, and
// no context type. If there are any elements, inference has not failed,
@@ -482,50 +507,29 @@
HintCode.INFERENCE_FAILURE_ON_COLLECTION_LITERAL, node, ['List']);
}
- var typeArguments = _typeSystem.inferGenericFunctionOrType(
- typeParameters: typeParameters,
- parameters: parameters,
- declaredReturnType: element.thisType,
- argumentTypes: elementTypes,
- contextReturnType: contextType,
- downwards: downwards,
- isConst: node.isConst,
- errorReporter: _errorReporter,
- errorNode: node,
- genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
+ inferrer.constrainArguments(
+ parameters: parameters, argumentTypes: elementTypes);
+ var typeArguments = inferrer.upwardsInfer();
return element.instantiate(
typeArguments: typeArguments,
nullabilitySuffix: _noneOrStarSuffix,
);
}
- InterfaceType? _inferMapTypeDownwards(
+ GenericInferrer _inferMapTypeDownwards(
SetOrMapLiteral node, DartType? contextType) {
- if (contextType == null) {
- return null;
- }
-
var element = _typeProvider.mapElement;
- var typeArguments = _typeSystem.inferGenericFunctionOrType(
+ return _typeSystem.setupGenericTypeInference(
typeParameters: element.typeParameters,
- parameters: const [],
declaredReturnType: element.thisType,
- argumentTypes: const [],
contextReturnType: contextType,
- downwards: true,
isConst: node.isConst,
- errorReporter: _errorReporter,
- errorNode: node,
genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
- return element.instantiate(
- typeArguments: typeArguments,
- nullabilitySuffix: _noneOrStarSuffix,
);
}
- DartType _inferSetOrMapLiteralType(SetOrMapLiteral literal) {
+ DartType _inferSetOrMapLiteralType(GenericInferrer? inferrer,
+ _LiteralResolution literalResolution, SetOrMapLiteral literal) {
var literalImpl = literal as SetOrMapLiteralImpl;
var contextType = literalImpl.contextType;
literalImpl.contextType = null; // Not needed anymore.
@@ -545,9 +549,9 @@
mustBeASet = mustBeASet || inferredType.mustBeSet;
}
if (canBeASet && mustBeASet) {
- return _toSetType(literal, contextType, inferredTypes);
+ return _toSetType(inferrer, literalResolution, literal, inferredTypes);
} else if (canBeAMap && mustBeAMap) {
- return _toMapType(literal, contextType, inferredTypes);
+ return _toMapType(inferrer, literalResolution, literal, inferredTypes);
}
// Note: according to the spec, the following computations should be based
@@ -568,12 +572,12 @@
// When `S` implements `Iterable` but not `Map`, `e` is a set literal.
if (contextIsIterable && !contextIsMap) {
- return _toSetType(literal, contextType, inferredTypes);
+ return _toSetType(inferrer, literalResolution, literal, inferredTypes);
}
// When `S` implements `Map` but not `Iterable`, `e` is a map literal.
if (contextIsMap && !contextIsIterable) {
- return _toMapType(literal, contextType, inferredTypes);
+ return _toMapType(inferrer, literalResolution, literal, inferredTypes);
}
}
@@ -599,28 +603,15 @@
return _typeProvider.dynamicType;
}
- InterfaceType? _inferSetTypeDownwards(
+ GenericInferrer _inferSetTypeDownwards(
SetOrMapLiteral node, DartType? contextType) {
- if (contextType == null) {
- return null;
- }
-
var element = _typeProvider.setElement;
- var typeArguments = _typeSystem.inferGenericFunctionOrType(
+ return _typeSystem.setupGenericTypeInference(
typeParameters: element.typeParameters,
- parameters: const [],
declaredReturnType: element.thisType,
- argumentTypes: const [],
contextReturnType: contextType,
- downwards: true,
isConst: node.isConst,
- errorReporter: _errorReporter,
- errorNode: node,
genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
- return element.instantiate(
- typeArguments: typeArguments,
- nullabilitySuffix: _noneOrStarSuffix,
);
}
@@ -631,7 +622,7 @@
}
}
- void _resolveListLiteral2(ListLiteralImpl node,
+ void _resolveListLiteral2(GenericInferrer? inferrer, ListLiteralImpl node,
{required DartType? contextType}) {
var typeArguments = node.typeArguments?.arguments;
@@ -651,7 +642,8 @@
DartType listDynamicType = _typeProvider.listType(_dynamicType);
// If there are no type arguments, try to infer some arguments.
- var inferred = _inferListType(node, contextType: contextType);
+ var inferred =
+ _inferListTypeUpwards(inferrer!, node, contextType: contextType);
if (inferred != listDynamicType) {
// TODO(brianwilkerson) Determine whether we need to make the inferred
@@ -664,7 +656,8 @@
node.staticType = listDynamicType;
}
- void _resolveSetOrMapLiteral2(SetOrMapLiteralImpl node,
+ void _resolveSetOrMapLiteral2(GenericInferrer? inferrer,
+ _LiteralResolution literalResolution, SetOrMapLiteralImpl node,
{required DartType? contextType}) {
var typeArguments = node.typeArguments?.arguments;
@@ -693,7 +686,8 @@
// If we get here, then a nonsense number of type arguments were provided,
// so treat it as though no type arguments were provided.
}
- DartType literalType = _inferSetOrMapLiteralType(node);
+ DartType literalType =
+ _inferSetOrMapLiteralType(inferrer, literalResolution, node);
if (literalType.isDynamic) {
// The literal is ambiguous, and further analysis won't resolve the
// ambiguity. Leave it as neither a set nor a map.
@@ -720,7 +714,10 @@
node.staticType = literalType;
}
- DartType _toMapType(SetOrMapLiteral node, DartType? contextType,
+ DartType _toMapType(
+ GenericInferrer? inferrer,
+ _LiteralResolution literalResolution,
+ SetOrMapLiteral node,
List<_InferredCollectionElementTypeInformation> inferredTypes) {
DartType dynamicType = _typeProvider.dynamicType;
@@ -744,21 +741,25 @@
argumentTypes.add(inferredTypes[i].valueType ?? dynamicType);
}
- var typeArguments = _typeSystem.inferGenericFunctionOrType(
- typeParameters: typeParameters,
+ if (inferrer == null ||
+ literalResolution.kind == _LiteralResolutionKind.set) {
+ inferrer = _inferMapTypeDownwards(node, null);
+ }
+ inferrer.constrainArguments(
parameters: parameters,
- declaredReturnType: element.thisType,
argumentTypes: argumentTypes,
- contextReturnType: contextType,
- genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
+ );
+ var typeArguments = inferrer.upwardsInfer();
return element.instantiate(
typeArguments: typeArguments,
nullabilitySuffix: _noneOrStarSuffix,
);
}
- DartType _toSetType(SetOrMapLiteral node, DartType? contextType,
+ DartType _toSetType(
+ GenericInferrer? inferrer,
+ _LiteralResolution literalResolution,
+ SetOrMapLiteral node,
List<_InferredCollectionElementTypeInformation> inferredTypes) {
DartType dynamicType = _typeProvider.dynamicType;
@@ -776,18 +777,15 @@
argumentTypes.add(inferredTypes[i].elementType ?? dynamicType);
}
- var typeArguments = _typeSystem.inferGenericFunctionOrType(
- typeParameters: typeParameters,
- parameters: parameters,
- declaredReturnType: element.thisType,
- argumentTypes: argumentTypes,
- contextReturnType: contextType,
- genericMetadataIsEnabled: _genericMetadataIsEnabled,
- )!;
+ if (inferrer == null ||
+ literalResolution.kind == _LiteralResolutionKind.map) {
+ inferrer = _inferSetTypeDownwards(node, null);
+ }
+ inferrer.constrainArguments(
+ parameters: parameters, argumentTypes: argumentTypes);
+ var typeArguments = inferrer.upwardsInfer();
return element.instantiate(
- typeArguments: typeArguments,
- nullabilitySuffix: _noneOrStarSuffix,
- );
+ typeArguments: typeArguments, nullabilitySuffix: _noneOrStarSuffix);
}
}
diff --git a/pkg/analyzer/lib/src/error/literal_element_verifier.dart b/pkg/analyzer/lib/src/error/literal_element_verifier.dart
index 05ee001..4cb6aef 100644
--- a/pkg/analyzer/lib/src/error/literal_element_verifier.dart
+++ b/pkg/analyzer/lib/src/error/literal_element_verifier.dart
@@ -211,7 +211,7 @@
errorReporter: errorReporter,
errorNode: expression,
genericMetadataIsEnabled: true,
- )!;
+ );
if (typeArguments.isNotEmpty) {
tearoffType = tearoffType.instantiate(typeArguments);
}
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index 01ff198..a407d52 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -2451,7 +2451,7 @@
errorReporter: errorReporter,
errorNode: node.iterable,
genericMetadataIsEnabled: true,
- )!;
+ );
if (typeArguments.isNotEmpty) {
tearoffType = tearoffType.instantiate(typeArguments);
}
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index 92f03a7..d5dbff1 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -664,7 +664,7 @@
// If the constructor-tearoffs feature is enabled, then so is
// generic-metadata.
genericMetadataIsEnabled: true,
- )!;
+ );
if (typeArgumentTypes.isNotEmpty) {
staticType = staticType.instantiate(typeArgumentTypes);
}
@@ -2577,7 +2577,7 @@
// If the constructor-tearoffs feature is enabled, then so is
// generic-metadata.
genericMetadataIsEnabled: true,
- )!;
+ );
if (typeArgumentTypes.isNotEmpty) {
callMethodType = callMethodType.instantiate(typeArgumentTypes);
}
diff --git a/pkg/analyzer/lib/src/summary2/element_builder.dart b/pkg/analyzer/lib/src/summary2/element_builder.dart
index a8fdcde..18a8a06 100644
--- a/pkg/analyzer/lib/src/summary2/element_builder.dart
+++ b/pkg/analyzer/lib/src/summary2/element_builder.dart
@@ -98,6 +98,7 @@
var element = ClassElementImpl(name, nameNode.offset);
element.isAbstract = node.isAbstract;
+ element.isMacro = node.macroKeyword != null;
element.metadata = _buildAnnotations(node.metadata);
_setCodeRange(element, node);
_setDocumentation(element, node);
@@ -130,6 +131,7 @@
var element = ClassElementImpl(name, nameNode.offset);
element.isAbstract = node.isAbstract;
+ element.isMacro = node.macroKeyword != null;
element.isMixinApplication = true;
element.metadata = _buildAnnotations(node.metadata);
_setCodeRange(element, node);
diff --git a/pkg/analyzer/lib/src/summary2/element_flags.dart b/pkg/analyzer/lib/src/summary2/element_flags.dart
index 201c671..945b4ab 100644
--- a/pkg/analyzer/lib/src/summary2/element_flags.dart
+++ b/pkg/analyzer/lib/src/summary2/element_flags.dart
@@ -8,12 +8,14 @@
class ClassElementFlags {
static const int _isAbstract = 1 << 0;
- static const int _isMixinApplication = 1 << 1;
- static const int _isSimplyBounded = 1 << 2;
+ static const int _isMacro = 1 << 1;
+ static const int _isMixinApplication = 1 << 2;
+ static const int _isSimplyBounded = 1 << 3;
static void read(SummaryDataReader reader, ClassElementImpl element) {
var byte = reader.readByte();
element.isAbstract = (byte & _isAbstract) != 0;
+ element.isMacro = (byte & _isMacro) != 0;
element.isMixinApplication = (byte & _isMixinApplication) != 0;
element.isSimplyBounded = (byte & _isSimplyBounded) != 0;
}
@@ -21,6 +23,7 @@
static void write(BufferedSink sink, ClassElementImpl element) {
var result = 0;
result |= element.isAbstract ? _isAbstract : 0;
+ result |= element.isMacro ? _isMacro : 0;
result |= element.isMixinApplication ? _isMixinApplication : 0;
result |= element.isSimplyBounded ? _isSimplyBounded : 0;
sink.writeByte(result);
diff --git a/pkg/analyzer/lib/src/test_utilities/resource_provider_mixin.dart b/pkg/analyzer/lib/src/test_utilities/resource_provider_mixin.dart
index 867272e..d74721d 100644
--- a/pkg/analyzer/lib/src/test_utilities/resource_provider_mixin.dart
+++ b/pkg/analyzer/lib/src/test_utilities/resource_provider_mixin.dart
@@ -64,22 +64,32 @@
resourceProvider.modifyFile(convertedPath, content);
}
+ @Deprecated('Use newAnalysisOptionsYamlFile2() instead')
File newAnalysisOptionsYamlFile(String directoryPath, {String content = ''}) {
+ return newAnalysisOptionsYamlFile2(directoryPath, content);
+ }
+
+ File newAnalysisOptionsYamlFile2(String directoryPath, String content) {
String path = join(directoryPath, file_paths.analysisOptionsYaml);
- return newFile(path, content: content);
+ return newFile2(path, content);
}
File newBazelBuildFile(String directoryPath, String content) {
String path = join(directoryPath, file_paths.bazelBuild);
- return newFile(path, content: content);
+ return newFile2(path, content);
}
- File newDotPackagesFile(String directoryPath, {String content = ''}) {
+ File newDotPackagesFile(String directoryPath, String content) {
String path = join(directoryPath, file_paths.dotPackages);
- return newFile(path, content: content);
+ return newFile2(path, content);
}
+ @Deprecated('Use newFile2() instead')
File newFile(String path, {String content = ''}) {
+ return newFile2(path, content);
+ }
+
+ File newFile2(String path, String content) {
String convertedPath = convertPath(path);
return resourceProvider.newFile(convertedPath, content);
}
@@ -89,18 +99,18 @@
return resourceProvider.newFolder(convertedPath);
}
- File newPackageConfigJsonFile(String directoryPath, {String content = ''}) {
+ File newPackageConfigJsonFile(String directoryPath, String content) {
String path = join(
directoryPath,
file_paths.dotDartTool,
file_paths.packageConfigJson,
);
- return newFile(path, content: content);
+ return newFile2(path, content);
}
File newPubspecYamlFile(String directoryPath, String content) {
String path = join(directoryPath, file_paths.pubspecYaml);
- return newFile(path, content: content);
+ return newFile2(path, content);
}
Uri toUri(String path) {
diff --git a/pkg/analyzer/test/error/error_reporter_test.dart b/pkg/analyzer/test/error/error_reporter_test.dart
index 55923b8..41d54bd 100644
--- a/pkg/analyzer/test/error/error_reporter_test.dart
+++ b/pkg/analyzer/test/error/error_reporter_test.dart
@@ -73,8 +73,8 @@
}
test_reportErrorForNode_types_differentNames() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/b.dart', content: 'class B {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/b.dart', 'class B {}');
await resolveTestCode(r'''
import 'package:test/a.dart';
import 'package:test/b.dart';
@@ -112,8 +112,8 @@
}
test_reportErrorForNode_types_sameName() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/b.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/b.dart', 'class A {}');
await resolveTestCode(r'''
import 'package:test/a.dart';
import 'package:test/b.dart';
@@ -150,8 +150,8 @@
}
test_reportErrorForNode_types_sameName_functionType() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A{}');
- newFile('$testPackageLibPath/b.dart', content: 'class A{}');
+ newFile2('$testPackageLibPath/a.dart', 'class A{}');
+ newFile2('$testPackageLibPath/b.dart', 'class A{}');
await resolveTestCode(r'''
import 'a.dart' as a;
import 'b.dart' as b;
@@ -184,8 +184,8 @@
}
test_reportErrorForNode_types_sameName_nested() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A{}');
- newFile('$testPackageLibPath/b.dart', content: 'class A{}');
+ newFile2('$testPackageLibPath/a.dart', 'class A{}');
+ newFile2('$testPackageLibPath/b.dart', 'class A{}');
await resolveTestCode(r'''
import 'a.dart' as a;
import 'b.dart' as b;
diff --git a/pkg/analyzer/test/file_system/resource_uri_resolver_test.dart b/pkg/analyzer/test/file_system/resource_uri_resolver_test.dart
index 61f06df..a34d548 100644
--- a/pkg/analyzer/test/file_system/resource_uri_resolver_test.dart
+++ b/pkg/analyzer/test/file_system/resource_uri_resolver_test.dart
@@ -20,7 +20,7 @@
void setUp() {
resolver = ResourceUriResolver(resourceProvider);
- newFile('/test.dart');
+ newFile2('/test.dart', '');
newFolder('/folder');
}
diff --git a/pkg/analyzer/test/generated/all_the_rest_test.dart b/pkg/analyzer/test/generated/all_the_rest_test.dart
index 532fa53..2b959b8 100644
--- a/pkg/analyzer/test/generated/all_the_rest_test.dart
+++ b/pkg/analyzer/test/generated/all_the_rest_test.dart
@@ -213,19 +213,18 @@
late final DartSdk sdk;
void setUp() {
- newFile('/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart',
- content: '''
+ newFile2('/sdk/lib/_internal/sdk_library_metadata/lib/libraries.dart', '''
const Map<String, LibraryInfo> libraries = const {
"core": const LibraryInfo("core/core.dart")
};
''');
- newFile('/sdk/lib/core/core.dart', content: '''
+ newFile2('/sdk/lib/core/core.dart', '''
library dart.core;
part 'int.dart';
''');
- newFile('/sdk/lib/core/int.dart', content: '''
+ newFile2('/sdk/lib/core/int.dart', '''
part of dart.core;
''');
diff --git a/pkg/analyzer/test/generated/element_resolver_test.dart b/pkg/analyzer/test/generated/element_resolver_test.dart
index f6b0fed..9cd13b7 100644
--- a/pkg/analyzer/test/generated/element_resolver_test.dart
+++ b/pkg/analyzer/test/generated/element_resolver_test.dart
@@ -21,7 +21,7 @@
@reflectiveTest
class AnnotationElementResolverTest extends PubPackageResolutionTest {
test_class_namedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A.named();
}
@@ -46,7 +46,7 @@
}
test_class_prefixed_namedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A.named();
}
@@ -72,7 +72,7 @@
}
test_class_prefixed_staticConstField() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const V = 0;
}
@@ -97,7 +97,7 @@
}
test_class_prefixed_unnamedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A();
}
@@ -121,7 +121,7 @@
}
test_class_staticConstField() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const V = 0;
}
@@ -145,7 +145,7 @@
}
test_class_unnamedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A();
}
@@ -168,7 +168,7 @@
}
test_topLevelVariable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const V = 0;
''');
await _validateAnnotation('', '@V',
@@ -189,7 +189,7 @@
}
test_topLevelVariable_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const V = 0;
''');
await _validateAnnotation('as p', '@p.V',
@@ -437,7 +437,7 @@
}
test_visitImportDirective_withCombinators() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
int v1 = 0;
final int v2 = 0;
''');
diff --git a/pkg/analyzer/test/generated/invalid_code_test.dart b/pkg/analyzer/test/generated/invalid_code_test.dart
index 51d910d..a3f6f3d 100644
--- a/pkg/analyzer/test/generated/invalid_code_test.dart
+++ b/pkg/analyzer/test/generated/invalid_code_test.dart
@@ -61,7 +61,7 @@
}
test_methodInvocation_ofGenericClass_generic_static_fromLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
static void foo<T2>() {}
}
@@ -162,7 +162,7 @@
}
test_extensionOverrideInAnnotationContext_importedWithPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on Object {
int f() => 0;
}
diff --git a/pkg/analyzer/test/generated/non_error_resolver_test.dart b/pkg/analyzer/test/generated/non_error_resolver_test.dart
index bc4e648..461dba2 100644
--- a/pkg/analyzer/test/generated/non_error_resolver_test.dart
+++ b/pkg/analyzer/test/generated/non_error_resolver_test.dart
@@ -138,7 +138,7 @@
}
test_typedef_not_function() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
typedef F = int;
''');
await assertNoErrorsInCode('''
@@ -150,11 +150,11 @@
mixin NonErrorResolverTestCases on PubPackageResolutionTest {
test_ambiguousExport() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library lib1;
class M {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: r'''
+ newFile2("$testPackageLibPath/lib2.dart", r'''
library lib2;
class N {}
''');
@@ -166,12 +166,12 @@
}
test_ambiguousExport_combinators_hide() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library L1;
class A {}
class B {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: r'''
+ newFile2("$testPackageLibPath/lib2.dart", r'''
library L2;
class B {}
class C {}
@@ -184,12 +184,12 @@
}
test_ambiguousExport_combinators_show() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library L1;
class A {}
class B {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: r'''
+ newFile2("$testPackageLibPath/lib2.dart", r'''
library L2;
class B {}
class C {}
@@ -202,7 +202,7 @@
}
test_ambiguousExport_sameDeclaration() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
class N {}
''');
@@ -214,7 +214,7 @@
}
test_ambiguousImport_dart_implicitHide() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
class Future {
static const zero = 0;
}
@@ -228,17 +228,17 @@
}
test_ambiguousImport_hideCombinator() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library lib1;
class N {}
class N1 {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: r'''
+ newFile2("$testPackageLibPath/lib2.dart", r'''
library lib2;
class N {}
class N2 {}
''');
- newFile("$testPackageLibPath/lib3.dart", content: r'''
+ newFile2("$testPackageLibPath/lib3.dart", r'''
library lib3;
class N {}
class N3 {}
@@ -256,12 +256,12 @@
}
test_ambiguousImport_showCombinator() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library lib1;
class N {}
class N1 {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: r'''
+ newFile2("$testPackageLibPath/lib2.dart", r'''
library lib2;
class N {}
class N2 {}
@@ -279,7 +279,7 @@
}
test_annotated_partOfDeclaration() async {
- newFile('$testPackageLibPath/part.dart', content: '''
+ newFile2('$testPackageLibPath/part.dart', '''
@deprecated part of L;
''');
await assertNoErrorsInCode('''
@@ -505,7 +505,7 @@
}
test_assignmentToFinals_importWithPrefix() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library lib1;
bool x = false;''');
await assertNoErrorsInCode(r'''
@@ -773,7 +773,7 @@
}
test_closure_in_type_inferred_variable_in_other_lib() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
var y = (Object x) => x is int && x.isEven;
''');
await assertNoErrorsInCode('''
@@ -817,13 +817,13 @@
}
test_const_imported_defaultParameterValue_withImportPrefix() async {
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
import 'c.dart' as ccc;
class B {
const B([p = ccc.value]);
}
''');
- newFile('$testPackageLibPath/c.dart', content: r'''
+ newFile2('$testPackageLibPath/c.dart', r'''
const int value = 12345;
''');
await assertNoErrorsInCode(r'''
@@ -900,7 +900,7 @@
}
test_constDeferredClass_new() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
class A {
const A.b();
}
@@ -921,7 +921,7 @@
}
test_constEval_propertyExtraction_fieldStatic_targetType() async {
- newFile("$testPackageLibPath/math.dart", content: r'''
+ newFile2("$testPackageLibPath/math.dart", r'''
library math;
const PI = 3.14;
''');
@@ -942,7 +942,7 @@
}
test_constEval_symbol() async {
- newFile("$testPackageLibPath/math.dart", content: r'''
+ newFile2("$testPackageLibPath/math.dart", r'''
library math;
const PI = 3.14;
''');
@@ -1117,7 +1117,7 @@
}
test_deprecatedMemberUse_hide() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library lib1;
class A {}
@deprecated
@@ -1626,7 +1626,7 @@
}
test_importDuplicatedLibraryName() async {
- newFile("$testPackageLibPath/lib.dart", content: "library lib;");
+ newFile2("$testPackageLibPath/lib.dart", "library lib;");
await assertErrorsInCode(r'''
library test;
import 'lib.dart';
@@ -1639,8 +1639,8 @@
}
test_importDuplicatedLibraryUnnamed() async {
- newFile("$testPackageLibPath/lib1.dart");
- newFile("$testPackageLibPath/lib2.dart");
+ newFile2("$testPackageLibPath/lib1.dart", '');
+ newFile2("$testPackageLibPath/lib2.dart", '');
// No warning on duplicate import (https://github.com/dart-lang/sdk/issues/24156)
await assertErrorsInCode(r'''
library test;
@@ -1653,7 +1653,7 @@
}
test_importOfNonLibrary_libraryDeclared() async {
- newFile("$testPackageLibPath/part.dart", content: r'''
+ newFile2("$testPackageLibPath/part.dart", r'''
library lib1;
class A {}
''');
@@ -1665,7 +1665,7 @@
}
test_importOfNonLibrary_libraryNotDeclared() async {
- newFile("$testPackageLibPath/part.dart", content: '''
+ newFile2("$testPackageLibPath/part.dart", '''
class A {}
''');
await assertNoErrorsInCode(r'''
@@ -1676,11 +1676,11 @@
}
test_importPrefixes_withFirstLetterDifference() async {
- newFile("$testPackageLibPath/lib1.dart", content: r'''
+ newFile2("$testPackageLibPath/lib1.dart", r'''
library lib1;
test1() {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: r'''
+ newFile2("$testPackageLibPath/lib2.dart", r'''
library lib2;
test2() {}
''');
@@ -1846,7 +1846,7 @@
}
test_instanceMethodNameCollidesWithSuperclassStatic_field() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library L;
class A {
static var _m;
@@ -1863,7 +1863,7 @@
}
test_instanceMethodNameCollidesWithSuperclassStatic_method() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library L;
class A {
static _m() {}
@@ -1937,7 +1937,7 @@
}
test_invalidAnnotation_constantVariable_field_importWithPrefix() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
class A {
static const C = 0;
@@ -1961,7 +1961,7 @@
}
test_invalidAnnotation_constantVariable_topLevel_importWithPrefix() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
const C = 0;
''');
@@ -1974,7 +1974,7 @@
}
test_invalidAnnotation_constConstructor_importWithPrefix() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
class A {
const A(int p);
@@ -1989,7 +1989,7 @@
}
test_invalidAnnotation_constConstructor_named_importWithPrefix() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
class A {
const A.named(int p);
@@ -2166,12 +2166,12 @@
}
Future test_issue32114() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class O {}
typedef T Func<T extends O>(T e);
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
export 'a.dart' show Func;
@@ -2219,7 +2219,7 @@
}
test_issue_35320_lists() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
const x = const <String>['a'];
''');
await assertNoErrorsInCode('''
@@ -2239,7 +2239,7 @@
}
test_issue_35320_maps() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
const x = const <String, String>{'a': 'b'};
''');
await assertNoErrorsInCode('''
@@ -2259,7 +2259,7 @@
}
test_loadLibraryDefined() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
foo() => 22;''');
await assertNoErrorsInCode(r'''
@@ -2813,13 +2813,13 @@
}
test_optionalNew_rewrite() async {
- newFile("$testPackageLibPath/a.dart", content: r'''
+ newFile2("$testPackageLibPath/a.dart", r'''
class A {
const A();
const A.named();
}
''');
- newFile("$testPackageLibPath/b.dart", content: r'''
+ newFile2("$testPackageLibPath/b.dart", r'''
import 'a.dart';
import 'a.dart' as p;
@@ -2849,7 +2849,7 @@
}
test_optionalNew_rewrite_instantiatesToBounds() async {
- newFile("$testPackageLibPath/a.dart", content: r'''
+ newFile2("$testPackageLibPath/a.dart", r'''
class Unbounded<T> {
const Unbounded();
const Unbounded.named();
@@ -2859,7 +2859,7 @@
const Bounded.named();
}
''');
- newFile("$testPackageLibPath/b.dart", content: r'''
+ newFile2("$testPackageLibPath/b.dart", r'''
import 'a.dart';
import 'a.dart' as p;
@@ -3050,13 +3050,13 @@
}
test_sharedDeferredPrefix() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
f1() {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
f2() {}
''');
- newFile('$testPackageLibPath/lib3.dart', content: r'''
+ newFile2('$testPackageLibPath/lib3.dart', r'''
f3() {}
''');
await assertNoErrorsInCode(r'''
@@ -3237,7 +3237,7 @@
}
test_typeType_class_prefixed() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
class C {}''');
await assertNoErrorsInCode(r'''
@@ -3260,7 +3260,7 @@
}
test_typeType_functionTypeAlias_prefixed() async {
- newFile("$testPackageLibPath/lib.dart", content: r'''
+ newFile2("$testPackageLibPath/lib.dart", r'''
library lib;
typedef F();''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/generated/non_hint_code_test.dart b/pkg/analyzer/test/generated/non_hint_code_test.dart
index e283dd5..17cf69b 100644
--- a/pkg/analyzer/test/generated/non_hint_code_test.dart
+++ b/pkg/analyzer/test/generated/non_hint_code_test.dart
@@ -235,8 +235,8 @@
}
test_import_referenceIntoLibDirectory() async {
- newFile("/myproj/pubspec.yaml", content: "");
- newFile("/myproj/lib/other.dart", content: "");
+ newFile2("/myproj/pubspec.yaml", '');
+ newFile2("/myproj/lib/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/web/test.dart", "import '../lib/other.dart';", [
error(HintCode.FILE_IMPORT_OUTSIDE_LIB_REFERENCES_FILE_INSIDE, 0, 0),
@@ -244,14 +244,14 @@
}
test_import_referenceIntoLibDirectory_no_pubspec() async {
- newFile("/myproj/lib/other.dart", content: "");
+ newFile2("/myproj/lib/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/web/test.dart", "import '../lib/other.dart';", []);
}
test_import_referenceOutOfLibDirectory() async {
- newFile("/myproj/pubspec.yaml", content: "");
- newFile("/myproj/web/other.dart", content: "");
+ newFile2("/myproj/pubspec.yaml", '');
+ newFile2("/myproj/web/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/lib/test.dart", "import '../web/other.dart';", [
error(HintCode.FILE_IMPORT_INSIDE_LIB_REFERENCES_FILE_OUTSIDE, 0, 0),
@@ -259,28 +259,28 @@
}
test_import_referenceOutOfLibDirectory_no_pubspec() async {
- newFile("/myproj/web/other.dart", content: "");
+ newFile2("/myproj/web/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/lib/test.dart", "import '../web/other.dart';", []);
}
test_import_valid_inside_lib1() async {
- newFile("/myproj/pubspec.yaml", content: "");
- newFile("/myproj/lib/other.dart", content: "");
+ newFile2("/myproj/pubspec.yaml", '');
+ newFile2("/myproj/lib/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/lib/test.dart", "import 'other.dart';", []);
}
test_import_valid_inside_lib2() async {
- newFile("/myproj/pubspec.yaml", content: "");
- newFile("/myproj/lib/bar/other.dart", content: "");
+ newFile2("/myproj/pubspec.yaml", '');
+ newFile2("/myproj/lib/bar/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/lib/foo/test.dart", "import '../bar/other.dart';", []);
}
test_import_valid_outside_lib() async {
- newFile("/myproj/pubspec.yaml", content: "");
- newFile("/myproj/web/other.dart", content: "");
+ newFile2("/myproj/pubspec.yaml", '');
+ newFile2("/myproj/web/other.dart", '');
await _assertErrorsInCodeInFile(
"/myproj/lib2/test.dart", "import '../web/other.dart';", []);
}
@@ -288,7 +288,7 @@
Future<void> _assertErrorsInCodeInFile(
String path, String content, List<ExpectedError> expectedErrors) async {
path = convertPath(path);
- newFile(path, content: content);
+ newFile2(path, content);
result = await resolveFile(path);
var errorListener = GatheringErrorListener();
diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
index e53b5e8..e5232e6 100644
--- a/pkg/analyzer/test/generated/resolver_test.dart
+++ b/pkg/analyzer/test/generated/resolver_test.dart
@@ -528,7 +528,7 @@
}
test_invocation_target_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int max(int x, int y) => 0;
''');
await resolveTestCode('''
@@ -591,7 +591,7 @@
}
test_objectAccessInference_disabled_for_library_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
dynamic get hashCode => 42;
''');
await assertNoErrorsInCode('''
@@ -612,7 +612,7 @@
}
test_objectMethodInference_disabled_for_library_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
dynamic toString = (int x) => x + 42;
''');
await assertNoErrorsInCode('''
diff --git a/pkg/analyzer/test/generated/simple_resolver_test.dart b/pkg/analyzer/test/generated/simple_resolver_test.dart
index 254dea0..d4cedc5 100644
--- a/pkg/analyzer/test/generated/simple_resolver_test.dart
+++ b/pkg/analyzer/test/generated/simple_resolver_test.dart
@@ -422,7 +422,7 @@
}
test_entryPoint_exported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
main() {}
''');
@@ -457,7 +457,7 @@
}
test_enum_externalLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum EEE {A, B, C}
''');
await assertNoErrorsInCode(r'''
@@ -590,11 +590,11 @@
}
test_import_hide() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
set foo(value) {}
class A {}''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
set foo(value) {}''');
await assertNoErrorsInCode(r'''
@@ -609,7 +609,7 @@
}
test_import_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
f(int x) {
return x * x;
}''');
@@ -678,7 +678,7 @@
}
test_import_spaceInUri() async {
- newFile('$testPackageLibPath/sub folder/a.dart', content: r'''
+ newFile2('$testPackageLibPath/sub folder/a.dart', r'''
foo() {}''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/source/analysis_options_provider_test.dart b/pkg/analyzer/test/source/analysis_options_provider_test.dart
index 8cb98e3..cb2db31 100644
--- a/pkg/analyzer/test/source/analysis_options_provider_test.dart
+++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart
@@ -101,12 +101,12 @@
void test_getOptions_crawlUp_hasInFolder() {
newFolder('/foo/bar');
- newFile('/foo/$analysisOptionsYaml', content: r'''
+ newFile2('/foo/$analysisOptionsYaml', r'''
analyzer:
ignore:
- foo
''');
- newFile('/foo/bar/$analysisOptionsYaml', content: r'''
+ newFile2('/foo/bar/$analysisOptionsYaml', r'''
analyzer:
ignore:
- bar
@@ -122,12 +122,12 @@
void test_getOptions_crawlUp_hasInParent() {
newFolder('/foo/bar/baz');
- newFile('/foo/$analysisOptionsYaml', content: r'''
+ newFile2('/foo/$analysisOptionsYaml', r'''
analyzer:
ignore:
- foo
''');
- newFile('/foo/bar/$analysisOptionsYaml', content: r'''
+ newFile2('/foo/bar/$analysisOptionsYaml', r'''
analyzer:
ignore:
- bar
@@ -148,20 +148,20 @@
}
void test_getOptions_empty() {
- newFile('/$analysisOptionsYaml', content: r'''#empty''');
+ newFile2('/$analysisOptionsYaml', r'''#empty''');
YamlMap options = _getOptions('/');
expect(options, isNotNull);
expect(options, isEmpty);
}
void test_getOptions_include() {
- newFile('/foo.include', content: r'''
+ newFile2('/foo.include', r'''
analyzer:
ignore:
- ignoreme.dart
- 'sdk_ext/**'
''');
- newFile('/$analysisOptionsYaml', content: r'''
+ newFile2('/$analysisOptionsYaml', r'''
include: foo.include
''');
YamlMap options = _getOptions('/');
@@ -179,12 +179,12 @@
}
void test_getOptions_include_emptyLints() {
- newFile('/foo.include', content: r'''
+ newFile2('/foo.include', r'''
linter:
rules:
- prefer_single_quotes
''');
- newFile('/$analysisOptionsYaml', content: r'''
+ newFile2('/$analysisOptionsYaml', r'''
include: foo.include
linter:
rules:
@@ -204,7 +204,7 @@
}
void test_getOptions_include_missing() {
- newFile('/$analysisOptionsYaml', content: r'''
+ newFile2('/$analysisOptionsYaml', r'''
include: /foo.include
''');
YamlMap options = _getOptions('/');
@@ -212,13 +212,13 @@
}
void test_getOptions_invalid() {
- newFile('/$analysisOptionsYaml', content: r''':''');
+ newFile2('/$analysisOptionsYaml', r''':''');
YamlMap options = _getOptions('/');
expect(options, hasLength(1));
}
void test_getOptions_simple() {
- newFile('/$analysisOptionsYaml', content: r'''
+ newFile2('/$analysisOptionsYaml', r'''
analyzer:
ignore:
- ignoreme.dart
diff --git a/pkg/analyzer/test/src/context/package_config_json_test.dart b/pkg/analyzer/test/src/context/package_config_json_test.dart
index 382d4ce..b1090fd 100644
--- a/pkg/analyzer/test/src/context/package_config_json_test.dart
+++ b/pkg/analyzer/test/src/context/package_config_json_test.dart
@@ -24,7 +24,7 @@
}
void setUp() {
- newFile('/test/lib/test.dart', content: '');
+ newFile2('/test/lib/test.dart', '');
}
test_configVersion_2() {
@@ -301,7 +301,7 @@
PackageConfigJson _parse(String content) {
var path = '/test/.dart_tool/package_config.json';
- newFile(path, content: content);
+ newFile2(path, content);
var uri = toUri(path);
return parsePackageConfigJson(uri, content);
diff --git a/pkg/analyzer/test/src/context/packages_test.dart b/pkg/analyzer/test/src/context/packages_test.dart
index aead226..a4e359a6 100644
--- a/pkg/analyzer/test/src/context/packages_test.dart
+++ b/pkg/analyzer/test/src/context/packages_test.dart
@@ -17,7 +17,7 @@
@reflectiveTest
class PackagesTest with ResourceProviderMixin {
void setUp() {
- newFile('/test/lib/test.dart', content: '');
+ newFile2('/test/lib/test.dart', '');
}
void test_findPackagesFrom_missing() {
@@ -66,7 +66,7 @@
}
test_parsePackageConfigJsonFile() {
- var file = newFile('/test/.dart_tool/package_config.json', content: '''
+ var file = newFile2('/test/.dart_tool/package_config.json', '''
{
"configVersion": 2,
"packages": [
@@ -116,7 +116,7 @@
test_parsePackagesFile_packageConfig() {
var path = convertPath('/test/.dart_tool/package_config.json');
- newFile(path, content: '''
+ newFile2(path, '''
{
"configVersion": 2,
"packages": [
diff --git a/pkg/analyzer/test/src/dart/analysis/analysis_context_collection_test.dart b/pkg/analyzer/test/src/dart/analysis/analysis_context_collection_test.dart
index e8c8c62..2ff4f6d 100644
--- a/pkg/analyzer/test/src/dart/analysis/analysis_context_collection_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/analysis_context_collection_test.dart
@@ -57,7 +57,7 @@
test_new_analysisOptions_includes() {
var rootFolder = newFolder('/home/test');
var fooFolder = newFolder('/home/packages/foo');
- newFile('${fooFolder.path}/lib/included.yaml', content: r'''
+ newFile2('${fooFolder.path}/lib/included.yaml', r'''
linter:
rules:
- empty_statements
@@ -67,10 +67,10 @@
..add(name: 'foo', rootPath: fooFolder.path);
newPackageConfigJsonFile(
rootFolder.path,
- content: packageConfigFileBuilder.toContent(toUriStr: toUriStr),
+ packageConfigFileBuilder.toContent(toUriStr: toUriStr),
);
- newAnalysisOptionsYamlFile(rootFolder.path, content: r'''
+ newAnalysisOptionsYamlFile2(rootFolder.path, r'''
include: package:foo/included.yaml
linter:
@@ -90,7 +90,7 @@
test_new_analysisOptions_lintRules() {
var rootFolder = newFolder('/home/test');
- newAnalysisOptionsYamlFile(rootFolder.path, content: r'''
+ newAnalysisOptionsYamlFile2(rootFolder.path, r'''
linter:
rules:
- non_existent_lint_rule
@@ -124,11 +124,11 @@
test_new_outer_inner() {
var outerFolder = newFolder('/test/outer');
- newFile('/test/outer/lib/outer.dart');
+ newFile2('/test/outer/lib/outer.dart', '');
var innerFolder = newFolder('/test/outer/inner');
- newAnalysisOptionsYamlFile('/test/outer/inner');
- newFile('/test/outer/inner/inner.dart');
+ newAnalysisOptionsYamlFile2('/test/outer/inner', '');
+ newFile2('/test/outer/inner/inner.dart', '');
var collection = _newCollection(includedPaths: [outerFolder.path]);
diff --git a/pkg/analyzer/test/src/dart/analysis/base.dart b/pkg/analyzer/test/src/dart/analysis/base.dart
index 4ed178b..f6e1433 100644
--- a/pkg/analyzer/test/src/dart/analysis/base.dart
+++ b/pkg/analyzer/test/src/dart/analysis/base.dart
@@ -42,7 +42,7 @@
void addTestFile(String content, {bool priority = false}) {
testCode = content;
- newFile(testFile, content: content);
+ newFile2(testFile, content);
driver.addFile(testFile);
if (priority) {
driver.priorityFiles = [testFile];
diff --git a/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart b/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart
index 17144c0..dc50e76 100644
--- a/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/context_builder_test.dart
@@ -60,7 +60,7 @@
void test_analysisOptions_invalid() {
var projectPath = convertPath('/home/test');
- newAnalysisOptionsYamlFile(projectPath, content: ';');
+ newAnalysisOptionsYamlFile2(projectPath, ';');
var analysisContext = _createSingleAnalysisContext(projectPath);
var analysisOptions = analysisContext.analysisOptionsImpl;
@@ -69,9 +69,9 @@
void test_analysisOptions_languageOptions() {
var projectPath = convertPath('/home/test');
- newAnalysisOptionsYamlFile(
+ newAnalysisOptionsYamlFile2(
projectPath,
- content: AnalysisOptionsFileConfig(
+ AnalysisOptionsFileConfig(
strictRawTypes: true,
).toContent(),
);
@@ -98,7 +98,7 @@
void test_analysisOptions_sdkVersionConstraint_noPubspec() {
var projectPath = convertPath('/home/test');
- newFile('$projectPath/lib/a.dart');
+ newFile2('$projectPath/lib/a.dart', '');
var analysisContext = _createSingleAnalysisContext(projectPath);
var analysisOptions = analysisContext.driver.analysisOptions;
@@ -167,7 +167,7 @@
void test_sourceFactory_bazelWorkspace() {
var projectPath = convertPath('/workspace/my/module');
- newFile('/workspace/WORKSPACE');
+ newFile2('/workspace/WORKSPACE', '');
newFolder('/workspace/bazel-bin');
newFolder('/workspace/bazel-genfiles');
@@ -186,7 +186,7 @@
void test_sourceFactory_pubWorkspace() {
var projectPath = convertPath('/home/my');
- newFile('/home/my/pubspec.yaml');
+ newFile2('/home/my/pubspec.yaml', '');
var analysisContext = _createSingleAnalysisContext(projectPath);
expect(analysisContext.contextRoot.workspace, isA<PubWorkspace>());
diff --git a/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart b/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart
index cddb12c..36f385f 100644
--- a/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/context_locator_test.dart
@@ -48,8 +48,8 @@
void test_locateRoots_link_file_toOutOfRoot() {
Folder rootFolder = newFolder('/home/test');
- newFile('/home/test/lib/a.dart');
- newFile('/home/b.dart');
+ newFile2('/home/test/lib/a.dart', '');
+ newFile2('/home/b.dart', '');
resourceProvider.newLink(
convertPath('/home/test/lib/c.dart'),
convertPath('/home/b.dart'),
@@ -73,7 +73,7 @@
void test_locateRoots_link_file_toSiblingInRoot() {
Folder rootFolder = newFolder('/test');
- newFile('/test/lib/a.dart');
+ newFile2('/test/lib/a.dart', '');
resourceProvider.newLink(
convertPath('/test/lib/b.dart'),
convertPath('/test/lib/a.dart'),
@@ -97,7 +97,7 @@
void test_locateRoots_link_folder_notExistingTarget() {
var rootFolder = newFolder('/test');
- newFile('/test/lib/a.dart');
+ newFile2('/test/lib/a.dart', '');
newFolder('/test/lib/foo');
resourceProvider.newLink(
convertPath('/test/lib/foo'),
@@ -127,7 +127,7 @@
void test_locateRoots_link_folder_toParentInRoot() {
Folder rootFolder = newFolder('/test');
- newFile('/test/lib/a.dart');
+ newFile2('/test/lib/a.dart', '');
resourceProvider.newLink(
convertPath('/test/lib/foo'),
convertPath('/test/lib'),
@@ -153,9 +153,9 @@
void test_locateRoots_link_folder_toParentOfRoot() {
Folder rootFolder = newFolder('/home/test');
- newFile('/home/test/lib/a.dart');
- newFile('/home/b.dart');
- newFile('/home/other/c.dart');
+ newFile2('/home/test/lib/a.dart', '');
+ newFile2('/home/b.dart', '');
+ newFile2('/home/other/c.dart', '');
resourceProvider.newLink(
convertPath('/home/test/lib/foo'),
convertPath('/home'),
@@ -182,8 +182,8 @@
void test_locateRoots_link_folder_toSiblingInRoot() {
Folder rootFolder = newFolder('/test');
- newFile('/test/lib/a.dart');
- newFile('/test/lib/foo/b.dart');
+ newFile2('/test/lib/a.dart', '');
+ newFile2('/test/lib/foo/b.dart', '');
resourceProvider.newLink(
convertPath('/test/lib/bar'),
convertPath('/test/lib/foo'),
@@ -209,12 +209,12 @@
void test_locateRoots_multiple_dirAndNestedDir_excludedByOptions() {
var rootPath = convertPath('/home/test');
var rootFolder = newFolder(rootPath);
- var optionsFile = newAnalysisOptionsYamlFile(rootPath, content: r'''
+ var optionsFile = newAnalysisOptionsYamlFile2(rootPath, r'''
analyzer:
exclude:
- examples/**
''');
- var packagesFile = newPackageConfigJsonFile(rootPath);
+ var packagesFile = newPackageConfigJsonFile(rootPath, '');
var includedFolder = newFolder('$rootPath/examples/included');
newFolder('$rootPath/examples/not_included'); // not used
@@ -234,8 +234,10 @@
void test_locateRoots_multiple_dirAndNestedDir_innerConfigurationFiles() {
var outerRootFolder = newFolder('/outer');
- var innerOptionsFile = newAnalysisOptionsYamlFile('/outer/examples/inner');
- var innerPackagesFile = newPackageConfigJsonFile('/outer/examples/inner');
+ var innerOptionsFile =
+ newAnalysisOptionsYamlFile2('/outer/examples/inner', '');
+ var innerPackagesFile =
+ newPackageConfigJsonFile('/outer/examples/inner', '');
var innerRootFolder = newFolder('/outer/examples/inner');
var roots = contextLocator.locateRoots(
@@ -273,8 +275,8 @@
void test_locateRoots_multiple_dirAndNestedDir_outerConfigurationFiles() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder innerRootFolder = newFolder('/test/outer/examples/inner');
List<ContextRoot> roots = contextLocator.locateRoots(
@@ -291,15 +293,15 @@
void test_locateRoots_multiple_dirAndNestedFile_excludedByOptions() {
var rootPath = convertPath('/home/test');
var rootFolder = newFolder(rootPath);
- var optionsFile = newAnalysisOptionsYamlFile(rootPath, content: r'''
+ var optionsFile = newAnalysisOptionsYamlFile2(rootPath, r'''
analyzer:
exclude:
- lib/f*.dart
''');
- var packagesFile = newPackageConfigJsonFile(rootPath);
- var fooFile = newFile('$rootPath/lib/foo.dart');
- newFile('$rootPath/lib/far.dart'); // not used
- var barFile = newFile('$rootPath/lib/bar.dart');
+ var packagesFile = newPackageConfigJsonFile(rootPath, '');
+ var fooFile = newFile2('$rootPath/lib/foo.dart', '');
+ newFile2('$rootPath/lib/far.dart', ''); // not used
+ var barFile = newFile2('$rootPath/lib/bar.dart', '');
var roots = contextLocator.locateRoots(
includedPaths: [rootFolder.path, fooFile.path],
@@ -320,7 +322,7 @@
void test_locateRoots_multiple_dirAndNestedFile_noConfigurationFiles() {
Folder outerRootFolder = newFolder('/test/outer');
- File testFile = newFile('/test/outer/examples/inner/test.dart');
+ File testFile = newFile2('/test/outer/examples/inner/test.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [outerRootFolder.path, testFile.path]);
@@ -335,9 +337,9 @@
void test_locateRoots_multiple_dirAndNestedFile_outerConfigurationFiles() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
- File testFile = newFile('/test/outer/examples/inner/test.dart');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
+ File testFile = newFile2('/test/outer/examples/inner/test.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [outerRootFolder.path, testFile.path]);
@@ -352,12 +354,12 @@
void test_locateRoots_multiple_dirAndSiblingDir_bothConfigurationFiles() {
Folder outer1RootFolder = newFolder('/test/outer1');
- File outer1OptionsFile = newAnalysisOptionsYamlFile('/test/outer1');
- File outer1PackagesFile = newPackageConfigJsonFile('/test/outer1');
+ File outer1OptionsFile = newAnalysisOptionsYamlFile2('/test/outer1', '');
+ File outer1PackagesFile = newPackageConfigJsonFile('/test/outer1', '');
Folder outer2RootFolder = newFolder('/test/outer2');
- File outer2OptionsFile = newAnalysisOptionsYamlFile('/test/outer2');
- File outer2PackagesFile = newPackageConfigJsonFile('/test/outer2');
+ File outer2OptionsFile = newAnalysisOptionsYamlFile2('/test/outer2', '');
+ File outer2PackagesFile = newPackageConfigJsonFile('/test/outer2', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outer1RootFolder.path, outer2RootFolder.path]);
@@ -399,12 +401,12 @@
void test_locateRoots_multiple_dirAndSiblingFile() {
Folder outer1RootFolder = newFolder('/test/outer1');
- File outer1OptionsFile = newAnalysisOptionsYamlFile('/test/outer1');
- File outer1PackagesFile = newPackageConfigJsonFile('/test/outer1');
+ File outer1OptionsFile = newAnalysisOptionsYamlFile2('/test/outer1', '');
+ File outer1PackagesFile = newPackageConfigJsonFile('/test/outer1', '');
- File outer2OptionsFile = newAnalysisOptionsYamlFile('/test/outer2');
- File outer2PackagesFile = newPackageConfigJsonFile('/test/outer2');
- File testFile = newFile('/test/outer2/test.dart');
+ File outer2OptionsFile = newAnalysisOptionsYamlFile2('/test/outer2', '');
+ File outer2PackagesFile = newPackageConfigJsonFile('/test/outer2', '');
+ File testFile = newFile2('/test/outer2/test.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [outer1RootFolder.path, testFile.path]);
@@ -425,7 +427,7 @@
void test_locateRoots_multiple_dirAndSiblingFile_noConfigurationFiles() {
Folder outer1RootFolder = newFolder('/test/outer1');
- File testFile = newFile('/test/outer2/test.dart');
+ File testFile = newFile2('/test/outer2/test.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [outer1RootFolder.path, testFile.path]);
@@ -450,15 +452,15 @@
var pkgPath1 = '$workspacePath1/pkg1';
var pkgPath2 = '$workspacePath2/pkg2';
- newFile('$workspacePath1/WORKSPACE');
- newFile('$workspacePath2/WORKSPACE');
+ newFile2('$workspacePath1/WORKSPACE', '');
+ newFile2('$workspacePath2/WORKSPACE', '');
newBazelBuildFile(pkgPath1, '');
newBazelBuildFile(pkgPath2, '');
var folder1 = newFolder('$pkgPath1/lib/folder1');
var folder2 = newFolder('$pkgPath2/lib/folder2');
- var file1 = newFile('$pkgPath1/lib/folder1/file1.dart');
- var file2 = newFile('$pkgPath2/lib/folder2/file2.dart');
+ var file1 = newFile2('$pkgPath1/lib/folder1/file1.dart', '');
+ var file2 = newFile2('$pkgPath2/lib/folder2/file2.dart', '');
var roots = contextLocator.locateRoots(
includedPaths: [folder1.path, folder2.path],
@@ -485,14 +487,14 @@
/// Even if a file is excluded by the options, when it is explicitly included
/// into analysis, it should be analyzed.
void test_locateRoots_multiple_fileAndSiblingFile_excludedByOptions() {
- File optionsFile = newAnalysisOptionsYamlFile('/home/test', content: r'''
+ File optionsFile = newAnalysisOptionsYamlFile2('/home/test', r'''
analyzer:
exclude:
- lib/test2.dart
''');
- File packagesFile = newPackageConfigJsonFile('/home/test');
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ File packagesFile = newPackageConfigJsonFile('/home/test', '');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [testFile1.path, testFile2.path]);
@@ -509,9 +511,9 @@
}
void test_locateRoots_multiple_fileAndSiblingFile_hasOptions() {
- File optionsFile = newAnalysisOptionsYamlFile('/home/test');
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ File optionsFile = newAnalysisOptionsYamlFile2('/home/test', '');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [testFile1.path, testFile2.path]);
@@ -529,10 +531,10 @@
void
test_locateRoots_multiple_fileAndSiblingFile_hasOptions_overrideOptions() {
- newAnalysisOptionsYamlFile('/home/test'); // not used
- File overrideOptionsFile = newAnalysisOptionsYamlFile('/home');
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ newAnalysisOptionsYamlFile2('/home/test', ''); // not used
+ File overrideOptionsFile = newAnalysisOptionsYamlFile2('/home', '');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [testFile1.path, testFile2.path],
@@ -551,10 +553,10 @@
}
void test_locateRoots_multiple_fileAndSiblingFile_hasOptionsPackages() {
- File optionsFile = newAnalysisOptionsYamlFile('/home/test');
- File packagesFile = newPackageConfigJsonFile('/home/test');
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ File optionsFile = newAnalysisOptionsYamlFile2('/home/test', '');
+ File packagesFile = newPackageConfigJsonFile('/home/test', '');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [testFile1.path, testFile2.path]);
@@ -571,9 +573,9 @@
}
void test_locateRoots_multiple_fileAndSiblingFile_hasPackages() {
- File packagesFile = newPackageConfigJsonFile('/home/test');
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ File packagesFile = newPackageConfigJsonFile('/home/test', '');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [testFile1.path, testFile2.path]);
@@ -595,10 +597,10 @@
/// just the file system root.
void
test_locateRoots_multiple_fileAndSiblingFile_hasPackages_overridePackages() {
- newPackageConfigJsonFile('/home/test'); // not used
- File overridePackagesFile = newPackageConfigJsonFile('/home');
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ newPackageConfigJsonFile('/home/test', ''); // not used
+ File overridePackagesFile = newPackageConfigJsonFile('/home', '');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [testFile1.path, testFile2.path],
@@ -619,8 +621,8 @@
/// When there are no configuration files, we can use the root of the file
/// system, because it contains all the files.
void test_locateRoots_multiple_fileAndSiblingFile_noConfigurationFiles() {
- File testFile1 = newFile('/home/test/lib/test1.dart');
- File testFile2 = newFile('/home/test/lib/test2.dart');
+ File testFile1 = newFile2('/home/test/lib/test1.dart', '');
+ File testFile2 = newFile2('/home/test/lib/test2.dart', '');
List<ContextRoot> roots = contextLocator
.locateRoots(includedPaths: [testFile1.path, testFile2.path]);
@@ -643,13 +645,13 @@
var pkgPath1 = '$workspacePath1/pkg1';
var pkgPath2 = '$workspacePath2/pkg2';
- newFile('$workspacePath1/WORKSPACE');
- newFile('$workspacePath2/WORKSPACE');
+ newFile2('$workspacePath1/WORKSPACE', '');
+ newFile2('$workspacePath2/WORKSPACE', '');
newBazelBuildFile(pkgPath1, '');
newBazelBuildFile(pkgPath2, '');
- var file1 = newFile('$pkgPath1/lib/file1.dart');
- var file2 = newFile('$pkgPath2/lib/file2.dart');
+ var file1 = newFile2('$pkgPath1/lib/file1.dart', '');
+ var file2 = newFile2('$pkgPath2/lib/file2.dart', '');
var roots = contextLocator.locateRoots(
includedPaths: [file1.path, file2.path],
@@ -678,12 +680,12 @@
var fooPath = '$workspacePath/foo';
var barPath = '$workspacePath/bar';
- newFile('$workspacePath/WORKSPACE');
+ newFile2('$workspacePath/WORKSPACE', '');
newBazelBuildFile(fooPath, '');
newBazelBuildFile(barPath, '');
- var fooFile = newFile('$fooPath/lib/foo.dart');
- var barFile = newFile('$barPath/lib/bar.dart');
+ var fooFile = newFile2('$fooPath/lib/foo.dart', '');
+ var barFile = newFile2('$barPath/lib/bar.dart', '');
var roots = contextLocator.locateRoots(
includedPaths: [fooFile.path, barFile.path],
@@ -707,8 +709,8 @@
newPubspecYamlFile(fooPath, '');
newPubspecYamlFile(barPath, '');
- var fooFile = newFile('$fooPath/lib/foo.dart');
- var barFile = newFile('$barPath/lib/bar.dart');
+ var fooFile = newFile2('$fooPath/lib/foo.dart', '');
+ var barFile = newFile2('$barPath/lib/bar.dart', '');
var roots = contextLocator.locateRoots(
includedPaths: [fooFile.path, barFile.path],
@@ -733,11 +735,11 @@
}
void test_locateRoots_multiple_files_sameOptions_differentPackages() {
- var fooPackagesFile = newPackageConfigJsonFile('/home/foo');
- var barPackagesFile = newPackageConfigJsonFile('/home/bar');
- var optionsFile = newAnalysisOptionsYamlFile('/home');
- var fooFile = newFile('/home/foo/lib/foo.dart');
- var barFile = newFile('/home/bar/lib/bar.dart');
+ var fooPackagesFile = newPackageConfigJsonFile('/home/foo', '');
+ var barPackagesFile = newPackageConfigJsonFile('/home/bar', '');
+ var optionsFile = newAnalysisOptionsYamlFile2('/home', '');
+ var fooFile = newFile2('/home/foo/lib/foo.dart', '');
+ var barFile = newFile2('/home/bar/lib/bar.dart', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [fooFile.path, barFile.path],
@@ -760,11 +762,11 @@
}
void test_locateRoots_multiple_files_samePackages_differentOptions() {
- var packagesFile = newPackageConfigJsonFile('/home');
- var fooOptionsFile = newAnalysisOptionsYamlFile('/home/foo');
- var barOptionsFile = newAnalysisOptionsYamlFile('/home/bar');
- var fooFile = newFile('/home/foo/lib/foo.dart');
- var barFile = newFile('/home/bar/lib/bar.dart');
+ var packagesFile = newPackageConfigJsonFile('/home', '');
+ var fooOptionsFile = newAnalysisOptionsYamlFile2('/home/foo', '');
+ var barOptionsFile = newAnalysisOptionsYamlFile2('/home/bar', '');
+ var fooFile = newFile2('/home/foo/lib/foo.dart', '');
+ var barFile = newFile2('/home/bar/lib/bar.dart', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [fooFile.path, barFile.path],
@@ -788,11 +790,11 @@
void test_locateRoots_nested_excluded_dot() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
newFolder('/test/outer/.examples');
- newAnalysisOptionsYamlFile('/test/outer/.examples/inner');
+ newAnalysisOptionsYamlFile2('/test/outer/.examples/inner', '');
// Only one analysis root, we skipped `.examples` for context roots.
List<ContextRoot> roots =
@@ -808,10 +810,10 @@
void test_locateRoots_nested_excluded_explicit() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder excludedFolder = newFolder('/test/outer/examples');
- newAnalysisOptionsYamlFile('/test/outer/examples/inner');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -827,14 +829,14 @@
void test_locateRoots_nested_multiple() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder inner1RootFolder = newFolder('/test/outer/examples/inner1');
File inner1OptionsFile =
- newAnalysisOptionsYamlFile('/test/outer/examples/inner1');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner1', '');
Folder inner2RootFolder = newFolder('/test/outer/examples/inner2');
File inner2PackagesFile =
- newPackageConfigJsonFile('/test/outer/examples/inner2');
+ newPackageConfigJsonFile('/test/outer/examples/inner2', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -862,11 +864,11 @@
void test_locateRoots_nested_options() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder innerRootFolder = newFolder('/test/outer/examples/inner');
File innerOptionsFile =
- newAnalysisOptionsYamlFile('/test/outer/examples/inner');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -887,11 +889,12 @@
void test_locateRoots_nested_options_overriddenOptions() {
Folder outerRootFolder = newFolder('/test/outer');
- newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
newFolder('/test/outer/examples/inner');
- newAnalysisOptionsYamlFile('/test/outer/examples/inner');
- File overrideOptionsFile = newAnalysisOptionsYamlFile('/test/override');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner', '');
+ File overrideOptionsFile =
+ newAnalysisOptionsYamlFile2('/test/override', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -907,12 +910,12 @@
void test_locateRoots_nested_options_overriddenPackages() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ newPackageConfigJsonFile('/test/outer', '');
Folder innerRootFolder = newFolder('/test/outer/examples/inner');
File innerOptionsFile =
- newAnalysisOptionsYamlFile('/test/outer/examples/inner');
- File overridePackagesFile = newPackageConfigJsonFile('/test/override');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner', '');
+ File overridePackagesFile = newPackageConfigJsonFile('/test/override', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -934,13 +937,13 @@
void test_locateRoots_nested_optionsAndPackages() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder innerRootFolder = newFolder('/test/outer/examples/inner');
File innerOptionsFile =
- newAnalysisOptionsYamlFile('/test/outer/examples/inner');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner', '');
File innerPackagesFile =
- newPackageConfigJsonFile('/test/outer/examples/inner');
+ newPackageConfigJsonFile('/test/outer/examples/inner', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -961,13 +964,14 @@
void test_locateRoots_nested_optionsAndPackages_overriddenBoth() {
Folder outerRootFolder = newFolder('/test/outer');
- newAnalysisOptionsYamlFile('/test/outer');
- newPackageConfigJsonFile('/test/outer');
+ newAnalysisOptionsYamlFile2('/test/outer', '');
+ newPackageConfigJsonFile('/test/outer', '');
newFolder('/test/outer/examples/inner');
- newAnalysisOptionsYamlFile('/test/outer/examples/inner');
- newPackageConfigJsonFile('/test/outer/examples/inner');
- File overrideOptionsFile = newAnalysisOptionsYamlFile('/test/override');
- File overridePackagesFile = newPackageConfigJsonFile('/test/override');
+ newAnalysisOptionsYamlFile2('/test/outer/examples/inner', '');
+ newPackageConfigJsonFile('/test/outer/examples/inner', '');
+ File overrideOptionsFile =
+ newAnalysisOptionsYamlFile2('/test/override', '');
+ File overridePackagesFile = newPackageConfigJsonFile('/test/override', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -984,11 +988,11 @@
void test_locateRoots_nested_packageConfigJson() {
var outerRootFolder = newFolder('/test/outer');
- var outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- var outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ var outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ var outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
var innerRootFolder = newFolder('/test/outer/examples/inner');
var innerPackagesFile =
- newPackageConfigJsonFile('/test/outer/examples/inner');
+ newPackageConfigJsonFile('/test/outer/examples/inner', '');
var roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -1010,11 +1014,11 @@
void test_locateRoots_nested_packages() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder innerRootFolder = newFolder('/test/outer/examples/inner');
File innerPackagesFile =
- newPackageConfigJsonFile('/test/outer/examples/inner');
+ newPackageConfigJsonFile('/test/outer/examples/inner', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -1035,12 +1039,13 @@
void test_locateRoots_nested_packages_overriddenOptions() {
Folder outerRootFolder = newFolder('/test/outer');
- newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
Folder innerRootFolder = newFolder('/test/outer/examples/inner');
File innerPackagesFile =
- newPackageConfigJsonFile('/test/outer/examples/inner');
- File overrideOptionsFile = newAnalysisOptionsYamlFile('/test/override');
+ newPackageConfigJsonFile('/test/outer/examples/inner', '');
+ File overrideOptionsFile =
+ newAnalysisOptionsYamlFile2('/test/override', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -1062,11 +1067,11 @@
void test_locateRoots_nested_packages_overriddenPackages() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ newPackageConfigJsonFile('/test/outer', '');
newFolder('/test/outer/examples/inner');
- newPackageConfigJsonFile('/test/outer/examples/inner');
- File overridePackagesFile = newPackageConfigJsonFile('/test/override');
+ newPackageConfigJsonFile('/test/outer/examples/inner', '');
+ File overridePackagesFile = newPackageConfigJsonFile('/test/override', '');
List<ContextRoot> roots = contextLocator.locateRoots(
includedPaths: [outerRootFolder.path],
@@ -1082,10 +1087,10 @@
void test_locateRoots_nested_packagesDirectory_included() {
Folder outerRootFolder = newFolder('/test/outer');
- File outerOptionsFile = newAnalysisOptionsYamlFile('/test/outer');
- File outerPackagesFile = newPackageConfigJsonFile('/test/outer');
+ File outerOptionsFile = newAnalysisOptionsYamlFile2('/test/outer', '');
+ File outerPackagesFile = newPackageConfigJsonFile('/test/outer', '');
File innerOptionsFile =
- newAnalysisOptionsYamlFile('/test/outer/packages/inner');
+ newAnalysisOptionsYamlFile2('/test/outer/packages/inner', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [outerRootFolder.path]);
@@ -1102,9 +1107,10 @@
void test_locateRoots_options_default_bazel() {
var workspacePath = '/home/workspace';
var workspaceFolder = getFolder(workspacePath);
- newFile('$workspacePath/WORKSPACE');
- var bazelOptionsFile = newFile(
+ newFile2('$workspacePath/WORKSPACE', '');
+ var bazelOptionsFile = newFile2(
'$workspacePath/dart/analysis_options/lib/default.yaml',
+ '',
);
var rootFolder = getFolder('$workspacePath/test');
@@ -1125,15 +1131,16 @@
var rootFolder = newFolder('/home/test');
var flutterPath = '/home/packages/flutter';
- var flutterAnalysisOptionsFile = newFile(
+ var flutterAnalysisOptionsFile = newFile2(
'$flutterPath/lib/analysis_options_user.yaml',
+ '',
);
var packageConfigFileBuilder = PackageConfigFileBuilder()
..add(name: 'flutter', rootPath: flutterPath);
var packagesFile = newPackageConfigJsonFile(
rootFolder.path,
- content: packageConfigFileBuilder.toContent(toUriStr: toUriStr),
+ packageConfigFileBuilder.toContent(toUriStr: toUriStr),
);
var roots = contextLocator.locateRoots(
@@ -1150,13 +1157,13 @@
void test_locateRoots_options_hasError() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
analyzer:
exclude:
- **.g.dart
analyzer:
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1177,12 +1184,12 @@
void test_locateRoots_options_withExclude_someFiles() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
analyzer:
exclude:
- data/**.g.dart
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1210,12 +1217,12 @@
void test_locateRoots_options_withExclude_someFolders() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
analyzer:
exclude:
- data/**/foo/**
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1242,12 +1249,12 @@
void test_locateRoots_options_withExclude_wholeFolder() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
analyzer:
exclude:
- data/**
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
newFolder('/test/root/data');
List<ContextRoot> roots =
@@ -1272,16 +1279,16 @@
void test_locateRoots_options_withExclude_wholeFolder_includedOptions() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
include: has_excludes.yaml
''');
- newFile('/test/root/has_excludes.yaml', content: '''
+ newFile2('/test/root/has_excludes.yaml', '''
analyzer:
exclude:
- data/**
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
newFolder('/test/root/data');
List<ContextRoot> roots =
@@ -1306,19 +1313,19 @@
void test_locateRoots_options_withExclude_wholeFolder_includedOptionsMerge() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
include: has_excludes.yaml
analyzer:
exclude:
- bar/**
''');
- newFile('/test/root/has_excludes.yaml', content: '''
+ newFile2('/test/root/has_excludes.yaml', '''
analyzer:
exclude:
- foo/**
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
newFolder('/test/root/foo');
newFolder('/test/root/bar');
@@ -1347,14 +1354,14 @@
void test_locateRoots_options_withExclude_wholeFolder_withItsOptions() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root', content: '''
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '''
analyzer:
exclude:
- data/**
''');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
newFolder('/test/root/data');
- newAnalysisOptionsYamlFile('/test/root/data', content: '');
+ newAnalysisOptionsYamlFile2('/test/root/data', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1378,8 +1385,8 @@
void test_locateRoots_single_dir_directOptions_directPackages() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1394,8 +1401,8 @@
void test_locateRoots_single_dir_directOptions_inheritedPackages() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test/root');
- File packagesFile = newPackageConfigJsonFile('/test');
+ File optionsFile = newAnalysisOptionsYamlFile2('/test/root', '');
+ File packagesFile = newPackageConfigJsonFile('/test', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1410,8 +1417,8 @@
void test_locateRoots_single_dir_inheritedOptions_directPackages() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File optionsFile = newAnalysisOptionsYamlFile2('/test', '');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1426,8 +1433,8 @@
void test_locateRoots_single_dir_inheritedOptions_inheritedPackages() {
Folder rootFolder = newFolder('/test/root');
- File optionsFile = newAnalysisOptionsYamlFile('/test');
- File packagesFile = newPackageConfigJsonFile('/test');
+ File optionsFile = newAnalysisOptionsYamlFile2('/test', '');
+ File packagesFile = newPackageConfigJsonFile('/test', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [rootFolder.path]);
@@ -1442,9 +1449,9 @@
void test_locateRoots_single_dir_prefer_packageConfigJson() {
var rootFolder = newFolder('/test');
- var optionsFile = newAnalysisOptionsYamlFile('/test');
- newPackageConfigJsonFile('/test'); // the file is not used
- var packageConfigJsonFile = newPackageConfigJsonFile('/test');
+ var optionsFile = newAnalysisOptionsYamlFile2('/test', '');
+ newPackageConfigJsonFile('/test', ''); // the file is not used
+ var packageConfigJsonFile = newPackageConfigJsonFile('/test', '');
var roots = contextLocator.locateRoots(includedPaths: [rootFolder.path]);
expect(roots, hasLength(1));
@@ -1457,9 +1464,9 @@
}
void test_locateRoots_single_file_inheritedOptions_directPackages() {
- File optionsFile = newAnalysisOptionsYamlFile('/test');
- File packagesFile = newPackageConfigJsonFile('/test/root');
- File testFile = newFile('/test/root/test.dart');
+ File optionsFile = newAnalysisOptionsYamlFile2('/test', '');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
+ File testFile = newFile2('/test/root/test.dart', '');
List<ContextRoot> roots =
contextLocator.locateRoots(includedPaths: [testFile.path]);
@@ -1473,8 +1480,8 @@
}
void test_locateRoots_single_file_notExisting() {
- File optionsFile = newAnalysisOptionsYamlFile('/test');
- File packagesFile = newPackageConfigJsonFile('/test/root');
+ File optionsFile = newAnalysisOptionsYamlFile2('/test', '');
+ File packagesFile = newPackageConfigJsonFile('/test/root', '');
File testFile = getFile('/test/root/test.dart');
List<ContextRoot> roots =
diff --git a/pkg/analyzer/test/src/dart/analysis/context_root_test.dart b/pkg/analyzer/test/src/dart/analysis/context_root_test.dart
index 90eb23e..7f8f853 100644
--- a/pkg/analyzer/test/src/dart/analysis/context_root_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/context_root_test.dart
@@ -42,11 +42,11 @@
String excludePath = convertPath('/test/root/exclude');
String cPath = convertPath('/test/root/exclude/c.dart');
- newFile(optionsPath);
- newFile(readmePath);
- newFile(aPath);
- newFile(bPath);
- newFile(cPath);
+ newFile2(optionsPath, '');
+ newFile2(readmePath, '');
+ newFile2(aPath, '');
+ newFile2(bPath, '');
+ newFile2(cPath, '');
contextRoot.excluded.add(newFolder(excludePath));
expect(contextRoot.analyzedFiles(),
@@ -55,9 +55,9 @@
test_isAnalyzed_excludedByGlob_includedFile() {
var rootPath = '/home/test';
- var includedFile = newFile('$rootPath/lib/a1.dart');
- var excludedFile = newFile('$rootPath/lib/a2.dart');
- var implicitFile = newFile('$rootPath/lib/b.dart');
+ var includedFile = newFile2('$rootPath/lib/a1.dart', '');
+ var excludedFile = newFile2('$rootPath/lib/a2.dart', '');
+ var implicitFile = newFile2('$rootPath/lib/b.dart', '');
var root = _createContextRoot(rootPath);
root.included.add(includedFile);
@@ -80,14 +80,14 @@
var includedFolderPath = convertPath('$rootPath/lib/src/included');
var includedFolder = getFolder(includedFolderPath);
- var includedFile1 = newFile('$includedFolderPath/a1.dart');
- var includedFile2 = newFile('$includedFolderPath/inner/a2.dart');
- var excludedFile1 = newFile('$includedFolderPath/a1.g.dart');
+ var includedFile1 = newFile2('$includedFolderPath/a1.dart', '');
+ var includedFile2 = newFile2('$includedFolderPath/inner/a2.dart', '');
+ var excludedFile1 = newFile2('$includedFolderPath/a1.g.dart', '');
var excludedFolderPath = convertPath('$rootPath/lib/src/not_included');
- var excludedFile2 = newFile('$excludedFolderPath/b.dart');
+ var excludedFile2 = newFile2('$excludedFolderPath/b.dart', '');
- var implicitFile = newFile('$rootPath/lib/c.dart');
+ var implicitFile = newFile2('$rootPath/lib/c.dart', '');
var root = _createContextRoot(rootPath);
root.included.add(includedFolder);
diff --git a/pkg/analyzer/test/src/dart/analysis/dependency/base.dart b/pkg/analyzer/test/src/dart/analysis/dependency/base.dart
index fa356af..c263789 100644
--- a/pkg/analyzer/test/src/dart/analysis/dependency/base.dart
+++ b/pkg/analyzer/test/src/dart/analysis/dependency/base.dart
@@ -60,7 +60,7 @@
// await _addLibraryByUri('dart:_internal');
// }
- newFile(path, content: content);
+ newFile2(path, content);
var analysisDriver = driverFor(path);
analysisDriver.changeFile(path);
diff --git a/pkg/analyzer/test/src/dart/analysis/dependency/reference_collector_test.dart b/pkg/analyzer/test/src/dart/analysis/dependency/reference_collector_test.dart
index 5e1206c..38d8b2d 100644
--- a/pkg/analyzer/test/src/dart/analysis/dependency/reference_collector_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/dependency/reference_collector_test.dart
@@ -1085,7 +1085,7 @@
}
test_prefixedIdentifier_importPrefix() async {
- newFile(b, content: 'var b = 0;');
+ newFile2(b, 'var b = 0;');
var library = await buildTestLibrary(a, r'''
import 'b.dart' as pb;
@@ -1099,7 +1099,7 @@
}
test_prefixedIdentifier_importPrefix_unresolvedIdentifier() async {
- newFile(b, content: '');
+ newFile2(b, '');
var library = await buildTestLibrary(a, r'''
import 'b.dart' as pb;
@@ -1420,7 +1420,7 @@
}
test_class_constructor_factoryRedirect_named_prefixed() async {
- newFile(b, content: 'class A {}');
+ newFile2(b, 'class A {}');
var library = await buildTestLibrary(a, r'''
import 'b.dart' as p;
@@ -1464,7 +1464,7 @@
}
test_class_constructor_factoryRedirect_unnamed_prefixed() async {
- newFile(b, content: 'class A {}');
+ newFile2(b, 'class A {}');
var library = await buildTestLibrary(a, r'''
import 'b.dart' as p;
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
index 421716f..e64b61a 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
@@ -35,7 +35,7 @@
),
);
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
dynamic a = 0;
int b = a;
''');
@@ -117,7 +117,7 @@
test_change_field_staticFinal_hasConstConstructor_changeInitializer() async {
useEmptyByteStore();
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
class A {
static const a = 0;
static const b = 1;
@@ -137,7 +137,7 @@
// We will reuse the byte store, so can reuse summaries.
disposeAnalysisContextCollection();
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
class A {
static const a = 0;
static const b = 1;
@@ -158,7 +158,7 @@
test_change_functionBody() async {
useEmptyByteStore();
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
void f() {
print(0);
}
@@ -175,7 +175,7 @@
// We will reuse the byte store, so can reuse summaries.
disposeAnalysisContextCollection();
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
void f() {
print(1);
}
@@ -192,7 +192,7 @@
useEmptyByteStore();
var aaaPackageRootPath = '$packagesRootPath/aaa';
- newFile('$aaaPackageRootPath/lib/a.dart', content: '');
+ newFile2('$aaaPackageRootPath/lib/a.dart', '');
writeTestPackageConfig(
PackageConfigFileBuilder()
@@ -213,7 +213,7 @@
),
);
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
// ignore:unused_import
import 'package:aaa/a.dart';
''');
@@ -256,7 +256,7 @@
AnalysisOptionsFileConfig(lints: []),
);
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
void f() {
![0].isEmpty;
}
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
index ebf8025..83e4941 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
@@ -247,7 +247,7 @@
}
test_annotation_onDirective_part() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
part of 'test.dart';
''');
addTestFile(r'''
@@ -270,7 +270,7 @@
}
test_annotation_onDirective_partOf() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
part 'test.dart';
''');
addTestFile(r'''
@@ -393,7 +393,7 @@
}
test_annotation_prefixed_classField() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const a = 1;
}
@@ -432,7 +432,7 @@
}
test_annotation_prefixed_constructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A(int a, {int b});
}
@@ -473,7 +473,7 @@
}
test_annotation_prefixed_constructor_named() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A.named(int a, {int b});
}
@@ -516,7 +516,7 @@
}
test_annotation_prefixed_topLevelVariable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const topAnnotation = 1;
''');
addTestFile(r'''
@@ -1422,7 +1422,7 @@
}
test_deferredImport_loadLibrary_invocation() async {
- newFile('$testPackageLibPath/a.dart');
+ newFile2('$testPackageLibPath/a.dart', '');
addTestFile(r'''
import 'a.dart' deferred as a;
main() {
@@ -1446,7 +1446,7 @@
}
test_deferredImport_loadLibrary_invocation_argument() async {
- newFile('$testPackageLibPath/a.dart');
+ newFile2('$testPackageLibPath/a.dart', '');
addTestFile(r'''
import 'a.dart' deferred as a;
var b = 1;
@@ -1480,7 +1480,7 @@
}
test_deferredImport_loadLibrary_tearOff() async {
- newFile('$testPackageLibPath/a.dart');
+ newFile2('$testPackageLibPath/a.dart', '');
addTestFile(r'''
import 'a.dart' deferred as a;
main() {
@@ -1503,7 +1503,7 @@
}
test_deferredImport_variable() async {
- newFile('$testPackageLibPath/a.dart', content: 'var v = 0;');
+ newFile2('$testPackageLibPath/a.dart', 'var v = 0;');
addTestFile(r'''
import 'a.dart' deferred as a;
main() async {
@@ -1542,7 +1542,7 @@
}
test_directive_export() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class MyClass {}
int myVar;
int get myGetter => 0;
@@ -1590,7 +1590,7 @@
}
test_directive_import_hide() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class MyClass {}
int myVar;
int get myGetter => 0;
@@ -1638,7 +1638,7 @@
}
test_directive_import_show() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class MyClass {}
int myVar;
int get myGetter => 0;
@@ -2187,7 +2187,7 @@
}
test_instanceCreation_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C<T> {
C(T p);
C.named(T p);
@@ -3595,7 +3595,7 @@
@failingTest
test_invalid_nonTypeAsType_topLevelFunction_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int T() => 0;
''');
addTestFile(r'''
@@ -3663,7 +3663,7 @@
@failingTest
test_invalid_nonTypeAsType_topLevelVariable_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int T;
''');
addTestFile(r'''
@@ -5618,7 +5618,7 @@
}
test_optionalConst_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
const C();
const C.named();
@@ -6132,7 +6132,7 @@
}
test_prefixedIdentifier_importPrefix_className() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class MyClass {}
typedef void MyFunctionTypeAlias();
int myTopVariable;
@@ -7733,9 +7733,9 @@
}
test_typeAnnotation_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/b.dart', content: "export 'a.dart';");
- newFile('$testPackageLibPath/c.dart', content: "export 'a.dart';");
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/b.dart', "export 'a.dart';");
+ newFile2('$testPackageLibPath/c.dart', "export 'a.dart';");
addTestFile(r'''
import 'b.dart' as b;
import 'c.dart' as c;
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
index 1aba4d2..1bfe413 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_test.dart
@@ -58,7 +58,7 @@
var innerPath = convertPath('$outerLibPath/inner/lib/b.dart');
var innerUri = Uri.parse('package:my.outer.lib.inner/b.dart');
- newFile(innerPath, content: 'class B {}');
+ newFile2(innerPath, 'class B {}');
var analysisSession = contextFor(innerPath).currentSession;
@@ -71,7 +71,7 @@
// Reference "inner" using a non-canonical URI.
{
- var a = newFile(convertPath('$outerLibPath/a.dart'), content: r'''
+ var a = newFile2(convertPath('$outerLibPath/a.dart'), r'''
import 'inner/lib/b.dart';
''');
var result = await analysisSession.getResolvedUnit(a.path);
@@ -81,7 +81,7 @@
// Reference "inner" using the canonical URI, via relative.
{
- var c = newFile('$outerLibPath/inner/lib/c.dart', content: r'''
+ var c = newFile2('$outerLibPath/inner/lib/c.dart', r'''
import 'b.dart';
''');
var result = await analysisSession.getResolvedUnit(c.path);
@@ -91,7 +91,7 @@
// Reference "inner" using the canonical URI, via absolute.
{
- var d = newFile('$outerLibPath/inner/lib/d.dart', content: '''
+ var d = newFile2('$outerLibPath/inner/lib/d.dart', '''
import '$innerUri';
''');
var result = await analysisSession.getResolvedUnit(d.path);
@@ -153,10 +153,10 @@
String b = convertPath('/b.dart');
String c = convertPath('/c.dart');
String d = convertPath('/d.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: "import 'a.dart';");
- newFile(c, content: 'class C {}');
- newFile(d, content: "import 'c.dart';");
+ newFile2(a, 'class A {}');
+ newFile2(b, "import 'a.dart';");
+ newFile2(c, 'class C {}');
+ newFile2(d, "import 'c.dart';");
driver1.addFile(a);
driver1.addFile(b);
driver2.addFile(c);
@@ -185,9 +185,9 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
String c = convertPath('/c.dart');
- newFile(a, content: "import 'c.dart';");
- newFile(b, content: 'class B {}');
- newFile(c, content: "import 'b.dart';");
+ newFile2(a, "import 'c.dart';");
+ newFile2(b, 'class B {}');
+ newFile2(c, "import 'b.dart';");
driver1.addFile(a);
driver1.addFile(b);
driver2.addFile(c);
@@ -213,10 +213,10 @@
String b = convertPath('/b.dart');
String c = convertPath('/c.dart');
String d = convertPath('/d.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: "export 'a.dart';");
- newFile(c, content: "import 'b.dart';");
- newFile(d, content: "import 'b.dart'; class D extends X {}");
+ newFile2(a, 'class A {}');
+ newFile2(b, "export 'a.dart';");
+ newFile2(c, "import 'b.dart';");
+ newFile2(d, "import 'b.dart'; class D extends X {}");
driver1.addFile(a);
driver1.addFile(b);
driver2.addFile(c);
@@ -242,9 +242,9 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
String c = convertPath('/c.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
- newFile(c, content: 'class C {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
+ newFile2(c, 'class C {}');
driver1.addFile(a);
driver2.addFile(b);
driver2.addFile(c);
@@ -268,8 +268,8 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
driver1.addFile(a);
driver2.addFile(b);
driver1.priorityFiles = [a];
@@ -288,8 +288,8 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
driver1.addFile(a);
driver2.addFile(b);
driver1.priorityFiles = [b];
@@ -309,9 +309,9 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
String c = convertPath('/c.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
- newFile(c, content: 'class C {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
+ newFile2(c, 'class C {}');
driver1.addFile(a);
driver1.addFile(b);
driver2.addFile(c);
@@ -333,9 +333,9 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
String c = convertPath('/c.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
- newFile(c, content: 'class C {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
+ newFile2(c, 'class C {}');
driver1.addFile(a);
driver2.addFile(b);
driver2.addFile(c);
@@ -366,8 +366,8 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
driver1.addFile(a);
driver2.addFile(b);
@@ -427,8 +427,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: r'''
+ newFile2(a, 'class A {}');
+ newFile2(b, r'''
import 'a.dart';
''');
@@ -446,7 +446,7 @@
assertNumberOfErrorsInB(1);
// Update 'b' to use 'a', no more hints.
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
main() {
print(A);
@@ -459,7 +459,7 @@
// Change 'b' content so that it has a hint.
// Remove 'b' and add it again.
// The file 'b' must be refreshed, and the hint must be reported.
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
''');
driver.removeFile(b);
@@ -471,8 +471,8 @@
test_addFile_thenRemove() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
driver.addFile(a);
driver.addFile(b);
@@ -490,15 +490,15 @@
var lib = convertPath('/test/lib.dart');
var part1 = convertPath('/test/part1.dart');
var part2 = convertPath('/test/part2.dart');
- newFile(lib, content: '''
+ newFile2(lib, '''
library lib;
part 'part1.dart';
part 'part2.dart';
''');
- newFile(part1, content: '''
+ newFile2(part1, '''
part of lib;
''');
- newFile(part2, content: '''
+ newFile2(part2, '''
part of 'lib.dart';
''');
@@ -540,10 +540,10 @@
test_analyze_resolveDirectives_error_missingLibraryDirective() async {
var lib = convertPath('/test/lib.dart');
var part = convertPath('/test/part.dart');
- newFile(lib, content: '''
+ newFile2(lib, '''
part 'part.dart';
''');
- newFile(part, content: '''
+ newFile2(part, '''
part of lib;
''');
@@ -558,11 +558,11 @@
test_analyze_resolveDirectives_error_partOfDifferentLibrary_byName() async {
var lib = convertPath('/test/lib.dart');
var part = convertPath('/test/part.dart');
- newFile(lib, content: '''
+ newFile2(lib, '''
library lib;
part 'part.dart';
''');
- newFile(part, content: '''
+ newFile2(part, '''
part of someOtherLib;
''');
@@ -577,11 +577,11 @@
test_analyze_resolveDirectives_error_partOfDifferentLibrary_byUri() async {
var lib = convertPath('/test/lib.dart');
var part = convertPath('/test/part.dart');
- newFile(lib, content: '''
+ newFile2(lib, '''
library lib;
part 'part.dart';
''');
- newFile(part, content: '''
+ newFile2(part, '''
part of 'other_lib.dart';
''');
@@ -596,11 +596,11 @@
test_analyze_resolveDirectives_error_partOfNonPart() async {
var lib = convertPath('/test/lib.dart');
var part = convertPath('/test/part.dart');
- newFile(lib, content: '''
+ newFile2(lib, '''
library lib;
part 'part.dart';
''');
- newFile(part, content: '''
+ newFile2(part, '''
// no part of directive
''');
@@ -614,7 +614,7 @@
test_cachedPriorityResults() async {
var a = convertPath('/test/bin/a.dart');
- newFile(a, content: 'var a = 1;');
+ newFile2(a, 'var a = 1;');
driver.priorityFiles = [a];
@@ -644,8 +644,8 @@
test_cachedPriorityResults_flush_onAnyFileChange() async {
var a = convertPath('/test/bin/a.dart');
var b = convertPath('/test/bin/b.dart');
- newFile(a, content: 'var a = 1;');
- newFile(a, content: 'var b = 2;');
+ newFile2(a, 'var a = 1;');
+ newFile2(a, 'var b = 2;');
driver.priorityFiles = [a];
@@ -675,8 +675,8 @@
test_cachedPriorityResults_flush_onPrioritySetChange() async {
var a = convertPath('/test/bin/a.dart');
var b = convertPath('/test/bin/b.dart');
- newFile(a, content: 'var a = 1;');
- newFile(b, content: 'var b = 2;');
+ newFile2(a, 'var a = 1;');
+ newFile2(b, 'var b = 2;');
driver.priorityFiles = [a];
@@ -705,7 +705,7 @@
test_cachedPriorityResults_notPriority() async {
var a = convertPath('/test/bin/a.dart');
- newFile(a, content: 'var a = 1;');
+ newFile2(a, 'var a = 1;');
ResolvedUnitResult result1 = await driver.getResultValid(a);
expect(driver.test.priorityResults, isEmpty);
@@ -718,11 +718,11 @@
test_changeFile_implicitlyAnalyzed() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'b.dart';
var A = B;
''');
- newFile(b, content: 'var B = 1;');
+ newFile2(b, 'var B = 1;');
driver.priorityFiles = [a];
driver.addFile(a);
@@ -766,8 +766,8 @@
test_changeFile_notUsed() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/other/b.dart');
- newFile(a);
- newFile(b, content: 'class B1 {}');
+ newFile2(a, '');
+ newFile2(b, 'class B1 {}');
driver.addFile(a);
@@ -786,17 +786,17 @@
}
test_changeFile_potentiallyAffected_imported() async {
- newFile('/test/lib/a.dart', content: '');
- var b = newFile('/test/lib/b.dart', content: '''
+ newFile2('/test/lib/a.dart', '');
+ var b = newFile2('/test/lib/b.dart', '''
import 'a.dart';
''');
- newFile('/test/lib/c.dart', content: '''
+ var c = newFile2('/test/lib/c.dart', '''
import 'b.dart';
''');
- newFile('/test/lib/d.dart', content: '''
+ var d = newFile2('/test/lib/d.dart', '''
import 'c.dart';
''');
- newFile('/test/lib/e.dart', content: '');
+ newFile2('/test/lib/e.dart', '');
Future<LibraryElementImpl> getLibrary(String shortName) async {
var uriStr = 'package:test/$shortName';
@@ -832,7 +832,8 @@
// Change `b.dart`, also removes `c.dart` and `d.dart` that import it.
// But `a.dart` and `d.dart` is not affected.
driver.changeFile(b.path);
- await driver.applyPendingFileChanges();
+ var affectedPathList = await driver.applyPendingFileChanges();
+ expect(affectedPathList, unorderedEquals([b.path, c.path, d.path]));
// We have a new session.
var session2 = driver.currentSession;
@@ -860,16 +861,16 @@
}
test_changeFile_potentiallyAffected_part() async {
- var a = newFile('/test/lib/a.dart', content: '''
+ var a = newFile2('/test/lib/a.dart', '''
part of 'b.dart';
''');
- newFile('/test/lib/b.dart', content: '''
+ var b = newFile2('/test/lib/b.dart', '''
part 'a.dart';
''');
- newFile('/test/lib/c.dart', content: '''
+ var c = newFile2('/test/lib/c.dart', '''
import 'b.dart';
''');
- newFile('/test/lib/d.dart', content: '');
+ newFile2('/test/lib/d.dart', '');
Future<LibraryElementImpl> getLibrary(String shortName) async {
var uriStr = 'package:test/$shortName';
@@ -900,7 +901,13 @@
// Removes `c.dart` that imports `b.dart`.
// But `d.dart` is not affected.
driver.changeFile(a.path);
- await driver.applyPendingFileChanges();
+ var affectedPathList = await driver.applyPendingFileChanges();
+ expect(affectedPathList, unorderedEquals([a.path, b.path, c.path]));
+
+ // We have a new session.
+ var session2 = driver.currentSession;
+ expect(session2, isNot(session1));
+
driver.assertLoadedLibraryUriSet(
excluded: [
'package:test/b.dart',
@@ -911,10 +918,6 @@
],
);
- // We have a new session.
- var session2 = driver.currentSession;
- expect(session2, isNot(session1));
-
// `d.dart` moved to the new session.
// Invalidated libraries stuck with the old session.
expect(b_element.session, session1);
@@ -925,12 +928,12 @@
test_changeFile_selfConsistent() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'b.dart';
var A1 = 1;
var A2 = B1;
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
var B1 = A1;
''');
@@ -1107,13 +1110,13 @@
test_const_implicitCreation() async {
var a = convertPath('/test/bin/a.dart');
var b = convertPath('/test/bin/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class C {
const C();
static const C WARNING = C();
}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
class D {
@@ -1131,7 +1134,7 @@
test_const_implicitCreation_rewrite() async {
var a = convertPath('/test/bin/a.dart');
var b = convertPath('/test/bin/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {
const A();
}
@@ -1146,7 +1149,7 @@
const C();
}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
main() {
@@ -1182,7 +1185,7 @@
test_currentSession() async {
var a = convertPath('/test/lib/a.dart');
- newFile(a, content: 'var V = 1;');
+ newFile2(a, 'var V = 1;');
await driver.getResultValid(a);
var session1 = driver.currentSession;
@@ -1207,12 +1210,12 @@
var b = convertPath('/bbb/lib/b.dart');
var c = convertPath('/ccc/lib/c.dart');
- newFile(t, content: 'class T {}');
- newFile(a1, content: 'class A1 {}');
- newFile(a2, content: 'class A2 {}');
- newFile(a3, content: 'text');
- newFile(b, content: 'class B {}');
- newFile(c, content: 'class C {}');
+ newFile2(t, 'class T {}');
+ newFile2(a1, 'class A1 {}');
+ newFile2(a2, 'class A2 {}');
+ newFile2(a3, 'text');
+ newFile2(b, 'class B {}');
+ newFile2(c, 'class C {}');
driver.addFile(t);
// Don't add a1.dart, a2.dart, or b.dart - they should be discovered.
@@ -1299,12 +1302,12 @@
String templatePath = convertPath('/aaa/lib/foo.dart');
String generatedPath = convertPath('/generated/aaa/lib/foo.dart');
- newFile(templatePath, content: r'''
+ newFile2(templatePath, r'''
a() {}
b() {}
''');
- newFile(generatedPath, content: r'''
+ newFile2(generatedPath, r'''
aaa() {}
bbb() {}
''');
@@ -1358,7 +1361,7 @@
test_getCachedResult() async {
var a = convertPath('/test/bin/a.dart');
- newFile(a, content: 'var a = 1;');
+ newFile2(a, 'var a = 1;');
expect(driver.getCachedResult(a), isNull);
@@ -1387,8 +1390,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: r'''
+ newFile2(a, '');
+ newFile2(b, r'''
import 'a.dart';
void f(A a) {}
@@ -1400,7 +1403,7 @@
// Update the file, changing its API signature.
// Note that we don't call `changeFile`.
- newFile(a, content: 'class A {}\n');
+ newFile2(a, 'class A {}\n');
// Get the file.
// We have not called `changeFile(a)`, so we should not read the file.
@@ -1423,7 +1426,7 @@
test_getFile_library() async {
var path = convertPath('/test/lib/a.dart');
- newFile(path);
+ newFile2(path, '');
var file = await driver.getFileValid(path);
expect(file.path, path);
expect(file.uri.toString(), 'package:test/a.dart');
@@ -1437,7 +1440,7 @@
test_getFile_part() async {
var path = convertPath('/test/lib/a.dart');
- newFile(path, content: 'part of lib;');
+ newFile2(path, 'part of lib;');
var file = await driver.getFileValid(path);
expect(file.path, path);
expect(file.uri.toString(), 'package:test/a.dart');
@@ -1450,10 +1453,10 @@
var c = convertPath('/test/bin/c.dart');
var d = convertPath('/test/bin/d.dart');
- newFile(a, content: 'class A { m1() {} }');
- newFile(b, content: 'class B { m2() {} }');
- newFile(c, content: 'class C { m2() {} }');
- newFile(d, content: 'class D { m3() {} }');
+ newFile2(a, 'class A { m1() {} }');
+ newFile2(b, 'class B { m2() {} }');
+ newFile2(c, 'class C { m2() {} }');
+ newFile2(d, 'class D { m3() {} }');
driver.addFile(a);
driver.addFile(b);
@@ -1476,10 +1479,10 @@
var c = convertPath('/test/bin/c.dart');
var d = convertPath('/test/bin/d.dart');
- newFile(a, content: 'mixin A { m1() {} }');
- newFile(b, content: 'mixin B { m2() {} }');
- newFile(c, content: 'mixin C { m2() {} }');
- newFile(d, content: 'mixin D { m3() {} }');
+ newFile2(a, 'mixin A { m1() {} }');
+ newFile2(b, 'mixin B { m2() {} }');
+ newFile2(c, 'mixin C { m2() {} }');
+ newFile2(d, 'mixin D { m3() {} }');
driver.addFile(a);
driver.addFile(b);
@@ -1503,11 +1506,11 @@
var d = convertPath('/test/bin/d.dart');
var e = convertPath('/test/bin/e.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: "import 'a.dart'; A a;");
- newFile(c, content: "import 'a.dart'; var a = new A();");
- newFile(d, content: "class A{} A a;");
- newFile(e, content: "import 'a.dart'; main() {}");
+ newFile2(a, 'class A {}');
+ newFile2(b, "import 'a.dart'; A a;");
+ newFile2(c, "import 'a.dart'; var a = new A();");
+ newFile2(d, "class A{} A a;");
+ newFile2(e, "import 'a.dart'; main() {}");
driver.addFile(a);
driver.addFile(b);
@@ -1533,10 +1536,10 @@
var b = convertPath('/bbb/lib/b.dart');
var c = convertPath('/ccc/lib/c.dart');
- newFile(t, content: 'int t;');
- newFile(a, content: 'int a;');
- newFile(b, content: 'int b;');
- newFile(c, content: 'int c;');
+ newFile2(t, 'int t;');
+ newFile2(a, 'int a;');
+ newFile2(b, 'int b;');
+ newFile2(c, 'int c;');
driver.addFile(t);
@@ -1552,8 +1555,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: r'''
+ newFile2(a, '');
+ newFile2(b, r'''
import 'a.dart';
void f(A a) {}
@@ -1565,7 +1568,7 @@
// Update the file, changing its API signature.
// Note that we don't call `changeFile`.
- newFile(a, content: 'class A {}\n');
+ newFile2(a, 'class A {}\n');
// Get the file.
// We have not called `changeFile(a)`, so we should not read the file.
@@ -1588,7 +1591,7 @@
@deprecated
test_getFileSync_library() async {
var path = convertPath('/test/lib/a.dart');
- newFile(path);
+ newFile2(path, '');
var file = driver.getFileSyncValid(path);
expect(file.path, path);
expect(file.uri.toString(), 'package:test/a.dart');
@@ -1604,7 +1607,7 @@
@deprecated
test_getFileSync_part() async {
var path = convertPath('/test/lib/a.dart');
- newFile(path, content: 'part of lib;');
+ newFile2(path, 'part of lib;');
var file = driver.getFileSyncValid(path);
expect(file.path, path);
expect(file.uri.toString(), 'package:test/a.dart');
@@ -1641,13 +1644,13 @@
String aUriStr = 'package:test/a.dart';
String bUriStr = 'package:test/b.dart';
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B {}
@@ -1850,8 +1853,8 @@
test_getResult_constants_defaultParameterValue_localFunction() async {
var a = convertPath('/test/bin/a.dart');
var b = convertPath('/test/bin/b.dart');
- newFile(a, content: 'const C = 42;');
- newFile(b, content: r'''
+ newFile2(a, 'const C = 42;');
+ newFile2(b, r'''
import 'a.dart';
main() {
foo({int p: C}) {}
@@ -1929,8 +1932,8 @@
test_getResult_importLibrary_thenRemoveIt() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: r'''
+ newFile2(a, 'class A {}');
+ newFile2(b, r'''
import 'a.dart';
class B extends A {}
''');
@@ -1959,7 +1962,7 @@
}
// Restore a.dart and reanalyze.
- newFile(a, content: 'class A {}');
+ newFile2(a, 'class A {}');
driver.addFile(a);
// No errors in b.dart again.
@@ -2092,7 +2095,7 @@
test_getResult_languageVersion() async {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
// @dart = 2.7
class A{}
''');
@@ -2108,19 +2111,19 @@
var b = convertPath('/test/bin/b.dart');
var c = convertPath('/test/lib/c.dart');
var d = convertPath('/test/test/d.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'package:test/c.dart';
int x = y;
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
import '../lib/c.dart';
int x = y;
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
import '../test/d.dart';
var y = z;
''');
- newFile(d, content: r'''
+ newFile2(d, r'''
String z = "string";
''');
@@ -2174,7 +2177,7 @@
test_getResult_notDartFile() async {
var path = convertPath('/test/lib/test.txt');
- newFile(path, content: 'class A {}');
+ newFile2(path, 'class A {}');
ResolvedUnitResult result = await driver.getResultValid(path);
expect(result, isNotNull);
@@ -2195,12 +2198,12 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/test/c.dart');
- newFile(a, content: 'class A<T> {}');
- newFile(b, content: r'''
+ newFile2(a, 'class A<T> {}');
+ newFile2(b, r'''
import 'a.dart';
var VB = new A<int>();
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
import '../lib/a.dart';
var VC = new A<double>();
''');
@@ -2231,12 +2234,12 @@
test_getResult_selfConsistent() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'b.dart';
var A1 = 1;
var A2 = B1;
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
import 'a.dart';
var B1 = A1;
''');
@@ -2319,7 +2322,7 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'package:test/b.dart';
''');
@@ -2334,7 +2337,7 @@
test_getUnitElement_notDart() async {
var path = convertPath('/test.txt');
- newFile(path, content: 'class A {}');
+ newFile2(path, 'class A {}');
var unitResult = await driver.getUnitElement(path);
unitResult as UnitElementResult;
expect(unitResult.element.classes.map((e) => e.name), ['A']);
@@ -2375,14 +2378,14 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
part 'b.dart';
class C {
int foo;
}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of a;
var c = new C();
''');
@@ -2394,7 +2397,7 @@
// Modify the library, but don't notify the driver.
// The driver should use the previous library content and elements.
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
part 'b.dart';
class C {
@@ -2415,17 +2418,17 @@
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: '''
+ newFile2(a, '''
library my.lib;
part 'b.dart';
''');
- newFile(b, content: '''
+ newFile2(b, '''
part of my.lib;
class A {}
''');
- newFile(c, content: '''
+ newFile2(c, '''
import 'b.dart';
''');
@@ -2438,7 +2441,7 @@
test_instantiateToBounds_invalid() async {
var a = convertPath('/test/lib/a.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A<T extends B> {}
class B<T extends A<B>> {}
''');
@@ -2459,7 +2462,7 @@
test_issue34619() async {
var a = convertPath('/test/lib/a.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class C {
final Set<String> f = new Set<String>();
@@ -2489,11 +2492,11 @@
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'b.dart';
''');
- newFile(b);
- newFile(c);
+ newFile2(b, '');
+ newFile2(c, '');
driver.addFile(a);
driver.addFile(c);
@@ -2516,7 +2519,7 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a);
+ newFile2(a, '');
// 'a.dart' is added, but not processed yet.
// So, the set of known files is empty yet.
@@ -2559,8 +2562,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: r'''
+ newFile2(a, '');
+ newFile2(b, r'''
import 'a.dart';
void f(A a) {}
@@ -2572,7 +2575,7 @@
// Update the file, changing its API signature.
// Note that we don't call `changeFile`.
- newFile(a, content: 'class A {}');
+ newFile2(a, 'class A {}');
// Parse the file.
// We have not called `changeFile(a)`, so we should not read the file.
@@ -2609,8 +2612,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: r'''
+ newFile2(a, '');
+ newFile2(b, r'''
import 'a.dart';
''');
@@ -2629,10 +2632,10 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part of my;
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
library my;
part 'a.dart';
''');
@@ -2651,7 +2654,7 @@
test_parseFile_languageVersion() async {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
// @dart = 2.7
class A {}
''');
@@ -2665,7 +2668,7 @@
test_parseFile_languageVersion_null() async {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {}
''');
@@ -2680,7 +2683,7 @@
test_parseFile_notDart() async {
var p = convertPath('/test/bin/a.txt');
- newFile(p, content: 'class A {}');
+ newFile2(p, 'class A {}');
var parseResult = await driver.parseFile(p) as ParsedUnitResult;
expect(parseResult, isNotNull);
@@ -2692,8 +2695,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: r'''
+ newFile2(a, '');
+ newFile2(b, r'''
import 'a.dart';
void f(A a) {}
@@ -2705,7 +2708,7 @@
// Update the file, changing its API signature.
// Note that we don't call `changeFile`.
- newFile(a, content: 'class A {}');
+ newFile2(a, 'class A {}');
// Parse the file.
// We have not called `changeFile(a)`, so we should not read the file.
@@ -2742,8 +2745,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: r'''
+ newFile2(a, '');
+ newFile2(b, r'''
import 'a.dart';
''');
@@ -2763,10 +2766,10 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part of my;
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
library my;
part 'a.dart';
''');
@@ -2786,7 +2789,7 @@
test_parseFileSync_languageVersion() async {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
// @dart = 2.7
class A {}
''');
@@ -2801,7 +2804,7 @@
test_parseFileSync_languageVersion_null() async {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {}
''');
@@ -2818,7 +2821,7 @@
@deprecated
test_parseFileSync_notDart() async {
var p = convertPath('/test/bin/a.txt');
- newFile(p, content: 'class A {}');
+ newFile2(p, 'class A {}');
var parseResult = driver.parseFileSync(p) as ParsedUnitResult;
expect(parseResult, isNotNull);
@@ -2829,15 +2832,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -2865,15 +2868,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -2895,15 +2898,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -2934,15 +2937,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -2964,7 +2967,7 @@
test_part_getResult_changePart_invalidatesLibraryCycle() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'dart:async';
part 'b.dart';
''');
@@ -2976,7 +2979,7 @@
// Create the part file.
// This should invalidate library file state (specifically the library
// cycle), so that we can re-link the library, and get new dependencies.
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
Future<int> f;
''');
@@ -2989,7 +2992,7 @@
test_part_getResult_noLibrary() async {
var c = convertPath('/test/lib/c.dart');
- newFile(c, content: r'''
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3009,15 +3012,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3049,15 +3052,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3084,7 +3087,7 @@
test_part_getUnitElement_noLibrary() async {
var c = convertPath('/test/lib/c.dart');
- newFile(c, content: r'''
+ newFile2(c, r'''
part of a;
var a = new A();
var b = new B();
@@ -3111,15 +3114,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3159,15 +3162,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3192,7 +3195,7 @@
test_part_results_noLibrary() async {
var c = convertPath('/test/lib/c.dart');
- newFile(c, content: r'''
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3214,15 +3217,15 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library a;
import 'b.dart';
part 'c.dart';
class A {}
var c = new C();
''');
- newFile(b, content: 'class B {}');
- newFile(c, content: r'''
+ newFile2(b, 'class B {}');
+ newFile2(c, r'''
part of a;
class C {}
var a = new A();
@@ -3250,7 +3253,7 @@
test_removeFile_addFile_results() async {
var a = convertPath('/test/lib/a.dart');
- newFile(a, content: 'class A {}');
+ newFile2(a, 'class A {}');
driver.addFile(a);
@@ -3269,11 +3272,11 @@
test_removeFile_changeFile_implicitlyAnalyzed() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'b.dart';
var A = B;
''');
- newFile(b, content: 'var B = 1;');
+ newFile2(b, 'var B = 1;');
driver.priorityFiles = [a, b];
driver.addFile(a);
@@ -3337,8 +3340,8 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: "import 'a.dart'; var a = new A();");
+ newFile2(a, 'class A {}');
+ newFile2(b, "import 'a.dart'; var a = new A();");
driver.addFile(a);
driver.addFile(b);
@@ -3369,20 +3372,20 @@
var d = convertPath('/test/lib/d.dart');
var e = convertPath('/test/lib/e.dart');
var f = convertPath('/test/lib/f.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
import 'd.dart';
''');
- newFile(b);
- newFile(c, content: r'''
+ newFile2(b, '');
+ newFile2(c, r'''
import 'd.dart';
''');
- newFile(d, content: r'''
+ newFile2(d, r'''
import 'b.dart';
''');
- newFile(e, content: r'''
+ newFile2(e, r'''
export 'b.dart';
''');
- newFile(f, content: r'''
+ newFile2(f, r'''
import 'e.dart';
class F extends X {}
''');
@@ -3424,11 +3427,11 @@
var c = convertPath('/test/lib/c.dart');
var d = convertPath('/test/lib/d.dart');
var e = convertPath('/test/lib/e.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
- newFile(c);
- newFile(d, content: "import 'a.dart';");
- newFile(e, content: "import 'b.dart';");
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
+ newFile2(c, '');
+ newFile2(d, "import 'a.dart';");
+ newFile2(e, "import 'b.dart';");
driver.addFile(a);
driver.addFile(b);
@@ -3482,9 +3485,9 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
var c = convertPath('/test/lib/c.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
- newFile(c, content: 'class C {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
+ newFile2(c, 'class C {}');
driver.addFile(a);
driver.addFile(b);
@@ -3515,7 +3518,7 @@
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
var v = 0;
''');
driver.addFile(a);
@@ -3524,7 +3527,7 @@
expect(allResults.singleWhere((r) => r.path == a).errors, hasLength(0));
allResults.clear();
- newFile(a, content: r'''
+ newFile2(a, r'''
var v = 0
''');
driver.removeFile(b);
@@ -3536,8 +3539,8 @@
test_results_skipNotAffected() async {
var a = convertPath('/test/lib/a.dart');
var b = convertPath('/test/lib/b.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
driver.addFile(a);
driver.addFile(b);
diff --git a/pkg/analyzer/test/src/dart/analysis/feature_set_provider_test.dart b/pkg/analyzer/test/src/dart/analysis/feature_set_provider_test.dart
index 0f485b1..d4c241f 100644
--- a/pkg/analyzer/test/src/dart/analysis/feature_set_provider_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/feature_set_provider_test.dart
@@ -32,7 +32,7 @@
Folder get sdkRoot => newFolder('/sdk');
void setUp() {
- newFile('/test/lib/test.dart', content: '');
+ newFile2('/test/lib/test.dart', '');
createMockSdk(
resourceProvider: resourceProvider,
@@ -457,7 +457,6 @@
}
void _newSdkExperimentsFile(String content) {
- newFile('$sdkRoot/lib/_internal/allowed_experiments.json',
- content: content);
+ newFile2('$sdkRoot/lib/_internal/allowed_experiments.json', content);
}
}
diff --git a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
index 3cc2617..5326c4c 100644
--- a/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/file_state_test.dart
@@ -47,7 +47,7 @@
var generatedPath = convertPath('$workspaceRootPath/bazel-bin/$relPath');
// This generated file should be used instead of the writable.
- newFile(generatedPath);
+ newFile2(generatedPath, '');
var analysisDriver = driverFor(convertPath(testFilePath));
@@ -73,7 +73,7 @@
var generatedPath = convertPath('$workspaceRootPath/bazel-bin/$relPath');
// This generated file should be used instead of the writable.
- newFile(generatedPath);
+ newFile2(generatedPath, '');
var analysisDriver = driverFor(convertPath(testFilePath));
@@ -182,7 +182,7 @@
test_definedClassMemberNames() {
String path = convertPath('/aaa/lib/a.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {
int a, b;
A();
@@ -202,7 +202,7 @@
test_definedClassMemberNames_enum() {
String path = convertPath('/aaa/lib/a.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
enum E1 {
v1;
int field1, field2;
@@ -236,7 +236,7 @@
test_definedTopLevelNames() {
String path = convertPath('/aaa/lib/a.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {}
class B = Object with A;
typedef C();
@@ -270,7 +270,7 @@
test_getFileForPath_emptyUri() {
String path = convertPath('/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
import '';
export '';
part '';
@@ -284,7 +284,7 @@
test_getFileForPath_hasLibraryDirective_hasPartOfDirective() {
String a = convertPath('/test/lib/a.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library L;
part of L;
''');
@@ -307,7 +307,7 @@
part 'a3.dart';
part ':[invalid uri]';
''';
- newFile(a, content: content_a1);
+ newFile2(a, content_a1);
FileState file = fileSystemState.getFileForPath(a);
@@ -346,7 +346,7 @@
class A1 {}
''';
- newFile(a1, content: content_a1);
+ newFile2(a1, content_a1);
FileState file = fileSystemState.getFileForPath(a1);
expect(file.path, a1);
@@ -388,7 +388,7 @@
String b = convertPath('/test/lib/b.dart');
String c = convertPath('/test/lib/c.dart');
String d = convertPath('/test/lib/d.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
library lib;
import 'dart:math';
import 'b.dart';
@@ -409,11 +409,11 @@
test_getFileForPath_part() {
String a1 = convertPath('/aaa/lib/a1.dart');
String a2 = convertPath('/aaa/lib/a2.dart');
- newFile(a1, content: r'''
+ newFile2(a1, r'''
library a1;
part 'a2.dart';
''');
- newFile(a2, content: r'''
+ newFile2(a2, r'''
part of a1;
class A2 {}
''');
@@ -446,7 +446,7 @@
// Now update the library, and refresh its file.
// The 'a2.dart' is not referenced anymore.
// So the part file does not have the library anymore.
- newFile(a1, content: r'''
+ newFile2(a1, r'''
library a1;
part 'not-a2.dart';
''');
@@ -477,11 +477,11 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
class B extends A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
class A {}
class D implements A {}
''');
@@ -495,7 +495,7 @@
);
// Change b.dart so that it does not subtype A.
- newFile(b, content: r'''
+ newFile2(b, r'''
class C {}
class D implements C {}
''');
@@ -514,13 +514,13 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
enum E1 implements A {
v
}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
class A {}
enum E2 implements A {
v
@@ -536,7 +536,7 @@
);
// Change b.dart so that it does not subtype A.
- newFile(b, content: r'''
+ newFile2(b, r'''
class C {}
enum E2 implements C {
v
@@ -557,13 +557,13 @@
String a = convertPath('/a.dart');
String b = convertPath('/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
mixin M {}
enum E1 with M {
v
}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
mixin M {}
enum E2 with M {
v
@@ -611,17 +611,17 @@
_assertFilesWithoutLibraryCycle([]);
// No imports, so just a single file.
- newFile(pa);
+ newFile2(pa, '');
_assertLibraryCycle(fa, [fa], []);
// Import b.dart into a.dart, two files now.
- newFile(pa, content: "import 'b.dart';");
+ newFile2(pa, "import 'b.dart';");
fa.refresh();
_assertFilesWithoutLibraryCycle([fa]);
_assertLibraryCycle(fa, [fa], [fb.libraryCycle]);
// Update b.dart so that it imports c.dart now.
- newFile(pb, content: "import 'c.dart';");
+ newFile2(pb, "import 'c.dart';");
fb.refresh();
_assertFilesWithoutLibraryCycle([fa, fb]);
_assertLibraryCycle(fa, [fa], [fb.libraryCycle]);
@@ -629,7 +629,7 @@
_assertFilesWithoutLibraryCycle([]);
// Update b.dart so that it exports d.dart instead.
- newFile(pb, content: "export 'd.dart';");
+ newFile2(pb, "export 'd.dart';");
fb.refresh();
_assertFilesWithoutLibraryCycle([fa, fb]);
_assertLibraryCycle(fa, [fa], [fb.libraryCycle]);
@@ -637,7 +637,7 @@
_assertFilesWithoutLibraryCycle([]);
// Update a.dart so that it does not import b.dart anymore.
- newFile(pa);
+ newFile2(pa, '');
fa.refresh();
_assertFilesWithoutLibraryCycle([fa]);
_assertLibraryCycle(fa, [fa], []);
@@ -647,8 +647,8 @@
String pa = convertPath('/aaa/lib/a.dart');
String pb = convertPath('/aaa/lib/b.dart');
- newFile(pa, content: "import 'b.dart';");
- newFile(pb, content: "import 'a.dart';");
+ newFile2(pa, "import 'b.dart';");
+ newFile2(pb, "import 'a.dart';");
FileState fa = fileSystemState.getFileForPath(pa);
FileState fb = fileSystemState.getFileForPath(pb);
@@ -664,7 +664,7 @@
expect(fa.libraryCycle, same(fb.libraryCycle));
// Update a.dart so that it does not import b.dart anymore.
- newFile(pa);
+ newFile2(pa, '');
fa.refresh();
_assertFilesWithoutLibraryCycle([fa, fb]);
_assertLibraryCycle(fa, [fa], []);
@@ -674,7 +674,7 @@
test_libraryCycle_invalidPart_withPart() {
var pa = convertPath('/aaa/lib/a.dart');
- newFile(pa, content: r'''
+ newFile2(pa, r'''
part of lib;
part 'a.dart';
''');
@@ -688,10 +688,10 @@
var a_path = convertPath('/aaa/lib/a.dart');
var b_path = convertPath('/aaa/lib/b.dart');
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
part 'b.dart';
''');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
part of 'a.dart';
''');
@@ -716,7 +716,7 @@
test_referencedNames() {
String path = convertPath('/aaa/lib/a.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
A foo(B p) {
foo(null);
C c = new C(p);
@@ -729,7 +729,7 @@
test_refresh_differentApiSignature() {
String path = convertPath('/aaa/lib/a.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class A {}
''');
FileState file = fileSystemState.getFileForPath(path);
@@ -737,7 +737,7 @@
List<int> signature = file.apiSignature;
// Update the resource and refresh the file state.
- newFile(path, content: r'''
+ newFile2(path, r'''
class B {}
''');
bool apiSignatureChanged = file.refresh();
@@ -749,7 +749,7 @@
test_refresh_sameApiSignature() {
String path = convertPath('/aaa/lib/a.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class C {
foo() {
print(111);
@@ -760,7 +760,7 @@
List<int> signature = file.apiSignature;
// Update the resource and refresh the file state.
- newFile(path, content: r'''
+ newFile2(path, r'''
class C {
foo() {
print(222);
@@ -775,7 +775,7 @@
test_store_zeroLengthUnlinked() {
String path = convertPath('/test.dart');
- newFile(path, content: 'class A {}');
+ newFile2(path, 'class A {}');
// Get the file, prepare unlinked.
FileState file = fileSystemState.getFileForPath(path);
@@ -791,7 +791,7 @@
test_subtypedNames() {
String path = convertPath('/test.dart');
- newFile(path, content: r'''
+ newFile2(path, r'''
class X extends A {}
class Y extends A with B {}
class Z implements C, D {}
@@ -806,10 +806,10 @@
String pc = convertPath('/aaa/lib/c.dart');
String pd = convertPath('/aaa/lib/d.dart');
- newFile(pa, content: "class A {}");
- newFile(pb, content: "import 'a.dart';");
- newFile(pc, content: "import 'b.dart';");
- newFile(pd, content: "class D {}");
+ newFile2(pa, "class A {}");
+ newFile2(pb, "import 'a.dart';");
+ newFile2(pc, "import 'b.dart';");
+ newFile2(pd, "class D {}");
FileState fa = fileSystemState.getFileForPath(pa);
FileState fb = fileSystemState.getFileForPath(pb);
@@ -826,13 +826,13 @@
// Make an update to a.dart that does not change its API signature.
// All library cycles are still valid.
- newFile(pa, content: "class A {} // the same API signature");
+ newFile2(pa, "class A {} // the same API signature");
fa.refresh();
_assertFilesWithoutLibraryCycle([]);
// Change a.dart API signature.
// This flushes signatures of b.dart and c.dart, but d.dart is still OK.
- newFile(pa, content: "class A2 {}");
+ newFile2(pa, "class A2 {}");
fa.refresh();
_assertFilesWithoutLibraryCycle([fa, fb, fc]);
}
@@ -841,10 +841,10 @@
var aPath = convertPath('/test/lib/a.dart');
var bPath = convertPath('/test/lib/b.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
part 'b.dart';
''');
- newFile(bPath, content: '''
+ newFile2(bPath, '''
part of 'a.dart';
''');
diff --git a/pkg/analyzer/test/src/dart/analysis/index_test.dart b/pkg/analyzer/test/src/dart/analysis/index_test.dart
index 4c31935..c07ab6e 100644
--- a/pkg/analyzer/test/src/dart/analysis/index_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/index_test.dart
@@ -107,7 +107,7 @@
}
test_isExtendedBy_ClassDeclaration_isQualified() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
''');
await _indexTestUnit('''
@@ -152,7 +152,7 @@
}
test_isExtendedBy_ClassTypeAlias_isQualified() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
''');
await _indexTestUnit('''
@@ -178,7 +178,7 @@
}
test_isImplementedBy_ClassDeclaration_isQualified() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
''');
await _indexTestUnit('''
@@ -251,7 +251,7 @@
}
test_isInvokedBy_FunctionElement() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
foo() {}
''');
@@ -510,7 +510,7 @@
}
test_isMixedInBy_ClassDeclaration_isQualified() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
''');
await _indexTestUnit('''
@@ -674,7 +674,7 @@
}
test_isReferencedBy_ClassElement_invocation_isQualified() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
''');
await _indexTestUnit('''
@@ -713,7 +713,7 @@
}
test_isReferencedBy_CompilationUnitElement_export() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await _indexTestUnit('''
@@ -724,7 +724,7 @@
}
test_isReferencedBy_CompilationUnitElement_import() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await _indexTestUnit('''
@@ -735,7 +735,7 @@
}
test_isReferencedBy_CompilationUnitElement_part() async {
- newFile('$testPackageLibPath/my_unit.dart', content: 'part of my_lib;');
+ newFile2('$testPackageLibPath/my_unit.dart', 'part of my_lib;');
await _indexTestUnit('''
library my_lib;
part 'my_unit.dart';
@@ -745,8 +745,8 @@
}
test_isReferencedBy_CompilationUnitElement_part_inPart() async {
- newFile('$testPackageLibPath/a.dart', content: 'part of lib;');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', 'part of lib;');
+ newFile2('$testPackageLibPath/b.dart', '''
library lib;
part 'a.dart';
''');
@@ -1227,7 +1227,7 @@
}
test_isReferencedBy_FunctionElement_with_LibraryElement() async {
- newFile('$testPackageLibPath/foo.dart', content: r'''
+ newFile2('$testPackageLibPath/foo.dart', r'''
bar() {}
''');
await _indexTestUnit('''
@@ -1306,8 +1306,8 @@
}
test_isReferencedBy_MultiplyDefinedElement() async {
- newFile('$testPackageLibPath/a1.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a2.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a1.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a2.dart', 'class A {}');
await _indexTestUnit('''
import 'a1.dart';
import 'a2.dart';
@@ -1357,10 +1357,10 @@
}
test_isReferencedBy_ParameterElement_multiplyDefined_generic() async {
- newFile('/test/lib/a.dart', content: r'''
+ newFile2('/test/lib/a.dart', r'''
void foo<T>({T? a}) {}
''');
- newFile('/test/lib/b.dart', content: r'''
+ newFile2('/test/lib/b.dart', r'''
void foo<T>({T? a}) {}
''');
await _indexTestUnit(r"""
@@ -1563,7 +1563,7 @@
}
test_isReferencedBy_TopLevelVariableElement() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
var V;
''');
@@ -1587,7 +1587,7 @@
}
test_isReferencedBy_TopLevelVariableElement_synthetic_hasGetterSetter() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
int get V => 0;
void set V(_) {}
''');
@@ -1599,7 +1599,7 @@
}
test_isReferencedBy_TopLevelVariableElement_synthetic_hasSetter() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
void set V(_) {}
''');
await _indexTestUnit('''
@@ -1661,7 +1661,7 @@
test_subtypes_classDeclaration() async {
String libP = 'package:test/lib.dart;package:test/lib.dart';
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
class B {}
class C {}
@@ -1711,7 +1711,7 @@
test_subtypes_classTypeAlias() async {
String libP = 'package:test/lib.dart;package:test/lib.dart';
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
class B {}
class C {}
@@ -1779,7 +1779,7 @@
test_subtypes_mixinDeclaration() async {
String libP = 'package:test/lib.dart;package:test/lib.dart';
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
class B {}
class C {}
diff --git a/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart b/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart
index bcf846f..56ea4ff 100644
--- a/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/resolve_for_completion_test.dart
@@ -458,7 +458,7 @@
}
test_processPendingChanges() async {
- newFile(testFilePath, content: 'class A {}');
+ newFile2(testFilePath, 'class A {}');
// Read the file.
await testDriver.getFile(testFilePathPlatform);
@@ -559,7 +559,7 @@
var before = content.substring(0, offset);
var after = content.substring(offset + 1);
- newFile(path, content: before + after);
+ newFile2(path, before + after);
return offset;
}
diff --git a/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart b/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart
index f60b34d..d374b9c 100644
--- a/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/results/get_element_declaration_test.dart
@@ -59,7 +59,7 @@
}
test_class_inPart() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
part of 'test.dart';
class A {}
''');
diff --git a/pkg/analyzer/test/src/dart/analysis/search_test.dart b/pkg/analyzer/test/src/dart/analysis/search_test.dart
index 69278e4..55c4c67 100644
--- a/pkg/analyzer/test/src/dart/analysis/search_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/search_test.dart
@@ -179,9 +179,9 @@
..add(name: 'bbb', rootPath: bbbPackageRootPath),
);
- newFile(aaaFilePath, content: 'class A {}');
- newFile(bbbFilePath, content: 'class B {}');
- newFile(cccFilePath, content: 'class C {}');
+ newFile2(aaaFilePath, 'class A {}');
+ newFile2(bbbFilePath, 'class B {}');
+ newFile2(cccFilePath, 'class C {}');
await resolveTestCode('class T {}');
@@ -252,8 +252,8 @@
}
test_declarations_onlyForFile() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- var b = newFile('$testPackageLibPath/b.dart', content: 'class B {}').path;
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ var b = newFile2('$testPackageLibPath/b.dart', 'class B {}').path;
var results = WorkspaceSymbols();
await driver.search.declarations(results, null, null, onlyForFile: b);
@@ -525,7 +525,7 @@
}
test_searchReferences_ClassElement_definedOutside() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
class A {};
''');
await resolveTestCode('''
@@ -600,7 +600,7 @@
}
test_searchReferences_CompilationUnitElement() async {
- newFile('$testPackageLibPath/foo.dart');
+ newFile2('$testPackageLibPath/foo.dart', '');
await resolveTestCode('''
import 'foo.dart'; // import
export 'foo.dart'; // export
@@ -734,7 +734,7 @@
A(); // in other
}
''';
- newFile(other, content: otherCode);
+ newFile2(other, otherCode);
await resolveTestCode('''
class A {
@@ -1100,7 +1100,7 @@
}
test_searchReferences_ImportElement_noPrefix_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class N1 {}
void N2() {}
int get N3 => 0;
@@ -1184,7 +1184,7 @@
}
test_searchReferences_ImportElement_withPrefix_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class N1 {}
void N2() {}
int get N3 => 0;
@@ -1239,8 +1239,8 @@
test_searchReferences_LibraryElement() async {
var codeA = 'part of lib; // A';
var codeB = 'part of lib; // B';
- newFile('$testPackageLibPath/unitA.dart', content: codeA);
- newFile('$testPackageLibPath/unitB.dart', content: codeB);
+ newFile2('$testPackageLibPath/unitA.dart', codeA);
+ newFile2('$testPackageLibPath/unitB.dart', codeB);
await resolveTestCode('''
library lib;
part 'unitA.dart';
@@ -1272,8 +1272,8 @@
var codeA = 'part of lib; // A';
var codeB = 'part of lib; // B';
- newFile(partPathA, content: codeA);
- newFile(partPathB, content: codeB);
+ newFile2(partPathA, codeA);
+ newFile2(partPathB, codeB);
pathForContextSelection = testFilePath;
@@ -1786,7 +1786,7 @@
part of my_lib;
ppp.Future c;
''';
- newFile('$testPackageLibPath/my_part.dart', content: partCode);
+ newFile2('$testPackageLibPath/my_part.dart', partCode);
await resolveTestCode('''
library my_lib;
import 'dart:async' as ppp;
@@ -1825,7 +1825,7 @@
part of my_lib;
ppp.Future c;
''';
- newFile(partPath, content: partCode);
+ newFile2(partPath, partCode);
await resolveFileCode(libPath, '''
library my_lib;
import 'dart:async' as ppp;
@@ -1853,9 +1853,9 @@
String p3 = convertPath('$testPackageLibPath/part3.dart');
String code1 = 'part of lib; _C v1;';
String code2 = 'part of lib; _C v2;';
- newFile(p1, content: code1);
- newFile(p2, content: code2);
- newFile(p3, content: 'part of lib; int v3;');
+ newFile2(p1, code1);
+ newFile2(p2, code2);
+ newFile2(p3, 'part of lib; int v3;');
await resolveTestCode('''
library lib;
@@ -1897,9 +1897,9 @@
''';
String code2 = 'part of lib; _C v2;';
- newFile(p, content: code);
- newFile(p1, content: code1);
- newFile(p2, content: code2);
+ newFile2(p, code);
+ newFile2(p1, code1);
+ newFile2(p2, code2);
await resolveTestCode(code);
@@ -1940,8 +1940,8 @@
String code1 = 'part of lib; _C v1;';
String code2 = 'part of lib; _C v2;';
- newFile(p1, content: code1);
- newFile(p2, content: code2);
+ newFile2(p1, code1);
+ newFile2(p2, code2);
await resolveFileCode(testFile, testCode);
@@ -2059,7 +2059,7 @@
}
test_searchReferences_TopLevelVariableElement() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
var V;
''');
@@ -2125,7 +2125,7 @@
}
test_searchReferences_TypeAliasElement_fromLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef A<T> = Map<int, T>;
''');
await resolveTestCode('''
@@ -2358,7 +2358,7 @@
var aUri = 'package:aaa/a.dart';
var bUri = 'package:bbb/b.dart';
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
import 'package:aaa/a.dart';
class T1 extends A {
@@ -2370,7 +2370,7 @@
}
''');
- newFile(bbbFilePath, content: r'''
+ newFile2(bbbFilePath, r'''
import 'package:aaa/a.dart';
class B extends A {
@@ -2378,7 +2378,7 @@
}
''');
- newFile(aaaFilePath, content: r'''
+ newFile2(aaaFilePath, r'''
class A {
void method1() {}
void method2() {}
@@ -2426,10 +2426,10 @@
..add(name: 'bbb', rootPath: bbbPackageRootPath),
);
- newFile(testFilePath, content: 'class T implements List {}');
- newFile(aaaFilePath, content: 'class A implements List {}');
- newFile(bbbFilePath, content: 'class B implements List {}');
- newFile(cccFilePath, content: 'class C implements List {}');
+ newFile2(testFilePath, 'class T implements List {}');
+ newFile2(aaaFilePath, 'class A implements List {}');
+ newFile2(bbbFilePath, 'class B implements List {}');
+ newFile2(cccFilePath, 'class C implements List {}');
var coreLibResult =
await driver.getLibraryByUri('dart:core') as LibraryElementResult;
@@ -2455,11 +2455,11 @@
test_subtypes_class_files() async {
String pathB = convertPath('$testPackageLibPath/b.dart');
String pathC = convertPath('$testPackageLibPath/c.dart');
- newFile(pathB, content: r'''
+ newFile2(pathB, r'''
import 'test.dart';
class B extends A {}
''');
- newFile(pathC, content: r'''
+ newFile2(pathC, r'''
import 'test.dart';
class C extends A {}
class D {}
diff --git a/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart b/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart
index 6beca53..46131f0 100644
--- a/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/session_helper_test.dart
@@ -28,7 +28,7 @@
}
test_getClass_defined() async {
- var file = newFile('$testPackageLibPath/c.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/c.dart', r'''
class C {}
int v = 0;
''');
@@ -39,7 +39,7 @@
}
test_getClass_defined_notClass() async {
- var file = newFile('$testPackageLibPath/c.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/c.dart', r'''
int v = 0;
''');
String uri = file.toUri().toString();
@@ -49,10 +49,10 @@
}
test_getClass_exported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- var bFile = newFile('$testPackageLibPath/b.dart', content: r'''
+ var bFile = newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
String bUri = bFile.toUri().toString();
@@ -62,10 +62,10 @@
}
test_getClass_imported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- var bFile = newFile('$testPackageLibPath/b.dart', content: r'''
+ var bFile = newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart';
''');
String bUri = bFile.toUri().toString();
@@ -95,7 +95,7 @@
}
test_getTopLevelPropertyAccessor_defined_getter() async {
- var file = newFile('$testPackageLibPath/test.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/test.dart', r'''
int get a => 0;
''');
String uri = file.toUri().toString();
@@ -106,7 +106,7 @@
}
test_getTopLevelPropertyAccessor_defined_setter() async {
- var file = newFile('$testPackageLibPath/test.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/test.dart', r'''
set a(_) {}
''');
String uri = file.toUri().toString();
@@ -117,7 +117,7 @@
}
test_getTopLevelPropertyAccessor_defined_variable() async {
- var file = newFile('$testPackageLibPath/test.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/test.dart', r'''
int a;
''');
String uri = file.toUri().toString();
@@ -128,10 +128,10 @@
}
test_getTopLevelPropertyAccessor_exported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int a;
''');
- var bFile = newFile('$testPackageLibPath/b.dart', content: r'''
+ var bFile = newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
String bUri = bFile.toUri().toString();
@@ -142,10 +142,10 @@
}
test_getTopLevelPropertyAccessor_imported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int a;
''');
- var bFile = newFile('$testPackageLibPath/b.dart', content: r'''
+ var bFile = newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart';
''');
String bUri = bFile.toUri().toString();
@@ -155,7 +155,7 @@
}
test_getTopLevelPropertyAccessor_notDefined() async {
- var file = newFile('$testPackageLibPath/test.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/test.dart', r'''
int a;
''');
String uri = file.toUri().toString();
@@ -165,7 +165,7 @@
}
test_getTopLevelPropertyAccessor_notPropertyAccessor() async {
- var file = newFile('$testPackageLibPath/test.dart', content: r'''
+ var file = newFile2('$testPackageLibPath/test.dart', r'''
int a() {}
''');
String uri = file.toUri().toString();
diff --git a/pkg/analyzer/test/src/dart/analysis/session_test.dart b/pkg/analyzer/test/src/dart/analysis/session_test.dart
index db20934..b95640d 100644
--- a/pkg/analyzer/test/src/dart/analysis/session_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/session_test.dart
@@ -23,7 +23,7 @@
extends BazelWorkspaceResolutionTest {
void test_getErrors_notFileOfUri() async {
var relPath = 'dart/my/lib/a.dart';
- newFile('$workspaceRootPath/bazel-bin/$relPath');
+ newFile2('$workspaceRootPath/bazel-bin/$relPath', '');
var path = convertPath('$workspaceRootPath/$relPath');
var session = contextFor(path).currentSession;
@@ -32,9 +32,9 @@
}
void test_getErrors_valid() async {
- var file = newFile(
+ var file = newFile2(
'$workspaceRootPath/dart/my/lib/a.dart',
- content: 'var x = 0',
+ 'var x = 0',
);
var session = contextFor(file.path).currentSession;
@@ -46,7 +46,7 @@
void test_getParsedLibrary2_notFileOfUri() async {
var relPath = 'dart/my/lib/a.dart';
- newFile('$workspaceRootPath/bazel-bin/$relPath');
+ newFile2('$workspaceRootPath/bazel-bin/$relPath', '');
var path = convertPath('$workspaceRootPath/$relPath');
var session = contextFor(path).currentSession;
@@ -57,7 +57,7 @@
@deprecated
void test_getParsedLibrary_notFileOfUri() async {
var relPath = 'dart/my/lib/a.dart';
- newFile('$workspaceRootPath/bazel-bin/$relPath');
+ newFile2('$workspaceRootPath/bazel-bin/$relPath', '');
var path = convertPath('$workspaceRootPath/$relPath');
var session = contextFor(path).currentSession;
@@ -67,7 +67,7 @@
void test_getResolvedLibrary_notFileOfUri() async {
var relPath = 'dart/my/lib/a.dart';
- newFile('$workspaceRootPath/bazel-bin/$relPath');
+ newFile2('$workspaceRootPath/bazel-bin/$relPath', '');
var path = convertPath('$workspaceRootPath/$relPath');
var session = contextFor(path).currentSession;
@@ -77,7 +77,7 @@
void test_getResolvedUnit_notFileOfUri() async {
var relPath = 'dart/my/lib/a.dart';
- newFile('$workspaceRootPath/bazel-bin/$relPath');
+ newFile2('$workspaceRootPath/bazel-bin/$relPath', '');
var path = convertPath('$workspaceRootPath/$relPath');
var session = contextFor(path).currentSession;
@@ -86,9 +86,9 @@
}
void test_getResolvedUnit_valid() async {
- var file = newFile(
+ var file = newFile2(
'$workspaceRootPath/dart/my/lib/a.dart',
- content: 'class A {}',
+ 'class A {}',
);
var session = contextFor(file.path).currentSession;
@@ -99,9 +99,9 @@
}
void test_getUnitElement_invalidPath_notAbsolute() async {
- var file = newFile(
+ var file = newFile2(
'$workspaceRootPath/dart/my/lib/a.dart',
- content: 'class A {}',
+ 'class A {}',
);
var session = contextFor(file.path).currentSession;
@@ -111,7 +111,7 @@
void test_getUnitElement_notPathOfUri() async {
var relPath = 'dart/my/lib/a.dart';
- newFile('$workspaceRootPath/bazel-bin/$relPath');
+ newFile2('$workspaceRootPath/bazel-bin/$relPath', '');
var path = convertPath('$workspaceRootPath/$relPath');
var session = contextFor(path).currentSession;
@@ -120,9 +120,9 @@
}
void test_getUnitElement_valid() async {
- var file = newFile(
+ var file = newFile2(
'$workspaceRootPath/dart/my/lib/a.dart',
- content: 'class A {}',
+ 'class A {}',
);
var session = contextFor(file.path).currentSession;
@@ -136,7 +136,7 @@
@reflectiveTest
class AnalysisSessionImplTest extends PubPackageResolutionTest {
test_getErrors() async {
- var test = newFile(testFilePath, content: 'class C {');
+ var test = newFile2(testFilePath, 'class C {');
var session = contextFor(testFilePath).currentSession;
var errorsResult = await session.getErrorsValid(test.path);
@@ -146,7 +146,7 @@
}
test_getErrors_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -162,7 +162,7 @@
}
test_getFile2_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -178,7 +178,7 @@
}
test_getFile2_library() async {
- var a = newFile('$testPackageLibPath/a.dart', content: '');
+ var a = newFile2('$testPackageLibPath/a.dart', '');
var session = contextFor(testFilePath).currentSession;
var file = await session.getFile2Valid(a.path);
@@ -188,7 +188,7 @@
}
test_getFile2_part() async {
- var a = newFile('$testPackageLibPath/a.dart', content: 'part of lib;');
+ var a = newFile2('$testPackageLibPath/a.dart', 'part of lib;');
var session = contextFor(testFilePath).currentSession;
var file = await session.getFile2Valid(a.path);
@@ -199,7 +199,7 @@
@deprecated
test_getFile_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -217,7 +217,7 @@
@deprecated
test_getFile_library() async {
- var a = newFile('$testPackageLibPath/a.dart', content: '');
+ var a = newFile2('$testPackageLibPath/a.dart', '');
var session = contextFor(testFilePath).currentSession;
var file = session.getFileValid(a.path);
@@ -228,7 +228,7 @@
@deprecated
test_getFile_part() async {
- var a = newFile('$testPackageLibPath/a.dart', content: 'part of lib;');
+ var a = newFile2('$testPackageLibPath/a.dart', 'part of lib;');
var session = contextFor(testFilePath).currentSession;
var file = session.getFileValid(a.path);
@@ -238,7 +238,7 @@
}
test_getLibraryByUri() async {
- newFile(testFilePath, content: r'''
+ newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -252,7 +252,7 @@
}
test_getLibraryByUri_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -269,7 +269,7 @@
@deprecated
test_getParsedLibrary() async {
- var test = newFile('$testPackageLibPath/a.dart', content: r'''
+ var test = newFile2('$testPackageLibPath/a.dart', r'''
class A {}
class B {}
''');
@@ -289,7 +289,7 @@
}
test_getParsedLibrary2() async {
- var test = newFile('$testPackageLibPath/a.dart', content: r'''
+ var test = newFile2('$testPackageLibPath/a.dart', r'''
class A {}
class B {}
''');
@@ -309,7 +309,7 @@
}
test_getParsedLibrary2_getElementDeclaration_class() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -329,7 +329,7 @@
}
test_getParsedLibrary2_getElementDeclaration_notThisLibrary() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var resolvedUnit =
@@ -345,7 +345,7 @@
}
test_getParsedLibrary2_getElementDeclaration_synthetic() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
int foo = 0;
''');
@@ -370,7 +370,7 @@
}
test_getParsedLibrary2_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -380,7 +380,7 @@
}
test_getParsedLibrary2_invalidPartUri() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
part 'a.dart';
part ':[invalid uri].dart';
part 'c.dart';
@@ -411,7 +411,7 @@
}
test_getParsedLibrary2_notLibrary() async {
- var test = newFile(testFilePath, content: 'part of "a.dart";');
+ var test = newFile2(testFilePath, 'part of "a.dart";');
var session = contextFor(testFilePath).currentSession;
var result = await session.getParsedLibrary2(test.path);
expect(result, isA<NotLibraryButPartResult>());
@@ -440,9 +440,9 @@
class C3 {}
''';
- var a = newFile('$testPackageLibPath/a.dart', content: aContent);
- var b = newFile('$testPackageLibPath/b.dart', content: bContent);
- var c = newFile('$testPackageLibPath/c.dart', content: cContent);
+ var a = newFile2('$testPackageLibPath/a.dart', aContent);
+ var b = newFile2('$testPackageLibPath/b.dart', bContent);
+ var c = newFile2('$testPackageLibPath/c.dart', cContent);
var session = contextFor(testFilePath).currentSession;
var parsedLibrary = await session.getParsedLibrary2Valid(a.path);
@@ -472,7 +472,7 @@
@deprecated
test_getParsedLibrary_getElementDeclaration_class() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -493,7 +493,7 @@
@deprecated
test_getParsedLibrary_getElementDeclaration_notThisLibrary() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var resolvedUnit =
@@ -510,7 +510,7 @@
@deprecated
test_getParsedLibrary_getElementDeclaration_synthetic() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
int foo = 0;
''');
@@ -536,7 +536,7 @@
@deprecated
test_getParsedLibrary_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -547,7 +547,7 @@
@deprecated
test_getParsedLibrary_invalidPartUri() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
part 'a.dart';
part ':[invalid uri].dart';
part 'c.dart';
@@ -580,7 +580,7 @@
@deprecated
test_getParsedLibrary_notLibrary() async {
- var test = newFile(testFilePath, content: 'part of "a.dart";');
+ var test = newFile2(testFilePath, 'part of "a.dart";');
var session = contextFor(testFilePath).currentSession;
expect(session.getParsedLibrary(test.path), isA<NotLibraryButPartResult>());
}
@@ -609,9 +609,9 @@
class C3 {}
''';
- var a = newFile('$testPackageLibPath/a.dart', content: aContent);
- var b = newFile('$testPackageLibPath/b.dart', content: bContent);
- var c = newFile('$testPackageLibPath/c.dart', content: cContent);
+ var a = newFile2('$testPackageLibPath/a.dart', aContent);
+ var b = newFile2('$testPackageLibPath/b.dart', bContent);
+ var c = newFile2('$testPackageLibPath/c.dart', cContent);
var session = contextFor(testFilePath).currentSession;
var parsedLibrary = session.getParsedLibraryValid(a.path);
@@ -641,7 +641,7 @@
@deprecated
test_getParsedLibraryByElement() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var libraryResult = await session.getLibraryByUriValid(
@@ -662,7 +662,7 @@
}
test_getParsedLibraryByElement2() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var libraryResult = await session.getLibraryByUriValid(
@@ -683,7 +683,7 @@
}
test_getParsedLibraryByElement2_differentSession() async {
- newFile(testFilePath, content: '');
+ newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var libraryResult = await session.getLibraryByUriValid(
@@ -699,7 +699,7 @@
@deprecated
test_getParsedLibraryByElement_differentSession() async {
- newFile(testFilePath, content: '');
+ newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var libraryResult = await session.getLibraryByUriValid(
@@ -715,7 +715,7 @@
@deprecated
test_getParsedUnit() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -729,7 +729,7 @@
}
test_getParsedUnit2() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -743,7 +743,7 @@
}
test_getParsedUnit2_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -760,7 +760,7 @@
@deprecated
test_getParsedUnit_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -782,7 +782,7 @@
class A /*a*/ {}
''';
- var a = newFile('$testPackageLibPath/a.dart', content: aContent);
+ var a = newFile2('$testPackageLibPath/a.dart', aContent);
var bContent = r'''
part of 'a.dart';
@@ -790,7 +790,7 @@
class B /*b*/ {}
class B2 extends X {}
''';
- var b = newFile('$testPackageLibPath/b.dart', content: bContent);
+ var b = newFile2('$testPackageLibPath/b.dart', bContent);
var session = contextFor(testFilePath).currentSession;
var resolvedLibrary = await session.getResolvedLibraryValid(a.path);
@@ -839,7 +839,7 @@
}
test_getResolvedLibrary_getElementDeclaration_notThisLibrary() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var resolvedLibrary = await session.getResolvedLibraryValid(test.path);
@@ -851,7 +851,7 @@
}
test_getResolvedLibrary_getElementDeclaration_synthetic() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
int foo = 0;
''');
@@ -876,7 +876,7 @@
}
test_getResolvedLibrary_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -886,7 +886,7 @@
}
test_getResolvedLibrary_invalidPartUri() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
part 'a.dart';
part ':[invalid uri].dart';
part 'c.dart';
@@ -917,7 +917,7 @@
}
test_getResolvedLibrary_notLibrary() async {
- var test = newFile(testFilePath, content: 'part of "a.dart";');
+ var test = newFile2(testFilePath, 'part of "a.dart";');
var session = contextFor(testFilePath).currentSession;
var result = await session.getResolvedLibrary(test.path);
@@ -925,7 +925,7 @@
}
test_getResolvedLibraryByElement() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var libraryResult = await session.getLibraryByUriValid(
@@ -942,7 +942,7 @@
}
test_getResolvedLibraryByElement_differentSession() async {
- newFile(testFilePath, content: '');
+ newFile2(testFilePath, '');
var session = contextFor(testFilePath).currentSession;
var libraryResult = await session.getLibraryByUriValid(
@@ -957,7 +957,7 @@
}
test_getResolvedUnit() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -974,7 +974,7 @@
}
test_getResolvedUnit_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
@@ -984,7 +984,7 @@
}
test_getUnitElement() async {
- var test = newFile(testFilePath, content: r'''
+ var test = newFile2(testFilePath, r'''
class A {}
class B {}
''');
@@ -998,7 +998,7 @@
}
test_getUnitElement_inconsistent() async {
- var test = newFile(testFilePath, content: '');
+ var test = newFile2(testFilePath, '');
var session = contextFor(test.path).currentSession;
driverFor(test.path).changeFile(test.path);
expect(
diff --git a/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart b/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
index 7bd38c2..954761a 100644
--- a/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/unlinked_api_signature_test.dart
@@ -27,11 +27,11 @@
void assertSignature(String oldCode, String newCode, {required bool same}) {
var path = convertPath('/test.dart');
- newFile(path, content: oldCode);
+ newFile2(path, oldCode);
var oldUnit = parseUnit(path).unit;
var oldSignature = computeUnlinkedApiSignature(oldUnit);
- newFile(path, content: newCode);
+ newFile2(path, newCode);
var newUnit = parseUnit(path).unit;
var newSignature = computeUnlinkedApiSignature(newUnit);
diff --git a/pkg/analyzer/test/src/dart/ast/ast_test.dart b/pkg/analyzer/test/src/dart/ast/ast_test.dart
index c388c0b..efd2a34 100644
--- a/pkg/analyzer/test/src/dart/ast/ast_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/ast_test.dart
@@ -615,7 +615,7 @@
}
test_isConst_notInContext_constructor_const_generic_named_prefixed() async {
- newFile('$testPackageLibPath/c.dart', content: '''
+ newFile2('$testPackageLibPath/c.dart', '''
class C<E> {
const C.n();
}
@@ -638,7 +638,7 @@
}
test_isConst_notInContext_constructor_const_generic_unnamed_prefixed() async {
- newFile('$testPackageLibPath/c.dart', content: '''
+ newFile2('$testPackageLibPath/c.dart', '''
class C<E> {
const C();
}
@@ -689,7 +689,7 @@
}
test_isConst_notInContext_constructor_const_nonGeneric_named_prefixed() async {
- newFile('$testPackageLibPath/c.dart', content: '''
+ newFile2('$testPackageLibPath/c.dart', '''
class C {
const C.n();
}
@@ -712,7 +712,7 @@
}
test_isConst_notInContext_constructor_const_nonGeneric_unnamed_prefixed() async {
- newFile('$testPackageLibPath/c.dart', content: '''
+ newFile2('$testPackageLibPath/c.dart', '''
class C {
const C();
}
diff --git a/pkg/analyzer/test/src/dart/ast/constant_evaluator_test.dart b/pkg/analyzer/test/src/dart/ast/constant_evaluator_test.dart
index d491c73..5dd2c78 100644
--- a/pkg/analyzer/test/src/dart/ast/constant_evaluator_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/constant_evaluator_test.dart
@@ -339,7 +339,7 @@
Object? _getConstantValue(String expressionCode) {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: '''
+ newFile2(path, '''
void f() {
($expressionCode); // ref
}
diff --git a/pkg/analyzer/test/src/dart/ast/element_locator_test.dart b/pkg/analyzer/test/src/dart/ast/element_locator_test.dart
index 4bd8ed4..2c0abd8 100644
--- a/pkg/analyzer/test/src/dart/ast/element_locator_test.dart
+++ b/pkg/analyzer/test/src/dart/ast/element_locator_test.dart
@@ -204,7 +204,7 @@
}
test_locate_InstanceCreationExpression_type_prefixedIdentifier() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await resolveTestCode(r'''
@@ -220,7 +220,7 @@
}
test_locate_InstanceCreationExpression_type_simpleIdentifier() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
''');
await resolveTestCode(r'''
class A {}
@@ -284,12 +284,12 @@
var libPath = convertPath('$testPackageLibPath/lib.dart');
var partPath = convertPath('$testPackageLibPath/test.dart');
- newFile(libPath, content: r'''
+ newFile2(libPath, r'''
library my.lib;
part 'test.dart';
''');
- newFile(partPath, content: r'''
+ newFile2(partPath, r'''
part of my.lib;
''');
@@ -326,7 +326,7 @@
}
test_locate_StringLiteral_exportUri() async {
- newFile("$testPackageLibPath/foo.dart", content: '');
+ newFile2("$testPackageLibPath/foo.dart", '');
await resolveTestCode("export 'foo.dart';");
var node = findNode.stringLiteral('foo.dart');
var element = ElementLocator.locate(node);
@@ -341,7 +341,7 @@
}
test_locate_StringLiteral_importUri() async {
- newFile("$testPackageLibPath/foo.dart", content: '');
+ newFile2("$testPackageLibPath/foo.dart", '');
await resolveTestCode("import 'foo.dart';");
var node = findNode.stringLiteral('foo.dart');
var element = ElementLocator.locate(node);
@@ -349,7 +349,7 @@
}
test_locate_StringLiteral_partUri() async {
- newFile("$testPackageLibPath/foo.dart", content: 'part of lib;');
+ newFile2("$testPackageLibPath/foo.dart", 'part of lib;');
await resolveTestCode('''
library lib;
diff --git a/pkg/analyzer/test/src/dart/constant/potentially_constant_test.dart b/pkg/analyzer/test/src/dart/constant/potentially_constant_test.dart
index e356a67..b86f22b 100644
--- a/pkg/analyzer/test/src/dart/constant/potentially_constant_test.dart
+++ b/pkg/analyzer/test/src/dart/constant/potentially_constant_test.dart
@@ -25,7 +25,7 @@
}
test_class_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await _assertConst(r'''
@@ -35,7 +35,7 @@
}
test_class_prefix_deferred() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await _assertNeverConst(r'''
@@ -805,7 +805,7 @@
}
test_prefixedIdentifier_importPrefix_deferred() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 0;
''');
await _assertNotConst(r'''
@@ -815,7 +815,7 @@
}
test_prefixedIdentifier_importPrefix_function() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void f() {}
''');
await _assertConst(r'''
@@ -825,7 +825,7 @@
}
test_prefixedIdentifier_importPrefix_topVar() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 0;
''');
await _assertConst(r'''
@@ -920,7 +920,7 @@
}
test_prefixedIdentifier_typedef_interfaceType() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef A = List<int>;
''');
await _assertConst(r'''
@@ -978,7 +978,7 @@
}
test_propertyAccess_staticField_withPrefix_const() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const a = 0;
}
@@ -990,7 +990,7 @@
}
test_propertyAccess_staticField_withPrefix_deferred() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const a = 0;
}
@@ -1002,7 +1002,7 @@
}
test_propertyAccess_staticField_withPrefix_final() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static final a = 0;
}
@@ -1024,7 +1024,7 @@
}
test_propertyAccess_target_variable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final a = 0;
const A();
diff --git a/pkg/analyzer/test/src/dart/element/class_element_test.dart b/pkg/analyzer/test/src/dart/element/class_element_test.dart
index 9505982..6562a8c 100644
--- a/pkg/analyzer/test/src/dart/element/class_element_test.dart
+++ b/pkg/analyzer/test/src/dart/element/class_element_test.dart
@@ -174,7 +174,7 @@
}
test_lookUpInheritedConcreteGetter_declared_hasExtends_private_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
@@ -478,7 +478,7 @@
}
test_lookUpInheritedConcreteMethod_declared_hasExtends_private_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -782,7 +782,7 @@
}
test_lookUpInheritedConcreteSetter_declared_hasExtends_private_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
set _foo(int _) {}
}
@@ -1086,7 +1086,7 @@
}
test_lookUpInheritedMethod_declared_hasExtends_private_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
diff --git a/pkg/analyzer/test/src/dart/element/element_test.dart b/pkg/analyzer/test/src/dart/element/element_test.dart
index e39414a..94515af 100644
--- a/pkg/analyzer/test/src/dart/element/element_test.dart
+++ b/pkg/analyzer/test/src/dart/element/element_test.dart
@@ -487,7 +487,7 @@
@reflectiveTest
class ElementAnnotationImplTest extends PubPackageResolutionTest {
test_computeConstantValue() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final String f;
const A(this.f);
@@ -1361,7 +1361,7 @@
@reflectiveTest
class TopLevelVariableElementImplTest extends PubPackageResolutionTest {
test_computeConstantValue() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const int C = 42;
''');
await resolveTestCode(r'''
diff --git a/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart b/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart
index 82433a76..221b9e0 100644
--- a/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart
+++ b/pkg/analyzer/test/src/dart/element/generic_inferrer_test.dart
@@ -646,16 +646,17 @@
isNonNullableByDefault: false,
);
- var typeArguments = typeSystem.inferGenericFunctionOrType(
+ var inferrer = typeSystem.setupGenericTypeInference(
typeParameters: ft.typeFormals,
- parameters: ft.parameters,
declaredReturnType: ft.returnType,
- argumentTypes: arguments,
contextReturnType: returnType,
errorReporter: reporter,
errorNode: astFactory.nullLiteral(KeywordToken(Keyword.NULL, 0)),
genericMetadataIsEnabled: true,
);
+ inferrer.constrainArguments(
+ parameters: ft.parameters, argumentTypes: arguments);
+ var typeArguments = inferrer.upwardsInfer();
if (expectError) {
expect(listener.errors.map((e) => e.errorCode).toList(),
@@ -664,7 +665,7 @@
} else {
expect(listener.errors, isEmpty, reason: 'did not expect any errors.');
}
- return typeArguments!;
+ return typeArguments;
}
FunctionType _inferCall2(FunctionType ft, List<DartType> arguments,
diff --git a/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart b/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
index 704c6ed..8524280 100644
--- a/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
+++ b/pkg/analyzer/test/src/dart/element/inheritance_manager3_test.dart
@@ -19,7 +19,7 @@
@reflectiveTest
class InheritanceManager3Test extends _InheritanceManager3Base {
test_getInheritedMap_topMerge_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.6
class A {
void foo({int a}) {}
@@ -69,7 +69,7 @@
}
test_getMember_optIn_inheritsOptIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -93,7 +93,7 @@
}
test_getMember_optIn_inheritsOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.6
class A {
int foo(int a, int b) => 0;
@@ -218,7 +218,7 @@
}
test_getMember_optOut_inheritsOptIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -244,7 +244,7 @@
}
test_getMember_optOut_mixesOptIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -269,12 +269,12 @@
}
test_getMember_optOut_passOptIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.6
import 'a.dart';
class B extends A {
diff --git a/pkg/analyzer/test/src/dart/element/type_constraint_gatherer_test.dart b/pkg/analyzer/test/src/dart/element/type_constraint_gatherer_test.dart
index 8695591..e78f19a 100644
--- a/pkg/analyzer/test/src/dart/element/type_constraint_gatherer_test.dart
+++ b/pkg/analyzer/test/src/dart/element/type_constraint_gatherer_test.dart
@@ -1137,5 +1137,6 @@
var isMatch = gatherer.trySubtypeMatch(P, Q, leftSchema);
expect(isMatch, isFalse);
+ expect(gatherer.isConstraintSetEmpty, isTrue);
}
}
diff --git a/pkg/analyzer/test/src/dart/micro/file_resolution.dart b/pkg/analyzer/test/src/dart/micro/file_resolution.dart
index 52969ec..716f124 100644
--- a/pkg/analyzer/test/src/dart/micro/file_resolution.dart
+++ b/pkg/analyzer/test/src/dart/micro/file_resolution.dart
@@ -37,7 +37,7 @@
@override
void addTestFile(String content) {
- newFile(_testFile, content: content);
+ newFile2(_testFile, content);
}
/// Create a new [FileResolver] into [fileResolver].
@@ -100,8 +100,8 @@
root: sdkRoot,
);
- newFile('/workspace/WORKSPACE', content: '');
- newFile('/workspace/dart/test/BUILD', content: '');
+ newFile2('/workspace/WORKSPACE', '');
+ newFile2('/workspace/dart/test/BUILD', '');
createFileResolver();
}
diff --git a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
index de30fd9..4ac48f7 100644
--- a/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
+++ b/pkg/analyzer/test/src/dart/micro/simple_file_resolver_test.dart
@@ -38,15 +38,15 @@
}
test_changeFile_refreshedFiles() async {
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
class B {}
''');
- newFile(cPath, content: r'''
+ newFile2(cPath, r'''
import 'a.dart';
import 'b.dart';
''');
@@ -70,11 +70,11 @@
}
test_changeFile_resolution() async {
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
A a;
B b;
@@ -85,7 +85,7 @@
error(CompileTimeErrorCode.UNDEFINED_CLASS, 22, 1),
]);
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
class B {}
''');
@@ -96,13 +96,13 @@
}
test_changeFile_resolution_flushInheritanceManager() async {
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
final int foo = 0;
}
''');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
void f(A a) {
@@ -115,7 +115,7 @@
error(CompileTimeErrorCode.ASSIGNMENT_TO_FINAL, 36, 3),
]);
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
int foo = 0;
}
@@ -127,7 +127,7 @@
}
test_changeFile_resolution_missingChangeFileForPart() async {
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
part 'b.dart';
var b = B(0);
@@ -141,7 +141,7 @@
// Update a.dart, and notify the resolver. We need this to have at least
// one change, so that we decided to rebuild the library summary.
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
part 'b.dart';
var b = B(1);
@@ -150,7 +150,7 @@
// Update b.dart, but do not notify the resolver.
// If we try to read it now, it will throw.
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
part of 'a.dart';
class B {
@@ -169,19 +169,19 @@
}
test_changePartFile_refreshedFiles() async {
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
part 'b.dart';
class A {}
''');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
part of 'a.dart';
class B extends A {}
''');
- newFile(cPath, content: r'''
+ newFile2(cPath, r'''
import 'a.dart';
''');
@@ -225,7 +225,7 @@
bool isNullSafetyEnabled = false;
test_analysisOptions_default_fromPackageUri() async {
- newFile('/workspace/dart/analysis_options/lib/default.yaml', content: r'''
+ newFile2('/workspace/dart/analysis_options/lib/default.yaml', r'''
analyzer:
strong-mode:
implicit-casts: false
@@ -240,7 +240,7 @@
}
test_analysisOptions_file_inPackage() async {
- newAnalysisOptionsYamlFile('/workspace/dart/test', content: r'''
+ newAnalysisOptionsYamlFile2('/workspace/dart/test', r'''
analyzer:
strong-mode:
implicit-casts: false
@@ -255,14 +255,13 @@
}
test_analysisOptions_file_inThirdParty() async {
- newFile('/workspace/dart/analysis_options/lib/third_party.yaml',
- content: r'''
+ newFile2('/workspace/dart/analysis_options/lib/third_party.yaml', r'''
analyzer:
strong-mode:
implicit-casts: false
''');
- newAnalysisOptionsYamlFile('/workspace/third_party/dart/aaa', content: r'''
+ newAnalysisOptionsYamlFile2('/workspace/third_party/dart/aaa', r'''
analyzer:
strong-mode:
implicit-casts: true
@@ -278,15 +277,13 @@
}
test_analysisOptions_file_inThirdPartyDartLang() async {
- newFile('/workspace/dart/analysis_options/lib/third_party.yaml',
- content: r'''
+ newFile2('/workspace/dart/analysis_options/lib/third_party.yaml', r'''
analyzer:
strong-mode:
implicit-casts: false
''');
- newAnalysisOptionsYamlFile('/workspace/third_party/dart_lang/aaa',
- content: r'''
+ newAnalysisOptionsYamlFile2('/workspace/third_party/dart_lang/aaa', r'''
analyzer:
strong-mode:
implicit-casts: true
@@ -302,7 +299,7 @@
}
test_analysisOptions_lints() async {
- newFile('/workspace/dart/analysis_options/lib/default.yaml', content: r'''
+ newFile2('/workspace/dart/analysis_options/lib/default.yaml', r'''
linter:
rules:
- omit_local_variable_types
@@ -341,7 +338,7 @@
test_collectSharedDataIdentifiers() async {
var aPath = convertPath('/workspace/third_party/dart/aaa/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
@@ -353,7 +350,7 @@
test_elements_export_dartCoreDynamic() async {
var a_path = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
export 'dart:core' show dynamic;
''');
@@ -376,14 +373,14 @@
test_findReferences_class() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
int foo;
}
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
void func() {
@@ -403,7 +400,7 @@
test_findReferences_field() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
int foo = 0;
@@ -424,7 +421,7 @@
test_findReferences_function() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
main() {
foo('Hello');
}
@@ -443,13 +440,13 @@
test_findReferences_getter() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
int get foo => 6;
}
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
main() {
@@ -469,7 +466,7 @@
test_findReferences_local_variable() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
void func(int n) {
var foo = bar+1;
@@ -488,7 +485,7 @@
test_findReferences_method() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
void func() {
print('hello');
@@ -501,7 +498,7 @@
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
main() {
@@ -522,13 +519,13 @@
test_findReferences_setter() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
void set value(int m){ };
}
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
main() {
@@ -549,14 +546,14 @@
test_findReferences_top_level_getter() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
int _foo;
int get foo => _foo;
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
main() {
@@ -576,14 +573,14 @@
test_findReferences_top_level_setter() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
int _foo;
void set foo(int bar) { _foo = bar; }
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
main() {
@@ -603,7 +600,7 @@
test_findReferences_top_level_variable() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
const int C = 42;
void func() {
@@ -622,7 +619,7 @@
test_findReferences_type_parameter() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class Foo<T> {
List<T> l;
@@ -646,12 +643,12 @@
test_findReferences_typedef() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
typedef func = int Function(int);
''');
var bPath = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
void f(func o) {}
@@ -718,7 +715,7 @@
}
test_getErrors_reuse_changeDependency() {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
var a = 0;
''');
@@ -743,7 +740,7 @@
// Change the dependency, new resolver.
// The signature of the result is different.
// The previously cached result cannot be used.
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
var a = 4.2;
''');
createFileResolver();
@@ -783,7 +780,7 @@
}
test_getLibraryByUri() {
- newFile('/workspace/dart/my/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/my/lib/a.dart', r'''
class A {}
''');
@@ -801,7 +798,7 @@
}
test_getLibraryByUri_partOf() {
- newFile('/workspace/dart/my/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/my/lib/a.dart', r'''
part of 'b.dart';
''');
@@ -828,7 +825,7 @@
test_hint_in_third_party() async {
var aPath = convertPath('/workspace/third_party/dart/aaa/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
import 'dart:math';
''');
await resolveFile(aPath);
@@ -854,7 +851,7 @@
}
test_nameOffset_class_method_fromBytes() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
class A {
void foo() {}
}
@@ -885,7 +882,7 @@
}
test_nameOffset_unit_variable_fromBytes() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
var a = 0;
''');
@@ -913,7 +910,7 @@
test_nullSafety_enabled() async {
isNullSafetyEnabled = true;
- newFile('/workspace/dart/test/BUILD', content: r'''
+ newFile2('/workspace/dart/test/BUILD', r'''
dart_package(
null_safety = True,
)
@@ -960,15 +957,15 @@
var bPath = convertPath('/workspace/dart/aaa/lib/b.dart');
var cPath = convertPath('/workspace/dart/aaa/lib/c.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
import 'a.dart';
''');
- newFile(cPath, content: r'''
+ newFile2(cPath, r'''
import 'a.dart';
''');
@@ -984,28 +981,28 @@
var ePath = convertPath('/workspace/dart/aaa/lib/e.dart');
var fPath = convertPath('/workspace/dart/aaa/lib/f.dart');
- newFile('/workspace/dart/aaa/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/aaa/lib/a.dart', r'''
class A {}
''');
- newFile(bPath, content: r'''
+ newFile2(bPath, r'''
class B {}
''');
- newFile('/workspace/dart/aaa/lib/c.dart', content: r'''
+ newFile2('/workspace/dart/aaa/lib/c.dart', r'''
class C {}
''');
- newFile(dPath, content: r'''
+ newFile2(dPath, r'''
import 'a.dart';
''');
- newFile(ePath, content: r'''
+ newFile2(ePath, r'''
import 'a.dart';
import 'b.dart';
''');
- newFile(fPath, content: r'''
+ newFile2(fPath, r'''
import 'c.dart';
''');
@@ -1020,7 +1017,7 @@
var aPath = convertPath('/workspace/dart/aaa/lib/a.dart');
var bPath = convertPath('/workspace/dart/aaa/lib/b.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {}
''');
@@ -1032,7 +1029,7 @@
test_resolve_libraryWithPart_noLibraryDiscovery() async {
var partPath = '/workspace/dart/test/lib/a.dart';
- newFile(partPath, content: r'''
+ newFile2(partPath, r'''
part of 'test.dart';
class A {}
@@ -1050,7 +1047,7 @@
}
test_resolve_part_of_name() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
library my.lib;
part 'test.dart';
@@ -1073,7 +1070,7 @@
}
test_resolve_part_of_uri() async {
- newFile('/workspace/dart/test/lib/a.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/a.dart', r'''
part 'test.dart';
class A {
@@ -1095,7 +1092,7 @@
test_resolveFile_cache() async {
var path = convertPath('/workspace/dart/test/lib/test.dart');
- newFile(path, content: 'var a = 0;');
+ newFile2(path, 'var a = 0;');
// No resolved files yet.
var testView = fileResolver.testView!;
@@ -1131,12 +1128,12 @@
test_resolveFile_dontCache_whenForCompletion() async {
var a_path = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(a_path, content: r'''
+ newFile2(a_path, r'''
part 'b.dart';
''');
var b_path = convertPath('/workspace/dart/test/lib/b.dart');
- newFile(b_path, content: r'''
+ newFile2(b_path, r'''
part of 'a.dart';
''');
@@ -1160,7 +1157,7 @@
test_resolveLibrary() async {
var aPath = convertPath('/workspace/dart/test/lib/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
part 'test.dart';
class A {
@@ -1168,7 +1165,7 @@
}
''');
- newFile('/workspace/dart/test/lib/test.dart', content: r'''
+ newFile2('/workspace/dart/test/lib/test.dart', r'''
part of 'a.dart';
void func() {
@@ -1184,8 +1181,8 @@
}
test_reuse_compatibleOptions() async {
- newFile('/workspace/dart/aaa/BUILD', content: '');
- newFile('/workspace/dart/bbb/BUILD', content: '');
+ newFile2('/workspace/dart/aaa/BUILD', '');
+ newFile2('/workspace/dart/bbb/BUILD', '');
var aPath = '/workspace/dart/aaa/lib/a.dart';
var aResult = await assertErrorsInFile(aPath, r'''
@@ -1208,15 +1205,15 @@
}
test_reuse_incompatibleOptions_implicitCasts() async {
- newFile('/workspace/dart/aaa/BUILD', content: '');
- newAnalysisOptionsYamlFile('/workspace/dart/aaa', content: r'''
+ newFile2('/workspace/dart/aaa/BUILD', '');
+ newAnalysisOptionsYamlFile2('/workspace/dart/aaa', r'''
analyzer:
strong-mode:
implicit-casts: false
''');
- newFile('/workspace/dart/bbb/BUILD', content: '');
- newAnalysisOptionsYamlFile('/workspace/dart/bbb', content: r'''
+ newFile2('/workspace/dart/bbb/BUILD', '');
+ newAnalysisOptionsYamlFile2('/workspace/dart/bbb', r'''
analyzer:
strong-mode:
implicit-casts: true
diff --git a/pkg/analyzer/test/src/dart/resolution/assignment_test.dart b/pkg/analyzer/test/src/dart/resolution/assignment_test.dart
index 3ee6a27..b230bf5 100644
--- a/pkg/analyzer/test/src/dart/resolution/assignment_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/assignment_test.dart
@@ -636,8 +636,8 @@
}
test_notLValue_typeLiteral_class_ambiguous_simple() async {
- newFile('$testPackageLibPath/a.dart', content: 'class C {}');
- newFile('$testPackageLibPath/b.dart', content: 'class C {}');
+ newFile2('$testPackageLibPath/a.dart', 'class C {}');
+ newFile2('$testPackageLibPath/b.dart', 'class C {}');
await assertErrorsInCode('''
import 'a.dart';
import 'b.dart';
@@ -902,7 +902,7 @@
}
test_prefixedIdentifier_topLevel_compound() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int get x => 0;
set x(num _) {}
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
index 26937b0..2050ac9 100644
--- a/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/ast_rewrite_test.dart
@@ -543,7 +543,7 @@
}
test_targetPrefixedIdentifier_prefix_class_constructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A.named(T a);
}
@@ -597,7 +597,7 @@
}
test_targetPrefixedIdentifier_prefix_class_constructor_typeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A.named(int a);
}
@@ -665,7 +665,7 @@
}
test_targetPrefixedIdentifier_prefix_class_constructor_typeArguments_new() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A.new(int a);
}
@@ -733,7 +733,7 @@
}
test_targetPrefixedIdentifier_prefix_getter_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
A get foo => A();
class A {
@@ -782,7 +782,7 @@
}
test_targetPrefixedIdentifier_typeAlias_interfaceType_constructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A.named(T a);
}
@@ -1021,7 +1021,7 @@
}
test_targetSimpleIdentifier_prefix_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T, U> {
A(int a);
}
@@ -1084,7 +1084,7 @@
}
test_targetSimpleIdentifier_prefix_extension() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E<T> on A {
@@ -1113,7 +1113,7 @@
}
test_targetSimpleIdentifier_prefix_function() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void A<T, U>(int a) {}
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/constant_test.dart b/pkg/analyzer/test/src/dart/resolution/constant_test.dart
index 286ec22..24c790e 100644
--- a/pkg/analyzer/test/src/dart/resolution/constant_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/constant_test.dart
@@ -23,7 +23,7 @@
@reflectiveTest
class ConstantResolutionTest extends PubPackageResolutionTest {
test_constructor_nullSafe_fromLegacy_super() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A(List<Object> a);
}
@@ -46,7 +46,7 @@
}
test_constructor_nullSafe_fromLegacy_this() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A(List<Object> a) : this(a);
const A.second(List<Object> a);
@@ -87,7 +87,7 @@
}
test_field_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const foo = 42;
}
@@ -105,7 +105,7 @@
}
test_fromEnvironment_optOut_fromOptIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
const cBool = const bool.fromEnvironment('foo', defaultValue: false);
@@ -133,7 +133,7 @@
}
test_topLevelVariable_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const foo = 42;
''');
@@ -150,11 +150,11 @@
}
test_topLevelVariable_optOut2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 42;
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart';
const b = a;
@@ -173,7 +173,7 @@
}
test_topLevelVariable_optOut3() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
const a = int.fromEnvironment('a', defaultValue: 42);
''');
@@ -199,7 +199,7 @@
class ConstantResolutionWithoutNullSafetyTest extends PubPackageResolutionTest
with WithoutNullSafetyMixin {
test_constantValue_defaultParameter_noDefaultValue() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A({int p});
}
@@ -281,7 +281,7 @@
}
test_functionType_element_typeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef F<T> = T Function(int);
const a = C<F<double>>();
@@ -312,7 +312,7 @@
}
test_imported_prefixedIdentifier_staticField_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = C.f;
class C {
@@ -329,7 +329,7 @@
}
test_imported_prefixedIdentifier_staticField_extension() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = E.f;
extension E on int {
@@ -346,7 +346,7 @@
}
test_imported_prefixedIdentifier_staticField_mixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = M.f;
class C {}
@@ -365,7 +365,7 @@
}
test_imported_super_defaultFieldFormalParameter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'test.dart';
class A {
@@ -409,7 +409,7 @@
/// See https://github.com/dart-lang/sdk/issues/43462
test_useLanguageVersionOfEnclosingLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class Wrapper {
final int value;
const Wrapper(Object value) : value = value as int;
diff --git a/pkg/analyzer/test/src/dart/resolution/constructor_reference_test.dart b/pkg/analyzer/test/src/dart/resolution/constructor_reference_test.dart
index a48aaa1..aa3e3d3 100644
--- a/pkg/analyzer/test/src/dart/resolution/constructor_reference_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/constructor_reference_test.dart
@@ -830,7 +830,7 @@
}
test_prefixedAlias_generic_unnamed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A<T> {
A();
}
@@ -886,7 +886,7 @@
}
test_prefixedClass_generic_named() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A<T> {
A.foo();
}
@@ -941,7 +941,7 @@
}
test_prefixedClass_generic_targetOfFunctionCall() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A<T> {
A();
}
@@ -999,7 +999,7 @@
}
test_prefixedClass_generic_unnamed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A<T> {
A();
}
@@ -1388,7 +1388,7 @@
}
test_prefixedAlias_nonGeneric_named() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
A.foo();
}
@@ -1430,7 +1430,7 @@
}
test_prefixedAlias_nonGeneric_unnamed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
A();
}
@@ -1472,7 +1472,7 @@
}
test_prefixedClass_nonGeneric_named() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
A.foo();
}
@@ -1513,7 +1513,7 @@
}
test_prefixedClass_nonGeneric_unnamed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
A();
}
diff --git a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
index bd15dd4..45f9fd3 100644
--- a/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart
@@ -102,8 +102,8 @@
@override
void setUp() {
super.setUp();
- newFile('$workspaceRootPath/WORKSPACE', content: '');
- newFile('$myPackageRootPath/BUILD', content: '');
+ newFile2('$workspaceRootPath/WORKSPACE', '');
+ newFile2('$myPackageRootPath/BUILD', '');
}
@override
@@ -183,12 +183,12 @@
}
@override
- File newFile(String path, {String content = ''}) {
+ File newFile2(String path, String content) {
if (_analysisContextCollection != null && !path.endsWith('.dart')) {
throw StateError('Only dart files can be changed after analysis.');
}
- return super.newFile(path, content: content);
+ return super.newFile2(path, content);
}
@override
@@ -300,18 +300,18 @@
}
void writePackageConfig(String path, PackageConfigFileBuilder config) {
- newFile(
+ newFile2(
path,
- content: config.toContent(
+ config.toContent(
toUriStr: toUriStr,
),
);
}
void writeTestPackageAnalysisOptionsFile(AnalysisOptionsFileConfig config) {
- newAnalysisOptionsYamlFile(
+ newAnalysisOptionsYamlFile2(
testPackageRootPath,
- content: config.toContent(),
+ config.toContent(),
);
}
diff --git a/pkg/analyzer/test/src/dart/resolution/export_test.dart b/pkg/analyzer/test/src/dart/resolution/export_test.dart
index fe41eaf..84d485d 100644
--- a/pkg/analyzer/test/src/dart/resolution/export_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/export_test.dart
@@ -16,9 +16,9 @@
@reflectiveTest
class ExportResolutionTest extends PubPackageResolutionTest {
test_configurations_default() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_html.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_io.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_html.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_io.dart', 'class A {}');
declaredVariables = {
'dart.library.html': 'false',
@@ -44,9 +44,9 @@
}
test_configurations_first() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_html.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_io.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_html.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_io.dart', 'class A {}');
declaredVariables = {
'dart.library.html': 'true',
@@ -72,9 +72,9 @@
}
test_configurations_second() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_html.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_io.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_html.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_io.dart', 'class A {}');
declaredVariables = {
'dart.library.html': 'false',
@@ -101,7 +101,7 @@
/// Test that both getter and setter are in the export namespace.
test_namespace_getter_setter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
get f => null;
set f(_) {}
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
index bbd5bbb..bafe4c6 100644
--- a/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extension_method_test.dart
@@ -178,7 +178,7 @@
}
test_visibility_hidden() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
int a = 1;
@@ -196,7 +196,7 @@
}
test_visibility_notShown() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
int a = 1;
@@ -214,7 +214,7 @@
}
test_visibility_shadowed_byClass() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
int get a => 1;
@@ -235,12 +235,12 @@
}
test_visibility_shadowed_byImport() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
extension E on Object {
int get a => 1;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
class E {}
class A {}
''');
@@ -259,7 +259,7 @@
}
test_visibility_shadowed_byLocal_imported() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
int get a => 1;
@@ -300,7 +300,7 @@
}
test_visibility_shadowed_byTopLevelVariable() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
int get a => 1;
@@ -321,7 +321,7 @@
}
test_visibility_shadowed_platformByNonPlatform() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
extension E on Object {
int get a => 1;
}
@@ -338,7 +338,7 @@
}
test_visibility_withPrefix() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
int get a => 1;
@@ -1551,7 +1551,7 @@
}
test_static_field_importedWithPrefix() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
@@ -1589,7 +1589,7 @@
}
test_static_getter_importedWithPrefix() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
@@ -1627,7 +1627,7 @@
}
test_static_method_importedWithPrefix() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
@@ -1665,7 +1665,7 @@
}
test_static_setter_importedWithPrefix() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension E on C {
diff --git a/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart b/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart
index 0c703558..c8dc8ea 100644
--- a/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/extension_override_test.dart
@@ -323,7 +323,7 @@
}
test_call_prefix_noTypeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E on A {
int call(String s) => 0;
@@ -414,7 +414,7 @@
test_call_prefix_typeArguments() async {
// The test is failing because we're not yet doing type inference.
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E<T> on A {
int call(T s) => 0;
@@ -779,7 +779,7 @@
}
test_getter_prefix_noTypeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E on A {
int get g => 0;
@@ -863,7 +863,7 @@
}
test_getter_prefix_typeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E<T> on A {
int get g => 0;
@@ -1149,7 +1149,7 @@
}
test_method_prefix_noTypeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E on A {
void m() {}
@@ -1241,7 +1241,7 @@
}
test_method_prefix_typeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E<T> on A {
void m() {}
@@ -1601,7 +1601,7 @@
}
test_operator_prefix_noTypeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E on A {
void operator +(int offset) {}
@@ -1687,7 +1687,7 @@
}
test_operator_prefix_typeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E<T> on A {
void operator +(int offset) {}
@@ -1999,7 +1999,7 @@
}
test_setter_prefix_noTypeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E on A {
set s(int x) {}
@@ -2105,7 +2105,7 @@
}
test_setter_prefix_typeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E<T> on A {
set s(int x) {}
@@ -2451,7 +2451,7 @@
}
test_setterAndGetter_prefix_noTypeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E on A {
int get s => 0;
@@ -2560,7 +2560,7 @@
}
test_setterAndGetter_prefix_typeArguments() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class A {}
extension E<T> on A {
int get s => 0;
diff --git a/pkg/analyzer/test/src/dart/resolution/field_test.dart b/pkg/analyzer/test/src/dart/resolution/field_test.dart
index 1ff7e4e..f4805b3 100644
--- a/pkg/analyzer/test/src/dart/resolution/field_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/field_test.dart
@@ -63,7 +63,7 @@
}
test_type_inferred_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/for_element_test.dart b/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
index 06f0e44..82803f7 100644
--- a/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/for_element_test.dart
@@ -17,7 +17,7 @@
class ForEachElementTest extends PubPackageResolutionTest
with WithoutNullSafetyMixin {
test_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A implements Iterable<int> {
Iterator<int> iterator => throw 0;
}
diff --git a/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart b/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart
index 747cb36..98e0425 100644
--- a/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/function_reference_test.dart
@@ -1016,7 +1016,7 @@
}
test_extension_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
extension E<T> on String {}
''');
await assertErrorsInCode('''
@@ -1802,7 +1802,7 @@
}
test_implicitCallTearoff_prefix_class_staticGetter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
static const v = C();
const C();
@@ -1858,7 +1858,7 @@
}
test_implicitCallTearoff_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class C {
T call<T>(T t) => t;
}
@@ -2597,7 +2597,7 @@
}
test_instanceMethod_explicitReceiver_topLevelVariable_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
void foo<T>(T a) {}
}
@@ -2652,7 +2652,7 @@
}
test_instanceMethod_explicitReceiver_topLevelVariable_prefix_unknown() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {}
var a = A();
''');
@@ -3380,7 +3380,7 @@
}
test_staticMethod_explicitReceiver_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void foo<T>(T a) {}
}
@@ -3435,7 +3435,7 @@
}
test_staticMethod_explicitReceiver_prefix_typeAlias() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void foo<T>(T a) {}
}
@@ -3534,7 +3534,7 @@
}
test_staticMethod_explicitReciver_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
static void foo<T>(T a) {}
}
@@ -3701,7 +3701,7 @@
}
test_topLevelFunction_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
void foo<T>(T arg) {}
''');
await assertNoErrorsInCode('''
@@ -3745,7 +3745,7 @@
}
test_topLevelFunction_importPrefix_asTargetOfFunctionCall() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
void foo<T>(T arg) {}
''');
await assertNoErrorsInCode('''
@@ -3896,7 +3896,7 @@
}
test_topLevelVariable_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
void Function<T>(T) foo = <T>(T arg) {}
''');
await assertNoErrorsInCode('''
@@ -3940,7 +3940,7 @@
}
test_topLevelVariable_prefix_unknownIdentifier() async {
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
await assertErrorsInCode('''
import 'a.dart' as prefix;
@@ -4135,7 +4135,7 @@
}
test_unknownIdentifier_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
await assertErrorsInCode('''
import 'a.dart' as a;
diff --git a/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart b/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart
index 60b6def..8d1af31 100644
--- a/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/generic_type_alias_test.dart
@@ -82,7 +82,7 @@
}
test_genericFunctionTypeCannotBeTypeArgument_optOutOfGenericMetadata() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
typedef G = Function<S>();
''');
await assertErrorsInCode('''
@@ -131,7 +131,7 @@
}
test_missingGenericFunction_imported_withPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef F<T> = ;
''');
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/import_test.dart b/pkg/analyzer/test/src/dart/resolution/import_test.dart
index 145bae8..0249c90 100644
--- a/pkg/analyzer/test/src/dart/resolution/import_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/import_test.dart
@@ -15,9 +15,9 @@
@reflectiveTest
class ImportDirectiveResolutionTest extends PubPackageResolutionTest {
test_configurations_default() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_html.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_io.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_html.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_io.dart', 'class A {}');
declaredVariables = {
'dart.library.html': 'false',
@@ -43,9 +43,9 @@
}
test_configurations_first() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_html.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_io.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_html.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_io.dart', 'class A {}');
declaredVariables = {
'dart.library.html': 'true',
@@ -71,9 +71,9 @@
}
test_configurations_second() async {
- newFile('$testPackageLibPath/a.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_html.dart', content: 'class A {}');
- newFile('$testPackageLibPath/a_io.dart', content: 'class A {}');
+ newFile2('$testPackageLibPath/a.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_html.dart', 'class A {}');
+ newFile2('$testPackageLibPath/a_io.dart', 'class A {}');
declaredVariables = {
'dart.library.html': 'false',
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
index 1508e0f..89bebe0 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_creation_test.dart
@@ -407,7 +407,7 @@
}
test_error_wrongNumberOfTypeArgumentsConstructor_explicitNew_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class Foo<X> {
Foo.bar();
}
@@ -522,7 +522,7 @@
}
test_error_wrongNumberOfTypeArgumentsConstructor_implicitNew_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class Foo<X> {
Foo.bar();
}
diff --git a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
index aaf0e18..601714b 100644
--- a/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/instance_member_inference_class_test.dart
@@ -159,7 +159,7 @@
}
test_field_multiple_gettersSetters_final_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -258,7 +258,7 @@
}
test_field_multiple_gettersSetters_notFinal_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -312,7 +312,7 @@
}
test_field_single_getter_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -330,7 +330,7 @@
}
test_field_single_setter_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
set foo(int _);
@@ -466,7 +466,7 @@
}
test_getter_single_getter_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -484,7 +484,7 @@
}
test_getter_single_setter_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
set foo(int _);
@@ -715,7 +715,7 @@
}
test_method_parameter_required_single_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A {
void foo(int p) {}
@@ -895,7 +895,7 @@
}
test_method_return_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
int foo();
@@ -1057,7 +1057,7 @@
}
test_setter_single_getter_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
int get foo;
@@ -1075,7 +1075,7 @@
}
test_setter_single_setter_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
abstract class A {
set foo(int _);
diff --git a/pkg/analyzer/test/src/dart/resolution/language_version_test.dart b/pkg/analyzer/test/src/dart/resolution/language_version_test.dart
index fa4ab1c..7438e78 100644
--- a/pkg/analyzer/test/src/dart/resolution/language_version_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/language_version_test.dart
@@ -37,7 +37,7 @@
}
''');
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
int a = 0;
''');
@@ -74,7 +74,7 @@
}
''');
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
int a = 0;
''');
@@ -148,9 +148,9 @@
class _FeaturesTest extends PubPackageResolutionTest {
void _configureTestWithJsonConfig(String content) {
- newFile(
+ newFile2(
'$testPackageRootPath/.dart_tool/package_config.json',
- content: content,
+ content,
);
}
}
diff --git a/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart b/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
index ddad876..f28cd14 100644
--- a/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/local_variable_test.dart
@@ -112,7 +112,7 @@
}
test_nonNullifyType() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
index 458a44b..cb2351c 100644
--- a/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/metadata_test.dart
@@ -43,7 +43,7 @@
}
test_location_partDirective() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
part of 'test.dart';
''');
@@ -66,11 +66,11 @@
}
test_location_partOfDirective() async {
- var libPath = newFile('$testPackageLibPath/lib.dart', content: r'''
+ var libPath = newFile2('$testPackageLibPath/lib.dart', r'''
part 'part.dart';
''').path;
- var partPath = newFile('$testPackageLibPath/part.dart', content: r'''
+ var partPath = newFile2('$testPackageLibPath/part.dart', r'''
@foo
part of 'lib.dart';
const foo = 42;
@@ -212,7 +212,7 @@
}
test_optIn_fromOptOut_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A(int a);
}
@@ -239,7 +239,7 @@
}
test_optIn_fromOptOut_class_constructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final int a;
const A.named(this.a);
@@ -273,7 +273,7 @@
}
test_optIn_fromOptOut_class_constructor_withDefault() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final int a;
const A.named({this.a = 42});
@@ -307,7 +307,7 @@
}
test_optIn_fromOptOut_class_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const foo = 42;
}
@@ -339,7 +339,7 @@
}
test_optIn_fromOptOut_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const foo = 42;
''');
@@ -364,7 +364,7 @@
}
test_optIn_fromOptOut_prefix_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A(int a);
}
@@ -391,7 +391,7 @@
}
test_optIn_fromOptOut_prefix_class_constructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
const A.named(int a);
}
@@ -418,7 +418,7 @@
}
test_optIn_fromOptOut_prefix_class_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const foo = 0;
}
@@ -445,7 +445,7 @@
}
test_optIn_fromOptOut_prefix_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const foo = 0;
''');
@@ -1338,7 +1338,7 @@
}
test_value_otherLibrary_implicitConst() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final int f;
const A(this.f);
@@ -1369,14 +1369,14 @@
}
test_value_otherLibrary_namedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final int f;
const A.named(this.f);
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart';
@A.named(42)
@@ -1398,14 +1398,14 @@
}
test_value_otherLibrary_unnamedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
final int f;
const A(this.f);
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart';
@A(42)
@@ -1427,7 +1427,7 @@
}
test_value_prefix_typeAlias_class_staticConstField() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static const int foo = 42;
}
@@ -1470,7 +1470,7 @@
}
test_value_prefix_typeAlias_generic_class_generic_all_inference_namedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
final T f;
const A.named(this.f);
@@ -1532,7 +1532,7 @@
}
test_value_prefix_typeAlias_generic_class_generic_all_inference_unnamedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
final T f;
const A(this.f);
@@ -1587,7 +1587,7 @@
}
test_value_prefix_typeAlias_generic_class_generic_all_typeArguments_namedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
final T f;
const A.named(this.f);
@@ -1659,7 +1659,7 @@
}
test_value_prefix_typeAlias_generic_class_generic_all_typeArguments_unnamedConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
final T f;
const A(this.f);
diff --git a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
index 28c1a7f..3801936 100644
--- a/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/method_invocation_test.dart
@@ -20,7 +20,7 @@
class MethodInvocationResolutionTest extends PubPackageResolutionTest
with MethodInvocationResolutionTestCases {
test_hasReceiver_deferredImportPrefix_loadLibrary_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
@@ -3238,10 +3238,10 @@
}
test_error_ambiguousImport_topFunction() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo(int _) {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
void foo(int _) {}
''');
@@ -3295,10 +3295,10 @@
}
test_error_ambiguousImport_topFunction_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo(int _) {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
void foo(int _) {}
''');
@@ -3967,7 +3967,7 @@
}
test_error_prefixIdentifierNotFollowedByDot() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo() {}
''');
@@ -4810,7 +4810,7 @@
}
test_error_undefinedMethod_private() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo(int _) {}
}
@@ -6024,7 +6024,7 @@
}
test_hasReceiver_importPrefix_topFunction() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
T foo<T extends num>(T a, T b) => a;
''');
@@ -6095,7 +6095,7 @@
}
test_hasReceiver_importPrefix_topGetter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
T Function<T>(T a, T b) get foo => null;
''');
@@ -6726,7 +6726,7 @@
}
test_hasReceiver_prefixed_class_staticGetter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
static double Function(int) get foo => null;
}
@@ -6811,7 +6811,7 @@
}
test_hasReceiver_prefixed_class_staticMethod() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
static void foo(int _) => null;
}
diff --git a/pkg/analyzer/test/src/dart/resolution/namespace_test.dart b/pkg/analyzer/test/src/dart/resolution/namespace_test.dart
index fcb7a12..9a82a1d 100644
--- a/pkg/analyzer/test/src/dart/resolution/namespace_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/namespace_test.dart
@@ -15,7 +15,7 @@
@reflectiveTest
class ImportResolutionTest extends PubPackageResolutionTest {
test_overrideCoreType_Never() async {
- newFile('$testPackageLibPath/declares_never.dart', content: '''
+ newFile2('$testPackageLibPath/declares_never.dart', '''
class Never {}
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/non_nullable_bazel_workspace_test.dart b/pkg/analyzer/test/src/dart/resolution/non_nullable_bazel_workspace_test.dart
index 7c4aad2..a91b101 100644
--- a/pkg/analyzer/test/src/dart/resolution/non_nullable_bazel_workspace_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/non_nullable_bazel_workspace_test.dart
@@ -21,7 +21,7 @@
bool get isNullSafetyEnabled => true;
test_buildFile_legacy_commentedOut() async {
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(
# null_safety = True,
''');
@@ -35,7 +35,7 @@
}
test_buildFile_nonNullable() async {
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(
null_safety = True,
)
@@ -67,7 +67,7 @@
}
test_buildFile_nonNullable_languageVersion_current() async {
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(
null_safety = True,
)
@@ -84,7 +84,7 @@
}
test_buildFile_nonNullable_languageVersion_fromWorkspace() async {
- newFile('$workspaceRootPath/dart/build_defs/bzl/language.bzl', content: r'''
+ newFile2('$workspaceRootPath/dart/build_defs/bzl/language.bzl', r'''
_version = "2.9"
_version_null_safety = "2.14"
_version_for_analyzer = _version_null_safety
@@ -96,7 +96,7 @@
)
''');
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(
null_safety = True,
)
@@ -113,7 +113,7 @@
}
test_buildFile_nonNullable_oneLine_noComma() async {
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(null_safety = True)
''');
@@ -126,7 +126,7 @@
}
test_buildFile_nonNullable_soundNullSafety() async {
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(
sound_null_safety = True
)
@@ -141,7 +141,7 @@
}
test_buildFile_nonNullable_withComments() async {
- newFile('$myPackageRootPath/BUILD', content: r'''
+ newFile2('$myPackageRootPath/BUILD', r'''
dart_package(
# Preceding comment.
null_safety = True, # Trailing comment.
diff --git a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
index 89408dc..3f34708 100644
--- a/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/non_nullable_test.dart
@@ -59,7 +59,7 @@
}
test_library_typeProvider_typeSystem() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await resolveTestCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart b/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart
index a425545..8f6dc88 100644
--- a/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/optional_const_test.dart
@@ -234,7 +234,7 @@
}
test_prefixed_unnamed_generic() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C<T> {
const C();
}
@@ -286,7 +286,7 @@
Future<InstanceCreationExpression> _resolveImplicitConst(String expr,
{String? prefix}) async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
const A();
const A.named();
@@ -298,12 +298,12 @@
''');
if (prefix != null) {
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart' as $prefix;
const a = $expr;
''');
} else {
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
import 'a.dart';
const a = $expr;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
index c83a1c0..1847d44 100644
--- a/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/postfix_expression_test.dart
@@ -780,7 +780,7 @@
}
test_inc_prefixedIdentifier_topLevel() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int x = 0;
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart b/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart
index 06faef1..845f018 100644
--- a/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/prefix_element_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PrefixElementTest extends PubPackageResolutionTest {
test_scope_lookup() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var foo = 0;
''');
@@ -40,11 +40,11 @@
}
test_scope_lookup_ambiguous_notSdk_both() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var foo = 0;
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
var foo = 1.2;
''');
@@ -79,7 +79,7 @@
}
test_scope_lookup_ambiguous_notSdk_first() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var pi = 4;
''');
@@ -101,7 +101,7 @@
}
test_scope_lookup_ambiguous_notSdk_second() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var pi = 4;
''');
@@ -123,11 +123,11 @@
}
test_scope_lookup_ambiguous_same() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var foo = 0;
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart';
''');
@@ -154,11 +154,11 @@
}
test_scope_lookup_differentPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var foo = 0;
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
var bar = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart
index e0e6a2c..888d74f 100644
--- a/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/prefix_expression_test.dart
@@ -700,7 +700,7 @@
}
test_plusPlus_prefixedIdentifier_topLevel() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int x = 0;
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart b/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart
index 998efbf..1a011b1 100644
--- a/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/prefixed_identifier_test.dart
@@ -19,7 +19,7 @@
class PrefixedIdentifierResolutionTest extends PubPackageResolutionTest
with PrefixedIdentifierResolutionTestCases {
test_deferredImportPrefix_loadLibrary_optIn_fromOptOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
@@ -145,7 +145,7 @@
}
test_implicitCall_tearOff_nullable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int call() => 0;
}
@@ -171,7 +171,7 @@
}
test_read_typedef_interfaceType() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef A = List<int>;
''');
@@ -298,7 +298,7 @@
}
test_class_read_typedef_functionType() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef A = void Function();
''');
@@ -431,7 +431,7 @@
}
test_implicitCall_tearOff() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int call() => 0;
}
diff --git a/pkg/analyzer/test/src/dart/resolution/resolution.dart b/pkg/analyzer/test/src/dart/resolution/resolution.dart
index 002686b..ae050fb 100644
--- a/pkg/analyzer/test/src/dart/resolution/resolution.dart
+++ b/pkg/analyzer/test/src/dart/resolution/resolution.dart
@@ -87,7 +87,7 @@
VoidType get voidType => VoidTypeImpl.instance;
void addTestFile(String content) {
- newFile(testFilePath, content: content);
+ newFile2(testFilePath, content);
}
void assertAssignment(
@@ -281,7 +281,7 @@
List<ExpectedError> expectedErrors,
) async {
path = convertPath(path);
- newFile(path, content: content);
+ newFile2(path, content);
var result = await resolveFile(path);
assertErrorsInResolvedUnit(result, expectedErrors);
@@ -826,7 +826,7 @@
/// Create a new file with the [path] and [content], resolve it into [result].
Future<void> resolveFileCode(String path, String content) {
- newFile(path, content: content);
+ newFile2(path, content);
return resolveFile2(path);
}
diff --git a/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart b/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart
index 444c894..f478f61 100644
--- a/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/top_level_variable_test.dart
@@ -19,7 +19,7 @@
class TopLevelVariableTest extends PubPackageResolutionTest
with TopLevelVariableTestCases {
test_type_inferred_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart b/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart
index 11676d2..c761dab 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_inference/function_expression_test.dart
@@ -18,7 +18,7 @@
class FunctionExpressionTest extends PubPackageResolutionTest
with FunctionExpressionTestCases {
test_contextFunctionType_nonNullify() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
int Function(int a) v;
@@ -42,7 +42,7 @@
}
test_contextFunctionType_nonNullify_returnType_takeActual() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
void foo(int Function() x) {}
@@ -60,7 +60,7 @@
}
test_contextFunctionType_nonNullify_returnType_takeContext() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
void foo(int Function() x) {}
@@ -117,7 +117,7 @@
}
test_optOut_downward_returnType_expressionBody_Null() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo(Map<String, String> Function() f) {}
''');
await resolveTestCode('''
@@ -460,7 +460,7 @@
}
test_noContext_returnType_sync_blockBody_notNullable_switch_onEnum_imported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
enum E { a, b }
''');
diff --git a/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart b/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart
index 866b8c3..a0a53a1 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_literal_test.dart
@@ -28,7 +28,7 @@
}
test_class_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class C<T> {}
''');
await assertNoErrorsInCode('''
@@ -119,7 +119,7 @@
}
test_classAlias_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class C<T> {}
typedef CA<T> = C<T>;
''');
@@ -163,7 +163,7 @@
}
test_functionAlias_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
typedef Fn<T> = void Function(T);
''');
await assertNoErrorsInCode('''
@@ -204,7 +204,7 @@
}
test_functionAlias_targetOfMethodCall_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
typedef Fn<T> = void Function(T);
''');
await assertErrorsInCode('''
@@ -433,7 +433,7 @@
}
test_class_importPrefix() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class C<T> {}
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/dart/resolution/type_name_test.dart b/pkg/analyzer/test/src/dart/resolution/type_name_test.dart
index 2e4fc17..1e9d9ca 100644
--- a/pkg/analyzer/test/src/dart/resolution/type_name_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/type_name_test.dart
@@ -24,7 +24,7 @@
}
test_optIn_fromOptOut_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
@@ -43,7 +43,7 @@
}
test_optIn_fromOptOut_class_generic_toBounds() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T extends num> {}
''');
@@ -62,7 +62,7 @@
}
test_optIn_fromOptOut_class_generic_toBounds_dynamic() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {}
''');
@@ -81,7 +81,7 @@
}
test_optIn_fromOptOut_class_generic_typeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {}
''');
@@ -100,7 +100,7 @@
}
test_optIn_fromOptOut_functionTypeAlias() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef F = int Function(bool);
''');
@@ -124,7 +124,7 @@
}
test_optIn_fromOptOut_functionTypeAlias_generic_dynamic() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef F<T> = T Function(bool);
''');
@@ -148,7 +148,7 @@
}
test_optIn_fromOptOut_functionTypeAlias_generic_toBounds() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef F<T extends num> = T Function(bool);
''');
@@ -172,7 +172,7 @@
}
test_optIn_fromOptOut_functionTypeAlias_generic_typeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef F<T> = T Function(bool);
''');
@@ -196,7 +196,7 @@
}
test_optOut_fromOptIn_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A {}
''');
@@ -217,7 +217,7 @@
}
test_optOut_fromOptIn_class_generic_toBounds() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A<T extends num> {}
''');
@@ -238,7 +238,7 @@
}
test_optOut_fromOptIn_class_generic_toBounds_dynamic() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A<T> {}
''');
@@ -259,7 +259,7 @@
}
test_optOut_fromOptIn_class_generic_typeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A<T> {}
''');
@@ -280,7 +280,7 @@
}
test_optOut_fromOptIn_functionTypeAlias() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
typedef F = int Function();
''');
@@ -301,7 +301,7 @@
}
test_optOut_fromOptIn_functionTypeAlias_generic_toBounds() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
typedef F<T extends num> = T Function();
''');
@@ -322,7 +322,7 @@
}
test_optOut_fromOptIn_functionTypeAlias_generic_toBounds_dynamic() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
typedef F<T> = T Function();
''');
@@ -343,7 +343,7 @@
}
test_optOut_fromOptIn_functionTypeAlias_generic_typeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
typedef F<T> = T Function();
''');
@@ -437,7 +437,7 @@
}
test_typeAlias_asParameterType_interfaceType_none_inLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef X<T> = Map<int, T>;
''');
await assertNoErrorsInCode(r'''
@@ -473,7 +473,7 @@
}
test_typeAlias_asParameterType_interfaceType_question_inLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef X<T> = List<T?>;
''');
await assertNoErrorsInCode(r'''
@@ -509,7 +509,7 @@
}
test_typeAlias_asParameterType_Never_none_inLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
typedef X = Never;
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart b/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart
index 23db79e..972c387 100644
--- a/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart
+++ b/pkg/analyzer/test/src/dart/resolution/yield_statement_test.dart
@@ -18,7 +18,7 @@
setUp() {
super.setUp();
- newFile('$testPackageLibPath/my_stream.dart', content: r'''
+ newFile2('$testPackageLibPath/my_stream.dart', r'''
import 'dart:async';
export 'dart:async';
diff --git a/pkg/analyzer/test/src/dart/resolver/exit_detector_test.dart b/pkg/analyzer/test/src/dart/resolver/exit_detector_test.dart
index c2fe3b1..f80c2d8 100644
--- a/pkg/analyzer/test/src/dart/resolver/exit_detector_test.dart
+++ b/pkg/analyzer/test/src/dart/resolver/exit_detector_test.dart
@@ -114,7 +114,7 @@
void _assertHasReturn(String expressionCode, bool expected) {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: '''
+ newFile2(path, '''
void f() { // ref
$expressionCode;
}
@@ -903,7 +903,7 @@
void _assertHasReturn(String statementCode, bool expected) {
var path = convertPath('/test/lib/test.dart');
- newFile(path, content: '''
+ newFile2(path, '''
void f() { // ref
$statementCode
}
diff --git a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
index 6e9b9ef..ebc6338 100644
--- a/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
+++ b/pkg/analyzer/test/src/dart/sdk/sdk_test.dart
@@ -244,7 +244,7 @@
parent = parent.getChildAssumingFolder(segments[i]);
}
File file = parent.getChildAssumingFile(segments[last]);
- newFile(file.path, content: content);
+ newFile2(file.path, content);
}
String _librariesFileContent() => '''
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart
index b22efa2..ee5cdfb 100644
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_export_test.dart
@@ -16,10 +16,10 @@
@reflectiveTest
class AmbiguousExportTest extends PubPackageResolutionTest {
test_class() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class N {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class N {}
''');
await assertErrorsInCode(r'''
@@ -31,10 +31,10 @@
}
test_extensions_bothExported() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
extension E on String {}
''');
await assertErrorsInCode(r'''
@@ -46,7 +46,7 @@
}
test_extensions_localAndExported() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {}
''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart b/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart
index 81c91fd..ec177b1 100644
--- a/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/ambiguous_import_test.dart
@@ -20,11 +20,11 @@
@reflectiveTest
class AmbiguousImportTest extends PubPackageResolutionTest {
test_annotation_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const foo = 0;
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
const foo = 0;
''');
@@ -41,10 +41,10 @@
}
test_as() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -56,10 +56,10 @@
}
test_extends() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -72,10 +72,10 @@
}
test_implements() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -88,19 +88,19 @@
}
test_inPart() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}
''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}
''');
- newFile('$testPackageLibPath/part.dart', content: '''
+ newFile2('$testPackageLibPath/part.dart', '''
part of lib;
class A extends N {}
''');
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
import 'lib1.dart';
import 'lib2.dart';
@@ -120,10 +120,10 @@
}
test_instanceCreation() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -136,10 +136,10 @@
}
test_is() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -151,10 +151,10 @@
}
test_qualifier() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -168,7 +168,7 @@
test_systemLibrary_nonSystemLibrary() async {
// From the spec, "a declaration from a non-system library shadows
// declarations from system libraries."
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class StreamController {}
''');
await assertNoErrorsInCode('''
@@ -190,10 +190,10 @@
}
test_typeAnnotation() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -220,10 +220,10 @@
}
test_typeArgument_annotation() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -236,10 +236,10 @@
}
test_typeArgument_instanceCreation() async {
- newFile("$testPackageLibPath/lib1.dart", content: '''
+ newFile2("$testPackageLibPath/lib1.dart", '''
library lib1;
class N {}''');
- newFile("$testPackageLibPath/lib2.dart", content: '''
+ newFile2("$testPackageLibPath/lib2.dart", '''
library lib2;
class N {}''');
await assertErrorsInCode('''
@@ -252,11 +252,11 @@
}
test_variable_read() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var x;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
var x;
''');
@@ -273,11 +273,11 @@
}
test_variable_read_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var x;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
var x;
''');
@@ -294,11 +294,11 @@
}
test_variable_write() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var x;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
var x;
''');
@@ -321,11 +321,11 @@
}
test_variable_write_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var x;
''');
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
var x;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart b/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart
index 59d97c5..4a5a07d 100644
--- a/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/argument_type_not_assignable_test.dart
@@ -210,7 +210,7 @@
mixin ArgumentTypeNotAssignableTestCases on PubPackageResolutionTest {
test_ambiguousClassName() async {
// See dartbug.com/19624
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
class _A {}
g(h(_A a)) {}''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart b/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
index a0c388c..d644c46 100644
--- a/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/assignment_of_do_not_store_test.dart
@@ -296,7 +296,7 @@
}
test_topLevelVariable_libraryAnnotation() async {
- newFile('$testPackageLibPath/library.dart', content: '''
+ newFile2('$testPackageLibPath/library.dart', '''
@doNotStore
library lib;
diff --git a/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart b/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart
index cfa5128..34462f3 100644
--- a/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/conflicting_generic_interfaces_test.dart
@@ -47,7 +47,7 @@
}
test_class_extends_implements_optOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class I<T> {}
class A implements I<int> {}
class B implements I<int?> {}
@@ -61,7 +61,7 @@
}
test_class_extends_optIn_implements_optOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {}
class B extends A<int> {}
@@ -86,7 +86,7 @@
}
test_class_mixed_viaLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {}
class Bi implements A<int> {}
@@ -95,7 +95,7 @@
''');
// Both `Bi` and `Biq` implement `A<int*>` in legacy, so identical.
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.7
import 'a.dart';
@@ -124,11 +124,11 @@
}
test_class_topMerge_optIn_optOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.5
import 'a.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart
index 6f8fad0..8988cf5 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_field_type_mismatch_test.dart
@@ -75,7 +75,7 @@
}
test_notGeneric_null_forNonNullable_fromLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
final int f;
const C(a) : f = a;
diff --git a/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart b/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart
index 5cb3c4e..af72941 100644
--- a/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_constructor_param_type_mismatch_test.dart
@@ -131,7 +131,7 @@
}
test_int_to_double_reference_from_other_library_other_file_after() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
import 'test.dart';
class D {
final C c;
@@ -159,7 +159,7 @@
}
const C constant = const C(0);
''');
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
import 'test.dart';
class D {
final C c;
@@ -183,7 +183,7 @@
}
test_int_to_double_via_default_value_other_file_after() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class C {
final double x;
const C([this.x = 0]);
@@ -199,7 +199,7 @@
}
test_int_to_double_via_default_value_other_file_before() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class C {
final double x;
const C([this.x = 0]);
diff --git a/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart
index 31e9d07..f39c1e2 100644
--- a/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_deferred_class_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ConstDeferredClassTest extends PubPackageResolutionTest {
test_namedConstructor() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {
const A.b();
@@ -32,7 +32,7 @@
}
test_nonFunctionTypedef() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {
const A();
@@ -51,7 +51,7 @@
}
test_unnamed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {
const A();
diff --git a/pkg/analyzer/test/src/diagnostics/const_eval_throws_exception_test.dart b/pkg/analyzer/test/src/diagnostics/const_eval_throws_exception_test.dart
index f5911ee..e51f7d3 100644
--- a/pkg/analyzer/test/src/diagnostics/const_eval_throws_exception_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_eval_throws_exception_test.dart
@@ -82,7 +82,7 @@
test_CastError_intToDouble_constructor_importAnalyzedAfter() async {
// See dartbug.com/35993
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class Foo {
final double value;
@@ -112,7 +112,7 @@
test_CastError_intToDouble_constructor_importAnalyzedBefore() async {
// See dartbug.com/35993
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class Foo {
final double value;
@@ -141,7 +141,7 @@
}
test_default_constructor_arg_empty_map_import() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class C {
final Map<String, int> m;
const C({this.m = const <String, int>{}})
@@ -290,7 +290,7 @@
}
test_invalid_constructorFieldInitializer_fromSeparateLibrary() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
class A<T> {
final int f;
const A() : f = T.foo;
diff --git a/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart
index 2a14814..ba5f389 100644
--- a/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_initialized_with_non_constant_value_from_deferred_library_test.dart
@@ -18,7 +18,7 @@
class ConstInitializedWithNonConstantValueFromDeferredLibraryTest
extends PubPackageResolutionTest {
test_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const V = 1;
''');
@@ -36,7 +36,7 @@
}
test_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const V = 1;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart
index 3f39cf5..0c5ecbe 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_non_type_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ConstWithNonTypeTest extends PubPackageResolutionTest {
test_fromLibrary() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertErrorsInCode('''
import 'lib1.dart' as lib;
void f() {
diff --git a/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart
index 90bd671..29c62ef 100644
--- a/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/const_with_undefined_constructor_test.dart
@@ -75,7 +75,7 @@
}
test_unnamed_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {
const A.name();
}
diff --git a/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart b/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
index 70ce1ae..768c741 100644
--- a/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/could_not_infer_test.dart
@@ -19,7 +19,7 @@
@reflectiveTest
class CouldNotInferTest extends PubPackageResolutionTest {
test_constructor_nullSafe_fromLegacy() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class C<T extends Object> {
C(T t);
}
@@ -46,7 +46,7 @@
}
test_functionType_optOutOfGenericMetadata() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
void f<X>() {}
''');
await assertErrorsInCode('''
@@ -224,7 +224,7 @@
}
test_functionType_parameterIsObject_returnIsBound_prefixedFunction() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
external T f<T extends num>(T a, T b);
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/dead_code_test.dart b/pkg/analyzer/test/src/diagnostics/dead_code_test.dart
index 1ef5d39..3483ddf 100644
--- a/pkg/analyzer/test/src/diagnostics/dead_code_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/dead_code_test.dart
@@ -315,7 +315,7 @@
}
test_deadBlock_if_debugConst_prefixedIdentifier2() async {
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class A {
static const bool DEBUG = false;
}''');
@@ -327,7 +327,7 @@
}
test_deadBlock_if_debugConst_propertyAccessor() async {
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class A {
static const bool DEBUG = false;
}''');
diff --git a/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart b/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
index 05b0e8b..7cfa142 100644
--- a/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/dead_null_aware_expression_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class DeadNullAwareExpressionTest extends PubPackageResolutionTest {
test_assignCompound_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = 0;
''');
@@ -64,7 +64,7 @@
}
test_binary_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart b/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart
index 2475e1e..702d49f 100644
--- a/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deferred_import_of_extension_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class DeferredImportOfExtensionTest extends PubPackageResolutionTest {
test_deferredImport_withExtensions() {
- newFile('$testPackageLibPath/foo.dart', content: '''
+ newFile2('$testPackageLibPath/foo.dart', '''
extension E on C {}
class C {}
''');
@@ -32,7 +32,7 @@
}
test_deferredImport_withHiddenExtensions() {
- newFile('$testPackageLibPath/foo.dart', content: '''
+ newFile2('$testPackageLibPath/foo.dart', '''
extension E on C {}
class C {}
''');
@@ -46,7 +46,7 @@
}
test_deferredImport_withoutExtensions() {
- newFile('$testPackageLibPath/foo.dart', content: '''
+ newFile2('$testPackageLibPath/foo.dart', '''
class C {}
''');
assertNoErrorsInCode('''
@@ -59,7 +59,7 @@
}
test_deferredImport_withShownNonExtensions() {
- newFile('$testPackageLibPath/foo.dart', content: '''
+ newFile2('$testPackageLibPath/foo.dart', '''
extension E on C {}
class C {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart b/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart
index 0b7b7e8..d1364a8 100644
--- a/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/deprecated_member_use_test.dart
@@ -38,7 +38,7 @@
class DeprecatedMemberUse_BasicWorkspaceTest extends PubPackageResolutionTest
with DeprecatedMemberUse_BasicWorkspaceTestCases {
test_instanceCreation_namedParameter_fromLegacy() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
A({@deprecated int a}) {}
}
@@ -57,7 +57,7 @@
}
test_methodInvocation_namedParameter_ofFunction_fromLegacy() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
void foo({@deprecated int a}) {}
''');
@@ -74,7 +74,7 @@
}
test_methodInvocation_namedParameter_ofMethod_fromLegacy() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
void foo({@deprecated int a}) {}
}
@@ -93,7 +93,7 @@
}
test_superConstructorInvocation_namedParameter_fromLegacy() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
A({@deprecated int a}) {}
}
@@ -124,7 +124,7 @@
}
test_export() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
@deprecated
library a;
''');
@@ -137,7 +137,7 @@
}
test_field_inDeprecatedConstructor() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@deprecated
int x = 0;
@@ -158,7 +158,7 @@
}
test_fieldGet_implicitGetter() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@deprecated
int foo = 0;
@@ -177,7 +177,7 @@
}
test_fieldSet_implicitSetter() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@deprecated
int foo = 0;
@@ -196,7 +196,7 @@
}
test_import() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
@deprecated
library a;
''');
@@ -211,7 +211,7 @@
}
test_method_inDeprecatedConstructor() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@deprecated
void foo() {}
@@ -231,7 +231,7 @@
}
test_methodInvocation() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@deprecated
void foo() {}
@@ -250,7 +250,7 @@
}
test_methodInvocation_withMessage() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@Deprecated('0.9')
void foo() {}
@@ -269,7 +269,7 @@
}
test_parameter_named_ofFunction() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
void foo({@deprecated int a}) {}
''');
@@ -285,7 +285,7 @@
}
test_parameter_named_ofMethod() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
void foo({@deprecated int a}) {}
}
@@ -303,7 +303,7 @@
}
test_setterInvocation() async {
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
class A {
@deprecated
set foo(int _) {}
@@ -332,7 +332,7 @@
class DeprecatedMemberUse_BazelWorkspaceTest
extends BazelWorkspaceResolutionTest {
test_dart() async {
- newFile('$workspaceRootPath/foo/bar/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/bar/lib/a.dart', r'''
@deprecated
class A {}
''');
@@ -347,7 +347,7 @@
}
test_thirdPartyDart() async {
- newFile('$workspaceThirdPartyDartPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceThirdPartyDartPath/aaa/lib/a.dart', r'''
@deprecated
class A {}
''');
@@ -386,17 +386,17 @@
test_differentPackage() async {
newPubspecYamlFile('$workspaceRootPath/my', '');
- newFile('$workspaceRootPath/my/BUILD.gn');
+ newFile2('$workspaceRootPath/my/BUILD.gn', '');
newPubspecYamlFile('$workspaceRootPath/aaa', '');
- newFile('$workspaceRootPath/aaa/BUILD.gn');
+ newFile2('$workspaceRootPath/aaa/BUILD.gn', '');
_writeWorkspacePackagesFile({
'aaa': '$workspaceRootPath/aaa/lib',
'my': myPackageLibPath,
});
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
@deprecated
class A {}
''');
@@ -412,13 +412,13 @@
test_samePackage() async {
newPubspecYamlFile('$workspaceRootPath/my', '');
- newFile('$workspaceRootPath/my/BUILD.gn');
+ newFile2('$workspaceRootPath/my/BUILD.gn', '');
_writeWorkspacePackagesFile({
'my': myPackageLibPath,
});
- newFile('$myPackageLibPath/a.dart', content: r'''
+ newFile2('$myPackageLibPath/a.dart', r'''
@deprecated
class A {}
''');
@@ -448,7 +448,7 @@
var buildDir = 'out/debug-x87_128';
var genPath = '$workspaceRootPath/$buildDir/dartlang/gen';
- newFile('$genPath/foo_package_config.json', content: '''{
+ newFile2('$genPath/foo_package_config.json', '''{
"configVersion": 2,
"packages": [ ${packages.join(', ')} ]
}''');
@@ -489,7 +489,7 @@
..add(name: 'aaa', rootPath: '$workspaceRootPath/aaa'),
);
- newFile('$workspaceRootPath/aaa/lib/a.dart', content: r'''
+ newFile2('$workspaceRootPath/aaa/lib/a.dart', r'''
@deprecated
class A {}
''');
@@ -597,7 +597,7 @@
}
test_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
@deprecated
class A {}
''');
@@ -627,7 +627,7 @@
}
test_export() async {
- newFile('$testPackageLibPath/deprecated_library.dart', content: r'''
+ newFile2('$testPackageLibPath/deprecated_library.dart', r'''
@deprecated
library deprecated_library;
class A {}
@@ -713,7 +713,7 @@
}
test_hideCombinator() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
@deprecated
class A {}
''');
@@ -725,7 +725,7 @@
}
test_import() async {
- newFile('$testPackageLibPath/deprecated_library.dart', content: r'''
+ newFile2('$testPackageLibPath/deprecated_library.dart', r'''
@deprecated
library deprecated_library;
class A {}
@@ -1235,7 +1235,7 @@
}
test_showCombinator() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
@deprecated
class A {}
''');
@@ -1559,7 +1559,7 @@
class DeprecatedMemberUseFromSamePackage_BazelWorkspaceTest
extends BazelWorkspaceResolutionTest {
test_it() async {
- newFile('$myPackageLibPath/a.dart', content: r'''
+ newFile2('$myPackageLibPath/a.dart', r'''
@deprecated
class A {}
''');
@@ -1602,7 +1602,7 @@
newPubspecYamlFile(testPackageRootPath, 'name: test');
_createTestPackageBuildMarker();
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
@deprecated
class A {}
''');
@@ -1637,9 +1637,9 @@
required String pathInLib,
required String content,
}) {
- newFile(
+ newFile2(
'$testPackageGeneratedPath/$packageName/lib/$pathInLib',
- content: content,
+ content,
);
}
}
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart
index 7fec331..34cbd6e 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_definition_test.dart
@@ -1556,12 +1556,12 @@
test_unitMembers_part_library() async {
var libPath = convertPath('$testPackageLibPath/lib.dart');
var aPath = convertPath('$testPackageLibPath/a.dart');
- newFile(libPath, content: '''
+ newFile2(libPath, '''
part 'a.dart';
class A {}
''');
- newFile(aPath, content: '''
+ newFile2(aPath, '''
part of 'lib.dart';
class A {}
@@ -1581,16 +1581,16 @@
var libPath = convertPath('$testPackageLibPath/lib.dart');
var aPath = convertPath('$testPackageLibPath/a.dart');
var bPath = convertPath('$testPackageLibPath/b.dart');
- newFile(libPath, content: '''
+ newFile2(libPath, '''
part 'a.dart';
part 'b.dart';
''');
- newFile(aPath, content: '''
+ newFile2(aPath, '''
part of 'lib.dart';
class A {}
''');
- newFile(bPath, content: '''
+ newFile2(bPath, '''
part of 'lib.dart';
class A {}
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart
index ab9c46d..f607d26 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_hidden_name_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class DuplicateHiddenNameTest extends PubPackageResolutionTest {
test_hidden() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart
index 85eb884..343555d 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_import_test.dart
@@ -17,11 +17,11 @@
@reflectiveTest
class DuplicateImportTest extends PubPackageResolutionTest {
test_duplicateImport() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
library lib1;
class A {}''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
library L;
import 'lib1.dart';
import 'lib1.dart';
@@ -34,13 +34,13 @@
}
test_importsHaveIdenticalShowHide() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
library lib1;
class A {}
class B {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
library L;
import 'lib1.dart' as M show A hide B;
import 'lib1.dart' as M show A hide B;
@@ -54,12 +54,12 @@
}
test_oneImportHasHide() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
library lib1;
class A {}
class B {}''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
library L;
import 'lib1.dart';
import 'lib1.dart' hide A;
@@ -71,13 +71,13 @@
}
test_oneImportHasShow() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
library lib1;
class A {}
class B {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
library L;
import 'lib1.dart';
import 'lib1.dart' show A; // ignore: unnecessary_import
@@ -90,11 +90,11 @@
}
test_oneImportUsesAs() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
library lib1;
class A {}''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
library L;
import 'lib1.dart';
import 'lib1.dart' as one;
@@ -107,11 +107,11 @@
}
test_twoDuplicateImports() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
library lib1;
class A {}''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
library L;
import 'lib1.dart';
import 'lib1.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart
index 64ed945..19acede 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_part_test.dart
@@ -16,10 +16,10 @@
@reflectiveTest
class DuplicatePartTest extends PubPackageResolutionTest {
test_no_duplicates() async {
- newFile('$testPackageLibPath/part1.dart', content: '''
+ newFile2('$testPackageLibPath/part1.dart', '''
part of lib;
''');
- newFile('$testPackageLibPath/part2.dart', content: '''
+ newFile2('$testPackageLibPath/part2.dart', '''
part of lib;
''');
await assertNoErrorsInCode(r'''
@@ -30,7 +30,7 @@
}
test_sameSource() async {
- newFile('$testPackageLibPath/part.dart', content: 'part of lib;');
+ newFile2('$testPackageLibPath/part.dart', 'part of lib;');
await assertErrorsInCode(r'''
library lib;
part 'part.dart';
@@ -41,7 +41,7 @@
}
test_sameUri() async {
- newFile('$testPackageLibPath/part.dart', content: 'part of lib;');
+ newFile2('$testPackageLibPath/part.dart', 'part of lib;');
await assertErrorsInCode(r'''
library lib;
part 'part.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart b/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart
index e1e0cde..5a6f20b 100644
--- a/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/duplicate_shown_name_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class DuplicateShownNameTest extends PubPackageResolutionTest {
test_hidden() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart b/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
index 2f22ba9..c7549ef 100644
--- a/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/export_legacy_symbol_test.dart
@@ -28,7 +28,7 @@
}
test_exportOptedIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await assertNoErrorsInCode(r'''
@@ -37,11 +37,11 @@
}
test_exportOptedOut_exportOptedIn_hasLegacySymbol() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.5
export 'a.dart';
class B {}
@@ -55,11 +55,11 @@
}
test_exportOptedOut_exportOptedIn_hideLegacySymbol() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.5
export 'a.dart';
class B {}
@@ -71,7 +71,7 @@
}
test_exportOptedOut_hasLegacySymbol() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
class A {}
class B {}
diff --git a/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart b/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart
index d595b74..dbc6573 100644
--- a/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/export_of_non_library_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ExportOfNonLibraryTest extends PubPackageResolutionTest {
test_export_of_non_library() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
part of lib;
''');
await assertErrorsInCode(r'''
@@ -29,7 +29,7 @@
}
test_libraryDeclared() async {
- newFile('$testPackageLibPath/lib1.dart', content: "library lib1;");
+ newFile2('$testPackageLibPath/lib1.dart', "library lib1;");
await assertNoErrorsInCode(r'''
library L;
export 'lib1.dart';
@@ -37,7 +37,7 @@
}
test_libraryNotDeclared() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertNoErrorsInCode(r'''
library L;
export 'lib1.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart
index effaba0..798558b 100644
--- a/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extends_deferred_class_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ExtendsDeferredClassTest extends PubPackageResolutionTest {
test_classTypeAlias() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
''');
@@ -31,7 +31,7 @@
}
test_extends_deferred_class() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
''');
@@ -45,7 +45,7 @@
}
test_extends_deferred_interfaceTypeTypedef() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
class B {}
diff --git a/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart
index e38a3bb..62547b2 100644
--- a/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extends_non_class_test.dart
@@ -128,7 +128,7 @@
}
test_undefined_ignore_part_exists_uriGenerated_nameIgnorable() async {
- newFile('$testPackageLibPath/a.g.dart', content: r'''
+ newFile2('$testPackageLibPath/a.g.dart', r'''
part of 'test.dart';
''');
diff --git a/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart b/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart
index 61d3e2c..4c9374b 100644
--- a/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/extension_as_expression_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ExtensionAsExpressionTest extends PubPackageResolutionTest {
test_prefixedIdentifier() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on int {}
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart b/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart
index 02c4641..d32935b 100644
--- a/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/generic_function_type_cannot_be_bound_test.dart
@@ -32,7 +32,7 @@
}
test_genericFunction_optOutOfGenericMetadata() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
typedef F = S Function<S>(S);
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart b/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart
index 517130b..876c26e 100644
--- a/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/getter_not_assignable_setter_types_test.dart
@@ -54,7 +54,7 @@
}
test_class_instance_private_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
@@ -71,12 +71,12 @@
}
test_class_instance_private_interfaces() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
class B {
set _foo(String _) {}
}
@@ -90,7 +90,7 @@
}
test_class_instance_private_interfaces2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
@@ -107,7 +107,7 @@
}
test_class_instance_private_setter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
set _foo(String _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart b/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
index 249ce8d..7f6a0b0 100644
--- a/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/getter_not_subtype_setter_types_test.dart
@@ -74,7 +74,7 @@
}
test_class_instance_private_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
@@ -91,12 +91,12 @@
}
test_class_instance_private_interfaces() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
class B {
set _foo(String _) {}
}
@@ -110,7 +110,7 @@
}
test_class_instance_private_interfaces2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
@@ -127,7 +127,7 @@
}
test_class_instance_private_setter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
set _foo(String _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart
index c85d229..db0c21d 100644
--- a/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/if_element_condition_from_deferred_library_test.dart
@@ -20,7 +20,7 @@
mixin IfElementConditionFromDeferredLibraryTestCases
on PubPackageResolutionTest {
test_inList_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -33,7 +33,7 @@
}
test_inList_nonConst() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -43,7 +43,7 @@
}
test_inList_notDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' as a;
@@ -53,7 +53,7 @@
}
test_inMap_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -66,7 +66,7 @@
}
test_inMap_notConst() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -76,7 +76,7 @@
}
test_inMap_notDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' as a;
@@ -86,7 +86,7 @@
}
test_inSet_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -99,7 +99,7 @@
}
test_inSet_notConst() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -109,7 +109,7 @@
}
test_inSet_notDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const bool c = true;''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' as a;
diff --git a/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart
index bfa2a8d..da1430f 100644
--- a/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/implements_deferred_class_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ImplementsDeferredClassTest extends PubPackageResolutionTest {
test_class_implements() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
''');
@@ -30,7 +30,7 @@
}
test_class_implements_interfaceTypeTypedef() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
typedef B = A;
@@ -45,7 +45,7 @@
}
test_classTypeAlias() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart b/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart
index 5befb60..388dd30 100644
--- a/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_deferred_library_with_load_function_test.dart
@@ -17,7 +17,7 @@
class ImportDeferredLibraryWithLoadFunctionTest
extends PubPackageResolutionTest {
test_deferredImport_withLoadLibraryFunction() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void loadLibrary() {}
void f() {}
''');
@@ -33,7 +33,7 @@
}
test_deferredImport_withLoadLibraryFunction_hide() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void loadLibrary() {}
void f() {}
''');
@@ -47,7 +47,7 @@
}
test_deferredImport_withLoadLibraryFunction_hide2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void loadLibrary() {}
void f() {}
void f2() {}
@@ -64,7 +64,7 @@
}
test_deferredImport_withLoadLibraryFunction_show() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void loadLibrary() {}
void f() {}
''');
@@ -78,7 +78,7 @@
}
test_deferredImport_withoutLoadLibraryFunction() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void f() {}
''');
@@ -91,7 +91,7 @@
}
test_nonDeferredImport_withLoadLibraryFunction() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void loadLibrary() {}
void f() {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart b/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart
index 7a6c3ab..e56a81d 100644
--- a/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_of_legacy_library_into_null_safe_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ImportOfLegacyLibraryInoNullSafeTest extends PubPackageResolutionTest {
test_legacy_into_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.9
class A {}
''');
@@ -29,7 +29,7 @@
}
test_legacy_into_nullSafe() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.9
class A {}
''');
@@ -43,7 +43,7 @@
}
test_nullSafe_into_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await assertNoErrorsInCode(r'''
@@ -55,7 +55,7 @@
}
test_nullSafe_into_nullSafe() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
''');
await assertNoErrorsInCode(r'''
@@ -66,9 +66,9 @@
}
test_nullSafe_into_nullSafe_part() async {
- newFile('$testPackageLibPath/a.dart', content: '');
+ newFile2('$testPackageLibPath/a.dart', '');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
part of 'test.dart';
import 'a.dart';
''');
diff --git a/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart b/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart
index 04c4fc3..77f8322 100644
--- a/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/import_of_non_library_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class ImportOfNonLibraryTest extends PubPackageResolutionTest {
test_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
part of lib;
class A {}
''');
@@ -31,7 +31,7 @@
}
test_part() async {
- newFile('$testPackageLibPath/part.dart', content: r'''
+ newFile2('$testPackageLibPath/part.dart', r'''
part of lib;
class A{}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
index 8045084..805135e 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_case_expression_types_test.dart
@@ -17,7 +17,7 @@
@reflectiveTest
class InconsistentCaseExpressionTypesTest extends PubPackageResolutionTest {
test_int_none_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart b/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart
index 617a0d2..e71a823 100644
--- a/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inconsistent_language_version_override_test.dart
@@ -103,9 +103,9 @@
var libraryPath = convertPath('$testPackageLibPath/a.dart');
var partPath = convertPath('$testPackageLibPath/b.dart');
- newFile(libraryPath, content: libraryContent);
+ newFile2(libraryPath, libraryContent);
- newFile(partPath, content: partContent);
+ newFile2(partPath, partContent);
await assertErrorsInFile2(libraryPath, libraryErrors);
}
diff --git a/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_invocation_test.dart b/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_invocation_test.dart
index 67cc9aa..83ddae8 100644
--- a/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_invocation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/inference_failure_on_function_invocation_test.dart
@@ -224,7 +224,7 @@
}
test_topLevelFunction_withImportPrefix_noInference() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
void f<T>() {}
''');
await assertErrorsInCode('''
@@ -238,7 +238,7 @@
}
test_topLevelFunction_withImportPrefix_optionalTypeArgs() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'package:meta/meta.dart';
@optionalTypeArgs
void f<T>() {}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart
index 518858a..31828e1 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_annotation_from_deferred_library_test.dart
@@ -17,7 +17,7 @@
class InvalidAnnotationFromDeferredLibraryTest
extends PubPackageResolutionTest {
test_constructor() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class C { const C(); }
''');
@@ -32,7 +32,7 @@
}
test_constructor_argument() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
const x = 0;
''');
await assertErrorsInCode('''
@@ -50,7 +50,7 @@
}
test_from_deferred_library() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class V { const V(); }
const v = const V();
@@ -66,7 +66,7 @@
}
test_namedConstructor() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class C { const C.name(); }
''');
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart
index 00abc76..6212082 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_annotation_test.dart
@@ -66,7 +66,7 @@
}
test_getter_importWithPrefix() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
get V => 0;
''');
@@ -81,7 +81,7 @@
}
test_importWithPrefix_notConstantVariable() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
final V = 0;
''');
@@ -96,7 +96,7 @@
}
test_importWithPrefix_notVariableOrConstructorInvocation() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
typedef V();
''');
@@ -145,7 +145,7 @@
}
test_notClass_importWithPrefix() async {
- newFile('$testPackageLibPath/annotations.dart', content: r'''
+ newFile2('$testPackageLibPath/annotations.dart', r'''
class Property {
final int value;
const Property(this.value);
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart
index 78185db..3958315 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_constant_test.dart
@@ -61,7 +61,7 @@
}
test_in_initializer_from_deferred_library_field() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const int c = 1;''');
await assertErrorsInCode('''
@@ -77,7 +77,7 @@
}
test_in_initializer_from_deferred_library_field_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const int c = 1;
''');
@@ -94,7 +94,7 @@
}
test_in_initializer_from_deferred_library_redirecting() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const int c = 1;
''');
@@ -111,7 +111,7 @@
}
test_in_initializer_from_deferred_library_super() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const int c = 1;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart
index c52be8b..2f9fb0c 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_export_of_internal_element_test.dart
@@ -36,12 +36,12 @@
MockPackages.addMetaPackageFiles(
getFolder(metaPath),
);
- newFile('$testPackageBazelBinPath/my.packages');
+ newFile2('$testPackageBazelBinPath/my.packages', '');
newFolder('$workspaceRootPath/bazel-out');
}
void test_exporterIsInBazelBinLib() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -56,7 +56,7 @@
}
void test_exporterIsInBazelBinLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -69,7 +69,7 @@
}
void test_exporterIsInGenfilesLib() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -84,7 +84,7 @@
}
void test_exporterIsInGenfilesLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -97,7 +97,7 @@
}
void test_exporterIsInLib() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -112,7 +112,7 @@
}
void test_exporterIsInLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -125,7 +125,7 @@
}
void test_exporterIsInTest() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -138,7 +138,7 @@
}
void test_internalIsInBazelBin() async {
- newFile('$testPackageBazelBinPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageBazelBinPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -151,7 +151,7 @@
}
void test_internalIsInGenfiles() async {
- newFile('$testPackageGenfilesPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageGenfilesPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -164,7 +164,7 @@
}
void test_internalIsInLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -188,7 +188,7 @@
analysis. So, there is no context to analyze it.
''')
void test_exporterInGeneratedLib() async {
- newFile('$testPackageRootPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageRootPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -207,7 +207,7 @@
analysis. So, there is no context to analyze it.
''')
void test_exporterInGeneratedLibSrc() async {
- newFile('$testPackageRootPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageRootPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -220,7 +220,7 @@
}
void test_exporterInLib() async {
- newFile('$testPackageRootPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageRootPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -235,7 +235,7 @@
}
void test_exporterInLibSrc() async {
- newFile('$testPackageRootPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageRootPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -248,7 +248,7 @@
}
void test_internalIsInGeneratedLibSrc() async {
- newFile('$testPackageDartToolPath/lib/src/foo.dart', content: r'''
+ newFile2('$testPackageDartToolPath/lib/src/foo.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -262,7 +262,7 @@
@override
void test_internalIsLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -289,7 +289,7 @@
}
void test_exporterIsInLib() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -304,7 +304,7 @@
}
void test_exporterIsInLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -317,7 +317,7 @@
}
void test_exporterIsInTest() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -330,7 +330,7 @@
}
void test_internalIsLibSrc() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -350,7 +350,7 @@
String get testPackageLibPath;
void test_hideCombinator_internalHidden() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
class Two {}
@@ -362,7 +362,7 @@
}
void test_hideCombinator_internalNotHidden() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
class Two {}
@@ -376,7 +376,7 @@
}
void test_indirectlyViaFunction_parameter() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal typedef int IntFunc(int x);
int func(IntFunc f, int x) => f(x);
@@ -390,7 +390,7 @@
}
void test_indirectlyViaFunction_parameter_generic() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal typedef IntFunc = int Function(int);
int func(IntFunc f, int x) => f(x);
@@ -404,7 +404,7 @@
}
void test_indirectlyViaFunction_parameter_generic_typeArg() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal typedef IntFunc<T> = int Function(T);
int func(IntFunc<num> f, int x) => f(x);
@@ -418,7 +418,7 @@
}
void test_indirectlyViaFunction_returnType() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal typedef int IntFunc(int x);
IntFunc func() => (int x) => x;
@@ -432,7 +432,7 @@
}
void test_indirectlyViaFunction_typeArgument_bounded() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal typedef int IntFunc(int x);
void func<T extends IntFunc>() {}
@@ -446,7 +446,7 @@
}
void test_indirectlyViaFunction_typeArgument_unbounded() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal typedef int IntFunc(int x);
void func<T>() {}
@@ -458,7 +458,7 @@
}
void test_noCombinators() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -471,11 +471,11 @@
}
void test_noCombinators_indirectExport() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
export 'bar.dart';
''');
- newFile('$testPackageLibPath/src/bar.dart', content: r'''
+ newFile2('$testPackageLibPath/src/bar.dart', r'''
import 'package:meta/meta.dart';
@internal class One {}
''');
@@ -488,7 +488,7 @@
}
void test_noCombinators_library() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
@internal
library foo;
@@ -503,7 +503,7 @@
}
void test_noCombinators_library_notInternal() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
library foo;
''');
@@ -513,7 +513,7 @@
}
void test_noCombinators_noInternal() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
class One {}
''');
@@ -523,7 +523,7 @@
}
void test_showCombinator_internalNotShown() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
class Two {}
@@ -535,7 +535,7 @@
}
void test_showCombinator_internalShown() async {
- newFile(testPackageImplementationFilePath, content: r'''
+ newFile2(testPackageImplementationFilePath, r'''
import 'package:meta/meta.dart';
@internal class One {}
class Two {}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
index a411785..7343ea7 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_null_aware_operator_test.dart
@@ -195,7 +195,7 @@
}
test_getter_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = 0;
''');
@@ -249,7 +249,7 @@
/// report [StaticWarningCode.INVALID_NULL_AWARE_OPERATOR]. But we also
/// report another error.
test_getter_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int x = 0;
''');
await assertErrorsInCode('''
@@ -264,7 +264,7 @@
}
test_index_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = [0];
''');
@@ -327,7 +327,7 @@
}
test_method_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = 0;
''');
@@ -386,7 +386,7 @@
}
test_nullableSpread_legacyType() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = <int>[];
''');
@@ -460,7 +460,7 @@
/// report [StaticWarningCode.INVALID_NULL_AWARE_OPERATOR]. But we also
/// report another error.
test_setter_prefix() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int x = 0;
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart
index c44810c..57bb470 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_named_test.dart
@@ -20,7 +20,7 @@
class InvalidOverrideDifferentDefaultValuesNamedTest
extends InvalidOverrideDifferentDefaultValuesNamedWithoutNullSafetyTest {
test_concrete_equal_optIn_extends_optOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A {
void foo({int a = 0}) {}
@@ -39,7 +39,7 @@
}
test_concrete_equal_optOut_extends_optIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo({int a = 0}) {}
}
@@ -217,7 +217,7 @@
}
test_concrete_equal_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo([a = 0]) {}
}
@@ -232,7 +232,7 @@
}
test_concrete_equal_otherLibrary_listLiteral() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class C {
void foo({x: const ['x']}) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart
index 9c9fe63..11b7180 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_different_default_values_positional_test.dart
@@ -22,7 +22,7 @@
class InvalidOverrideDifferentDefaultValuesPositionalTest
extends InvalidOverrideDifferentDefaultValuesPositionalWithoutNullSafetyTest {
test_concrete_equal_optIn_extends_optOut() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
class A {
void foo([int a = 0]) {}
@@ -41,7 +41,7 @@
}
test_concrete_equal_optOut_extends_optIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo([int a = 0]) {}
}
@@ -231,7 +231,7 @@
}
test_concrete_equal_otherLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo([x = 0]) {}
}
@@ -246,7 +246,7 @@
}
test_concrete_equal_otherLibrary_listLiteral() async {
- newFile('$testPackageLibPath/other.dart', content: '''
+ newFile2('$testPackageLibPath/other.dart', '''
class C {
void foo([x = const ['x']]) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
index cc85b0c..9725362 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_override_test.dart
@@ -215,7 +215,7 @@
}
test_method_parameter_functionTyped_optOut_extends_optIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
abstract class A {
A catchError(void Function(Object) a);
}
@@ -232,7 +232,7 @@
}
test_method_parameter_interfaceOptOut_concreteOptIn() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo(Object a) {}
}
@@ -249,7 +249,7 @@
}
test_mixedInheritance_1() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class B {
List<int Function(int)> get a => [];
set a(List<int Function(int)> _) {}
@@ -263,7 +263,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.7
import 'a.dart';
@@ -281,7 +281,7 @@
}
test_mixedInheritance_2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class B {
List<int Function(int)> get a => [];
set a(List<int Function(int)> _) {}
@@ -295,7 +295,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart = 2.7
import 'a.dart';
@@ -416,7 +416,7 @@
}
test_viaLegacy_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A1 {
int m() => 0;
int get g => 0;
@@ -430,7 +430,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart=2.6
import 'a.dart';
@@ -455,7 +455,7 @@
}
test_viaLegacy_mixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A1 {
int m() => 0;
int get g => 0;
@@ -469,7 +469,7 @@
}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
// @dart=2.6
import 'a.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_internal_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_internal_member_test.dart
index 2fbaf44..98da1f6 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_internal_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_internal_member_test.dart
@@ -37,12 +37,12 @@
}
test_insidePackage() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
class A {}
''');
- newFile('$fooPackageRootPath/lib/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/a.dart', '''
import 'src/a.dart';
A a = A();
@@ -53,7 +53,7 @@
}
test_outsidePackage_class() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
class A {}
@@ -69,7 +69,7 @@
}
test_outsidePackage_constructor_named() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -87,7 +87,7 @@
}
test_outsidePackage_constructor_unnamed() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -105,7 +105,7 @@
}
test_outsidePackage_enum() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
enum E {one}
@@ -121,7 +121,7 @@
}
test_outsidePackage_enumValue() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
enum E {@internal one}
''');
@@ -136,7 +136,7 @@
}
test_outsidePackage_extensionMethod() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
extension E on String {
@internal
@@ -154,7 +154,7 @@
}
test_outsidePackage_function() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int a() => 1;
@@ -170,7 +170,7 @@
}
test_outsidePackage_function_generic() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int a<T>() => 1;
@@ -186,7 +186,7 @@
}
test_outsidePackage_function_generic_tearoff() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int a<T>() => 1;
@@ -202,7 +202,7 @@
}
test_outsidePackage_function_tearoff() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int a() => 1;
@@ -218,7 +218,7 @@
}
test_outsidePackage_functionLiteralForInternalTypedef() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
@internal
typedef IntFunc = int Function(int);
int foo(IntFunc f, int x) => f(x);
@@ -232,7 +232,7 @@
}
test_outsidePackage_inCommentReference() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int get a => 1;
@@ -247,7 +247,7 @@
}
test_outsidePackage_library() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
@internal
library a;
import 'package:meta/meta.dart';
@@ -262,7 +262,7 @@
}
test_outsidePackage_method() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -280,7 +280,7 @@
}
test_outsidePackage_method_generic() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -298,7 +298,7 @@
}
test_outsidePackage_method_subclassed() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal int f() => 1;
@@ -317,7 +317,7 @@
}
test_outsidePackage_method_subclassed_overridden() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal int f() => 1;
@@ -336,7 +336,7 @@
}
test_outsidePackage_method_tearoff() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -354,7 +354,7 @@
}
test_outsidePackage_methodParameter_named() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
int m({@internal int a = 0}) => 1;
@@ -372,7 +372,7 @@
@FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/28066')
test_outsidePackage_methodParameter_positional() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
int m([@internal int a = 0]) => 1;
@@ -389,7 +389,7 @@
}
test_outsidePackage_mixin() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
mixin A {}
@@ -405,7 +405,7 @@
}
test_outsidePackage_pairedWithProtected() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -426,7 +426,7 @@
}
test_outsidePackage_redirectingFactoryConstructor() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
import 'package:test/test.dart';
class D implements C {
@@ -446,7 +446,7 @@
}
test_outsidePackage_setter() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal
@@ -466,7 +466,7 @@
}
test_outsidePackage_setter_compound() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
int get s() => 1;
@@ -488,7 +488,7 @@
}
test_outsidePackage_setter_questionQuestion() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
int get s() => 1;
@@ -510,7 +510,7 @@
}
test_outsidePackage_superConstructor() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal C();
@@ -529,7 +529,7 @@
}
test_outsidePackage_superConstructor_named() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
class C {
@internal C.named();
@@ -548,7 +548,7 @@
}
test_outsidePackage_topLevelGetter() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int get a => 1;
@@ -564,7 +564,7 @@
}
test_outsidePackage_typedef() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
typedef t = void Function();
@@ -581,7 +581,7 @@
@FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/28066')
test_outsidePackage_typedefParameter() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
typedef T = void Function({@internal int a = 1});
''');
@@ -596,7 +596,7 @@
}
test_outsidePackage_variable() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int a = 1;
@@ -612,7 +612,7 @@
}
test_outsidePackage_variable_prefixed() async {
- newFile('$fooPackageRootPath/lib/src/a.dart', content: '''
+ newFile2('$fooPackageRootPath/lib/src/a.dart', '''
import 'package:meta/meta.dart';
@internal
int a = 1;
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart
index 97f44e6..8b4a8e4 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_protected_member_test.dart
@@ -23,7 +23,7 @@
}
test_closure() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@@ -31,7 +31,7 @@
int a() => 42;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
@@ -59,14 +59,14 @@
}
test_extension_outsideClassAndFile() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
void a(int i) {}
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
extension E on A {
e() {
@@ -95,14 +95,14 @@
}
test_field_outsideClassAndLibrary() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
int a = 0;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
abstract class B {
int b() => new A().a;
@@ -128,14 +128,14 @@
}
test_fromSuperclassConstraint() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
abstract class A {
@protected
void foo() {}
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
mixin M on A {
@override
@@ -150,14 +150,14 @@
}
test_function_outsideClassAndLibrary() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
void a(){ }
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
main() {
@@ -210,14 +210,14 @@
}
test_getter_outsideClassAndLibrary() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
int get a => 42;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
class B {
A a = A();
@@ -244,7 +244,7 @@
}
test_inDocs() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@@ -258,7 +258,7 @@
int a() => 0;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
/// OK: [A.a], [A.b], [A.c].
f() {}
@@ -269,14 +269,14 @@
}
test_method_outsideClassAndLibrary() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
void a() {}
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
class B {
@@ -355,14 +355,14 @@
// TODO(srawlins): This test verifies that the analyzer **allows**
// protected members to be called on objects other than `this`, which
// violates the protected spec.
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
void set a(int i) { }
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
class B {
A a = A();
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_overriding_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_overriding_member_test.dart
index 0387086..a5d17bd 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_overriding_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_overriding_member_test.dart
@@ -23,7 +23,7 @@
}
test_differentLibrary_invalid() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'package:meta/meta.dart';
class Parent {
@@ -45,7 +45,7 @@
}
test_differentLibrary_valid_onlyOverride() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'package:meta/meta.dart';
class Parent {
@@ -65,7 +65,7 @@
}
test_differentLibrary_valid_overrideAndUse() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'package:meta/meta.dart';
class Parent {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart
index 2e35506..a14ecc8 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_template_member_test.dart
@@ -22,7 +22,7 @@
super.setUp();
var angularMetaPath = '/packages/angular_meta';
- newFile('$angularMetaPath/lib/angular_meta.dart', content: r'''
+ newFile2('$angularMetaPath/lib/angular_meta.dart', r'''
library angular.meta;
const _VisibleForTemplate visibleForTemplate = const _VisibleForTemplate();
@@ -40,13 +40,13 @@
}
test_export() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
@visibleForTemplate
int fn0() => 1;
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
export 'lib1.dart' show fn0;
''');
@@ -55,14 +55,14 @@
}
test_functionInExtension() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
extension E on List {
@visibleForTemplate
int m() => 1;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
E([]).m();
@@ -76,14 +76,14 @@
}
test_functionInExtension_fromTemplate() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
extension E on List {
@visibleForTemplate
int m() => 1;
}
''');
- newFile('$testPackageLibPath/lib1.template.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.template.dart', r'''
import 'lib1.dart';
void main() {
E([]).m();
@@ -95,14 +95,14 @@
}
test_method() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
class A {
@visibleForTemplate
void a(){ }
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
class B {
@@ -117,14 +117,14 @@
}
test_method_fromTemplate() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
class A {
@visibleForTemplate
void a(){ }
}
''');
- newFile('$testPackageLibPath/lib1.template.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.template.dart', r'''
import 'lib1.dart';
class B {
@@ -137,7 +137,7 @@
}
test_namedConstructor() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
class A {
int _x;
@@ -146,7 +146,7 @@
A.forTemplate(this._x);
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
@@ -163,7 +163,7 @@
}
test_propertyAccess() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
class A {
@visibleForTemplate
@@ -173,7 +173,7 @@
set b(_) => 7;
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
@@ -190,7 +190,7 @@
}
test_protectedAndForTemplate_usedAsProtected() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
import 'package:meta/meta.dart';
class A {
@@ -199,7 +199,7 @@
void a(){ }
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
class B extends A {
void b() => new A().a();
@@ -211,7 +211,7 @@
}
test_protectedAndForTemplate_usedAsTemplate() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
import 'package:meta/meta.dart';
class A {
@@ -220,7 +220,7 @@
void a(){ }
}
''');
- newFile('$testPackageLibPath/lib1.template.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.template.dart', r'''
import 'lib1.dart';
void main() {
new A().a();
@@ -232,13 +232,13 @@
}
test_topLevelFunction() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
@visibleForTemplate
int fn0() => 1;
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
@@ -253,12 +253,12 @@
}
test_topLevelVariable() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
@visibleForTemplate
int a = 7;
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
@@ -273,7 +273,7 @@
}
test_unnamedConstructor() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:angular_meta/angular_meta.dart';
class A {
int _x;
@@ -282,7 +282,7 @@
A(this._x);
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
diff --git a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart
index 530f0ae..c4ef484 100644
--- a/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/invalid_use_of_visible_for_testing_member_test.dart
@@ -26,7 +26,7 @@
}
test_export_hide() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
@visibleForTesting
@@ -35,7 +35,7 @@
class B {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart' hide A;
''');
@@ -44,7 +44,7 @@
}
test_export_show() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
@visibleForTesting
@@ -53,7 +53,7 @@
class B {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
export 'a.dart' show A;
''');
@@ -62,14 +62,14 @@
}
test_fromIntegrationTestDirectory() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('$testPackageRootPath/integration_test/test.dart', content: r'''
+ newFile2('$testPackageRootPath/integration_test/test.dart', r'''
import '../lib1.dart';
class B {
void b() => new A().a();
@@ -81,14 +81,14 @@
}
test_fromTestDirectory() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('$testPackageRootPath/test/test.dart', content: r'''
+ newFile2('$testPackageRootPath/test/test.dart', r'''
import '../lib1.dart';
class B {
void b() => new A().a();
@@ -100,14 +100,14 @@
}
test_fromTestDriverDirectory() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('$testPackageRootPath/test_driver/test.dart', content: r'''
+ newFile2('$testPackageRootPath/test_driver/test.dart', r'''
import '../lib1.dart';
class B {
void b() => new A().a();
@@ -119,14 +119,14 @@
}
test_fromTestingDirectory() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('$testPackageRootPath/testing/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/testing/lib1.dart', r'''
import '../lib1.dart';
class C {
void b() => new A().a();
@@ -138,14 +138,14 @@
}
test_functionInExtension() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
extension E on List {
@visibleForTesting
int m() => 1;
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
E([]).m();
@@ -159,14 +159,14 @@
}
test_functionInExtension_fromTestDirectory() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
extension E on List {
@visibleForTesting
int m() => 1;
}
''');
- newFile('$testPackageRootPath/test/test.dart', content: r'''
+ newFile2('$testPackageRootPath/test/test.dart', r'''
import '../lib1.dart';
void main() {
E([]).m();
@@ -178,14 +178,14 @@
}
test_getter() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
int get a => 7;
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
new A().a;
@@ -199,7 +199,7 @@
}
test_import_hide() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
@visibleForTesting
@@ -208,7 +208,7 @@
class B {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart' hide A;
void f(B _) {}
@@ -219,7 +219,7 @@
}
test_import_show() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
@visibleForTesting
@@ -228,7 +228,7 @@
class B {}
''');
- newFile('$testPackageLibPath/b.dart', content: r'''
+ newFile2('$testPackageLibPath/b.dart', r'''
import 'a.dart' show A;
void f(A _) {}
@@ -242,14 +242,14 @@
}
test_method() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
void a(){ }
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
class B {
void b() => new A().a();
@@ -263,7 +263,7 @@
}
test_mixin() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
mixin M {
@visibleForTesting
@@ -271,7 +271,7 @@
}
class C with M {}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
C().m();
@@ -285,7 +285,7 @@
}
test_namedConstructor() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
int _x;
@@ -294,7 +294,7 @@
A.forTesting(this._x);
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
new A.forTesting(0);
@@ -311,7 +311,7 @@
}
test_protectedAndForTesting_usedAsProtected() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
@@ -319,7 +319,7 @@
void a(){ }
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
class B extends A {
void b() => new A().a();
@@ -331,7 +331,7 @@
}
test_protectedAndForTesting_usedAsTesting() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@protected
@@ -339,7 +339,7 @@
void a(){ }
}
''');
- newFile('$testPackageRootPath/test/test1.dart', content: r'''
+ newFile2('$testPackageRootPath/test/test1.dart', r'''
import '../lib1.dart';
void main() {
new A().a();
@@ -351,14 +351,14 @@
}
test_setter() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
@visibleForTesting
set b(_) => 7;
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
new A().b = 6;
@@ -372,12 +372,12 @@
}
test_topLevelFunction() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
@visibleForTesting
int fn0() => 1;
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
fn0();
@@ -391,12 +391,12 @@
}
test_topLevelVariable() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
@visibleForTesting
int a = 7;
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
a;
@@ -410,7 +410,7 @@
}
test_unnamedConstructor() async {
- newFile('$testPackageRootPath/lib1.dart', content: r'''
+ newFile2('$testPackageRootPath/lib1.dart', r'''
import 'package:meta/meta.dart';
class A {
int _x;
@@ -419,7 +419,7 @@
A(this._x);
}
''');
- newFile('$testPackageRootPath/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/lib2.dart', r'''
import 'lib1.dart';
void main() {
new A(0);
diff --git a/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart b/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
index e089c34..c6166de 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_required_param_test.dart
@@ -18,7 +18,7 @@
@reflectiveTest
class MissingRequiredParamTest extends PubPackageResolutionTest {
test_constructor_legacy_argumentGiven() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A({required int a});
}
@@ -34,7 +34,7 @@
}
test_constructor_legacy_missingArgument() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A({required int a});
}
@@ -162,7 +162,7 @@
}
test_function_legacy_argumentGiven() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo({required int a}) {}
''');
await assertNoErrorsInCode(r'''
@@ -176,7 +176,7 @@
}
test_function_legacy_missingArgument() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo({required int a}) {}
''');
await assertErrorsInCode(r'''
@@ -216,7 +216,7 @@
}
test_method_inOtherLib() async {
- newFile('$testPackageLibPath/a_lib.dart', content: r'''
+ newFile2('$testPackageLibPath/a_lib.dart', r'''
class A {
void m({required int a}) {}
}
@@ -232,7 +232,7 @@
}
test_method_legacy_argumentGiven() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo({required int a}) {}
}
@@ -248,7 +248,7 @@
}
test_method_legacy_missingArgument() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void foo({required int a}) {}
}
@@ -454,13 +454,13 @@
}
test_method_inOtherLib() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
class A {
void m({@Required('must specify an `a`') int a}) {}
}
''');
- newFile('$testPackageLibPath/test.dart', content: r'''
+ newFile2('$testPackageLibPath/test.dart', r'''
import 'a.dart';
f() {
new A().m();
diff --git a/pkg/analyzer/test/src/diagnostics/missing_return_test.dart b/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
index 4c1104b..be7dce8 100644
--- a/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/missing_return_test.dart
@@ -36,7 +36,7 @@
}
test_function_sync_block_Never() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
Never foo() {
throw 0;
}
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart
index b8a8c67..e45b0bc 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_deferred_class_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class MixinDeferredClassTest extends PubPackageResolutionTest {
test_classTypeAlias() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
''');
@@ -31,7 +31,7 @@
}
test_enum() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {}
''');
await assertErrorsInCode('''
@@ -45,7 +45,7 @@
}
test_mixin_deferred_class() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart
index 2ba1557..d2fd8ed 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_inference_no_possible_substitution_test.dart
@@ -22,7 +22,7 @@
class MixinInferenceNoPossibleSubstitutionTest extends PubPackageResolutionTest
with MixinInferenceNoPossibleSubstitutionTestCases {
test_valid_nonNullableMixins_legacyApplication() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {}
mixin B<T> on A<T> {}
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart
index beb970a..20036a2 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_of_non_class_test.dart
@@ -125,7 +125,7 @@
}
test_undefined_ignore_part_exists_uriGenerated_nameIgnorable() async {
- newFile('$testPackageLibPath/a.g.dart', content: r'''
+ newFile2('$testPackageLibPath/a.g.dart', r'''
part of 'test.dart';
''');
diff --git a/pkg/analyzer/test/src/diagnostics/mixin_on_sealed_class_test.dart b/pkg/analyzer/test/src/diagnostics/mixin_on_sealed_class_test.dart
index c12044a..e03b2cd 100644
--- a/pkg/analyzer/test/src/diagnostics/mixin_on_sealed_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/mixin_on_sealed_class_test.dart
@@ -28,7 +28,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -50,12 +50,12 @@
}
test_withinPackageLibDirectory_OK() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
- newFile('$testPackageLibPath/src/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/src/lib2.dart', r'''
import '../lib1.dart';
mixin Bar on Foo {}
''');
@@ -68,12 +68,12 @@
}
test_withinPackageTestDirectory_OK() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
- newFile('$testPackageRootPath/test/lib2.dart', content: r'''
+ newFile2('$testPackageRootPath/test/lib2.dart', r'''
import 'package:test/lib1.dart';
mixin Bar on Foo {}
''');
@@ -86,13 +86,13 @@
}
test_withinPart_OK() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
import 'package:meta/meta.dart';
part 'part1.dart';
@sealed class Foo {}
''');
- newFile('$testPackageLibPath/part1.dart', content: r'''
+ newFile2('$testPackageLibPath/part1.dart', r'''
part of 'lib1.dart';
mixin Bar on Foo {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart b/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart
index 6cf08fb..9fccc5a 100644
--- a/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/new_with_non_type_test.dart
@@ -28,7 +28,7 @@
}
test_imported() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class B {}
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart
index 4a7c777..e059e0f 100644
--- a/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/new_with_undefined_constructor_test.dart
@@ -49,7 +49,7 @@
}
test_default_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {
A.name() {}
}
@@ -127,7 +127,7 @@
}
test_named_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {
A() {}
}
@@ -144,7 +144,7 @@
}
test_private_named() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A._named() {}
}
@@ -160,7 +160,7 @@
}
test_private_named_genericClass_noTypeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A._named() {}
}
@@ -176,7 +176,7 @@
}
test_private_named_genericClass_withTypeArguments() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A._named() {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart b/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
index 1d80a8d..7a8ae3f 100644
--- a/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/no_default_super_constructor_test.dart
@@ -80,7 +80,7 @@
}
test_super_requiredNamed_legacySubclass_explicitConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A({required String s});
}
@@ -96,7 +96,7 @@
}
test_super_requiredNamed_legacySubclass_implicitConstructor() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A({required String s});
}O
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart
index 9c6dd7a..be174947 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_case_expression_from_deferred_library_test.dart
@@ -17,7 +17,7 @@
class NonConstantCaseExpressionFromDeferredLibraryTest
extends PubPackageResolutionTest {
test_nested() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
const int c = 0;
''');
@@ -40,7 +40,7 @@
}
test_simple() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
const int c = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart
index bde3524..e0c8d12 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_from_deferred_library_test.dart
@@ -17,7 +17,7 @@
class NonConstantDefaultValueFromDeferredLibraryTest
extends PubPackageResolutionTest {
test_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const V = 1;
''');
@@ -34,7 +34,7 @@
}
test_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
const V = 1;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart
index 69fcfac..66cd709 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_default_value_test.dart
@@ -62,7 +62,7 @@
}
test_constructor_inDifferentFile() async {
- newFile('/test/lib/a.dart', content: '''
+ newFile2('/test/lib/a.dart', '''
import 'b.dart';
const v = const MyClass();
''');
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart
index 080f941..304ab6d 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_list_element_from_deferred_library_test.dart
@@ -23,7 +23,7 @@
@failingTest
test_const_ifElement_thenTrue_deferredElse() async {
// reports wrong error code (which is not crucial to fix)
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -38,7 +38,7 @@
}
test_const_ifElement_thenTrue_deferredThen() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -53,7 +53,7 @@
}
test_const_topLevel_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -67,7 +67,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart
index cc4d444..0ca45d8 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_key_from_deferred_library_test.dart
@@ -22,7 +22,7 @@
@failingTest
test_const_ifElement_thenTrue_deferredElse() async {
// reports wrong error code
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -35,7 +35,7 @@
}
test_const_ifElement_thenTrue_deferredThen() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -48,7 +48,7 @@
}
test_const_topLevel_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -60,7 +60,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart
index aec5701..5cc04b3 100644
--- a/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_constant_map_value_from_deferred_library_test.dart
@@ -23,7 +23,7 @@
@failingTest
test_const_ifElement_thenTrue_elseDeferred() async {
// reports wrong error code
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -36,7 +36,7 @@
}
test_const_ifElement_thenTrue_thenDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -49,7 +49,7 @@
}
test_const_topLevel_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -61,7 +61,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart b/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
index 42aa615..3bc5532 100644
--- a/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/non_null_opt_out_test.dart
@@ -24,7 +24,7 @@
}
test_assignment_indexExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void operator[]=(int a, int b) {}
}
@@ -53,7 +53,7 @@
}
test_assignment_prefixedIdentifier_instanceTarget_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo = 0;
}
@@ -81,7 +81,7 @@
}
test_assignment_prefixedIdentifier_instanceTarget_extension_setter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
void set foo(int _) {}
@@ -110,7 +110,7 @@
}
test_assignment_prefixedIdentifier_staticTarget_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int foo = 0;
}
@@ -138,7 +138,7 @@
}
test_assignment_prefixedIdentifier_staticTarget_extension_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on int {
static int foo = 0;
}
@@ -166,7 +166,7 @@
}
test_assignment_prefixedIdentifier_topLevelVariable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -192,7 +192,7 @@
}
test_assignment_propertyAccess_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo = 0;
}
@@ -220,7 +220,7 @@
}
test_assignment_propertyAccess_extension_setter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
void set foo(int a) {}
@@ -249,7 +249,7 @@
}
test_assignment_propertyAccess_extensionOverride_setter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
void set foo(int a) {}
@@ -278,7 +278,7 @@
}
test_assignment_propertyAccess_superTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo = 0;
}
@@ -308,7 +308,7 @@
}
test_assignment_simpleIdentifier_topLevelVariable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -334,7 +334,7 @@
}
test_binaryExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int operator+(int a) => 0;
}
@@ -356,7 +356,7 @@
}
test_functionExpressionInvocation() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int Function(int, int?)? foo;
''');
await assertNoErrorsInCode(r'''
@@ -379,7 +379,7 @@
}
test_functionExpressionInvocation_call() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int call(int a, int? b) => 0;
}
@@ -404,7 +404,7 @@
}
test_functionExpressionInvocation_extension_staticTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on int {
static int Function(int) get foo => (_) => 0;
}
@@ -429,7 +429,7 @@
}
test_instanceCreation() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A(int a, int? b);
}
@@ -452,7 +452,7 @@
}
test_instanceCreation_generic() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T> {
A(T a, T? b);
}
@@ -476,7 +476,7 @@
}
test_instanceCreation_generic_instantiateToBounds() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<T extends num> {}
''');
await assertNoErrorsInCode(r'''
@@ -491,7 +491,7 @@
}
test_methodInvocation_extension_functionTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on void Function() {
int foo(int a) => 0;
}
@@ -516,7 +516,7 @@
}
test_methodInvocation_extension_interfaceTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on int {
int foo(int a) => 0;
}
@@ -541,7 +541,7 @@
}
test_methodInvocation_extension_nullTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
int foo(int a) => 0;
@@ -569,7 +569,7 @@
}
test_methodInvocation_extension_staticTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on int {
static int foo(int a) => 0;
}
@@ -594,7 +594,7 @@
}
test_methodInvocation_extensionOverride() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E on int {
int foo(int a) => 0;
}
@@ -619,7 +619,7 @@
}
test_methodInvocation_function() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int foo(int a, int? b) => 0;
''');
await assertNoErrorsInCode(r'''
@@ -642,7 +642,7 @@
}
test_methodInvocation_function_prefixed() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int foo(int a, int? b) => 0;
''');
await assertNoErrorsInCode(r'''
@@ -665,7 +665,7 @@
}
test_methodInvocation_method_cascade() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -690,7 +690,7 @@
}
test_methodInvocation_method_interfaceTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -715,7 +715,7 @@
}
test_methodInvocation_method_nullTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -742,7 +742,7 @@
}
test_methodInvocation_method_staticTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int foo(int a, int? b) => 0;
}
@@ -767,7 +767,7 @@
}
test_methodInvocation_method_superTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a, int? b) => 0;
}
@@ -821,7 +821,7 @@
}
test_postfixExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A operator+(int a) => this;
}
@@ -842,7 +842,7 @@
}
test_prefixExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int operator-() => 0;
}
@@ -863,7 +863,7 @@
}
test_read_indexExpression_class() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int operator[](int a) => 0;
}
@@ -884,7 +884,7 @@
}
test_read_prefixedIdentifier_instanceTarget_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo;
}
@@ -908,7 +908,7 @@
}
test_read_prefixedIdentifier_instanceTarget_extension_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
int get foo => 0;
@@ -933,7 +933,7 @@
}
test_read_prefixedIdentifier_staticTarget_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int foo;
}
@@ -957,7 +957,7 @@
}
test_read_prefixedIdentifier_staticTarget_class_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int foo(int a) => 0;
}
@@ -981,7 +981,7 @@
}
test_read_prefixedIdentifier_staticTarget_extension_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E {
static int foo;
}
@@ -1005,7 +1005,7 @@
}
test_read_prefixedIdentifier_staticTarget_extension_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E {
static int foo(int a) => 0;
}
@@ -1029,7 +1029,7 @@
}
test_read_prefixedIdentifier_topLevelVariable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -1051,7 +1051,7 @@
}
test_read_propertyAccessor_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo = 0;
}
@@ -1075,7 +1075,7 @@
}
test_read_propertyAccessor_class_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo() => 0;
}
@@ -1099,7 +1099,7 @@
}
test_read_propertyAccessor_extensionOverride_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
int get foo => 0;
@@ -1124,7 +1124,7 @@
}
test_read_propertyAccessor_superTarget() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo = 0;
}
@@ -1150,7 +1150,7 @@
}
test_read_simpleIdentifier_class_field() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo = 0;
}
@@ -1173,7 +1173,7 @@
}
test_read_simpleIdentifier_class_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int foo(int a) => 0;
}
@@ -1196,7 +1196,7 @@
}
test_read_simpleIdentifier_extension_getter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
int get foo => 0;
@@ -1220,7 +1220,7 @@
}
test_read_simpleIdentifier_extension_method() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {}
extension E on A {
int foo(int a) => 0;
@@ -1244,7 +1244,7 @@
}
test_read_simpleIdentifier_topLevelVariable() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int foo = 0;
''');
await assertNoErrorsInCode(r'''
@@ -1263,7 +1263,7 @@
}
test_superConstructorInvocation() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
A(int a, int? b);
}
diff --git a/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart b/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart
index d968410..c992263 100644
--- a/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/not_iterable_spread_test.dart
@@ -108,6 +108,14 @@
error(CompileTimeErrorCode.NOT_ITERABLE_SPREAD, 43, 1),
]);
}
+
+ test_spread_map_in_iterable_context() async {
+ await assertErrorsInCode('''
+List<int> f() => [...{1: 2, 3: 4}];
+''', [
+ error(CompileTimeErrorCode.NOT_ITERABLE_SPREAD, 21, 12),
+ ]);
+ }
}
@reflectiveTest
diff --git a/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart b/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart
index e26ae88..2aa3af9 100644
--- a/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/part_of_different_library_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PartOfDifferentLibraryTest extends PubPackageResolutionTest {
test_name() async {
- newFile('$testPackageLibPath/part.dart', content: "part of lub;");
+ newFile2('$testPackageLibPath/part.dart', "part of lub;");
await assertErrorsInCode('''
library lib;
part 'part.dart';
diff --git a/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart b/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart
index a03e62c..9f69cdc 100644
--- a/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/part_of_non_part_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PartOfNonPartTest extends PubPackageResolutionTest {
test_part_of_non_part() async {
- newFile('$testPackageLibPath/l2.dart', content: '''
+ newFile2('$testPackageLibPath/l2.dart', '''
library l2;
''');
await assertErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart b/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart
index 55ef355..855cc07 100644
--- a/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/prefix_collides_with_top_level_member_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PrefixCollidesWithTopLevelMemberTest extends PubPackageResolutionTest {
test_functionTypeAlias() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
class A{}
''');
@@ -30,7 +30,7 @@
}
test_no_collision() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
class A {}''');
await assertNoErrorsInCode(r'''
@@ -44,7 +44,7 @@
}
test_topLevelFunction() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
class A{}
''');
@@ -58,7 +58,7 @@
}
test_topLevelVariable() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
class A{}
''');
@@ -72,7 +72,7 @@
}
test_type() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
class A{}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart b/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart
index 1979034..3ae3ccc 100644
--- a/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/prefix_identifier_not_followed_by_dot_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PrefixIdentifierNotFollowedByDotTest extends PubPackageResolutionTest {
test_assignment_compound_in_method() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -32,7 +32,7 @@
}
test_assignment_compound_not_in_method() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -46,7 +46,7 @@
}
test_assignment_in_method() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -81,7 +81,7 @@
}
test_assignment_not_in_method() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -95,7 +95,7 @@
}
test_compoundAssignment() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -109,7 +109,7 @@
}
test_conditionalMethodInvocation() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
g() {}
''');
@@ -124,7 +124,7 @@
}
test_conditionalPropertyAccess_call_loadLibrary() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -139,7 +139,7 @@
}
test_conditionalPropertyAccess_get() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
var x;
''');
@@ -154,7 +154,7 @@
}
test_conditionalPropertyAccess_get_loadLibrary() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -168,7 +168,7 @@
}
test_conditionalPropertyAccess_set() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
var x;
''');
@@ -183,7 +183,7 @@
}
test_conditionalPropertyAccess_set_loadLibrary() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
@@ -197,7 +197,7 @@
}
test_prefix_not_followed_by_dot() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart b/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart
index 60dea5a..53a4ceb 100644
--- a/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/private_collision_in_mixin_application_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PrivateCollisionInMixinApplicationTest extends PubPackageResolutionTest {
test_class_interfaceAndMixin_same() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -31,7 +31,7 @@
}
test_class_mixinAndMixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -51,7 +51,7 @@
}
test_class_mixinAndMixin_indirect() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -72,7 +72,7 @@
}
test_class_mixinAndMixin_withoutExtends() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -92,7 +92,7 @@
}
test_class_staticAndInstanceElement() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static void _foo() {}
}
@@ -110,7 +110,7 @@
}
test_class_staticElements() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static void _foo() {}
}
@@ -128,7 +128,7 @@
}
test_class_superclassAndMixin_getter2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
int get _foo => 0;
}
@@ -148,7 +148,7 @@
}
test_class_superclassAndMixin_method2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -185,7 +185,7 @@
}
test_class_superclassAndMixin_setter2() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
set _foo(int _) {}
}
@@ -205,7 +205,7 @@
}
test_classTypeAlias_mixinAndMixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -225,7 +225,7 @@
}
test_classTypeAlias_mixinAndMixin_indirect() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -246,7 +246,7 @@
}
test_classTypeAlias_superclassAndMixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void _foo() {}
}
@@ -266,7 +266,7 @@
}
test_enum_getter_mixinAndMixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
mixin A {
int get _foo => 0;
}
@@ -288,7 +288,7 @@
}
test_enum_method_interfaceAndMixin_same() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
mixin A {
void _foo() {}
}
@@ -305,7 +305,7 @@
}
test_enum_method_mixinAndMixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
mixin A {
void _foo() {}
}
@@ -327,7 +327,7 @@
}
test_enum_method_staticAndInstanceElement() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
mixin A {
static void _foo() {}
}
@@ -347,7 +347,7 @@
}
test_enum_setter_mixinAndMixin() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
mixin A {
set _foo(int _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/private_setter_test.dart b/pkg/analyzer/test/src/diagnostics/private_setter_test.dart
index 2768242..1ab1e89 100644
--- a/pkg/analyzer/test/src/diagnostics/private_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/private_setter_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class PrivateSetterTest extends PubPackageResolutionTest {
test_typeLiteral_privateField_differentLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static int _foo = 0;
}
@@ -58,7 +58,7 @@
}
test_typeLiteral_privateSetter_differentLibrary_hasGetter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static set _foo(int _) {}
@@ -89,7 +89,7 @@
}
test_typeLiteral_privateSetter_differentLibrary_noGetter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
static set _foo(int _) {}
}
diff --git a/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart b/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart
index e65cbff..6ce6a7e 100644
--- a/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/recursive_compile_time_constant_test.dart
@@ -73,9 +73,9 @@
}
test_fromMapLiteral() async {
- newFile(
+ newFile2(
'$testPackageLibPath/constants.dart',
- content: r'''
+ r'''
const int x = y;
const int y = x;
''',
diff --git a/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart
index 1a11708..3b54f2e 100644
--- a/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/return_of_invalid_type_test.dart
@@ -546,6 +546,14 @@
error(CompileTimeErrorCode.RETURN_OF_INVALID_TYPE_FROM_METHOD, 23, 3),
]);
}
+
+ test_spread_iterable_in_map_context() async {
+ await assertErrorsInCode('''
+Map<int, int> f() => {...[1, 2, 3, 4]};
+''', [
+ error(CompileTimeErrorCode.RETURN_OF_INVALID_TYPE_FROM_FUNCTION, 21, 17),
+ ]);
+ }
}
@reflectiveTest
diff --git a/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart b/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart
index 47c4e1a..aa0b7e5 100644
--- a/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/sdk_version_async_exported_from_core_test.dart
@@ -32,7 +32,7 @@
}
test_equals_explicitImportOfExportingLibrary() async {
- newFile('$testPackageLibPath/exporter.dart', content: '''
+ newFile2('$testPackageLibPath/exporter.dart', '''
export 'dart:async';
''');
await verifyVersion('2.1.0', '''
@@ -49,7 +49,7 @@
}
test_equals_implicitImportOfCore_inPart() async {
- newFile('/lib.dart', content: '''
+ newFile2('/lib.dart', '''
library lib;
''');
await verifyVersion('2.1.0', '''
@@ -78,7 +78,7 @@
}
test_lessThan_explicitImportOfExportingLibrary() async {
- newFile('$testPackageLibPath/exporter.dart', content: '''
+ newFile2('$testPackageLibPath/exporter.dart', '''
export 'dart:async';
''');
await verifyVersion('2.0.0', '''
@@ -97,7 +97,7 @@
}
test_lessThan_implicitImportOfCore_inPart() async {
- newFile('/lib.dart', content: '''
+ newFile2('/lib.dart', '''
library lib;
''');
await verifyVersion('2.0.0', '''
diff --git a/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart
index e5e1fd7..3aade1c 100644
--- a/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/set_element_from_deferred_library_test.dart
@@ -21,7 +21,7 @@
@failingTest
test_const_ifElement_thenTrue_elseDeferred() async {
// reports wrong error code
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -33,7 +33,7 @@
}
test_const_ifElement_thenTrue_thenDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -45,7 +45,7 @@
}
test_const_topLevel_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -56,7 +56,7 @@
}
test_const_topLevel_deferred_nested() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int c = 1;''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
diff --git a/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart b/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart
index 9574bc5..fbf12c2 100644
--- a/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/shared_deferred_prefix_test.dart
@@ -16,11 +16,11 @@
@reflectiveTest
class SharedDeferredPrefixTest extends PubPackageResolutionTest {
test_hasSharedDeferredPrefix() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
f1() {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
library lib2;
f2() {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart b/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart
index cf83fc1..69b8519 100644
--- a/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/spread_expression_from_deferred_library_test.dart
@@ -19,7 +19,7 @@
mixin SpreadExpressionFromDeferredLibraryTestCases on PubPackageResolutionTest {
test_inList_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const List c = [];''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -32,7 +32,7 @@
}
test_inList_deferred_notConst() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const List c = [];''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -42,7 +42,7 @@
}
test_inList_notDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const List c = [];''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' as a;
@@ -52,7 +52,7 @@
}
test_inMap_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const Map c = <int, int>{};''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -65,7 +65,7 @@
}
test_inMap_notConst() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const Map c = <int, int>{};''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -75,7 +75,7 @@
}
test_inMap_notDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const Map c = <int, int>{};''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' as a;
@@ -85,7 +85,7 @@
}
test_inSet_deferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const Set c = <int>{};''');
await assertErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -98,7 +98,7 @@
}
test_inSet_notConst() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const Set c = <int>{};''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' deferred as a;
@@ -108,7 +108,7 @@
}
test_inSet_notDeferred() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const Set c = <int>{};''');
await assertNoErrorsInCode(r'''
import 'lib1.dart' as a;
diff --git a/pkg/analyzer/test/src/diagnostics/subtype_of_sealed_class_test.dart b/pkg/analyzer/test/src/diagnostics/subtype_of_sealed_class_test.dart
index 9322aa2..c58a45c 100644
--- a/pkg/analyzer/test/src/diagnostics/subtype_of_sealed_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/subtype_of_sealed_class_test.dart
@@ -28,7 +28,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -48,7 +48,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -68,7 +68,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -89,7 +89,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed mixin Foo {}
''');
@@ -110,7 +110,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed mixin Foo {}
''');
@@ -130,7 +130,7 @@
meta: true,
);
- newFile('$workspaceRootPath/foo/lib/foo.dart', content: r'''
+ newFile2('$workspaceRootPath/foo/lib/foo.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -156,7 +156,7 @@
}
test_withinPackageLibDirectory_OK() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -172,7 +172,7 @@
}
test_withinPackageTestDirectory_OK() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'package:meta/meta.dart';
@sealed class Foo {}
''');
@@ -192,13 +192,13 @@
var libPath = '$testPackageLibPath/a.dart';
var partPath = '$testPackageLibPath/b.dart';
- newFile(libPath, content: r'''
+ newFile2(libPath, r'''
import 'package:meta/meta.dart';
part 'b.dart';
@sealed class Foo {}
''');
- newFile(partPath, content: r'''
+ newFile2(partPath, r'''
part of 'a.dart';
class Bar1 extends Foo {}
class Bar2 implements Foo {}
diff --git a/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart b/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart
index 0d24687..e48f5fe 100644
--- a/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/subtype_of_struct_class_test.dart
@@ -75,7 +75,7 @@
}
test_implements_struct_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
import 'dart:ffi';
class S extends Struct {}
''');
@@ -116,7 +116,7 @@
}
test_with_struct_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
import 'dart:ffi';
class S extends Struct {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart b/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
index 3cbef8b..6acba98 100644
--- a/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/throw_of_invalid_type_test.dart
@@ -24,7 +24,7 @@
}
test_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
int a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart b/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
index 3a78473..93c3e4e 100644
--- a/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/top_level_instance_getter_test.dart
@@ -47,7 +47,7 @@
}
test_field_imported() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A {
int f = 0;
}
@@ -293,7 +293,7 @@
}
test_implicitlyTyped_new_explicit_type_params_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class B<T> {
B(x);
}
@@ -352,7 +352,7 @@
}
test_implicitlyTyped_new_not_generic_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class B {
B(x);
}
@@ -369,7 +369,7 @@
}
test_implicitlyTyped_new_prefixed() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class B<T> {
B(T x);
}
diff --git a/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart b/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart
index b432e45..d46f4ea 100644
--- a/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_annotation_deferred_class_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class TypeAnnotationDeferredClassTest extends PubPackageResolutionTest {
test_annotation_typeArgument() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class D {}
''');
await assertErrorsInCode('''
@@ -31,7 +31,7 @@
}
test_asExpression() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -45,7 +45,7 @@
}
test_catchClause() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -61,7 +61,7 @@
}
test_fieldFormalParameter() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -76,7 +76,7 @@
}
test_functionDeclaration_returnType() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -89,7 +89,7 @@
}
test_functionTypedFormalParameter_returnType() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -101,7 +101,7 @@
}
test_isExpression() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -116,7 +116,7 @@
}
test_methodDeclaration_returnType() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -130,7 +130,7 @@
}
test_simpleFormalParameter() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -142,7 +142,7 @@
}
test_typeArgumentList() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -156,7 +156,7 @@
}
test_typeArgumentList2() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -171,7 +171,7 @@
}
test_typeParameter_bound() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
@@ -183,7 +183,7 @@
}
test_variableDeclarationList() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
library lib1;
class A {}''');
await assertErrorsInCode('''
diff --git a/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart b/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart
index a4c3dd6..3f52554 100644
--- a/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/type_argument_not_matching_bounds_test.dart
@@ -49,7 +49,7 @@
}
test_extends_optIn_fromOptOut_Null() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<X extends int> {}
''');
@@ -62,7 +62,7 @@
}
test_extends_optIn_fromOptOut_otherTypeParameter() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo<T extends U, U>() {
}
''');
@@ -81,7 +81,7 @@
}
test_extensionOverride_optIn_fromOptOut_Null() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
extension E<X extends int> on List<X> {
void m() {}
}
@@ -146,7 +146,7 @@
}
test_instanceCreation_optIn_fromOptOut_Null() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A<X extends int> {}
''');
@@ -222,7 +222,7 @@
}
test_methodInvocation_optIn_fromOptOut_Null() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class A {
void m<X extends int>() {}
''');
@@ -340,7 +340,7 @@
}
test_redirectingConstructor_optIn_fromOptOut_Null() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'test.dart';
class A<X extends int> implements B {}
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart
index 8c78d5c..49bc006 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_class_test.dart
@@ -67,7 +67,7 @@
}
test_ignore_part_exists_uriGenerated_nameIgnorable() async {
- newFile('$testPackageLibPath/a.g.dart', content: r'''
+ newFile2('$testPackageLibPath/a.g.dart', r'''
part of 'test.dart';
''');
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart
index cf1eba2..52e9002 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_hidden_name_test.dart
@@ -20,7 +20,7 @@
mixin UndefinedHiddenNameTestCases on PubPackageResolutionTest {
test_export() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertErrorsInCode(r'''
export 'lib1.dart' hide a;
''', [
@@ -29,7 +29,7 @@
}
test_import() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertErrorsInCode(r'''
import 'lib1.dart' hide a;
''', [
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
index c484dd0..89d58bb 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_identifier_test.dart
@@ -371,7 +371,7 @@
}
test_private_getter() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
class A {
var _foo;
@@ -389,7 +389,7 @@
}
test_private_setter() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
library lib;
class A {
var _foo;
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
index 9c11a5e..bc446a2 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_method_test.dart
@@ -38,7 +38,7 @@
}
test_definedInPrivateExtension() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class B {}
extension _ on B {
@@ -57,7 +57,7 @@
}
test_definedInUnnamedExtension() async {
- newFile('$testPackageLibPath/lib.dart', content: '''
+ newFile2('$testPackageLibPath/lib.dart', '''
class C {}
extension on C {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart
index e9c6092..8cb6a74 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_prefixed_name_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class UndefinedPrefixedNameTest extends PubPackageResolutionTest {
test_getterContext() async {
- newFile('$testPackageLibPath/lib.dart');
+ newFile2('$testPackageLibPath/lib.dart', '');
await assertErrorsInCode('''
import 'lib.dart' as p;
f() => p.c;
@@ -26,7 +26,7 @@
}
test_new() async {
- newFile('$testPackageLibPath/lib.dart', content: '');
+ newFile2('$testPackageLibPath/lib.dart', '');
await assertErrorsInCode(r'''
import 'lib.dart' as p;
void f() {
@@ -38,7 +38,7 @@
}
test_setterContext() async {
- newFile('$testPackageLibPath/lib.dart');
+ newFile2('$testPackageLibPath/lib.dart', '');
await assertErrorsInCode('''
import 'lib.dart' as p;
f() {
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
index df6bcf4..0aedd03 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_setter_test.dart
@@ -151,7 +151,7 @@
mixin UndefinedSetterTestCases on PubPackageResolutionTest {
test_importWithPrefix_defined() async {
- newFile('$testPackageLibPath/lib.dart', content: r'''
+ newFile2('$testPackageLibPath/lib.dart', r'''
library lib;
set y(int value) {}''');
await assertNoErrorsInCode(r'''
diff --git a/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart b/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart
index f486367..5839381 100644
--- a/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/undefined_shown_name_test.dart
@@ -20,7 +20,7 @@
mixin UndefinedShownNameTestCases on PubPackageResolutionTest {
test_export() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertErrorsInCode(r'''
export 'lib1.dart' show a;
''', [
@@ -29,7 +29,7 @@
}
test_import() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertErrorsInCode(r'''
import 'lib1.dart' show a;
''', [
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart
index 0735628..443694b 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_cast_test.dart
@@ -221,7 +221,7 @@
class UnnecessaryCastTestWithNullSafety extends PubPackageResolutionTest
with UnnecessaryCastTestCases {
test_interfaceType_star_toNone() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
int a = 0;
''');
@@ -240,7 +240,7 @@
}
test_interfaceType_star_toQuestion() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.7
int a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_import_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_import_test.dart
index 431f22d..7f08baa 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_import_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class UnnecessaryImportTest extends PubPackageResolutionTest {
test_annotationOnDirective() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {
const A() {}
}
@@ -28,10 +28,10 @@
}
test_as() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
export 'lib1.dart';
class B {}
''');
@@ -43,10 +43,10 @@
}
test_as_differentPrefixes() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
export 'lib1.dart';
class B {}
''');
@@ -58,10 +58,10 @@
}
test_as_equalPrefixes_referenced() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class B {}
''');
await assertNoErrorsInCode(r'''
@@ -72,13 +72,13 @@
}
test_as_equalPrefixes_referenced_via_export() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class B {}
''');
- newFile('$testPackageLibPath/lib3.dart', content: r'''
+ newFile2('$testPackageLibPath/lib3.dart', r'''
export 'lib2.dart';
''');
await assertNoErrorsInCode(r'''
@@ -89,10 +89,10 @@
}
test_as_equalPrefixes_unreferenced() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class B {}
''');
await assertNoErrorsInCode(r'''
@@ -103,7 +103,7 @@
}
test_as_show_multipleElements() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
@@ -114,7 +114,7 @@
}
test_as_showTopLevelFunction() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class One {}
topLevelFunction() {}
''');
@@ -128,7 +128,7 @@
}
test_as_showTopLevelFunction_multipleDirectives() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class One {}
topLevelFunction() {}
''');
@@ -144,7 +144,7 @@
}
test_as_systemShadowing() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class File {}
''');
await assertNoErrorsInCode('''
@@ -155,10 +155,10 @@
}
test_as_unnecessary() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
export 'lib1.dart';
class B {}
''');
@@ -172,7 +172,7 @@
}
test_duplicteImport_differentPrefix() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
class B {}
''');
@@ -184,10 +184,10 @@
}
test_hide() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
export 'lib1.dart' hide A;
class B {}
''');
@@ -199,7 +199,7 @@
}
test_systemShadowing() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class File {}
''');
await assertNoErrorsInCode('''
@@ -210,10 +210,10 @@
}
test_unnecessaryImport() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
export 'lib1.dart';
class B {}
''');
@@ -227,10 +227,10 @@
}
test_unnecessaryImport_sameUri() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: '''
+ newFile2('$testPackageLibPath/lib2.dart', '''
export 'lib1.dart';
class B {}
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
index 5114424..dd5dc92 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_non_null_assertion_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class UnnecessaryNonNullAssertionTest extends PubPackageResolutionTest {
test_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var x = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart b/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
index 33b4b6a..05e6462 100644
--- a/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unnecessary_null_comparison_test.dart
@@ -28,7 +28,7 @@
}
test_equal_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var a = 0;
''');
@@ -91,7 +91,7 @@
}
test_notEqual_legacy() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
// @dart = 2.5
var a = 0;
''');
diff --git a/pkg/analyzer/test/src/diagnostics/unused_import_test.dart b/pkg/analyzer/test/src/diagnostics/unused_import_test.dart
index 8cce111..3279925 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_import_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_import_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class UnusedImportTest extends PubPackageResolutionTest {
test_annotationOnDirective() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {
const A() {}
}
@@ -28,7 +28,7 @@
}
test_as() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
await assertErrorsInCode(r'''
@@ -41,10 +41,10 @@
}
test_as_equalPrefixes_referenced() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class B {}
''');
await assertNoErrorsInCode(r'''
@@ -56,13 +56,13 @@
}
test_as_equalPrefixes_referenced_via_export() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class B {}
''');
- newFile('$testPackageLibPath/lib3.dart', content: r'''
+ newFile2('$testPackageLibPath/lib3.dart', r'''
export 'lib2.dart';
''');
await assertNoErrorsInCode(r'''
@@ -74,10 +74,10 @@
}
test_as_equalPrefixes_unreferenced() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class B {}
''');
await assertErrorsInCode(r'''
@@ -90,7 +90,7 @@
}
test_as_show_multipleElements() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
@@ -102,7 +102,7 @@
}
test_as_showTopLevelFunction() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class One {}
topLevelFunction() {}
''');
@@ -121,7 +121,7 @@
}
test_as_showTopLevelFunction_multipleDirectives() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class One {}
topLevelFunction() {}
''');
@@ -139,7 +139,7 @@
}
test_as_systemLibrary() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class File {}
''');
await assertErrorsInCode(r'''
@@ -158,11 +158,11 @@
}
test_export() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
export 'lib2.dart';
class One {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
class Two {}
''');
await assertNoErrorsInCode(r'''
@@ -172,15 +172,15 @@
}
test_export2() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
export 'lib2.dart';
class One {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
export 'lib3.dart';
class Two {}
''');
- newFile('$testPackageLibPath/lib3.dart', content: r'''
+ newFile2('$testPackageLibPath/lib3.dart', r'''
class Three {}
''');
await assertNoErrorsInCode(r'''
@@ -190,15 +190,15 @@
}
test_export_infiniteLoop() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
export 'lib2.dart';
class One {}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
export 'lib3.dart';
class Two {}
''');
- newFile('$testPackageLibPath/lib3.dart', content: r'''
+ newFile2('$testPackageLibPath/lib3.dart', r'''
export 'lib2.dart';
class Three {}
''');
@@ -209,7 +209,7 @@
}
test_extension_instance_call() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on int {
int call(int x) => 0;
}
@@ -224,7 +224,7 @@
}
test_extension_instance_getter() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String get empty => '';
}
@@ -239,7 +239,7 @@
}
test_extension_instance_method() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String empty() => '';
}
@@ -254,7 +254,7 @@
}
test_extension_instance_operator_binary() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String operator -(String s) => this;
}
@@ -269,7 +269,7 @@
}
test_extension_instance_operator_index() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on int {
int operator [](int i) => 0;
}
@@ -284,7 +284,7 @@
}
test_extension_instance_operator_unary() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
void operator -() {}
}
@@ -299,7 +299,7 @@
}
test_extension_instance_setter() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
void set foo(int i) {}
}
@@ -314,7 +314,7 @@
}
test_extension_override_getter() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String get empty => '';
}
@@ -329,7 +329,7 @@
}
test_extension_prefixed_isUsed() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String empty() => '';
}
@@ -344,7 +344,7 @@
}
test_extension_prefixed_notUsed() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String empty() => '';
}
@@ -357,7 +357,7 @@
}
test_extension_static_field() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
static const String empty = '';
}
@@ -372,7 +372,7 @@
}
test_hide() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
''');
await assertErrorsInCode(r'''
@@ -392,7 +392,7 @@
}
test_metadata() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const x = 0;
''');
await assertNoErrorsInCode(r'''
@@ -406,12 +406,12 @@
}
test_multipleExtensions() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String a() => '';
}
''');
- newFile('$testPackageLibPath/lib2.dart', content: r'''
+ newFile2('$testPackageLibPath/lib2.dart', r'''
extension E on String {
String b() => '';
}
@@ -429,7 +429,7 @@
}
test_show() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
@@ -443,7 +443,7 @@
}
test_systemLibrary() async {
- newFile('$testPackageLibPath/lib1.dart', content: '''
+ newFile2('$testPackageLibPath/lib1.dart', '''
class File {}
''');
await assertErrorsInCode(r'''
@@ -456,7 +456,7 @@
}
test_unusedImport() async {
- newFile('$testPackageLibPath/lib1.dart');
+ newFile2('$testPackageLibPath/lib1.dart', '');
await assertErrorsInCode(r'''
import 'lib1.dart';
''', [
diff --git a/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart b/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart
index 2f968cd..3f0c9a4 100644
--- a/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/unused_shown_name_test.dart
@@ -16,7 +16,7 @@
@reflectiveTest
class UnusedShownNameTest extends PubPackageResolutionTest {
test_extension_instance_method_unused() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String empty() => '';
}
@@ -34,7 +34,7 @@
}
test_extension_instance_method_used() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
extension E on String {
String empty() => '';
}
@@ -49,7 +49,7 @@
}
test_referenced_prefixed_assignmentExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var a = 0;
''');
@@ -63,7 +63,7 @@
}
test_referenced_prefixed_postfixExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var a = 0;
''');
@@ -77,7 +77,7 @@
}
test_referenced_prefixed_prefixExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var a = 0;
''');
@@ -91,7 +91,7 @@
}
test_referenced_unprefixed_assignmentExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var a = 0;
''');
@@ -105,7 +105,7 @@
}
test_referenced_unprefixed_postfixExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var a = 0;
''');
@@ -119,7 +119,7 @@
}
test_referenced_unprefixed_prefixExpression() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
var a = 0;
''');
@@ -133,7 +133,7 @@
}
test_unreferenced() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
@@ -157,7 +157,7 @@
}
test_unusedShownName_as() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
''');
@@ -170,7 +170,7 @@
}
test_unusedShownName_duplicates() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
class A {}
class B {}
class C {}
@@ -188,7 +188,7 @@
}
test_unusedShownName_topLevelVariable() async {
- newFile('$testPackageLibPath/lib1.dart', content: r'''
+ newFile2('$testPackageLibPath/lib1.dart', r'''
const int var1 = 1;
const int var2 = 2;
const int var3 = 3;
diff --git a/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart b/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart
index 7fb0b41..b411c0c 100644
--- a/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart
+++ b/pkg/analyzer/test/src/diagnostics/uri_does_not_exist_test.dart
@@ -43,7 +43,7 @@
}
test_import_appears_after_deleting_target() async {
- String filePath = newFile('$testPackageLibPath/target.dart').path;
+ String filePath = newFile2('$testPackageLibPath/target.dart', '').path;
await assertErrorsInCode('''
import 'target.dart';
@@ -72,7 +72,7 @@
error(CompileTimeErrorCode.URI_DOES_NOT_EXIST, 7, 13),
]);
- newFile('$testPackageLibPath/target.dart');
+ newFile2('$testPackageLibPath/target.dart', '');
// Make sure the error goes away.
// TODO(brianwilkerson) The error does not go away, possibly because the
diff --git a/pkg/analyzer/test/src/hint/sdk_constraint_extractor_test.dart b/pkg/analyzer/test/src/hint/sdk_constraint_extractor_test.dart
index 5d90e76..b02ead8 100644
--- a/pkg/analyzer/test/src/hint/sdk_constraint_extractor_test.dart
+++ b/pkg/analyzer/test/src/hint/sdk_constraint_extractor_test.dart
@@ -18,7 +18,7 @@
class SdkConstraintExtractorTest with ResourceProviderMixin {
SdkConstraintExtractor extractorFor(String pubspecContent) {
String pubspecPath = '/pkg/test/pubspec.yaml';
- File pubspecFile = newFile(pubspecPath, content: pubspecContent);
+ File pubspecFile = newFile2(pubspecPath, pubspecContent);
return SdkConstraintExtractor(pubspecFile);
}
diff --git a/pkg/analyzer/test/src/lint/linter/linter_context_impl_test.dart b/pkg/analyzer/test/src/lint/linter/linter_context_impl_test.dart
index 5beaead..6e1f3c9 100644
--- a/pkg/analyzer/test/src/lint/linter/linter_context_impl_test.dart
+++ b/pkg/analyzer/test/src/lint/linter/linter_context_impl_test.dart
@@ -244,7 +244,7 @@
}
void test_true_computeDependencies() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 0;
''');
@@ -285,7 +285,7 @@
void test_true_importedClass_defaultValue() async {
var aPath = convertPath('$testPackageLibPath/a.dart');
- newFile(aPath, content: r'''
+ newFile2(aPath, r'''
class A {
final int a;
const A({int b = 1}) : a = b * 2;
@@ -334,7 +334,7 @@
}
void test_listLiteral_true_computeDependencies() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 0;
''');
@@ -499,7 +499,7 @@
}
test_hasValue_constantReference_imported() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
const a = 42;
''');
await resolve('''
diff --git a/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart b/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart
index 0520a63..37080e4 100644
--- a/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart
+++ b/pkg/analyzer/test/src/lint/linter/resolve_name_in_scope_test.dart
@@ -46,7 +46,7 @@
}
test_class_getter_different_importScope() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
set foo(int _) {}
''');
await resolve('''
@@ -116,7 +116,7 @@
}
test_class_getter_requested_importScope() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
int get foo => 0;
''');
await resolve('''
@@ -276,7 +276,7 @@
}
test_class_method_requested_importScope() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
void foo() {}
''');
await resolve('''
@@ -530,7 +530,7 @@
}
test_class_setter_requested_importScope() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
set foo(int _) {}
''');
await resolve('''
diff --git a/pkg/analyzer/test/src/pubspec/diagnostics/asset_does_not_exist_test.dart b/pkg/analyzer/test/src/pubspec/diagnostics/asset_does_not_exist_test.dart
index 8cd2803..00030c8 100644
--- a/pkg/analyzer/test/src/pubspec/diagnostics/asset_does_not_exist_test.dart
+++ b/pkg/analyzer/test/src/pubspec/diagnostics/asset_does_not_exist_test.dart
@@ -25,7 +25,7 @@
}
test_assetDoesNotExist_path_inRoot_noError() {
- newFile('/sample/assets/my_icon.png');
+ newFile2('/sample/assets/my_icon.png', '');
assertNoErrors('''
name: sample
flutter:
@@ -35,7 +35,7 @@
}
test_assetDoesNotExist_path_inSubdir_noError() {
- newFile('/sample/assets/images/2.0x/my_icon.png');
+ newFile2('/sample/assets/images/2.0x/my_icon.png', '');
assertNoErrors('''
name: sample
flutter:
diff --git a/pkg/analyzer/test/src/pubspec/diagnostics/asset_field_not_list_test.dart b/pkg/analyzer/test/src/pubspec/diagnostics/asset_field_not_list_test.dart
index 89b9c89..d0ca77d 100644
--- a/pkg/analyzer/test/src/pubspec/diagnostics/asset_field_not_list_test.dart
+++ b/pkg/analyzer/test/src/pubspec/diagnostics/asset_field_not_list_test.dart
@@ -32,7 +32,7 @@
}
test_assetFieldNotList_noError() {
- newFile('/sample/assets/my_icon.png');
+ newFile2('/sample/assets/my_icon.png', '');
assertNoErrors('''
name: sample
flutter:
diff --git a/pkg/analyzer/test/src/pubspec/diagnostics/asset_not_string_test.dart b/pkg/analyzer/test/src/pubspec/diagnostics/asset_not_string_test.dart
index dd68fb2..298d360 100644
--- a/pkg/analyzer/test/src/pubspec/diagnostics/asset_not_string_test.dart
+++ b/pkg/analyzer/test/src/pubspec/diagnostics/asset_not_string_test.dart
@@ -36,7 +36,7 @@
}
test_assetNotString_noError() {
- newFile('/sample/assets/my_icon.png');
+ newFile2('/sample/assets/my_icon.png', '');
assertNoErrors('''
name: sample
flutter:
diff --git a/pkg/analyzer/test/src/pubspec/diagnostics/flutter_field_not_map_test.dart b/pkg/analyzer/test/src/pubspec/diagnostics/flutter_field_not_map_test.dart
index 85f587b..09e5955 100644
--- a/pkg/analyzer/test/src/pubspec/diagnostics/flutter_field_not_map_test.dart
+++ b/pkg/analyzer/test/src/pubspec/diagnostics/flutter_field_not_map_test.dart
@@ -36,7 +36,7 @@
}
test_flutterFieldNotMap_noError() {
- newFile('/sample/assets/my_icon.png');
+ newFile2('/sample/assets/my_icon.png', '');
assertNoErrors('''
name: sample
flutter:
diff --git a/pkg/analyzer/test/src/services/available_declarations_test.dart b/pkg/analyzer/test/src/services/available_declarations_test.dart
index 8626c96..ded4f5a 100644
--- a/pkg/analyzer/test/src/services/available_declarations_test.dart
+++ b/pkg/analyzer/test/src/services/available_declarations_test.dart
@@ -66,7 +66,7 @@
buffer.writeln(' - $experiment');
}
}
- newFile(analysisOptionsPath, content: buffer.toString());
+ newFile2(analysisOptionsPath, buffer.toString());
createAnalysisContexts();
}
@@ -99,7 +99,7 @@
) {
newPackageConfigJsonFile(
directoryPath,
- content: config.toContent(
+ config.toContent(
toUriStr: toUriStr,
),
);
@@ -121,7 +121,7 @@
@reflectiveTest
class AvailableDeclarationsTest extends _Base {
test_changesStream_noDuplicates() async {
- newFile('/home/aaa/lib/a.dart', content: 'class A {}');
+ newFile2('/home/aaa/lib/a.dart', 'class A {}');
newPubspecYamlFile('/home/bbb', r'''
dependencies:
@@ -131,7 +131,7 @@
'/home/bbb',
PackageConfigFileBuilder()..add(name: 'aaa', rootPath: '/home/aaa'),
);
- newFile('/home/bbb/lib/b.dart', content: 'class B {}');
+ newFile2('/home/bbb/lib/b.dart', 'class B {}');
newPubspecYamlFile('/home/ccc', r'''
dependencies:
@@ -141,7 +141,7 @@
'/home/ccc',
PackageConfigFileBuilder()..add(name: 'aaa', rootPath: '/home/aaa'),
);
- newFile('/home/ccc/lib/c.dart', content: 'class C {}');
+ newFile2('/home/ccc/lib/c.dart', 'class C {}');
createAnalysisContexts();
@@ -166,7 +166,7 @@
}
test_discardContexts() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class A {}
''');
@@ -189,7 +189,7 @@
}
test_getContext() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
''');
@@ -198,7 +198,7 @@
}
test_getLibrary() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {}
''');
tracker.addContext(testAnalysisContext);
@@ -212,7 +212,7 @@
}
test_getLibrary_export_notExisting() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
export 'b.dart';
class A {}
''');
@@ -231,7 +231,7 @@
convertPath('/home/test/lib'),
);
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
export 'foo/a.dart';
class A {}
''');
@@ -245,13 +245,13 @@
}
test_readByteStore() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
class B {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart' show A;
part 'b.dart';
class C {}
@@ -296,10 +296,10 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part 'a.dart';
class B {}
''');
@@ -316,7 +316,7 @@
]),
]);
- newFile(a, content: r'''
+ newFile2(a, r'''
class A2 {}
''');
tracker.changeFile(a);
@@ -342,15 +342,15 @@
var c = convertPath('/home/test/lib/c.dart');
var d = convertPath('/home/test/lib/d.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
export 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
export 'c.dart';
class B {}
''');
- newFile(d, content: r'''
+ newFile2(d, r'''
class D {}
''');
tracker.addContext(testAnalysisContext);
@@ -376,7 +376,7 @@
]),
]);
- newFile(c, content: r'''
+ newFile2(c, r'''
class C {}
''');
tracker.changeFile(c);
@@ -417,7 +417,7 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
''');
var declarationsContext = tracker.addContext(testAnalysisContext);
@@ -430,7 +430,7 @@
]);
_assertHasNoLibrary('package:test/b.dart');
- newFile(b, content: r'''
+ newFile2(b, r'''
class B {}
''');
tracker.changeFile(b);
@@ -461,11 +461,11 @@
var b = convertPath('/home/test/lib/b.dart');
var c = convertPath('/home/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
class A {}
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
class C {}
''');
tracker.addContext(testAnalysisContext);
@@ -483,7 +483,7 @@
]),
]);
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B {}
''');
@@ -509,7 +509,7 @@
test_added_part_withoutLibrary() async {
var b = convertPath('/home/test/lib/b.dart');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
''');
tracker.changeFile(b);
@@ -531,7 +531,7 @@
tracker.addContext(testContext);
await _doAllTrackerWork();
- newFile(filePath, content: 'class A {}');
+ newFile2(filePath, 'class A {}');
uriToLibrary.clear();
tracker.changeFile(filePath);
await _doAllTrackerWork();
@@ -546,7 +546,7 @@
relevanceTags: ['ElementKind.CLASS', 'package:test/test.dart::A'],
);
- newFile(filePath, content: 'class B {}');
+ newFile2(filePath, 'class B {}');
uriToLibrary.clear();
tracker.changeFile(filePath);
await _doAllTrackerWork();
@@ -583,7 +583,7 @@
tracker.addContext(testContext);
await _doAllTrackerWork();
- newFile(filePath, content: 'class A {}');
+ newFile2(filePath, 'class A {}');
uriToLibrary.clear();
tracker.changeFile(filePath);
await _doAllTrackerWork();
@@ -598,7 +598,7 @@
relevanceTags: ['ElementKind.CLASS', 'package:aaa/a.dart::A'],
);
- newFile(filePath, content: 'class B {}');
+ newFile2(filePath, 'class B {}');
uriToLibrary.clear();
tracker.changeFile(filePath);
await _doAllTrackerWork();
@@ -620,7 +620,7 @@
tracker.addContext(testAnalysisContext);
await _doAllTrackerWork();
- newFile(filePath, content: 'class A {}');
+ newFile2(filePath, 'class A {}');
uriToLibrary.clear();
tracker.changeFile(filePath);
await _doAllTrackerWork();
@@ -635,7 +635,7 @@
relevanceTags: ['ElementKind.CLASS', 'dart:math::A'],
);
- newFile(filePath, content: 'class B {}');
+ newFile2(filePath, 'class B {}');
uriToLibrary.clear();
tracker.changeFile(filePath);
await _doAllTrackerWork();
@@ -657,18 +657,18 @@
var c = convertPath('/home/test/lib/c.dart');
var d = convertPath('/home/test/lib/d.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
export 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
export 'c.dart';
class B {}
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
class C {}
''');
- newFile(d, content: r'''
+ newFile2(d, r'''
class D {}
''');
tracker.addContext(testAnalysisContext);
@@ -733,8 +733,8 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: '');
- newFile(b, content: '');
+ newFile2(a, '');
+ newFile2(b, '');
tracker.addContext(testAnalysisContext);
await _doAllTrackerWork();
@@ -753,10 +753,10 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
''');
tracker.addContext(testAnalysisContext);
@@ -778,15 +778,15 @@
var b = convertPath('/home/test/lib/b.dart');
var c = convertPath('/home/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B {}
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
class C {}
''');
tracker.addContext(testAnalysisContext);
@@ -825,7 +825,7 @@
test_deleted_part_withoutLibrary() async {
var b = convertPath('/home/test/lib/b.dart');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
''');
tracker.addContext(testAnalysisContext);
@@ -841,18 +841,18 @@
var c = convertPath('/home/test/lib/c.dart');
var d = convertPath('/home/test/lib/d.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
export 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
export 'c.dart';
class B {}
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
class C {}
''');
- newFile(d, content: r'''
+ newFile2(d, r'''
class D {}
''');
tracker.addContext(testAnalysisContext);
@@ -888,7 +888,7 @@
]),
]);
- newFile(c, content: r'''
+ newFile2(c, r'''
class C2 {}
''');
tracker.changeFile(c);
@@ -931,13 +931,13 @@
var b = convertPath('/home/test/lib/b.dart');
var c = convertPath('/home/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
class B {}
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
export 'a.dart';
export 'b.dart';
class C {}
@@ -959,10 +959,10 @@
changes.clear();
- newFile(a, content: r'''
+ newFile2(a, r'''
class A2 {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
class B2 {}
''');
tracker.changeFile(a);
@@ -998,10 +998,10 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
class B {}
''');
tracker.addContext(testAnalysisContext);
@@ -1018,7 +1018,7 @@
]),
]);
- newFile(a, content: r'''
+ newFile2(a, r'''
class A2 {}
''');
tracker.changeFile(a);
@@ -1041,11 +1041,11 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B {}
''');
@@ -1067,7 +1067,7 @@
relevanceTags: ['ElementKind.CLASS', 'package:test/a.dart::B'],
);
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
class A2 {}
''');
@@ -1093,7 +1093,7 @@
test_updated_library_to_part() async {
var a = convertPath('/home/test/lib/a.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A {}
''');
tracker.addContext(testAnalysisContext);
@@ -1105,7 +1105,7 @@
]),
]);
- newFile(a, content: r'''
+ newFile2(a, r'''
part of nothing;
class A {}
''');
@@ -1113,7 +1113,7 @@
await _doAllTrackerWork();
_assertHasNoLibrary('package:test/a.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
class A2 {}
''');
tracker.changeFile(a);
@@ -1130,15 +1130,15 @@
var b = convertPath('/home/test/lib/b.dart');
var c = convertPath('/home/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B {}
''');
- newFile(c, content: r'''
+ newFile2(c, r'''
class C {}
''');
tracker.addContext(testAnalysisContext);
@@ -1158,7 +1158,7 @@
]),
]);
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B2 {}
''');
@@ -1184,11 +1184,11 @@
var a = convertPath('/home/test/lib/a.dart');
var b = convertPath('/home/test/lib/b.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part of unknown;
class A {}
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
export 'a.dart';
class B {}
''');
@@ -1202,7 +1202,7 @@
]),
]);
- newFile(a, content: r'''
+ newFile2(a, r'''
part of unknown;
class A2 {}
''');
@@ -1219,7 +1219,7 @@
test_updated_part_withoutLibrary() async {
var b = convertPath('/home/test/lib/b.dart');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B {}
''');
@@ -1229,7 +1229,7 @@
_assertHasNoLibrary('package:test/a.dart');
_assertHasNoLibrary('package:test/b.dart');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
class B2 {}
''');
@@ -1244,7 +1244,7 @@
@reflectiveTest
class DartdocInfoTest extends _Base {
test_samePackage() async {
- File file = newFile('/home/aaa/lib/definition.dart', content: '''
+ File file = newFile2('/home/aaa/lib/definition.dart', '''
/// {@template foo}
/// Body of the template.
/// {@endtemplate}
@@ -1273,7 +1273,7 @@
@reflectiveTest
class DeclarationTest extends _Base {
test_CLASS() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class A {}
abstract class B {}
@@ -1323,7 +1323,7 @@
}
test_class_FIELD() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {
static int f1 = 0;
@@ -1428,7 +1428,7 @@
}
test_class_GETTER() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {
static int get g1 => 0;
@@ -1485,7 +1485,7 @@
}
test_class_METHOD() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {
static void m1() {}
@@ -1573,7 +1573,7 @@
}
test_class_SETTER() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {
static set s1(int value) {}
@@ -1642,7 +1642,7 @@
}
test_CLASS_TYPE_ALIAS() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
mixin M {}
class A = Object with M;
@@ -1684,7 +1684,7 @@
}
test_CONSTRUCTOR() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {
int f1;
int f2;
@@ -1789,7 +1789,7 @@
}
test_ENUM() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
enum A {v}
@deprecated
@@ -1829,7 +1829,7 @@
}
test_ENUM_CONSTANT() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
enum MyEnum {
a,
@@ -1886,7 +1886,7 @@
test_EXTENSION() async {
createAnalysisOptionsFile(experiments: [EnableString.extension_methods]);
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
extension A on String {}
extension on String {}
@@ -1929,7 +1929,7 @@
}
test_FUNCTION() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
void a() {}
@deprecated
@@ -2013,7 +2013,7 @@
}
test_FUNCTION_defaultArgumentList() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
void a() {}
void b(int a, double bb, String ccc) {}
@@ -2080,7 +2080,7 @@
}
test_FUNCTION_TYPE_ALIAS() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
typedef A = void Function();
@deprecated
@@ -2193,7 +2193,7 @@
}
test_FUNCTION_TYPE_ALIAS_noFunction() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
typedef A = ;
''');
@@ -2205,7 +2205,7 @@
}
test_FUNCTION_TYPE_ALIAS_old() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
typedef void A();
@deprecated
@@ -2318,7 +2318,7 @@
}
test_GETTER() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
int get a => 0;
@deprecated
@@ -2361,12 +2361,12 @@
}
test_library_isDeprecated() async {
- newFile('/home/test/lib/a.dart', content: '');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', '');
+ newFile2('/home/test/lib/b.dart', r'''
@deprecated
library my.lib;
''');
- newFile('/home/test/lib/c.dart', content: r'''
+ newFile2('/home/test/lib/c.dart', r'''
@Deprecated('description')
library my.lib;
''');
@@ -2380,7 +2380,7 @@
}
test_library_partDirective_empty() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
part ' ';
class A {}
@@ -2399,7 +2399,7 @@
}
test_library_partDirective_incomplete() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
part
class A {}
@@ -2418,15 +2418,15 @@
}
test_library_parts() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
part of 'test.dart';
class A {}
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
part of 'test.dart';
class B {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
part 'a.dart';
part 'b.dart';
class C {}
@@ -2448,12 +2448,12 @@
}
test_library_publicOnly() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
part of 'test.dart';
class A {}
class _A {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
part 'a.dart';
class B {}
class _B {}
@@ -2472,12 +2472,12 @@
}
test_library_publicOnly_enum() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
part of 'test.dart';
enum A {a, _a}
enum _A {a, _a}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
part 'a.dart';
enum B {b, _b}
enum _B {b, _b}
@@ -2501,7 +2501,7 @@
class B {}
''';
- var testPath = newFile('/home/test/lib/test.dart', content: code).path;
+ var testPath = newFile2('/home/test/lib/test.dart', code).path;
tracker.addContext(testAnalysisContext);
await _doAllTrackerWork();
@@ -2530,7 +2530,7 @@
}
test_MIXIN() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
mixin A {}
@deprecated
@@ -2571,7 +2571,7 @@
}
test_SETTER() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
set a(int value) {}
@deprecated
@@ -2623,7 +2623,7 @@
}
test_TYPE_ALIAS() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
typedef A = double;
@deprecated
@@ -2678,7 +2678,7 @@
}
test_VARIABLE() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
int a;
@deprecated
@@ -2748,7 +2748,7 @@
@reflectiveTest
class ExportTest extends _Base {
test_classTypeAlias() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
mixin M {}
class A = Object with M;
''');
@@ -2762,12 +2762,12 @@
}
test_combinators_hide() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
class C {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart' hide B;
class D {}
''');
@@ -2788,12 +2788,12 @@
}
test_combinators_show() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
class C {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart' show B;
class D {}
''');
@@ -2811,11 +2811,11 @@
}
test_combinators_show_enum() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
enum E1 {a}
enum E2 {b}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart' show E1;
''');
tracker.addContext(testAnalysisContext);
@@ -2829,15 +2829,15 @@
}
test_cycle() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
export 'b.dart';
class A {}
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
export 'a.dart';
class B {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'b.dart';
class C {}
''');
@@ -2877,7 +2877,7 @@
}
test_enum() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
enum E1 {a, b}
enum E2 {a, b}
''');
@@ -2897,7 +2897,7 @@
}
test_function() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
int foo() => 0;
int bar() => 0;
''');
@@ -2911,7 +2911,7 @@
}
test_functionTypeAlias() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
typedef F = int Function();
''');
tracker.addContext(testAnalysisContext);
@@ -2923,7 +2923,7 @@
}
test_missing() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart';
class C {}
''');
@@ -2938,14 +2938,14 @@
}
test_sequence() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
export 'a.dart';
class B {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'b.dart';
class C {}
''');
@@ -2982,11 +2982,11 @@
}
test_shadowedByLocal() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart';
mixin B {}
@@ -3003,11 +3003,11 @@
}
test_simple() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
''');
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
export 'a.dart';
class C {}
''');
@@ -3028,7 +3028,7 @@
}
test_variable() async {
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
int foo = 0;
''');
tracker.addContext(testAnalysisContext);
@@ -3047,9 +3047,9 @@
var b = convertPath('/home/test/lib/b.dart');
var c = convertPath('/home/test/lib/c.dart');
- newFile(a);
- newFile(b);
- newFile(c);
+ newFile2(a, '');
+ newFile2(b, '');
+ newFile2(c, '');
var context = tracker.addContext(testAnalysisContext);
await _doAllTrackerWork();
@@ -3078,13 +3078,13 @@
var b = convertPath('/home/test/lib/b.dart');
var c = convertPath('/home/test/lib/c.dart');
- newFile(a, content: r'''
+ newFile2(a, r'''
part 'b.dart';
''');
- newFile(b, content: r'''
+ newFile2(b, r'''
part of 'a.dart';
''');
- newFile(c);
+ newFile2(c, '');
var context = tracker.addContext(testAnalysisContext);
await _doAllTrackerWork();
@@ -3100,14 +3100,14 @@
}
test_pub() async {
- newFile('/home/aaa/lib/a.dart', content: 'class A {}');
- newFile('/home/aaa/lib/src/a2.dart', content: 'class A2 {}');
+ newFile2('/home/aaa/lib/a.dart', 'class A {}');
+ newFile2('/home/aaa/lib/src/a2.dart', 'class A2 {}');
- newFile('/home/bbb/lib/b.dart', content: 'class B {}');
- newFile('/home/bbb/lib/src/b2.dart', content: 'class B2 {}');
+ newFile2('/home/bbb/lib/b.dart', 'class B {}');
+ newFile2('/home/bbb/lib/src/b2.dart', 'class B2 {}');
- newFile('/home/ccc/lib/c.dart', content: 'class C {}');
- newFile('/home/ccc/lib/src/c2.dart', content: 'class C2 {}');
+ newFile2('/home/ccc/lib/c.dart', 'class C {}');
+ newFile2('/home/ccc/lib/src/c2.dart', 'class C2 {}');
newPubspecYamlFile('/home/test', r'''
name: test
@@ -3116,10 +3116,10 @@
dev_dependencies:
bbb: any
''');
- newFile('/home/test/lib/t.dart', content: 'class T {}');
- newFile('/home/test/lib/src/t2.dart', content: 'class T2 {}');
- newFile('/home/test/bin/t3.dart', content: 'class T3 {}');
- newFile('/home/test/test/t4.dart', content: 'class T4 {}');
+ newFile2('/home/test/lib/t.dart', 'class T {}');
+ newFile2('/home/test/lib/src/t2.dart', 'class T2 {}');
+ newFile2('/home/test/bin/t3.dart', 'class T3 {}');
+ newFile2('/home/test/test/t4.dart', 'class T4 {}');
newPubspecYamlFile('/home/test/samples/basic', r'''
name: test
@@ -3127,7 +3127,7 @@
ccc: any
test: any
''');
- newFile('/home/test/samples/basic/lib/s.dart', content: 'class S {}');
+ newFile2('/home/test/samples/basic/lib/s.dart', 'class S {}');
writeTestPackageConfig(
PackageConfigFileBuilder()
@@ -3283,7 +3283,7 @@
}
test_sdk_excludesPrivate() async {
- newFile('/home/test/lib/test.dart', content: '');
+ newFile2('/home/test/lib/test.dart', '');
var context = tracker.addContext(testAnalysisContext);
await _doAllTrackerWork();
@@ -3297,15 +3297,15 @@
}
test_setDependencies() async {
- newFile('/home/aaa/lib/a.dart', content: r'''
+ newFile2('/home/aaa/lib/a.dart', r'''
export 'src/a2.dart' show A2;
class A1 {}
''');
- newFile('/home/aaa/lib/src/a2.dart', content: r'''
+ newFile2('/home/aaa/lib/src/a2.dart', r'''
class A2 {}
class A3 {}
''');
- newFile('/home/bbb/lib/b.dart', content: r'''
+ newFile2('/home/bbb/lib/b.dart', r'''
class B {}
''');
@@ -3315,9 +3315,9 @@
..add(name: 'bbb', rootPath: '/home/bbb'),
);
- newFile('/home/test/lib/t.dart', content: 'class T {}');
- newFile('/home/test/lib/src/t2.dart', content: 'class T2 {}');
- newFile('/home/test/test/t3.dart', content: 'class T3 {}');
+ newFile2('/home/test/lib/t.dart', 'class T {}');
+ newFile2('/home/test/lib/src/t2.dart', 'class T2 {}');
+ newFile2('/home/test/test/t3.dart', 'class T3 {}');
var context = tracker.addContext(testAnalysisContext);
context.setDependencies({
@@ -3410,10 +3410,10 @@
}
test_setDependencies_twice() async {
- newFile('/home/aaa/lib/a.dart', content: r'''
+ newFile2('/home/aaa/lib/a.dart', r'''
class A {}
''');
- newFile('/home/bbb/lib/b.dart', content: r'''
+ newFile2('/home/bbb/lib/b.dart', r'''
class B {}
''');
@@ -3423,7 +3423,7 @@
..add(name: 'bbb', rootPath: '/home/bbb'),
);
- newFile('/home/test/lib/test.dart', content: r'''
+ newFile2('/home/test/lib/test.dart', r'''
class C {}
''');
@@ -3488,9 +3488,9 @@
var b = convertPath('/home/test/bin/b.dart');
var c = convertPath('/home/test/bin/c.dart');
- newFile(a, content: 'class A {}');
- newFile(b, content: 'class B {}');
- newFile(c, content: 'class C {}');
+ newFile2(a, 'class A {}');
+ newFile2(b, 'class B {}');
+ newFile2(c, 'class C {}');
await testAnalysisContext.currentSession.getFile2(a);
await testAnalysisContext.currentSession.getFile2(b);
await testAnalysisContext.currentSession.getFile2(c);
diff --git a/pkg/analyzer/test/src/summary/element_text.dart b/pkg/analyzer/test/src/summary/element_text.dart
index 869a97a..43204fb 100644
--- a/pkg/analyzer/test/src/summary/element_text.dart
+++ b/pkg/analyzer/test/src/summary/element_text.dart
@@ -267,6 +267,7 @@
void _writeClassElement(ClassElement e) {
_writeIndentedLine(() {
_writeIf(e.isAbstract && !e.isMixin, 'abstract ');
+ _writeIf(e.isMacro, 'macro ');
_writeIf(!e.isSimplyBounded, 'notSimplyBounded ');
if (e.isEnum) {
@@ -923,3 +924,10 @@
_Replacement(this.offset, this.end, this.text);
}
+
+extension on ClassElement {
+ bool get isMacro {
+ final self = this;
+ return self is ClassElementImpl && self.isMacro;
+ }
+}
diff --git a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart b/pkg/analyzer/test/src/summary/elements_base.dart
similarity index 78%
rename from pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
rename to pkg/analyzer/test/src/summary/elements_base.dart
index 60ab80c..5404c18 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_ast2_test.dart
+++ b/pkg/analyzer/test/src/summary/elements_base.dart
@@ -1,53 +1,68 @@
-// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data';
+import 'package:analyzer/dart/analysis/declared_variables.dart';
import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/context/context.dart';
import 'package:analyzer/src/dart/analysis/session.dart';
import 'package:analyzer/src/dart/element/class_hierarchy.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
+import 'package:analyzer/src/dart/sdk/sdk.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';
+import 'package:analyzer/src/source/package_map_resolver.dart';
import 'package:analyzer/src/summary2/bundle_reader.dart';
import 'package:analyzer/src/summary2/informative_data.dart';
import 'package:analyzer/src/summary2/link.dart';
import 'package:analyzer/src/summary2/linked_element_factory.dart';
import 'package:analyzer/src/summary2/reference.dart';
+import 'package:analyzer/src/test_utilities/mock_sdk.dart';
+import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
import 'package:analyzer/src/util/uri.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../util/feature_sets.dart';
-import 'element_text.dart';
-import 'resynthesize_common.dart';
import 'test_strategies.dart';
-main() {
- defineReflectiveSuite(() {
- defineReflectiveTests(ResynthesizeAstKeepLinkingTest);
- defineReflectiveTests(ResynthesizeAstFromBytesTest);
- // defineReflectiveTests(ApplyCheckElementTextReplacements);
- });
-}
-
+/// A base for testing building elements.
@reflectiveTest
-class ApplyCheckElementTextReplacements {
- test_applyReplacements() {
- applyCheckElementTextReplacements();
- }
-}
-
-@reflectiveTest
-abstract class ResynthesizeAst2Test extends AbstractResynthesizeTest
- with ResynthesizeTestCases {
+abstract class ElementsBaseTest with ResourceProviderMixin {
/// The shared SDK bundle, computed once and shared among test invocations.
static _SdkBundle? _sdkBundle;
+ /// The set of features enabled in this test.
+ FeatureSet featureSet = FeatureSets.latestWithExperiments;
+
+ DeclaredVariables declaredVariables = DeclaredVariables();
+ late final SourceFactory sourceFactory;
+ late final FolderBasedDartSdk sdk;
+
+ ElementsBaseTest() {
+ var sdkRoot = newFolder('/sdk');
+ createMockSdk(
+ resourceProvider: resourceProvider,
+ root: sdkRoot,
+ );
+ sdk = FolderBasedDartSdk(resourceProvider, sdkRoot);
+
+ sourceFactory = SourceFactory([
+ DartUriResolver(sdk),
+ PackageMapUriResolver(resourceProvider, {
+ 'test': [
+ getFolder('/home/test/lib'),
+ ],
+ }),
+ ResourceUriResolver(resourceProvider),
+ ]);
+ }
+
/// We need to test both cases - when we keep linking libraries (happens for
/// new or invalidated libraries), and when we load libraries from bytes
/// (happens internally in Blaze or when we have cached summaries).
@@ -94,13 +109,27 @@
);
}
- @override
- Future<LibraryElementImpl> checkLibrary(String text,
- {bool allowErrors = false, bool dumpSummaries = false}) async {
- var source = addTestSource(text);
+ String get testFilePath => '$testPackageLibPath/test.dart';
+
+ String get testPackageLibPath => '$testPackageRootPath/lib';
+
+ String get testPackageRootPath => '/home/test';
+
+ void addSource(String path, String contents) {
+ newFile2(path, contents);
+ }
+
+ Future<LibraryElementImpl> buildLibrary(
+ String text, {
+ bool allowErrors = false,
+ bool dumpSummaries = false,
+ }) async {
+ var testFile = newFile2(testFilePath, text);
+ var testUri = sourceFactory.pathToUri(testFile.path)!;
+ var testSource = sourceFactory.forUri2(testUri)!;
var inputLibraries = <LinkInputLibrary>[];
- _addNonDartLibraries({}, inputLibraries, source);
+ _addNonDartLibraries({}, inputLibraries, testSource);
var unitsInformativeBytes = <Uri, Uint8List>{};
for (var inputLibrary in inputLibraries) {
@@ -146,11 +175,7 @@
);
}
- return elementFactory.libraryOfUri2('${source.uri}');
- }
-
- void setUp() {
- featureSet = FeatureSets.latestWithExperiments;
+ return elementFactory.libraryOfUri2('$testUri');
}
void _addLibraryUnits(
@@ -264,18 +289,6 @@
}
}
-@reflectiveTest
-class ResynthesizeAstFromBytesTest extends ResynthesizeAst2Test {
- @override
- bool get keepLinkingLibraries => false;
-}
-
-@reflectiveTest
-class ResynthesizeAstKeepLinkingTest extends ResynthesizeAst2Test {
- @override
- bool get keepLinkingLibraries => true;
-}
-
class _AnalysisSessionForLinking implements AnalysisSessionImpl {
@override
final ClassHierarchy classHierarchy = ClassHierarchy();
diff --git a/pkg/analyzer/test/src/summary/resynthesize_common.dart b/pkg/analyzer/test/src/summary/elements_test.dart
similarity index 93%
rename from pkg/analyzer/test/src/summary/resynthesize_common.dart
rename to pkg/analyzer/test/src/summary/elements_test.dart
index edd5540..c9ce53b 100644
--- a/pkg/analyzer/test/src/summary/resynthesize_common.dart
+++ b/pkg/analyzer/test/src/summary/elements_test.dart
@@ -1,97 +1,49 @@
-// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/dart/analysis/declared_variables.dart';
-import 'package:analyzer/dart/analysis/features.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
-import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/src/dart/element/element.dart';
-import 'package:analyzer/src/dart/sdk/sdk.dart';
-import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/source/package_map_resolver.dart';
-import 'package:analyzer/src/test_utilities/mock_sdk.dart';
-import 'package:analyzer/src/test_utilities/resource_provider_mixin.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import '../../util/feature_sets.dart';
import 'element_text.dart';
+import 'elements_base.dart';
-/// Abstract base class for resynthesizing and comparing elements.
-///
-/// The return type separator: →
-abstract class AbstractResynthesizeTest with ResourceProviderMixin {
- /// The set of features enabled in this test.
- late FeatureSet featureSet;
-
- DeclaredVariables declaredVariables = DeclaredVariables();
- late final SourceFactory sourceFactory;
- late final FolderBasedDartSdk sdk;
-
- late Source testSource;
- Set<Source> otherLibrarySources = <Source>{};
-
- AbstractResynthesizeTest() {
- var sdkRoot = newFolder('/sdk');
- createMockSdk(
- resourceProvider: resourceProvider,
- root: sdkRoot,
- );
- sdk = FolderBasedDartSdk(resourceProvider, sdkRoot);
-
- sourceFactory = SourceFactory(
- [
- DartUriResolver(sdk),
- PackageMapUriResolver(resourceProvider, {
- 'test': [
- getFolder('/home/test/lib'),
- ],
- }),
- ResourceUriResolver(resourceProvider),
- ],
- );
- }
-
- String get testFilePath => '$testPackageLibPath/test.dart';
-
- String get testPackageLibPath => '$testPackageRootPath/lib';
-
- String get testPackageRootPath => '/home/test';
-
- void addLibrary(String uri) {
- var source = sourceFactory.forUri(uri)!;
- otherLibrarySources.add(source);
- }
-
- Source addLibrarySource(String filePath, String contents) {
- var source = addSource(filePath, contents);
- otherLibrarySources.add(source);
- return source;
- }
-
- Source addSource(String path, String contents) {
- var file = newFile(path, content: contents);
- var uri = sourceFactory.pathToUri(file.path)!;
- return sourceFactory.forUri2(uri)!;
- }
-
- Source addTestSource(String code, [Uri? uri]) {
- testSource = addSource(testFilePath, code);
- return testSource;
- }
-
- Future<LibraryElementImpl> checkLibrary(String text,
- {bool allowErrors = false});
+main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ElementsKeepLinkingTest);
+ defineReflectiveTests(ElementsFromBytesTest);
+ // defineReflectiveTests(ApplyCheckElementTextReplacements);
+ });
}
-/// Mixin containing test cases exercising summary resynthesis. Intended to be
-/// applied to a class implementing [AbstractResynthesizeTest].
-mixin ResynthesizeTestCases on AbstractResynthesizeTest {
+@reflectiveTest
+class ApplyCheckElementTextReplacements {
+ test_applyReplacements() {
+ applyCheckElementTextReplacements();
+ }
+}
+
+@reflectiveTest
+class ElementsFromBytesTest extends ElementsTest {
+ @override
+ bool get keepLinkingLibraries => false;
+}
+
+@reflectiveTest
+class ElementsKeepLinkingTest extends ElementsTest {
+ @override
+ bool get keepLinkingLibraries => true;
+}
+
+abstract class ElementsTest extends ElementsBaseTest {
test_class_abstract() async {
- var library = await checkLibrary('abstract class C {}');
+ var library = await buildLibrary('abstract class C {}');
checkElementText(library, r'''
library
definingUnit
@@ -103,7 +55,7 @@
}
test_class_constructor_const() async {
- var library = await checkLibrary('class C { const C(); }');
+ var library = await buildLibrary('class C { const C(); }');
checkElementText(library, r'''
library
definingUnit
@@ -115,7 +67,7 @@
}
test_class_constructor_const_external() async {
- var library = await checkLibrary('class C { external const C(); }');
+ var library = await buildLibrary('class C { external const C(); }');
checkElementText(library, r'''
library
definingUnit
@@ -127,7 +79,7 @@
}
test_class_constructor_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
/**
* Docs
@@ -146,7 +98,7 @@
}
test_class_constructor_explicit_named() async {
- var library = await checkLibrary('class C { C.foo(); }');
+ var library = await buildLibrary('class C { C.foo(); }');
checkElementText(library, r'''
library
definingUnit
@@ -160,7 +112,7 @@
}
test_class_constructor_explicit_type_params() async {
- var library = await checkLibrary('class C<T, U> { C(); }');
+ var library = await buildLibrary('class C<T, U> { C(); }');
checkElementText(library, r'''
library
definingUnit
@@ -177,7 +129,7 @@
}
test_class_constructor_explicit_unnamed() async {
- var library = await checkLibrary('class C { C(); }');
+ var library = await buildLibrary('class C { C(); }');
checkElementText(library, r'''
library
definingUnit
@@ -189,7 +141,7 @@
}
test_class_constructor_external() async {
- var library = await checkLibrary('class C { external C(); }');
+ var library = await buildLibrary('class C { external C(); }');
checkElementText(library, r'''
library
definingUnit
@@ -201,7 +153,7 @@
}
test_class_constructor_factory() async {
- var library = await checkLibrary('class C { factory C() => throw 0; }');
+ var library = await buildLibrary('class C { factory C() => throw 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -214,7 +166,7 @@
test_class_constructor_field_formal_dynamic_dynamic() async {
var library =
- await checkLibrary('class C { dynamic x; C(dynamic this.x); }');
+ await buildLibrary('class C { dynamic x; C(dynamic this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -241,7 +193,7 @@
}
test_class_constructor_field_formal_dynamic_typed() async {
- var library = await checkLibrary('class C { dynamic x; C(int this.x); }');
+ var library = await buildLibrary('class C { dynamic x; C(int this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -268,7 +220,7 @@
}
test_class_constructor_field_formal_dynamic_untyped() async {
- var library = await checkLibrary('class C { dynamic x; C(this.x); }');
+ var library = await buildLibrary('class C { dynamic x; C(this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -295,7 +247,7 @@
}
test_class_constructor_field_formal_functionTyped_noReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
var x;
C(this.x(double b));
@@ -330,7 +282,7 @@
}
test_class_constructor_field_formal_functionTyped_withReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
var x;
C(int this.x(double b));
@@ -365,7 +317,7 @@
}
test_class_constructor_field_formal_functionTyped_withReturnType_generic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
Function() f;
C(List<U> this.f<T, U>(T t));
@@ -404,7 +356,7 @@
test_class_constructor_field_formal_multiple_matching_fields() async {
// This is a compile-time error but it should still analyze consistently.
- var library = await checkLibrary('class C { C(this.x); int x; String x; }',
+ var library = await buildLibrary('class C { C(this.x); int x; String x; }',
allowErrors: true);
checkElementText(library, r'''
library
@@ -443,7 +395,7 @@
test_class_constructor_field_formal_no_matching_field() async {
// This is a compile-time error but it should still analyze consistently.
var library =
- await checkLibrary('class C { C(this.x); }', allowErrors: true);
+ await buildLibrary('class C { C(this.x); }', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -459,7 +411,7 @@
}
test_class_constructor_field_formal_typed_dynamic() async {
- var library = await checkLibrary('class C { num x; C(dynamic this.x); }',
+ var library = await buildLibrary('class C { num x; C(dynamic this.x); }',
allowErrors: true);
checkElementText(library, r'''
library
@@ -487,7 +439,7 @@
}
test_class_constructor_field_formal_typed_typed() async {
- var library = await checkLibrary('class C { num x; C(int this.x); }');
+ var library = await buildLibrary('class C { num x; C(int this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -514,7 +466,7 @@
}
test_class_constructor_field_formal_typed_untyped() async {
- var library = await checkLibrary('class C { num x; C(this.x); }');
+ var library = await buildLibrary('class C { num x; C(this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -541,7 +493,7 @@
}
test_class_constructor_field_formal_untyped_dynamic() async {
- var library = await checkLibrary('class C { var x; C(dynamic this.x); }');
+ var library = await buildLibrary('class C { var x; C(dynamic this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -568,7 +520,7 @@
}
test_class_constructor_field_formal_untyped_typed() async {
- var library = await checkLibrary('class C { var x; C(int this.x); }');
+ var library = await buildLibrary('class C { var x; C(int this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -595,7 +547,7 @@
}
test_class_constructor_field_formal_untyped_untyped() async {
- var library = await checkLibrary('class C { var x; C(this.x); }');
+ var library = await buildLibrary('class C { var x; C(this.x); }');
checkElementText(library, r'''
library
definingUnit
@@ -622,7 +574,7 @@
}
test_class_constructor_fieldFormal_named_noDefault() async {
- var library = await checkLibrary('class C { int x; C({this.x}); }');
+ var library = await buildLibrary('class C { int x; C({this.x}); }');
checkElementText(library, r'''
library
definingUnit
@@ -649,7 +601,7 @@
}
test_class_constructor_fieldFormal_named_withDefault() async {
- var library = await checkLibrary('class C { int x; C({this.x: 42}); }');
+ var library = await buildLibrary('class C { int x; C({this.x: 42}); }');
checkElementText(library, r'''
library
definingUnit
@@ -680,7 +632,7 @@
}
test_class_constructor_fieldFormal_optional_noDefault() async {
- var library = await checkLibrary('class C { int x; C([this.x]); }');
+ var library = await buildLibrary('class C { int x; C([this.x]); }');
checkElementText(library, r'''
library
definingUnit
@@ -707,7 +659,7 @@
}
test_class_constructor_fieldFormal_optional_withDefault() async {
- var library = await checkLibrary('class C { int x; C([this.x = 42]); }');
+ var library = await buildLibrary('class C { int x; C([this.x = 42]); }');
checkElementText(library, r'''
library
definingUnit
@@ -738,7 +690,7 @@
}
test_class_constructor_implicit_type_params() async {
- var library = await checkLibrary('class C<T, U> {}');
+ var library = await buildLibrary('class C<T, U> {}');
checkElementText(library, r'''
library
definingUnit
@@ -755,7 +707,7 @@
}
test_class_constructor_initializers_assertInvocation() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C(int x) : assert(x >= 42);
}
@@ -791,7 +743,7 @@
}
test_class_constructor_initializers_assertInvocation_message() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C(int x) : assert(x >= 42, 'foo');
}
@@ -830,7 +782,7 @@
}
test_class_constructor_initializers_field() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x;
const C() : x = 42;
@@ -863,7 +815,7 @@
}
test_class_constructor_initializers_field_notConst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x;
const C() : x = foo();
@@ -908,7 +860,7 @@
}
test_class_constructor_initializers_field_optionalPositionalParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
final int _f;
const A([int f = 0]) : _f = f;
@@ -949,7 +901,7 @@
}
test_class_constructor_initializers_field_withParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x;
const C(int p) : x = 1 + p;
@@ -994,7 +946,7 @@
}
test_class_constructor_initializers_genericFunctionType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A();
}
@@ -1065,7 +1017,7 @@
}
test_class_constructor_initializers_superInvocation_argumentContextType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A(List<String> values);
}
@@ -1105,7 +1057,7 @@
}
test_class_constructor_initializers_superInvocation_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A.aaa(int p);
}
@@ -1150,7 +1102,7 @@
}
test_class_constructor_initializers_superInvocation_named_underscore() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A._();
}
@@ -1188,7 +1140,7 @@
}
test_class_constructor_initializers_superInvocation_namedExpression() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A.aaa(a, {int b});
}
@@ -1245,7 +1197,7 @@
}
test_class_constructor_initializers_superInvocation_unnamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A(int p);
}
@@ -1285,7 +1237,7 @@
}
test_class_constructor_initializers_thisInvocation_argumentContextType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A(List<String> values);
const A.empty() : this(const []);
@@ -1322,7 +1274,7 @@
}
test_class_constructor_initializers_thisInvocation_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C() : this.named(1, 'bbb');
const C.named(int a, String b);
@@ -1366,7 +1318,7 @@
}
test_class_constructor_initializers_thisInvocation_namedExpression() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C() : this.named(1, b: 2);
const C.named(a, {int b});
@@ -1418,7 +1370,7 @@
}
test_class_constructor_initializers_thisInvocation_unnamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C.named() : this(1, 'bbb');
const C(int a, String b);
@@ -1457,7 +1409,7 @@
}
test_class_constructor_parameters_super_explicitType_function() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(Object? a);
}
@@ -1495,7 +1447,7 @@
}
test_class_constructor_parameters_super_explicitType_interface() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(num a);
}
@@ -1527,7 +1479,7 @@
}
test_class_constructor_parameters_super_explicitType_interface_nullable() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(num? a);
}
@@ -1559,7 +1511,7 @@
}
test_class_constructor_parameters_super_invalid_topFunction() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f(super.a) {}
''');
checkElementText(library, r'''
@@ -1576,7 +1528,7 @@
}
test_class_constructor_parameters_super_optionalNamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A({required int a, required double b});
}
@@ -1617,7 +1569,7 @@
}
test_class_constructor_parameters_super_optionalNamed_unresolved() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A({required int a});
}
@@ -1649,7 +1601,7 @@
}
test_class_constructor_parameters_super_optionalNamed_unresolved2() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(int a);
}
@@ -1681,7 +1633,7 @@
}
test_class_constructor_parameters_super_optionalPositional() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(int a, double b);
}
@@ -1722,7 +1674,7 @@
}
test_class_constructor_parameters_super_requiredNamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A({required int a, required double b});
}
@@ -1768,7 +1720,7 @@
}
test_class_constructor_parameters_super_requiredPositional() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(int a, double b);
}
@@ -1809,7 +1761,7 @@
}
test_class_constructor_parameters_super_requiredPositional_unresolved() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B extends A {
@@ -1836,7 +1788,7 @@
}
test_class_constructor_parameters_super_requiredPositional_unresolved2() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A({required int a})
}
@@ -1868,7 +1820,7 @@
}
test_class_constructor_params() async {
- var library = await checkLibrary('class C { C(x, int y); }');
+ var library = await buildLibrary('class C { C(x, int y); }');
checkElementText(library, r'''
library
definingUnit
@@ -1885,7 +1837,7 @@
}
test_class_constructor_redirected_factory_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
factory C() = D.named;
C._();
@@ -1916,7 +1868,7 @@
}
test_class_constructor_redirected_factory_named_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
factory C() = D<U, T>.named;
C._();
@@ -1961,7 +1913,7 @@
}
test_class_constructor_redirected_factory_named_generic_viaTypeAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef A<T, U> = C<T, U>;
class B<T, U> {
factory B() = A<U, T>.named;
@@ -2016,13 +1968,13 @@
}
test_class_constructor_redirected_factory_named_imported() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D extends C {
D.named() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart';
class C {
factory C() = D.named;
@@ -2046,13 +1998,13 @@
}
test_class_constructor_redirected_factory_named_imported_generic() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D<T, U> extends C<U, T> {
D.named() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart';
class C<T, U> {
factory C() = D<U, T>.named;
@@ -2083,13 +2035,13 @@
}
test_class_constructor_redirected_factory_named_prefixed() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D extends C {
D.named() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
class C {
factory C() = foo.D.named;
@@ -2113,13 +2065,13 @@
}
test_class_constructor_redirected_factory_named_prefixed_generic() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D<T, U> extends C<U, T> {
D.named() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
class C<T, U> {
factory C() = foo.D<U, T>.named;
@@ -2150,7 +2102,7 @@
}
test_class_constructor_redirected_factory_named_unresolved_class() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<E> {
factory C() = D.named<E>;
}
@@ -2169,7 +2121,7 @@
}
test_class_constructor_redirected_factory_named_unresolved_constructor() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class D {}
class C<E> {
factory C() = D.named<E>;
@@ -2192,7 +2144,7 @@
}
test_class_constructor_redirected_factory_unnamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
factory C() = D;
C._();
@@ -2221,7 +2173,7 @@
}
test_class_constructor_redirected_factory_unnamed_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
factory C() = D<U, T>;
C._();
@@ -2264,7 +2216,7 @@
}
test_class_constructor_redirected_factory_unnamed_generic_viaTypeAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef A<T, U> = C<T, U>;
class B<T, U> {
factory B() = A<U, T>;
@@ -2313,13 +2265,13 @@
}
test_class_constructor_redirected_factory_unnamed_imported() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D extends C {
D() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart';
class C {
factory C() = D;
@@ -2343,13 +2295,13 @@
}
test_class_constructor_redirected_factory_unnamed_imported_generic() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D<T, U> extends C<U, T> {
D() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart';
class C<T, U> {
factory C() = D<U, T>;
@@ -2380,14 +2332,14 @@
}
test_class_constructor_redirected_factory_unnamed_imported_viaTypeAlias() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
typedef A = B;
class B extends C {
B() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart';
class C {
factory C() = A;
@@ -2411,13 +2363,13 @@
}
test_class_constructor_redirected_factory_unnamed_prefixed() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D extends C {
D() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
class C {
factory C() = foo.D;
@@ -2441,13 +2393,13 @@
}
test_class_constructor_redirected_factory_unnamed_prefixed_generic() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
class D<T, U> extends C<U, T> {
D() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
class C<T, U> {
factory C() = foo.D<U, T>;
@@ -2478,14 +2430,14 @@
}
test_class_constructor_redirected_factory_unnamed_prefixed_viaTypeAlias() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
import 'test.dart';
typedef A = B;
class B extends C {
B() : super._();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
class C {
factory C() = foo.A;
@@ -2509,7 +2461,7 @@
}
test_class_constructor_redirected_factory_unnamed_unresolved() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<E> {
factory C() = D<E>;
}
@@ -2528,7 +2480,7 @@
}
test_class_constructor_redirected_factory_unnamed_viaTypeAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef A = C;
class B {
factory B() = A;
@@ -2561,7 +2513,7 @@
}
test_class_constructor_redirected_thisInvocation_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C.named();
const C() : this.named();
@@ -2594,7 +2546,7 @@
}
test_class_constructor_redirected_thisInvocation_named_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
const C.named();
const C() : this.named();
@@ -2630,7 +2582,7 @@
}
test_class_constructor_redirected_thisInvocation_named_notConst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C.named();
C() : this.named();
@@ -2651,7 +2603,7 @@
}
test_class_constructor_redirected_thisInvocation_unnamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
const C();
const C.named() : this();
@@ -2679,7 +2631,7 @@
}
test_class_constructor_redirected_thisInvocation_unnamed_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
const C();
const C.named() : this();
@@ -2710,7 +2662,7 @@
}
test_class_constructor_redirected_thisInvocation_unnamed_notConst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C();
C.named() : this();
@@ -2731,7 +2683,7 @@
}
test_class_constructor_superConstructor_generic_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
A.named(T a);
}
@@ -2765,7 +2717,7 @@
}
test_class_constructor_superConstructor_notGeneric_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A.named();
}
@@ -2791,7 +2743,7 @@
}
test_class_constructor_superConstructor_notGeneric_unnamed_explicit() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B extends A {
B() : super();
@@ -2813,7 +2765,7 @@
}
test_class_constructor_superConstructor_notGeneric_unnamed_implicit() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B extends A {
B();
@@ -2835,7 +2787,7 @@
}
test_class_constructor_superConstructor_notGeneric_unnamed_implicit2() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B extends A {}
''');
@@ -2855,7 +2807,7 @@
}
test_class_constructor_unnamed_implicit() async {
- var library = await checkLibrary('class C {}');
+ var library = await buildLibrary('class C {}');
checkElementText(
library,
r'''
@@ -2871,7 +2823,7 @@
}
test_class_constructor_withCycles_const() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x;
const C() : x = const D();
@@ -2949,7 +2901,7 @@
}
test_class_constructor_withCycles_nonConst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x;
C() : x = new D();
@@ -2985,7 +2937,7 @@
}
test_class_constructors_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C.foo();
}
@@ -3007,7 +2959,7 @@
}
test_class_constructors_unnamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C();
}
@@ -3027,7 +2979,7 @@
}
test_class_constructors_unnamed_new() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C.new();
}
@@ -3049,7 +3001,7 @@
}
test_class_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/**
* Docs
*/
@@ -3066,7 +3018,7 @@
}
test_class_documented_mix() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/**
* aaa
*/
@@ -3131,7 +3083,7 @@
}
test_class_documented_tripleSlash() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// first
/// second
/// third
@@ -3148,7 +3100,7 @@
}
test_class_documented_with_references() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/**
* Docs referring to [D] and [E]
*/
@@ -3174,7 +3126,7 @@
}
test_class_documented_with_windows_line_endings() async {
- var library = await checkLibrary('/**\r\n * Docs\r\n */\r\nclass C {}');
+ var library = await buildLibrary('/**\r\n * Docs\r\n */\r\nclass C {}');
checkElementText(library, r'''
library
definingUnit
@@ -3187,7 +3139,7 @@
}
test_class_documented_withLeadingNotDocumentation() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -3205,7 +3157,7 @@
}
test_class_documented_withMetadata() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// Comment 1
/// Comment 2
@Annotation()
@@ -3333,7 +3285,7 @@
}
test_class_field_abstract() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class C {
abstract int i;
}
@@ -3360,7 +3312,7 @@
}
test_class_field_const() async {
- var library = await checkLibrary('class C { static const int i = 0; }');
+ var library = await buildLibrary('class C { static const int i = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -3383,7 +3335,7 @@
test_class_field_const_late() async {
var library =
- await checkLibrary('class C { static late const int i = 0; }');
+ await buildLibrary('class C { static late const int i = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -3405,7 +3357,7 @@
}
test_class_field_covariant() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
covariant int x;
}''');
@@ -3431,7 +3383,7 @@
}
test_class_field_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
/**
* Docs
@@ -3461,7 +3413,7 @@
}
test_class_field_external() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class C {
external int i;
}
@@ -3488,7 +3440,7 @@
}
test_class_field_final_hasInitializer_hasConstConstructor() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x = 42;
const C();
@@ -3515,7 +3467,7 @@
}
test_class_field_final_hasInitializer_hasConstConstructor_genericFunctionType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A();
}
@@ -3600,7 +3552,7 @@
}
test_class_field_final_hasInitializer_noConstConstructor() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x = 42;
}
@@ -3622,7 +3574,7 @@
}
test_class_field_final_withSetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
final int foo;
A(this.foo);
@@ -3655,7 +3607,7 @@
}
test_class_field_formal_param_inferred_type_implicit() async {
- var library = await checkLibrary('class C extends D { var v; C(this.v); }'
+ var library = await buildLibrary('class C extends D { var v; C(this.v); }'
' abstract class D { int get v; }');
checkElementText(library, r'''
library
@@ -3694,7 +3646,7 @@
}
test_class_field_implicit_type() async {
- var library = await checkLibrary('class C { var x; }');
+ var library = await buildLibrary('class C { var x; }');
checkElementText(library, r'''
library
definingUnit
@@ -3717,7 +3669,7 @@
}
test_class_field_implicit_type_late() async {
- var library = await checkLibrary('class C { late var x; }');
+ var library = await buildLibrary('class C { late var x; }');
checkElementText(library, r'''
library
definingUnit
@@ -3740,7 +3692,7 @@
}
test_class_field_inferred_type_nonStatic_explicit_initialized() async {
- var library = await checkLibrary('class C { num v = 0; }');
+ var library = await buildLibrary('class C { num v = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -3763,7 +3715,7 @@
}
test_class_field_inferred_type_nonStatic_implicit_initialized() async {
- var library = await checkLibrary('class C { var v = 0; }');
+ var library = await buildLibrary('class C { var v = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -3786,7 +3738,7 @@
}
test_class_field_inferred_type_nonStatic_implicit_uninitialized() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'class C extends D { var v; } abstract class D { int get v; }');
checkElementText(library, r'''
library
@@ -3821,7 +3773,7 @@
}
test_class_field_inferred_type_nonStatic_inherited_resolveInitializer() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
abstract class A {
const A();
@@ -3880,7 +3832,7 @@
}
test_class_field_inferred_type_static_implicit_initialized() async {
- var library = await checkLibrary('class C { static var v = 0; }');
+ var library = await buildLibrary('class C { static var v = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -3903,7 +3855,7 @@
}
test_class_field_inheritedContextType_double() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class A {
const A();
double get foo;
@@ -3945,7 +3897,7 @@
}
test_class_field_propagatedType_const_noDep() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static const x = 0;
}''');
@@ -3970,8 +3922,8 @@
}
test_class_field_propagatedType_final_dep_inLib() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'final a = 1;');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'final a = 1;');
+ var library = await buildLibrary('''
import "a.dart";
class C {
final b = a / 2;
@@ -3996,7 +3948,7 @@
test_class_field_propagatedType_final_dep_inPart() async {
addSource('$testPackageLibPath/a.dart', 'part of lib; final a = 1;');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
library lib;
part "a.dart";
class C {
@@ -4029,7 +3981,7 @@
}
test_class_field_propagatedType_final_noDep_instance() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final x = 0;
}''');
@@ -4050,7 +4002,7 @@
}
test_class_field_propagatedType_final_noDep_static() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static final x = 0;
}''');
@@ -4071,7 +4023,7 @@
}
test_class_field_static() async {
- var library = await checkLibrary('class C { static int i; }');
+ var library = await buildLibrary('class C { static int i; }');
checkElementText(library, r'''
library
definingUnit
@@ -4094,7 +4046,7 @@
}
test_class_field_static_final_hasConstConstructor() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static final f = 0;
const C();
@@ -4117,7 +4069,7 @@
}
test_class_field_static_final_untyped() async {
- var library = await checkLibrary('class C { static final x = 0; }');
+ var library = await buildLibrary('class C { static final x = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -4135,7 +4087,7 @@
}
test_class_field_static_late() async {
- var library = await checkLibrary('class C { static late int i; }');
+ var library = await buildLibrary('class C { static late int i; }');
checkElementText(library, r'''
library
definingUnit
@@ -4158,7 +4110,7 @@
}
test_class_field_type_inferred_Never() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
var a = throw 42;
}
@@ -4191,7 +4143,7 @@
var a = 0;
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
class C {
var b = a;
@@ -4222,7 +4174,7 @@
}
test_class_field_typed() async {
- var library = await checkLibrary('class C { int x = 0; }');
+ var library = await buildLibrary('class C { int x = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -4245,7 +4197,7 @@
}
test_class_field_untyped() async {
- var library = await checkLibrary('class C { var x = 0; }');
+ var library = await buildLibrary('class C { var x = 0; }');
checkElementText(library, r'''
library
definingUnit
@@ -4268,7 +4220,7 @@
}
test_class_fields() async {
- var library = await checkLibrary('class C { int i; int j; }');
+ var library = await buildLibrary('class C { int i; int j; }');
checkElementText(library, r'''
library
definingUnit
@@ -4300,7 +4252,7 @@
}
test_class_fields_late() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
late int foo;
}
@@ -4327,7 +4279,7 @@
}
test_class_fields_late_final() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
late final int foo;
}
@@ -4354,7 +4306,7 @@
}
test_class_fields_late_final_initialized() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
late final int foo = 0;
}
@@ -4376,7 +4328,7 @@
}
test_class_fields_late_inference_usingSuper_methodInvocation() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
int foo() => 0;
}
@@ -4415,7 +4367,7 @@
}
test_class_fields_late_inference_usingSuper_propertyAccess() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
int get foo => 0;
}
@@ -4457,7 +4409,7 @@
}
test_class_getter_abstract() async {
- var library = await checkLibrary('abstract class C { int get x; }');
+ var library = await buildLibrary('abstract class C { int get x; }');
checkElementText(library, r'''
library
definingUnit
@@ -4475,7 +4427,7 @@
}
test_class_getter_external() async {
- var library = await checkLibrary('class C { external int get x; }');
+ var library = await buildLibrary('class C { external int get x; }');
checkElementText(library, r'''
library
definingUnit
@@ -4493,7 +4445,7 @@
}
test_class_getter_implicit_return_type() async {
- var library = await checkLibrary('class C { get x => null; }');
+ var library = await buildLibrary('class C { get x => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -4511,7 +4463,7 @@
}
test_class_getter_native() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int get x() native;
}
@@ -4533,7 +4485,7 @@
}
test_class_getter_static() async {
- var library = await checkLibrary('class C { static int get x => null; }');
+ var library = await buildLibrary('class C { static int get x => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -4552,7 +4504,7 @@
test_class_getters() async {
var library =
- await checkLibrary('class C { int get x => null; get y => null; }');
+ await buildLibrary('class C { int get x => null; get y => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -4574,7 +4526,7 @@
}
test_class_implicitField_getterFirst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int get x => 0;
void set x(int value) {}
@@ -4602,7 +4554,7 @@
}
test_class_implicitField_setterFirst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
void set x(int value) {}
int get x => 0;
@@ -4630,7 +4582,7 @@
}
test_class_interfaces() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C implements D, E {}
class D {}
class E {}
@@ -4655,7 +4607,7 @@
}
test_class_interfaces_Function() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B {}
class C implements A, Function, B {}
@@ -4680,7 +4632,7 @@
}
test_class_interfaces_unresolved() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'class C implements X, Y, Z {} class X {} class Z {}',
allowErrors: true);
checkElementText(library, r'''
@@ -4703,7 +4655,7 @@
}
test_class_method_abstract() async {
- var library = await checkLibrary('abstract class C { f(); }');
+ var library = await buildLibrary('abstract class C { f(); }');
checkElementText(library, r'''
library
definingUnit
@@ -4718,7 +4670,7 @@
}
test_class_method_async() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
class C {
Future f() async {}
@@ -4740,7 +4692,7 @@
}
test_class_method_asyncStar() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
class C {
Stream f() async* {}
@@ -4762,7 +4714,7 @@
}
test_class_method_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
/**
* Docs
@@ -4784,7 +4736,7 @@
}
test_class_method_external() async {
- var library = await checkLibrary('class C { external f(); }');
+ var library = await buildLibrary('class C { external f(); }');
checkElementText(library, r'''
library
definingUnit
@@ -4799,7 +4751,7 @@
}
test_class_method_hasImplicitReturnType_false() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int m() => 0;
}
@@ -4810,7 +4762,7 @@
}
test_class_method_hasImplicitReturnType_true() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
m() => 0;
}
@@ -4821,7 +4773,7 @@
}
test_class_method_inferred_type_nonStatic_implicit_param() async {
- var library = await checkLibrary('class C extends D { void f(value) {} }'
+ var library = await buildLibrary('class C extends D { void f(value) {} }'
' abstract class D { void f(int value); }');
checkElementText(library, r'''
library
@@ -4851,7 +4803,7 @@
}
test_class_method_inferred_type_nonStatic_implicit_return() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C extends D {
f() => null;
}
@@ -4881,7 +4833,7 @@
}
test_class_method_namedAsSupertype() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
class B extends A {
void A() {}
@@ -4906,7 +4858,7 @@
}
test_class_method_native() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int m() native;
}
@@ -4925,7 +4877,7 @@
}
test_class_method_params() async {
- var library = await checkLibrary('class C { f(x, y) {} }');
+ var library = await buildLibrary('class C { f(x, y) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -4945,7 +4897,7 @@
}
test_class_method_static() async {
- var library = await checkLibrary('class C { static f() {} }');
+ var library = await buildLibrary('class C { static f() {} }');
checkElementText(library, r'''
library
definingUnit
@@ -4960,7 +4912,7 @@
}
test_class_method_syncStar() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
Iterable<int> f() sync* {
yield 42;
@@ -4981,7 +4933,7 @@
}
test_class_method_type_parameter() async {
- var library = await checkLibrary('class C { T f<T, U>(U u) => null; }');
+ var library = await buildLibrary('class C { T f<T, U>(U u) => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -5002,7 +4954,7 @@
}
test_class_method_type_parameter_in_generic_class() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
V f<V, W>(T t, U u, W w) => null;
}
@@ -5036,7 +4988,7 @@
}
test_class_method_type_parameter_with_function_typed_parameter() async {
- var library = await checkLibrary('class C { void f<T, U>(T x(U u)) {} }');
+ var library = await buildLibrary('class C { void f<T, U>(T x(U u)) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -5060,7 +5012,7 @@
}
test_class_methods() async {
- var library = await checkLibrary('class C { f() {} g() {} }');
+ var library = await buildLibrary('class C { f() {} g() {} }');
checkElementText(library, r'''
library
definingUnit
@@ -5077,7 +5029,7 @@
}
test_class_mixins() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C extends D with E, F, G {}
class D {}
class E {}
@@ -5113,7 +5065,7 @@
}
test_class_mixins_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class Z extends A with B<int>, C<double> {}
class A {}
class B<B1> {}
@@ -5150,7 +5102,7 @@
}
test_class_mixins_unresolved() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'class C extends Object with X, Y, Z {} class X {} class Z {}',
allowErrors: true);
checkElementText(library, r'''
@@ -5176,7 +5128,7 @@
test_class_notSimplyBounded_circularity_via_typedef() async {
// C's type parameter T is not simply bounded because its bound, F, expands
// to `dynamic F(C)`, which refers to C.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends F> {}
typedef F(C value);
''');
@@ -5205,7 +5157,7 @@
test_class_notSimplyBounded_circularity_with_type_params() async {
// C's type parameter T is simply bounded because even though it refers to
// C, it specifies a bound.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends C<dynamic>> {}
''');
checkElementText(library, r'''
@@ -5223,7 +5175,7 @@
}
test_class_notSimplyBounded_complex_by_cycle_class() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends D> {}
class D<T extends C> {}
''');
@@ -5249,7 +5201,7 @@
}
test_class_notSimplyBounded_complex_by_cycle_typedef_functionType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef C<T extends D> = void Function();
typedef D<T extends C> = void Function();
''');
@@ -5277,7 +5229,7 @@
}
test_class_notSimplyBounded_complex_by_cycle_typedef_interfaceType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef C<T extends D> = List<T>;
typedef D<T extends C> = List<T>;
''');
@@ -5301,7 +5253,7 @@
}
test_class_notSimplyBounded_complex_by_reference_to_cycle() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends D> {}
class D<T extends D> {}
''');
@@ -5327,7 +5279,7 @@
}
test_class_notSimplyBounded_complex_by_use_of_parameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends D<T>> {}
class D<T> {}
''');
@@ -5354,7 +5306,7 @@
test_class_notSimplyBounded_dependency_with_type_params() async {
// C's type parameter T is simply bounded because even though it refers to
// non-simply-bounded type D, it specifies a bound.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends D<dynamic>> {}
class D<T extends D<T>> {}
''');
@@ -5380,7 +5332,7 @@
}
test_class_notSimplyBounded_function_typed_bound_complex_via_parameter_type() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends void Function(T)> {}
''');
checkElementText(library, r'''
@@ -5399,7 +5351,7 @@
test_class_notSimplyBounded_function_typed_bound_complex_via_parameter_type_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends void Function(T)> {}
''');
checkElementText(library, r'''
@@ -5417,7 +5369,7 @@
}
test_class_notSimplyBounded_function_typed_bound_complex_via_return_type() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends T Function()> {}
''');
checkElementText(library, r'''
@@ -5435,7 +5387,7 @@
}
test_class_notSimplyBounded_function_typed_bound_simple() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends void Function()> {}
''');
checkElementText(library, r'''
@@ -5456,7 +5408,7 @@
// C's type parameter T has a bound of F, which is a circular typedef. This
// is illegal in Dart, but we need to make sure it doesn't lead to a crash
// or infinite loop.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends F> {}
typedef F(G value);
typedef G(F value);
@@ -5491,7 +5443,7 @@
}
test_class_notSimplyBounded_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends C> {}
''');
checkElementText(library, r'''
@@ -5511,7 +5463,7 @@
test_class_notSimplyBounded_simple_because_non_generic() async {
// If no type parameters are specified, then the class is simply bounded, so
// there is no reason to assign it a slot.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {}
''');
checkElementText(library, r'''
@@ -5525,7 +5477,7 @@
}
test_class_notSimplyBounded_simple_by_lack_of_cycles() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends D> {}
class D<T> {}
''');
@@ -5552,7 +5504,7 @@
test_class_notSimplyBounded_simple_by_syntax() async {
// If no bounds are specified, then the class is simply bounded by syntax
// alone, so there is no reason to assign it a slot.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {}
''');
checkElementText(library, r'''
@@ -5570,7 +5522,7 @@
test_class_operator() async {
var library =
- await checkLibrary('class C { C operator+(C other) => null; }');
+ await buildLibrary('class C { C operator+(C other) => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -5588,7 +5540,7 @@
}
test_class_operator_equal() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
bool operator==(Object other) => false;
}
@@ -5611,7 +5563,7 @@
test_class_operator_external() async {
var library =
- await checkLibrary('class C { external C operator+(C other); }');
+ await buildLibrary('class C { external C operator+(C other); }');
checkElementText(library, r'''
library
definingUnit
@@ -5629,7 +5581,7 @@
}
test_class_operator_greater_equal() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
bool operator>=(C other) => false;
}
@@ -5652,7 +5604,7 @@
test_class_operator_index() async {
var library =
- await checkLibrary('class C { bool operator[](int i) => null; }');
+ await buildLibrary('class C { bool operator[](int i) => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -5670,7 +5622,7 @@
}
test_class_operator_index_set() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
void operator[]=(int i, bool v) {}
}
@@ -5694,7 +5646,7 @@
}
test_class_operator_less_equal() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
bool operator<=(C other) => false;
}
@@ -5716,7 +5668,7 @@
}
test_class_ref_nullability_none() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {}
C c;
''');
@@ -5742,7 +5694,7 @@
}
test_class_ref_nullability_question() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {}
C? c;
''');
@@ -5769,7 +5721,7 @@
test_class_ref_nullability_star() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {}
C c;
''');
@@ -5796,7 +5748,7 @@
test_class_setter_abstract() async {
var library =
- await checkLibrary('abstract class C { void set x(int value); }');
+ await buildLibrary('abstract class C { void set x(int value); }');
checkElementText(library, r'''
library
definingUnit
@@ -5818,7 +5770,7 @@
test_class_setter_covariant() async {
var library =
- await checkLibrary('class C { void set x(covariant int value); }');
+ await buildLibrary('class C { void set x(covariant int value); }');
checkElementText(library, r'''
library
definingUnit
@@ -5840,7 +5792,7 @@
test_class_setter_external() async {
var library =
- await checkLibrary('class C { external void set x(int value); }');
+ await buildLibrary('class C { external void set x(int value); }');
checkElementText(library, r'''
library
definingUnit
@@ -5861,7 +5813,7 @@
}
test_class_setter_implicit_param_type() async {
- var library = await checkLibrary('class C { void set x(value) {} }');
+ var library = await buildLibrary('class C { void set x(value) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -5882,7 +5834,7 @@
}
test_class_setter_implicit_return_type() async {
- var library = await checkLibrary('class C { set x(int value) {} }');
+ var library = await buildLibrary('class C { set x(int value) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -5903,7 +5855,7 @@
}
test_class_setter_inferred_type_conflictingInheritance() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
int t;
}
@@ -5976,7 +5928,7 @@
test_class_setter_inferred_type_nonStatic_implicit_param() async {
var library =
- await checkLibrary('class C extends D { void set f(value) {} }'
+ await buildLibrary('class C extends D { void set f(value) {} }'
' abstract class D { void set f(int value); }');
checkElementText(library, r'''
library
@@ -6012,7 +5964,7 @@
}
test_class_setter_inferred_type_static_implicit_return() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static set f(int value) {}
}
@@ -6037,7 +5989,7 @@
}
test_class_setter_invalid_named_parameter() async {
- var library = await checkLibrary('class C { void set x({a}) {} }');
+ var library = await buildLibrary('class C { void set x({a}) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -6058,7 +6010,7 @@
}
test_class_setter_invalid_no_parameter() async {
- var library = await checkLibrary('class C { void set x() {} }');
+ var library = await buildLibrary('class C { void set x() {} }');
checkElementText(library, r'''
library
definingUnit
@@ -6076,7 +6028,7 @@
}
test_class_setter_invalid_optional_parameter() async {
- var library = await checkLibrary('class C { void set x([a]) {} }');
+ var library = await buildLibrary('class C { void set x([a]) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -6097,7 +6049,7 @@
}
test_class_setter_invalid_too_many_parameters() async {
- var library = await checkLibrary('class C { void set x(a, b) {} }');
+ var library = await buildLibrary('class C { void set x(a, b) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -6120,7 +6072,7 @@
}
test_class_setter_native() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
void set x(int value) native;
}
@@ -6146,7 +6098,7 @@
test_class_setter_static() async {
var library =
- await checkLibrary('class C { static void set x(int value) {} }');
+ await buildLibrary('class C { static void set x(int value) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -6167,7 +6119,7 @@
}
test_class_setters() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
void set x(int value) {}
set y(value) {}
@@ -6200,7 +6152,7 @@
}
test_class_supertype() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C extends D {}
class D {}
''');
@@ -6220,7 +6172,7 @@
}
test_class_supertype_typeArguments() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C extends D<int, double> {}
class D<T1, T2> {}
''');
@@ -6247,7 +6199,7 @@
}
test_class_supertype_typeArguments_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {}
class B extends A<B> {}
''');
@@ -6272,7 +6224,7 @@
}
test_class_supertype_unresolved() async {
- var library = await checkLibrary('class C extends D {}', allowErrors: true);
+ var library = await buildLibrary('class C extends D {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -6284,7 +6236,7 @@
}
test_class_typeParameters() async {
- var library = await checkLibrary('class C<T, U> {}');
+ var library = await buildLibrary('class C<T, U> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6301,7 +6253,7 @@
}
test_class_typeParameters_bound() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends Object, U extends D> {}
class D {}
''');
@@ -6326,7 +6278,7 @@
}
test_class_typeParameters_cycle_1of1() async {
- var library = await checkLibrary('class C<T extends T> {}');
+ var library = await buildLibrary('class C<T extends T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6342,7 +6294,7 @@
}
test_class_typeParameters_cycle_2of3() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<T extends V, U, V extends T> {}
''');
checkElementText(library, r'''
@@ -6365,7 +6317,7 @@
}
test_class_typeParameters_defaultType_cycle_genericFunctionType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T extends void Function(A)> {}
''');
checkElementText(library, r'''
@@ -6383,7 +6335,7 @@
}
test_class_typeParameters_defaultType_cycle_genericFunctionType2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<T extends void Function<U extends C>()> {}
''');
checkElementText(library, r'''
@@ -6402,7 +6354,7 @@
test_class_typeParameters_defaultType_functionTypeAlias_contravariant_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<X> = void Function(X);
class A<X extends F<X>> {}
@@ -6439,7 +6391,7 @@
}
test_class_typeParameters_defaultType_functionTypeAlias_contravariant_nullSafe() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<X> = void Function(X);
class A<X extends F<X>> {}
@@ -6476,7 +6428,7 @@
}
test_class_typeParameters_defaultType_functionTypeAlias_covariant_nullSafe() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<X> = X Function();
class A<X extends F<X>> {}
@@ -6510,7 +6462,7 @@
}
test_class_typeParameters_defaultType_functionTypeAlias_invariant_legacy() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<X> = X Function(X);
class A<X extends F<X>> {}
@@ -6547,7 +6499,7 @@
}
test_class_typeParameters_defaultType_functionTypeAlias_invariant_nullSafe() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<X> = X Function(X);
class A<X extends F<X>> {}
@@ -6585,7 +6537,7 @@
test_class_typeParameters_defaultType_genericFunctionType_both_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<X extends X Function(X)> {}
''');
checkElementText(library, r'''
@@ -6603,7 +6555,7 @@
}
test_class_typeParameters_defaultType_genericFunctionType_both_nullSafe() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<X extends X Function(X)> {}
''');
checkElementText(library, r'''
@@ -6622,7 +6574,7 @@
test_class_typeParameters_defaultType_genericFunctionType_contravariant_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<X extends void Function(X)> {}
''');
checkElementText(library, r'''
@@ -6640,7 +6592,7 @@
}
test_class_typeParameters_defaultType_genericFunctionType_contravariant_nullSafe() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<X extends void Function(X)> {}
''');
checkElementText(library, r'''
@@ -6658,7 +6610,7 @@
}
test_class_typeParameters_defaultType_genericFunctionType_covariant_legacy() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<X extends X Function()> {}
''');
checkElementText(library, r'''
@@ -6676,7 +6628,7 @@
}
test_class_typeParameters_defaultType_genericFunctionType_covariant_nullSafe() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<X extends X Function()> {}
''');
checkElementText(library, r'''
@@ -6694,7 +6646,7 @@
}
test_class_typeParameters_defaultType_typeAlias_interface_contravariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<X> = List<void Function(X)>;
class B<X extends A<X>> {}
@@ -6726,7 +6678,7 @@
}
test_class_typeParameters_defaultType_typeAlias_interface_covariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<X> = Map<X, int>;
class B<X extends A<X>> {}
@@ -6758,7 +6710,7 @@
}
test_class_typeParameters_f_bound_complex() async {
- var library = await checkLibrary('class C<T extends List<U>, U> {}');
+ var library = await buildLibrary('class C<T extends List<U>, U> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6776,7 +6728,7 @@
}
test_class_typeParameters_f_bound_simple() async {
- var library = await checkLibrary('class C<T extends U, U> {}');
+ var library = await buildLibrary('class C<T extends U, U> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6794,7 +6746,7 @@
}
test_class_typeParameters_variance_contravariant() async {
- var library = await checkLibrary('class C<in T> {}');
+ var library = await buildLibrary('class C<in T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6809,7 +6761,7 @@
}
test_class_typeParameters_variance_covariant() async {
- var library = await checkLibrary('class C<out T> {}');
+ var library = await buildLibrary('class C<out T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6824,7 +6776,7 @@
}
test_class_typeParameters_variance_invariant() async {
- var library = await checkLibrary('class C<inout T> {}');
+ var library = await buildLibrary('class C<inout T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6839,7 +6791,7 @@
}
test_class_typeParameters_variance_multiple() async {
- var library = await checkLibrary('class C<inout T, in U, out V> {}');
+ var library = await buildLibrary('class C<inout T, in U, out V> {}');
checkElementText(library, r'''
library
definingUnit
@@ -6858,7 +6810,7 @@
}
test_classAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C = D with E, F, G;
class D {}
class E {}
@@ -6901,7 +6853,7 @@
}
test_classAlias_abstract() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class C = D with E;
class D {}
class E {}
@@ -6934,7 +6886,7 @@
}
test_classAlias_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/**
* Docs
*/
@@ -6972,7 +6924,7 @@
}
test_classAlias_documented_tripleSlash() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// aaa
/// b
/// cc
@@ -7010,7 +6962,7 @@
}
test_classAlias_documented_withLeadingNonDocumentation() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -7048,7 +7000,7 @@
}
test_classAlias_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class Z = A with B<int>, C<double>;
class A {}
class B<B1> {}
@@ -7092,7 +7044,7 @@
}
test_classAlias_notSimplyBounded_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends C> = D with E;
class D {}
class E {}
@@ -7131,7 +7083,7 @@
test_classAlias_notSimplyBounded_simple_no_type_parameter_bound() async {
// If no bounds are specified, then the class is simply bounded by syntax
// alone, so there is no reason to assign it a slot.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> = D with E;
class D {}
class E {}
@@ -7169,7 +7121,7 @@
test_classAlias_notSimplyBounded_simple_non_generic() async {
// If no type parameters are specified, then the class is simply bounded, so
// there is no reason to assign it a slot.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C = D with E;
class D {}
class E {}
@@ -7202,14 +7154,14 @@
}
test_classAlias_with_const_constructors() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class Base {
const Base._priv();
const Base();
const Base.named();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "a.dart";
class M {}
class MixinApp = Base with M;
@@ -7255,7 +7207,7 @@
}
test_classAlias_with_forwarding_constructors() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class Base {
bool x = true;
Base._priv();
@@ -7270,7 +7222,7 @@
factory Base.fact2() = Base.noArgs;
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "a.dart";
class M {}
class MixinApp = Base with M;
@@ -7442,7 +7394,7 @@
}
test_classAlias_with_forwarding_constructors_type_substitution() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class Base<T> {
Base.ctor(T t, List<T> l);
}
@@ -7508,7 +7460,7 @@
}
test_classAlias_with_forwarding_constructors_type_substitution_complex() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class Base<T> {
Base.ctor(T t, List<T> l);
}
@@ -7577,7 +7529,7 @@
}
test_classAlias_with_mixin_members() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C = D with E;
class D {}
class E {
@@ -7639,7 +7591,7 @@
}
test_classes() async {
- var library = await checkLibrary('class C {} class D {}');
+ var library = await buildLibrary('class C {} class D {}');
checkElementText(library, r'''
library
definingUnit
@@ -7654,7 +7606,7 @@
}
test_closure_executable_with_return_type_from_closure() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f() {
print(() {});
print(() => () => 0);
@@ -7670,7 +7622,7 @@
}
test_closure_generic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
final f = <U, V>(U x, V y) => y;
''');
checkElementText(library, r'''
@@ -7688,7 +7640,7 @@
test_closure_in_variable_declaration_in_part() async {
addSource('$testPackageLibPath/a.dart',
'part of lib; final f = (int i) => i.toDouble();');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
library lib;
part "a.dart";
''');
@@ -7709,7 +7661,7 @@
}
test_codeRange_class() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class Raw {}
/// Comment 1.
@@ -7823,7 +7775,7 @@
}
test_codeRange_class_namedMixin() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B {}
@@ -8017,7 +7969,7 @@
}
test_codeRange_constructor() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C();
@@ -8142,7 +8094,7 @@
}
test_codeRange_constructor_factory() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
factory C() => throw 0;
@@ -8267,7 +8219,7 @@
}
test_codeRange_enum() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
aaa, bbb, ccc
}
@@ -8373,7 +8325,7 @@
}
test_codeRange_extensions() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
extension Raw on A {}
@@ -8489,7 +8441,7 @@
}
test_codeRange_field() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int withInit = 1;
@@ -8571,7 +8523,7 @@
}
test_codeRange_field_annotations() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
/// Comment 1.
/// Comment 2.
@@ -8820,7 +8772,7 @@
}
test_codeRange_function() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void raw() {}
/// Comment 1.
@@ -8928,7 +8880,7 @@
}
test_codeRange_functionTypeAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef Raw();
/// Comment 1.
@@ -9048,7 +9000,7 @@
}
test_codeRange_genericTypeAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef Raw = Function();
/// Comment 1.
@@ -9168,7 +9120,7 @@
}
test_codeRange_method() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
void raw() {}
@@ -9284,7 +9236,7 @@
}
test_codeRange_parameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
main({int a = 1, int b, int c = 2}) {}
''');
checkElementText(library, r'''
@@ -9312,7 +9264,7 @@
}
test_codeRange_parameter_annotations() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
main(@Object() int a, int b, @Object() int c) {}
''');
checkElementText(library, r'''
@@ -9354,7 +9306,7 @@
}
test_codeRange_topLevelVariable() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
int withInit = 1 + 2 * 3;
int withoutInit;
@@ -9428,7 +9380,7 @@
}
test_codeRange_topLevelVariable_annotations() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// Comment 1.
/// Comment 2.
int hasDocComment, hasDocComment2;
@@ -9669,7 +9621,7 @@
}
test_codeRange_type_parameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {}
void f<U extends num> {}
''');
@@ -9704,7 +9656,7 @@
}
test_compilationUnit_nnbd_disabled_via_dart_directive() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// @dart=2.2
''');
expect(library.isNonNullableByDefault, isFalse);
@@ -9712,17 +9664,17 @@
test_compilationUnit_nnbd_disabled_via_feature_set() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('');
+ var library = await buildLibrary('');
expect(library.isNonNullableByDefault, isFalse);
}
test_compilationUnit_nnbd_enabled() async {
- var library = await checkLibrary('');
+ var library = await buildLibrary('');
expect(library.isNonNullableByDefault, isTrue);
}
test_const_asExpression() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const num a = 0;
const b = a as int;
''');
@@ -9761,7 +9713,7 @@
}
test_const_assignmentExpression() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
const b = (a += 1);
''');
@@ -9806,7 +9758,7 @@
}
test_const_cascadeExpression() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0..isEven..abs();
''');
checkElementText(library, r'''
@@ -9847,7 +9799,7 @@
}
test_const_classField() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
static const int f1 = 1;
static const int f2 = C.f1, f3 = C.f2;
@@ -9908,7 +9860,7 @@
}
test_const_constructor_inferred_args() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
final T t;
const C(this.t);
@@ -10020,7 +9972,7 @@
}
test_const_constructorReference() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
A.named();
}
@@ -10061,7 +10013,7 @@
}
test_const_finalField_hasConstConstructor() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
final int f = 42;
const C();
@@ -10088,7 +10040,7 @@
}
test_const_functionExpression_typeArgumentTypes() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f<T>(T a) {}
const void Function(int) v = f;
@@ -10123,7 +10075,7 @@
}
test_const_functionReference() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f<T>(T a) {}
const v = f<int>;
''');
@@ -10167,7 +10119,7 @@
}
test_const_indexExpression() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = [0];
const b = 0;
const c = a[b];
@@ -10222,7 +10174,7 @@
}
test_const_inference_downward_list() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class P<T> {
const P();
}
@@ -10326,7 +10278,7 @@
}
test_const_invalid_field_const() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
static const f = 1 + foo();
}
@@ -10371,7 +10323,7 @@
}
test_const_invalid_field_final() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
final f = 1 + foo();
}
@@ -10397,7 +10349,7 @@
}
test_const_invalid_functionExpression() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const v = () { return 0; };
''');
checkElementText(library, r'''
@@ -10424,7 +10376,7 @@
}
test_const_invalid_functionExpression_nested() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const v = () { return 0; } + 2;
''');
checkElementText(library, r'''
@@ -10460,7 +10412,7 @@
@FailingTest(issue: 'https://github.com/dart-lang/sdk/issues/44522')
test_const_invalid_intLiteral() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const int x = 0x;
''', allowErrors: true);
checkElementText(library, r'''
@@ -10469,7 +10421,7 @@
}
test_const_invalid_topLevel() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const v = 1 + foo();
int foo() => 42;
''', allowErrors: true);
@@ -10508,7 +10460,7 @@
}
test_const_invalid_typeMismatch() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const int a = 0;
const bool b = a + 5;
''', allowErrors: true);
@@ -10546,7 +10498,7 @@
}
test_const_invokeConstructor_generic_named() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<K, V> {
const C.named(K k, V v);
}
@@ -10627,12 +10579,12 @@
}
test_const_invokeConstructor_generic_named_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C<K, V> {
const C.named(K k, V v);
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = const C<int, String>.named(1, '222');
''');
@@ -10697,12 +10649,12 @@
}
test_const_invokeConstructor_generic_named_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C<K, V> {
const C.named(K k, V v);
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C<int, String>.named(1, '222');
''');
@@ -10775,7 +10727,7 @@
}
test_const_invokeConstructor_generic_noTypeArguments() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<K, V> {
const C();
}
@@ -10820,7 +10772,7 @@
}
test_const_invokeConstructor_generic_unnamed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<K, V> {
const C();
}
@@ -10881,12 +10833,12 @@
}
test_const_invokeConstructor_generic_unnamed_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C<K, V> {
const C();
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = const C<int, String>();
''');
@@ -10938,12 +10890,12 @@
}
test_const_invokeConstructor_generic_unnamed_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C<K, V> {
const C();
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C<int, String>();
''');
@@ -11003,7 +10955,7 @@
}
test_const_invokeConstructor_named() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
const C.named(bool a, int b, int c, {String d, double e});
}
@@ -11088,12 +11040,12 @@
}
test_const_invokeConstructor_named_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
const C.named();
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = const C.named();
''');
@@ -11132,12 +11084,12 @@
}
test_const_invokeConstructor_named_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
const C.named();
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C.named();
''');
@@ -11184,7 +11136,7 @@
}
test_const_invokeConstructor_named_unresolved() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {}
const V = const C.named();
''', allowErrors: true);
@@ -11225,7 +11177,7 @@
}
test_const_invokeConstructor_named_unresolved2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const V = const C.named();
''', allowErrors: true);
checkElementText(library, r'''
@@ -11264,11 +11216,11 @@
}
test_const_invokeConstructor_named_unresolved3() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C.named();
''', allowErrors: true);
@@ -11315,8 +11267,8 @@
}
test_const_invokeConstructor_named_unresolved4() async {
- addLibrarySource('$testPackageLibPath/a.dart', '');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/a.dart', '');
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C.named();
''', allowErrors: true);
@@ -11363,7 +11315,7 @@
}
test_const_invokeConstructor_named_unresolved5() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const V = const p.C.named();
''', allowErrors: true);
checkElementText(library, r'''
@@ -11407,7 +11359,7 @@
}
test_const_invokeConstructor_named_unresolved6() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<T> {}
const V = const C.named();
''', allowErrors: true);
@@ -11451,7 +11403,7 @@
}
test_const_invokeConstructor_unnamed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
const C();
}
@@ -11489,12 +11441,12 @@
}
test_const_invokeConstructor_unnamed_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
const C();
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = const C();
''');
@@ -11528,12 +11480,12 @@
}
test_const_invokeConstructor_unnamed_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
const C();
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C();
''');
@@ -11575,7 +11527,7 @@
}
test_const_invokeConstructor_unnamed_unresolved() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const V = const C();
''', allowErrors: true);
checkElementText(library, r'''
@@ -11606,8 +11558,8 @@
}
test_const_invokeConstructor_unnamed_unresolved2() async {
- addLibrarySource('$testPackageLibPath/a.dart', '');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/a.dart', '');
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = const p.C();
''', allowErrors: true);
@@ -11649,7 +11601,7 @@
}
test_const_invokeConstructor_unnamed_unresolved3() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const V = const p.C();
''', allowErrors: true);
checkElementText(library, r'''
@@ -11688,7 +11640,7 @@
}
test_const_isExpression() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = 0;
const b = a is int;
''');
@@ -11727,7 +11679,7 @@
}
test_const_length_ofClassConstField() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
static const String F = '';
}
@@ -11779,12 +11731,12 @@
}
test_const_length_ofClassConstField_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
static const String F = '';
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const int v = C.F.length;
''');
@@ -11823,12 +11775,12 @@
}
test_const_length_ofClassConstField_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
static const String F = '';
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const int v = p.C.F.length;
''');
@@ -11874,7 +11826,7 @@
}
test_const_length_ofStringLiteral() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const v = 'abc'.length;
''');
checkElementText(library, r'''
@@ -11900,7 +11852,7 @@
}
test_const_length_ofTopLevelVariable() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const String S = 'abc';
const v = S.length;
''');
@@ -11937,10 +11889,10 @@
}
test_const_length_ofTopLevelVariable_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
const String S = 'abc';
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const v = S.length;
''');
@@ -11972,10 +11924,10 @@
}
test_const_length_ofTopLevelVariable_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
const String S = 'abc';
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const v = p.S.length;
''');
@@ -12014,7 +11966,7 @@
}
test_const_length_staticMethod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
static int length() => 42;
}
@@ -12053,7 +12005,7 @@
}
test_const_list_if() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>[if (true) 1];
''');
checkElementText(library, r'''
@@ -12096,7 +12048,7 @@
}
test_const_list_if_else() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>[if (true) 1 else 2];
''');
checkElementText(library, r'''
@@ -12146,7 +12098,7 @@
// The summary needs to contain enough information so that when the constant
// is resynthesized, the constant value can get the type that was computed
// by type inference.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const [1];
''');
checkElementText(library, r'''
@@ -12172,7 +12124,7 @@
}
test_const_list_spread() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>[...<int>[1]];
''');
checkElementText(library, r'''
@@ -12225,7 +12177,7 @@
}
test_const_list_spread_null_aware() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>[...?<int>[1]];
''');
checkElementText(library, r'''
@@ -12278,7 +12230,7 @@
}
test_const_map_if() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int, int>{if (true) 1: 2};
''');
checkElementText(library, r'''
@@ -12336,7 +12288,7 @@
// The summary needs to contain enough information so that when the constant
// is resynthesized, the constant value can get the type that was computed
// by type inference.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const {1: 1.0};
''');
checkElementText(library, r'''
@@ -12368,7 +12320,7 @@
}
test_const_map_spread() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int, int>{...<int, int>{1: 2}};
''');
checkElementText(library, r'''
@@ -12440,7 +12392,7 @@
}
test_const_map_spread_null_aware() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int, int>{...?<int, int>{1: 2}};
''');
checkElementText(library, r'''
@@ -12512,7 +12464,7 @@
}
test_const_methodInvocation() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
T f<T>(T a) => a;
const b = f<int>(0);
''');
@@ -12564,7 +12516,7 @@
}
test_const_parameterDefaultValue_initializingFormal_functionTyped() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
final x;
const C({this.x: foo});
@@ -12600,7 +12552,7 @@
}
test_const_parameterDefaultValue_initializingFormal_named() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
final x;
const C({this.x: 1 + 2});
@@ -12639,7 +12591,7 @@
}
test_const_parameterDefaultValue_initializingFormal_positional() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
final x;
const C([this.x = 1 + 2]);
@@ -12678,7 +12630,7 @@
}
test_const_parameterDefaultValue_normal() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
const C.positional([p = 1 + 2]);
const C.named({p: 1 + 2});
@@ -12779,7 +12731,7 @@
}
test_const_postfixExpression_increment() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
const b = a++;
''');
@@ -12817,7 +12769,7 @@
}
test_const_postfixExpression_nullCheck() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const int? a = 0;
const b = a!;
''');
@@ -12851,7 +12803,7 @@
}
test_const_prefixExpression_class_unaryMinus() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
const b = -a;
''');
@@ -12885,13 +12837,13 @@
}
test_const_prefixExpression_extension_unaryMinus() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
extension E on Object {
int operator -() => 0;
}
const a = const Object();
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'a.dart';
const b = -a;
''');
@@ -12919,7 +12871,7 @@
}
test_const_prefixExpression_increment() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
const b = ++a;
''');
@@ -12957,7 +12909,7 @@
}
test_const_reference_staticField() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
static const int F = 42;
}
@@ -13003,12 +12955,12 @@
}
test_const_reference_staticField_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
static const int F = 42;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = C.F;
''');
@@ -13040,12 +12992,12 @@
}
test_const_reference_staticField_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
static const int F = 42;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = p.C.F;
''');
@@ -13084,7 +13036,7 @@
}
test_const_reference_staticMethod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
static int m(int a, String b) => 42;
}
@@ -13128,12 +13080,12 @@
}
test_const_reference_staticMethod_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
static int m(int a, String b) => 42;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = C.m;
''');
@@ -13165,12 +13117,12 @@
}
test_const_reference_staticMethod_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {
static int m(int a, String b) => 42;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = p.C.m;
''');
@@ -13209,7 +13161,7 @@
}
test_const_reference_staticMethod_ofExtension() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
extension E on A {
static void f() {}
@@ -13252,7 +13204,7 @@
}
test_const_reference_topLevelFunction() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
foo() {}
const V = foo;
''');
@@ -13277,7 +13229,7 @@
}
test_const_reference_topLevelFunction_generic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
R foo<P, R>(P p) {}
const V = foo;
''');
@@ -13308,10 +13260,10 @@
}
test_const_reference_topLevelFunction_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
foo() {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const V = foo;
''');
@@ -13335,10 +13287,10 @@
}
test_const_reference_topLevelFunction_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
foo() {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const V = p.foo;
''');
@@ -13370,7 +13322,7 @@
}
test_const_reference_topLevelVariable() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const A = 1;
const B = A + 2;
''');
@@ -13408,10 +13360,10 @@
}
test_const_reference_topLevelVariable_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
const A = 1;
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const B = A + 2;
''');
@@ -13443,10 +13395,10 @@
}
test_const_reference_topLevelVariable_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
const A = 1;
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const B = p.A + 2;
''');
@@ -13486,7 +13438,7 @@
}
test_const_reference_type() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {}
class D<T> {}
enum E {a, b, c}
@@ -13674,7 +13626,7 @@
}
test_const_reference_type_functionType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F();
class C {
final f = <F>[];
@@ -13702,12 +13654,12 @@
}
test_const_reference_type_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {}
enum E {a, b, c}
typedef F(int a, String b);
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
const vClass = C;
const vEnum = E;
@@ -13751,12 +13703,12 @@
}
test_const_reference_type_imported_withPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C {}
enum E {a, b, c}
typedef F(int a, String b);
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const vClass = p.C;
const vEnum = p.E;
@@ -13824,7 +13776,7 @@
}
test_const_reference_type_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C<T> {
final f = <T>[];
}
@@ -13849,7 +13801,7 @@
}
test_const_reference_unresolved_prefix0() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const V = foo;
''', allowErrors: true);
checkElementText(library, r'''
@@ -13870,7 +13822,7 @@
}
test_const_reference_unresolved_prefix1() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {}
const V = C.foo;
''', allowErrors: true);
@@ -13904,10 +13856,10 @@
}
test_const_reference_unresolved_prefix2() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class C {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'foo.dart' as p;
const V = p.C.foo;
''', allowErrors: true);
@@ -13946,7 +13898,7 @@
}
test_const_set_if() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>{if (true) 1};
''');
checkElementText(library, r'''
@@ -13993,7 +13945,7 @@
// The summary needs to contain enough information so that when the constant
// is resynthesized, the constant value can get the type that was computed
// by type inference.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const {1};
''');
checkElementText(library, r'''
@@ -14020,7 +13972,7 @@
}
test_const_set_spread() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>{...<int>{1}};
''');
checkElementText(library, r'''
@@ -14075,7 +14027,7 @@
}
test_const_set_spread_null_aware() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const Object x = const <int>{...?<int>{1}};
''');
checkElementText(library, r'''
@@ -14130,7 +14082,7 @@
}
test_const_topLevel_binary() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vEqual = 1 == 2;
const vAnd = true && false;
const vOr = false || true;
@@ -14447,7 +14399,7 @@
}
test_const_topLevel_conditional() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vConditional = (1 == 2) ? 11 : 22;
''');
checkElementText(library, r'''
@@ -14489,7 +14441,7 @@
}
test_const_topLevel_identical() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vIdentical = (1 == 2) ? 11 : 22;
''');
checkElementText(library, r'''
@@ -14531,7 +14483,7 @@
}
test_const_topLevel_ifNull() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vIfNull = 1 ?? 2.0;
''');
checkElementText(library, r'''
@@ -14559,7 +14511,7 @@
}
test_const_topLevel_literal() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vNull = null;
const vBoolFalse = false;
const vBoolTrue = true;
@@ -14720,7 +14672,7 @@
}
test_const_topLevel_methodInvocation_questionPeriod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const int? a = 0;
const b = a?.toString();
''');
@@ -14761,7 +14713,7 @@
}
test_const_topLevel_methodInvocation_questionPeriodPeriod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const int? a = 0;
const b = a?..toString();
''');
@@ -14805,7 +14757,7 @@
}
test_const_topLevel_nullSafe_nullAware_propertyAccess() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const String? a = '';
const List<int?> b = [
@@ -14849,7 +14801,7 @@
}
test_const_topLevel_parenthesis() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const int v1 = (1 + 2) * 3;
const int v2 = -(1 + 2);
const int v3 = ('aaa' + 'bbb').length;
@@ -14940,7 +14892,7 @@
}
test_const_topLevel_prefix() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vNotEqual = 1 != 2;
const vNot = !true;
const vNegate = -1;
@@ -15007,7 +14959,7 @@
}
test_const_topLevel_super() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vSuper = super;
''');
checkElementText(library, r'''
@@ -15027,7 +14979,7 @@
}
test_const_topLevel_this() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vThis = this;
''');
checkElementText(library, r'''
@@ -15047,7 +14999,7 @@
}
test_const_topLevel_throw() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const c = throw 42;
''');
checkElementText(library, r'''
@@ -15071,7 +15023,7 @@
test_const_topLevel_throw_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const c = throw 42;
''');
checkElementText(library, r'''
@@ -15094,7 +15046,7 @@
}
test_const_topLevel_typedList() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vNull = const <Null>[];
const vDynamic = const <dynamic>[1, 2, 3];
const vInterfaceNoTypeParameters = const <int>[1, 2, 3];
@@ -15287,8 +15239,8 @@
}
test_const_topLevel_typedList_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ var library = await buildLibrary(r'''
import 'a.dart';
const v = const <C>[];
''');
@@ -15323,8 +15275,8 @@
}
test_const_topLevel_typedList_importedWithPrefix() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ var library = await buildLibrary(r'''
import 'a.dart' as p;
const v = const <p.C>[];
''');
@@ -15367,7 +15319,7 @@
}
test_const_topLevel_typedList_typedefArgument() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef int F(String id);
const v = const <F>[];
''');
@@ -15409,7 +15361,7 @@
}
test_const_topLevel_typedMap() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vDynamic1 = const <dynamic, int>{};
const vDynamic2 = const <int, dynamic>{};
const vInterface = const <int, String>{};
@@ -15542,7 +15494,7 @@
}
test_const_topLevel_typedSet() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const vDynamic1 = const <dynamic>{};
const vInterface = const <int>{};
const vInterfaceWithTypeArguments = const <List<String>>{};
@@ -15629,7 +15581,7 @@
}
test_const_topLevel_untypedList() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const v = const [1, 2, 3];
''');
checkElementText(library, r'''
@@ -15661,7 +15613,7 @@
}
test_const_topLevel_untypedMap() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const v = const {0: 'aaa', 1: 'bbb', 2: 'ccc'};
''');
checkElementText(library, r'''
@@ -15706,7 +15658,7 @@
}
test_const_topLevel_untypedSet() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const v = const {0, 1, 2};
''');
checkElementText(library, r'''
@@ -15739,7 +15691,7 @@
}
test_const_typeLiteral() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const v = List<int>;
''');
checkElementText(library, r'''
@@ -15774,7 +15726,7 @@
}
test_constExpr_pushReference_enum_field() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {a, b, c}
final vValue = E.a;
final vValues = E.values;
@@ -15884,7 +15836,7 @@
}
test_constExpr_pushReference_enum_method() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {a}
final vToString = E.a.toString();
''');
@@ -15940,7 +15892,7 @@
}
test_constExpr_pushReference_field_simpleIdentifier() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static const a = b;
static const b = null;
@@ -15976,7 +15928,7 @@
}
test_constExpr_pushReference_staticMethod_simpleIdentifier() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static const a = m;
static m() {}
@@ -16007,7 +15959,7 @@
}
test_defaultValue_eliminateTypeParameters() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const X({List<T> a = const []});
}
@@ -16039,7 +15991,7 @@
test_defaultValue_eliminateTypeParameters_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const X({List<T> a = const []});
}
@@ -16070,7 +16022,7 @@
}
test_defaultValue_genericFunction() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef void F<T>(T v);
void defaultF<T>(T v) {}
@@ -16138,7 +16090,7 @@
}
test_defaultValue_genericFunctionType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A();
}
@@ -16200,7 +16152,7 @@
}
test_defaultValue_inFunctionTypedFormalParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f( g({a: 0 is int}) ) {}
''');
checkElementText(library, r'''
@@ -16233,7 +16185,7 @@
test_defaultValue_methodMember_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f([Comparator<T> compare = Comparable.compare]) {}
''');
checkElementText(library, r'''
@@ -16269,7 +16221,7 @@
}
test_defaultValue_refersToExtension_method_inside() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
extension E on A {
static void f() {}
@@ -16303,7 +16255,7 @@
}
test_defaultValue_refersToGenericClass() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T1, T2> {
const B();
}
@@ -16353,7 +16305,7 @@
}
test_defaultValue_refersToGenericClass_constructor() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T> {
const B();
}
@@ -16401,7 +16353,7 @@
}
test_defaultValue_refersToGenericClass_constructor2() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class A<T> {}
class B<T> implements A<T> {
const B();
@@ -16461,7 +16413,7 @@
test_defaultValue_refersToGenericClass_constructor2_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class A<T> {}
class B<T> implements A<T> {
const B();
@@ -16521,7 +16473,7 @@
test_defaultValue_refersToGenericClass_constructor_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T> {
const B();
}
@@ -16569,7 +16521,7 @@
}
test_defaultValue_refersToGenericClass_functionG() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T> {
const B();
}
@@ -16614,7 +16566,7 @@
}
test_defaultValue_refersToGenericClass_methodG() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T> {
const B();
}
@@ -16664,7 +16616,7 @@
}
test_defaultValue_refersToGenericClass_methodG_classG() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T1, T2> {
const B();
}
@@ -16719,7 +16671,7 @@
}
test_defaultValue_refersToGenericClass_methodNG() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class B<T> {
const B();
}
@@ -16770,7 +16722,7 @@
}
test_duplicateDeclaration_class() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
class A {
var x;
@@ -16818,7 +16770,7 @@
}
test_duplicateDeclaration_classTypeAlias() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
class B {}
class X = A with M;
@@ -16873,7 +16825,7 @@
}
test_duplicateDeclaration_enum() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {a, b}
enum E {c, d, e}
''');
@@ -17027,7 +16979,7 @@
}
test_duplicateDeclaration_extension() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
extension E on A {}
extension E on A {
@@ -17077,7 +17029,7 @@
}
test_duplicateDeclaration_function() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f() {}
void f(int a) {}
void f([int b, double c]) {}
@@ -17104,7 +17056,7 @@
}
test_duplicateDeclaration_functionTypeAlias() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F();
typedef void F(int a);
typedef void F([int b, double c]);
@@ -17137,7 +17089,7 @@
}
test_duplicateDeclaration_mixin() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin A {}
mixin A {
var x;
@@ -17191,7 +17143,7 @@
}
test_duplicateDeclaration_topLevelVariable() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
bool x;
var x;
var x = 1;
@@ -17242,7 +17194,7 @@
}
test_enum_constant_inference() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E<T> {
int(1), string('2');
const E(T a);
@@ -17334,7 +17286,7 @@
/// Test that a constant named `_name` renames the synthetic `name` field.
test_enum_constant_name() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
_name;
}
@@ -17385,7 +17337,7 @@
}
test_enum_constant_typeArguments() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E<T> {
v<double>(42);
const E(T a);
@@ -17459,7 +17411,7 @@
}
test_enum_constant_underscore() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
_
}
@@ -17510,7 +17462,7 @@
}
test_enum_constructor_factory_named() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
factory E.named() => v;
@@ -17565,7 +17517,7 @@
}
test_enum_constructor_factory_unnamed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
factory E() => v;
@@ -17617,7 +17569,7 @@
}
test_enum_constructor_fieldFormal_functionTyped_withReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
final x;
@@ -17681,7 +17633,7 @@
}
test_enum_constructor_fieldFormal_multiple_matching_fields() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
v;
final int x;
@@ -17747,7 +17699,7 @@
}
test_enum_constructor_fieldFormal_no_matching_field() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
v;
const E(this.x);
@@ -17803,7 +17755,7 @@
}
test_enum_constructor_fieldFormal_typed_typed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
v;
final num x;
@@ -17864,7 +17816,7 @@
}
test_enum_constructor_fieldFormal_untyped_typed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
final x;
@@ -17925,7 +17877,7 @@
}
test_enum_constructor_fieldFormal_untyped_untyped() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
final x;
@@ -17986,7 +17938,7 @@
}
test_enum_constructor_generative_named() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v.named(42);
const E.named(int a);
@@ -18052,7 +18004,7 @@
}
test_enum_constructor_generative_unnamed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v(42);
const E(int a);
@@ -18111,7 +18063,7 @@
}
test_enum_constructor_initializer() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E<T> {
v;
final int x;
@@ -18203,7 +18155,7 @@
}
test_enum_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -18256,7 +18208,7 @@
}
test_enum_field() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
final foo = 42;
@@ -18316,7 +18268,7 @@
}
test_enum_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E{
v;
int get foo => 0;
@@ -18372,7 +18324,7 @@
}
test_enum_interfaces() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class I {}
enum E implements I {
v;
@@ -18430,7 +18382,7 @@
}
test_enum_interfaces_generic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class I<T> {}
enum E<U> implements I<U> {
v;
@@ -18496,7 +18448,7 @@
}
test_enum_interfaces_unresolved() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class X {}
class Z {}
enum E implements X, Y, Z {
@@ -18559,7 +18511,7 @@
}
test_enum_method() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E<T> {
v;
int foo<U>(T t, U u) => 0;
@@ -18626,7 +18578,7 @@
}
test_enum_method_toString() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
v;
String toString() => 'E';
@@ -18681,7 +18633,7 @@
}
test_enum_mixins() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M {}
enum E with M {
v;
@@ -18741,7 +18693,7 @@
}
test_enum_mixins_inference() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M1<T> {}
mixin M2<T> on M1<T> {}
enum E with M1<int>, M2 {
@@ -18814,7 +18766,7 @@
}
test_enum_setter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E{
v;
set foo(int _) {}
@@ -18873,7 +18825,7 @@
}
test_enum_typeParameters() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<T> {
v
}
@@ -18929,7 +18881,7 @@
}
test_enum_typeParameters_bound() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<T extends num, U extends T> {
v
}
@@ -18989,7 +18941,7 @@
}
test_enum_typeParameters_cycle_1of1() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<T extends T> {}
''');
checkElementText(library, r'''
@@ -19019,7 +18971,7 @@
}
test_enum_typeParameters_cycle_2of3() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E<T extends V, U extends num, V extends T> {}
''');
checkElementText(library, r'''
@@ -19055,7 +19007,7 @@
}
test_enum_typeParameters_defaultType_cycle_genericFunctionType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E<T extends void Function(E)> {}
''');
checkElementText(library, r'''
@@ -19085,7 +19037,7 @@
}
test_enum_typeParameters_variance_contravariant() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<in T> {}
''');
checkElementText(library, r'''
@@ -19114,7 +19066,7 @@
}
test_enum_typeParameters_variance_covariant() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<out T> {}
''');
checkElementText(library, r'''
@@ -19143,7 +19095,7 @@
}
test_enum_typeParameters_variance_invariant() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<inout T> {}
''');
checkElementText(library, r'''
@@ -19172,7 +19124,7 @@
}
test_enum_typeParameters_variance_multiple() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E<inout T, in U, out V> {}
''');
checkElementText(library, r'''
@@ -19205,7 +19157,7 @@
}
test_enum_value_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
/**
* aaa
@@ -19284,7 +19236,7 @@
}
test_enum_value_documented_withMetadata() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {
/**
* aaa
@@ -19394,7 +19346,7 @@
}
test_enum_values() async {
- var library = await checkLibrary('enum E { v1, v2 }');
+ var library = await buildLibrary('enum E { v1, v2 }');
checkElementText(library, r'''
library
definingUnit
@@ -19463,7 +19415,7 @@
}
test_enums() async {
- var library = await checkLibrary('enum E1 { v1 } enum E2 { v2 }');
+ var library = await buildLibrary('enum E1 { v1 } enum E2 { v2 }');
checkElementText(library, r'''
library
definingUnit
@@ -19548,7 +19500,7 @@
}
test_error_extendsEnum() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {a, b, c}
class M {}
@@ -19697,7 +19649,7 @@
}
test_executable_parameter_type_typedef() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F(int p);
main(F f) {}
''');
@@ -19723,8 +19675,8 @@
}
test_export_class() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -19739,12 +19691,12 @@
}
test_export_class_type_alias() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class C = _D with _E;
class _D {}
class _E {}
''');
- var library = await checkLibrary('export "a.dart";');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -19762,10 +19714,10 @@
declaredVariables = DeclaredVariables.fromMap({
'dart.library.io': 'false',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
export 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
@@ -19789,10 +19741,10 @@
'dart.library.io': 'true',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
export 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
@@ -19816,10 +19768,10 @@
'dart.library.io': 'false',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
export 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
@@ -19840,8 +19792,8 @@
}
test_export_function() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'f() {}');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'f() {}');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -19856,8 +19808,8 @@
}
test_export_getter() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'get f() => null;');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'get f() => null;');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -19867,13 +19819,13 @@
}
test_export_hide() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A {}
class B {}
class C {}
class D {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
export 'a.dart' hide A, C;
''');
checkElementText(
@@ -19893,13 +19845,13 @@
}
test_export_multiple_combinators() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A {}
class B {}
class C {}
class D {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
export 'a.dart' hide A show C;
''');
checkElementText(
@@ -19919,8 +19871,8 @@
}
test_export_setter() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'void set f(value) {}');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'void set f(value) {}');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -19935,13 +19887,13 @@
}
test_export_show() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A {}
class B {}
class C {}
class D {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
export 'a.dart' show A, C;
''');
checkElementText(
@@ -19961,11 +19913,11 @@
}
test_export_show_getter_setter() async {
- addLibrarySource('$testPackageLibPath/a.dart', '''
+ addSource('$testPackageLibPath/a.dart', '''
get f => null;
void set f(value) {}
''');
- var library = await checkLibrary('export "a.dart" show f;');
+ var library = await buildLibrary('export "a.dart" show f;');
checkElementText(
library,
r'''
@@ -19983,8 +19935,8 @@
}
test_export_typedef() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'typedef F();');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'typedef F();');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -19999,15 +19951,15 @@
}
test_export_uri() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
export 'foo.dart';
''');
expect(library.exports[0].uri, 'foo.dart');
}
test_export_variable() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'var x;');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'var x;');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -20023,8 +19975,8 @@
}
test_export_variable_const() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'const x = 0;');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'const x = 0;');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -20039,8 +19991,8 @@
}
test_export_variable_final() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'final x = 0;');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'final x = 0;');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(
library,
r'''
@@ -20058,15 +20010,15 @@
declaredVariables = DeclaredVariables.fromMap({
'dart.library.io': 'false',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/bar.dart', r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ addSource('$testPackageLibPath/bar.dart', r'''
export 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'bar.dart';
class B extends A {}
''');
@@ -20091,15 +20043,15 @@
'dart.library.io': 'true',
'dart.library.html': 'false',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/bar.dart', r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ addSource('$testPackageLibPath/bar.dart', r'''
export 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'bar.dart';
class B extends A {}
''');
@@ -20124,15 +20076,15 @@
'dart.library.io': 'false',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/bar.dart', r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ addSource('$testPackageLibPath/bar.dart', r'''
export 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'bar.dart';
class B extends A {}
''');
@@ -20153,9 +20105,9 @@
}
test_exports() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'library a;');
- addLibrarySource('$testPackageLibPath/b.dart', 'library b;');
- var library = await checkLibrary('export "a.dart"; export "b.dart";');
+ addSource('$testPackageLibPath/a.dart', 'library a;');
+ addSource('$testPackageLibPath/b.dart', 'library b;');
+ var library = await buildLibrary('export "a.dart"; export "b.dart";');
checkElementText(
library,
r'''
@@ -20170,7 +20122,7 @@
}
test_expr_invalid_typeParameter_asPrefix() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
final f = T.k;
}
@@ -20195,7 +20147,7 @@
}
test_extension_documented_tripleSlash() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// aaa
/// bbbb
/// cc
@@ -20211,7 +20163,7 @@
}
test_extension_field_inferredType_const() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
extension E on int {
static const x = 0;
}''');
@@ -20235,7 +20187,7 @@
}
test_function_async() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
Future f() async {}
''');
@@ -20251,7 +20203,7 @@
}
test_function_asyncStar() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
Stream f() async* {}
''');
@@ -20267,7 +20219,7 @@
}
test_function_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -20284,7 +20236,7 @@
}
test_function_entry_point() async {
- var library = await checkLibrary('main() {}');
+ var library = await buildLibrary('main() {}');
checkElementText(library, r'''
library
definingUnit
@@ -20295,8 +20247,8 @@
}
test_function_entry_point_in_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'library a; main() {}');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'library a; main() {}');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -20306,8 +20258,8 @@
}
test_function_entry_point_in_export_hidden() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'library a; main() {}');
- var library = await checkLibrary('export "a.dart" hide main;');
+ addSource('$testPackageLibPath/a.dart', 'library a; main() {}');
+ var library = await buildLibrary('export "a.dart" hide main;');
checkElementText(library, r'''
library
exports
@@ -20320,7 +20272,7 @@
test_function_entry_point_in_part() async {
addSource('$testPackageLibPath/a.dart', 'part of my.lib; main() {}');
- var library = await checkLibrary('library my.lib; part "a.dart";');
+ var library = await buildLibrary('library my.lib; part "a.dart";');
checkElementText(library, r'''
library
name: my.lib
@@ -20335,7 +20287,7 @@
}
test_function_external() async {
- var library = await checkLibrary('external f();');
+ var library = await buildLibrary('external f();');
checkElementText(library, r'''
library
definingUnit
@@ -20346,7 +20298,7 @@
}
test_function_hasImplicitReturnType_false() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
int f() => 0;
''');
var f = library.definingCompilationUnit.functions.single;
@@ -20354,7 +20306,7 @@
}
test_function_hasImplicitReturnType_true() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f() => 0;
''');
var f = library.definingCompilationUnit.functions.single;
@@ -20362,7 +20314,7 @@
}
test_function_parameter_const() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f(const x) {}
''');
checkElementText(library, r'''
@@ -20378,7 +20330,7 @@
}
test_function_parameter_fieldFormal() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f(int this.a) {}
''');
checkElementText(library, r'''
@@ -20395,7 +20347,7 @@
}
test_function_parameter_fieldFormal_default() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f({int this.a: 42}) {}
''');
checkElementText(library, r'''
@@ -20416,7 +20368,7 @@
}
test_function_parameter_fieldFormal_functionTyped() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f(int this.a(int b)) {}
''');
checkElementText(library, r'''
@@ -20436,7 +20388,7 @@
}
test_function_parameter_final() async {
- var library = await checkLibrary('f(final x) {}');
+ var library = await buildLibrary('f(final x) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20450,7 +20402,7 @@
}
test_function_parameter_kind_named() async {
- var library = await checkLibrary('f({x}) {}');
+ var library = await buildLibrary('f({x}) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20464,7 +20416,7 @@
}
test_function_parameter_kind_positional() async {
- var library = await checkLibrary('f([x]) {}');
+ var library = await buildLibrary('f([x]) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20478,7 +20430,7 @@
}
test_function_parameter_kind_required() async {
- var library = await checkLibrary('f(x) {}');
+ var library = await buildLibrary('f(x) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20492,7 +20444,7 @@
}
test_function_parameter_parameters() async {
- var library = await checkLibrary('f(g(x, y)) {}');
+ var library = await buildLibrary('f(g(x, y)) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20511,7 +20463,7 @@
}
test_function_parameter_return_type() async {
- var library = await checkLibrary('f(int g()) {}');
+ var library = await buildLibrary('f(int g()) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20525,7 +20477,7 @@
}
test_function_parameter_return_type_void() async {
- var library = await checkLibrary('f(void g()) {}');
+ var library = await buildLibrary('f(void g()) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20539,7 +20491,7 @@
}
test_function_parameter_type() async {
- var library = await checkLibrary('f(int i) {}');
+ var library = await buildLibrary('f(int i) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20553,7 +20505,7 @@
}
test_function_parameters() async {
- var library = await checkLibrary('f(x, y) {}');
+ var library = await buildLibrary('f(x, y) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20569,7 +20521,7 @@
}
test_function_return_type() async {
- var library = await checkLibrary('int f() => null;');
+ var library = await buildLibrary('int f() => null;');
checkElementText(library, r'''
library
definingUnit
@@ -20580,7 +20532,7 @@
}
test_function_return_type_implicit() async {
- var library = await checkLibrary('f() => null;');
+ var library = await buildLibrary('f() => null;');
checkElementText(library, r'''
library
definingUnit
@@ -20591,7 +20543,7 @@
}
test_function_return_type_void() async {
- var library = await checkLibrary('void f() {}');
+ var library = await buildLibrary('void f() {}');
checkElementText(library, r'''
library
definingUnit
@@ -20602,7 +20554,7 @@
}
test_function_type_parameter() async {
- var library = await checkLibrary('T f<T, U>(U u) => null;');
+ var library = await buildLibrary('T f<T, U>(U u) => null;');
checkElementText(library, r'''
library
definingUnit
@@ -20619,7 +20571,7 @@
}
test_function_type_parameter_with_function_typed_parameter() async {
- var library = await checkLibrary('void f<T, U>(T x(U u)) {}');
+ var library = await buildLibrary('void f<T, U>(T x(U u)) {}');
checkElementText(library, r'''
library
definingUnit
@@ -20639,7 +20591,7 @@
}
test_function_typed_parameter_implicit() async {
- var library = await checkLibrary('f(g()) => null;');
+ var library = await buildLibrary('f(g()) => null;');
expect(
library
.definingCompilationUnit.functions[0].parameters[0].hasImplicitType,
@@ -20647,7 +20599,7 @@
}
test_functions() async {
- var library = await checkLibrary('f() {} g() {}');
+ var library = await buildLibrary('f() {} g() {}');
checkElementText(library, r'''
library
definingUnit
@@ -20660,7 +20612,7 @@
}
test_functionTypeAlias_enclosingElements() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F<T>(int a);
''');
var unit = library.definingCompilationUnit;
@@ -20681,7 +20633,7 @@
}
test_functionTypeAlias_type_element() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef T F<T>();
F<int> a;
''');
@@ -20693,7 +20645,7 @@
}
test_functionTypeAlias_typeParameters_variance_contravariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F<T>(T a);
''');
checkElementText(library, r'''
@@ -20714,7 +20666,7 @@
}
test_functionTypeAlias_typeParameters_variance_contravariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F1<T>(T a);
typedef F1<T> F2<T>();
''');
@@ -20746,7 +20698,7 @@
}
test_functionTypeAlias_typeParameters_variance_contravariant3() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F1<T> F2<T>();
typedef void F1<T>(T a);
''');
@@ -20778,7 +20730,7 @@
}
test_functionTypeAlias_typeParameters_variance_covariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef T F<T>();
''');
checkElementText(library, r'''
@@ -20796,7 +20748,7 @@
}
test_functionTypeAlias_typeParameters_variance_covariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef List<T> F<T>();
''');
checkElementText(library, r'''
@@ -20814,7 +20766,7 @@
}
test_functionTypeAlias_typeParameters_variance_covariant3() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef T F1<T>();
typedef F1<T> F2<T>();
''');
@@ -20843,7 +20795,7 @@
}
test_functionTypeAlias_typeParameters_variance_covariant4() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F1<T>(T a);
typedef void F2<T>(F1<T> a);
''');
@@ -20878,7 +20830,7 @@
}
test_functionTypeAlias_typeParameters_variance_invariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef T F<T>(T a);
''');
checkElementText(library, r'''
@@ -20899,7 +20851,7 @@
}
test_functionTypeAlias_typeParameters_variance_invariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef T F1<T>();
typedef F1<T> F2<T>(T a);
''');
@@ -20931,7 +20883,7 @@
}
test_functionTypeAlias_typeParameters_variance_unrelated() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F<T>(int a);
''');
checkElementText(library, r'''
@@ -20952,7 +20904,7 @@
}
test_futureOr() async {
- var library = await checkLibrary('import "dart:async"; FutureOr<int> x;');
+ var library = await buildLibrary('import "dart:async"; FutureOr<int> x;');
checkElementText(library, r'''
library
imports
@@ -20977,7 +20929,7 @@
test_futureOr_const() async {
var library =
- await checkLibrary('import "dart:async"; const x = FutureOr;');
+ await buildLibrary('import "dart:async"; const x = FutureOr;');
checkElementText(library, r'''
library
imports
@@ -21003,7 +20955,7 @@
}
test_futureOr_inferred() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "dart:async";
FutureOr<int> f() => null;
var x = f();
@@ -21049,7 +21001,7 @@
}
test_generic_function_type_nullability_none() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void Function() f;
''');
checkElementText(library, r'''
@@ -21070,7 +21022,7 @@
}
test_generic_function_type_nullability_question() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void Function()? f;
''');
checkElementText(library, r'''
@@ -21092,7 +21044,7 @@
test_generic_function_type_nullability_star() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void Function() f;
''');
checkElementText(library, r'''
@@ -21113,7 +21065,7 @@
}
test_generic_gClass_gMethodStatic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
static void m<V, W>(V v, W w) {
void f<X, Y>(V v, W w, X x, Y y) {
@@ -21148,7 +21100,7 @@
}
test_genericFunction_asFunctionReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
int Function(int a, String b) f() => null;
''');
checkElementText(library, r'''
@@ -21161,7 +21113,7 @@
}
test_genericFunction_asFunctionTypedParameterReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f(int Function(int a, String b) p(num c)) => null;
''');
checkElementText(library, r'''
@@ -21180,7 +21132,7 @@
}
test_genericFunction_asGenericFunctionReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F = void Function(String a) Function(int b);
''');
checkElementText(library, r'''
@@ -21198,7 +21150,7 @@
}
test_genericFunction_asMethodReturnType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
int Function(int a, String b) m() => null;
}
@@ -21217,7 +21169,7 @@
}
test_genericFunction_asParameterType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f(int Function(int a, String b) p) => null;
''');
checkElementText(library, r'''
@@ -21233,7 +21185,7 @@
}
test_genericFunction_asTopLevelVariableType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
int Function(int a, String b) v;
''');
checkElementText(library, r'''
@@ -21254,7 +21206,7 @@
}
test_genericFunction_asTypeArgument_ofAnnotation_class() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -21328,7 +21280,7 @@
}
test_genericFunction_asTypeArgument_ofAnnotation_topLevelVariable() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -21410,7 +21362,7 @@
}
test_genericFunction_asTypeArgument_parameters_optionalNamed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -21495,7 +21447,7 @@
}
test_genericFunction_asTypeArgument_parameters_optionalPositional() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -21580,7 +21532,7 @@
}
test_genericFunction_asTypeArgument_parameters_requiredNamed() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -21665,7 +21617,7 @@
}
test_genericFunction_asTypeArgument_parameters_requiredPositional() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -21744,7 +21696,7 @@
}
test_genericFunction_boundOf_typeParameter_ofMixin() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin B<X extends void Function()> {}
''');
checkElementText(library, r'''
@@ -21764,7 +21716,7 @@
}
test_genericFunction_typeArgument_ofSuperclass_ofClassAlias() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {}
mixin M {}
class B = A<void Function()> with M;
@@ -21805,7 +21757,7 @@
}
test_genericFunction_typeParameter_asTypedefArgument() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F1 = Function<V1>(F2<V1>);
typedef F2<V2> = V2 Function();
''');
@@ -21836,7 +21788,7 @@
}
test_genericTypeAlias_enclosingElements() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = void Function<U>(int a);
''');
var unit = library.definingCompilationUnit;
@@ -21861,7 +21813,7 @@
}
test_genericTypeAlias_recursive() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<X extends F> = Function(F);
''');
checkElementText(library, r'''
@@ -21883,7 +21835,7 @@
}
test_getter_async() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
Future<int> get foo async => 0;
''');
checkElementText(library, r'''
@@ -21899,7 +21851,7 @@
}
test_getter_asyncStar() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
Stream<int> get foo async* {}
''');
@@ -21918,7 +21870,7 @@
}
test_getter_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -21938,7 +21890,7 @@
}
test_getter_external() async {
- var library = await checkLibrary('external int get x;');
+ var library = await buildLibrary('external int get x;');
checkElementText(library, r'''
library
definingUnit
@@ -21952,7 +21904,7 @@
}
test_getter_inferred_type_nonStatic_implicit_return() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'class C extends D { get f => null; } abstract class D { int get f; }');
checkElementText(library, r'''
library
@@ -21982,7 +21934,7 @@
}
test_getter_syncStar() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
Iterator<int> get foo sync* {}
''');
checkElementText(library, r'''
@@ -21998,7 +21950,7 @@
}
test_getters() async {
- var library = await checkLibrary('int get x => null; get y => null;');
+ var library = await buildLibrary('int get x => null; get y => null;');
checkElementText(library, r'''
library
definingUnit
@@ -22016,7 +21968,7 @@
}
test_implicitCallTearoff() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
void call() {}
}
@@ -22074,7 +22026,7 @@
}
test_implicitConstructor_named_const() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
final Object x;
const C.named(this.x);
@@ -22134,7 +22086,7 @@
test_implicitTopLevelVariable_getterFirst() async {
var library =
- await checkLibrary('int get x => 0; void set x(int value) {}');
+ await buildLibrary('int get x => 0; void set x(int value) {}');
checkElementText(library, r'''
library
definingUnit
@@ -22154,7 +22106,7 @@
test_implicitTopLevelVariable_setterFirst() async {
var library =
- await checkLibrary('void set x(int value) {} int get x => 0;');
+ await buildLibrary('void set x(int value) {} int get x => 0;');
checkElementText(library, r'''
library
definingUnit
@@ -22176,10 +22128,10 @@
declaredVariables = DeclaredVariables.fromMap({
'dart.library.io': 'false',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
import 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
@@ -22207,10 +22159,10 @@
'dart.library.io': 'true',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
import 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
@@ -22238,10 +22190,10 @@
'dart.library.io': 'true',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
import 'foo.dart'
if (dart.library.io == 'true') 'foo_io.dart'
if (dart.library.html == 'true') 'foo_html.dart';
@@ -22269,10 +22221,10 @@
'dart.library.io': 'false',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
import 'foo.dart'
if (dart.library.io) 'foo_io.dart'
if (dart.library.html) 'foo_html.dart';
@@ -22300,10 +22252,10 @@
'dart.library.io': 'false',
'dart.library.html': 'true',
});
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_io.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/foo_html.dart', 'class A {}');
- var library = await checkLibrary(r'''
+ addSource('$testPackageLibPath/foo.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_io.dart', 'class A {}');
+ addSource('$testPackageLibPath/foo_html.dart', 'class A {}');
+ var library = await buildLibrary(r'''
import 'foo.dart'
if (dart.library.io == 'true') 'foo_io.dart'
if (dart.library.html == 'true') 'foo_html.dart';
@@ -22327,7 +22279,7 @@
}
test_import_dartCore_explicit() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'dart:core';
import 'dart:math';
''');
@@ -22341,7 +22293,7 @@
}
test_import_dartCore_implicit() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'dart:math';
''');
checkElementText(library, r'''
@@ -22353,8 +22305,8 @@
}
test_import_deferred() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'f() {}');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'f() {}');
+ var library = await buildLibrary('''
import 'a.dart' deferred as p;
''');
checkElementText(library, r'''
@@ -22366,8 +22318,7 @@
}
test_import_export() async {
- addLibrary('dart:async');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'dart:async' as i1;
export 'dart:math';
import 'dart:async' as i2;
@@ -22390,8 +22341,7 @@
}
test_import_hide() async {
- addLibrary('dart:async');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'dart:async' hide Stream, Completer; Future f;
''');
checkElementText(library, r'''
@@ -22416,7 +22366,7 @@
}
test_import_invalidUri_metadata() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
@foo
import 'ht:';
''');
@@ -22445,8 +22395,7 @@
}
test_import_multiple_combinators() async {
- addLibrary('dart:async');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "dart:async" hide Stream show Future;
Future f;
''');
@@ -22473,8 +22422,8 @@
}
test_import_prefixed() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'library a; class C {}');
- var library = await checkLibrary('import "a.dart" as a; a.C c;');
+ addSource('$testPackageLibPath/a.dart', 'library a; class C {}');
+ var library = await buildLibrary('import "a.dart" as a; a.C c;');
expect(library.imports[0].prefix!.nameOffset, 19);
expect(library.imports[0].prefix!.nameLength, 1);
@@ -22499,7 +22448,7 @@
}
test_import_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'test.dart' as p;
class C {}
class D extends p.C {} // Prevent "unused import" warning
@@ -22525,8 +22474,7 @@
}
test_import_show() async {
- addLibrary('dart:async');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "dart:async" show Future, Stream;
Future f;
Stream s;
@@ -22562,7 +22510,7 @@
}
test_import_show_offsetEnd() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "dart:math" show e, pi;
''');
var import = library.imports[0];
@@ -22572,17 +22520,17 @@
}
test_import_uri() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart';
''');
expect(library.imports[0].uri, 'foo.dart');
}
test_imports() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'library a; class C {}');
- addLibrarySource('$testPackageLibPath/b.dart', 'library b; class D {}');
+ addSource('$testPackageLibPath/a.dart', 'library a; class C {}');
+ addSource('$testPackageLibPath/b.dart', 'library b; class D {}');
var library =
- await checkLibrary('import "a.dart"; import "b.dart"; C c; D d;');
+ await buildLibrary('import "a.dart"; import "b.dart"; C c; D d;');
checkElementText(library, r'''
library
imports
@@ -22613,7 +22561,7 @@
}
test_infer_generic_typedef_complex() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<T> = D<T,U> Function<U>();
class C<V> {
const C(F<V> f);
@@ -22693,7 +22641,7 @@
}
test_infer_generic_typedef_simple() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = D<T> Function<T>();
class C {
const C(F f);
@@ -22761,7 +22709,7 @@
}
test_infer_instanceCreation_fromArguments() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B extends A {}
@@ -22809,7 +22757,7 @@
}
test_infer_property_set() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
B b;
}
@@ -22887,7 +22835,7 @@
test_inference_issue_32394() async {
// Test the type inference involved in dartbug.com/32394
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var x = y.map((a) => a.toString());
var y = [3];
var z = x.toList();
@@ -22928,7 +22876,7 @@
}
test_inference_map() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int p;
}
@@ -22979,7 +22927,7 @@
test_inferred_function_type_for_variable_in_generic_function() async {
// In the code below, `x` has an inferred type of `() => int`, with 2
// (unused) type parameters from the enclosing top level function.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f<U, V>() {
var x = () => 0;
}
@@ -22999,7 +22947,7 @@
test_inferred_function_type_in_generic_class_constructor() async {
// In the code below, `() => () => 0` has an inferred return type of
// `() => int`, with 2 (unused) type parameters from the enclosing class.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<U, V> {
final x;
C() : x = (() => () => 0);
@@ -23029,7 +22977,7 @@
test_inferred_function_type_in_generic_class_getter() async {
// In the code below, `() => () => 0` has an inferred return type of
// `() => int`, with 2 (unused) type parameters from the enclosing class.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<U, V> {
get x => () => () => 0;
}
@@ -23059,7 +23007,7 @@
// In the code below, `() => () => 0` has an inferred return type of
// `() => int`, with 3 (unused) type parameters from the enclosing class
// and method.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
f<U, V>() {
print(() => () => 0);
@@ -23088,7 +23036,7 @@
test_inferred_function_type_in_generic_class_setter() async {
// In the code below, `() => () => 0` has an inferred return type of
// `() => int`, with 2 (unused) type parameters from the enclosing class.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<U, V> {
void set x(value) {
print(() => () => 0);
@@ -23122,7 +23070,7 @@
test_inferred_function_type_in_generic_closure() async {
// In the code below, `<U, V>() => () => 0` has an inferred return type of
// `() => int`, with 3 (unused) type parameters.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f<T>() {
print(/*<U, V>*/() => () => 0);
}
@@ -23141,7 +23089,7 @@
test_inferred_generic_function_type_in_generic_closure() async {
// In the code below, `<U, V>() => <W, X, Y, Z>() => 0` has an inferred
// return type of `() => int`, with 7 (unused) type parameters.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f<T>() {
print(/*<U, V>*/() => /*<W, X, Y, Z>*/() => 0);
}
@@ -23158,7 +23106,7 @@
}
test_inferred_type_functionExpressionInvocation_oppositeOrder() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
static final foo = bar(1.2);
static final bar = baz();
@@ -23190,7 +23138,7 @@
}
test_inferred_type_initializer_cycle() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
var a = b + 1;
var b = c + 2;
var c = a + 3;
@@ -23244,7 +23192,7 @@
}
test_inferred_type_is_typedef() async {
- var library = await checkLibrary('typedef int F(String s);'
+ var library = await buildLibrary('typedef int F(String s);'
' class C extends D { var v; }'
' abstract class D { F get v; }');
checkElementText(library, r'''
@@ -23294,7 +23242,7 @@
test_inferred_type_nullability_class_ref_none() async {
addSource('$testPackageLibPath/a.dart', 'int f() => 0;');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'a.dart';
var x = f();
''');
@@ -23319,7 +23267,7 @@
test_inferred_type_nullability_class_ref_question() async {
addSource('$testPackageLibPath/a.dart', 'int? f() => 0;');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'a.dart';
var x = f();
''');
@@ -23344,7 +23292,7 @@
test_inferred_type_nullability_function_type_none() async {
addSource('$testPackageLibPath/a.dart', 'void Function() f() => () {};');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'a.dart';
var x = f();
''');
@@ -23369,7 +23317,7 @@
test_inferred_type_nullability_function_type_question() async {
addSource('$testPackageLibPath/a.dart', 'void Function()? f() => () {};');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'a.dart';
var x = f();
''');
@@ -23393,7 +23341,7 @@
}
test_inferred_type_refers_to_bound_type_param() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> extends D<int, T> {
var v;
}
@@ -23444,7 +23392,7 @@
}
test_inferred_type_refers_to_function_typed_param_of_typedef() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef void F(int g(String s));
h(F f) => null;
var v = h((y) {});
@@ -23485,7 +23433,7 @@
}
test_inferred_type_refers_to_function_typed_parameter_type_generic_class() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> extends D<U, int> {
void f(int x, g) {}
}
@@ -23539,16 +23487,16 @@
}
test_inferred_type_refers_to_function_typed_parameter_type_other_lib() async {
- addLibrarySource('$testPackageLibPath/a.dart', '''
+ addSource('$testPackageLibPath/a.dart', '''
import 'b.dart';
abstract class D extends E {}
''');
- addLibrarySource('$testPackageLibPath/b.dart', '''
+ addSource('$testPackageLibPath/b.dart', '''
abstract class E {
void f(int x, int g(String s));
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'a.dart';
class C extends D {
void f(int x, g) {}
@@ -23577,7 +23525,7 @@
}
test_inferred_type_refers_to_method_function_typed_parameter_type() async {
- var library = await checkLibrary('class C extends D { void f(int x, g) {} }'
+ var library = await buildLibrary('class C extends D { void f(int x, g) {} }'
' abstract class D { void f(int x, int g(String s)); }');
checkElementText(library, r'''
library
@@ -23614,7 +23562,7 @@
}
test_inferred_type_refers_to_nested_function_typed_param() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f(void g(int x, void h())) => null;
var v = f((x, y) {});
''');
@@ -23647,7 +23595,7 @@
}
test_inferred_type_refers_to_nested_function_typed_param_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
f({void g(int x, void h())}) => null;
var v = f(g: (x, y) {});
''');
@@ -23680,7 +23628,7 @@
}
test_inferred_type_refers_to_setter_function_typed_parameter_type() async {
- var library = await checkLibrary('class C extends D { void set f(g) {} }'
+ var library = await buildLibrary('class C extends D { void set f(g) {} }'
' abstract class D { void set f(int g(String s)); }');
checkElementText(library, r'''
library
@@ -23725,7 +23673,7 @@
m(Stream p) {}
}
''');
- LibraryElement library = await checkLibrary(r'''
+ LibraryElement library = await buildLibrary(r'''
import 'a.dart';
class B extends A {
m(p) {}
@@ -23761,7 +23709,7 @@
}
test_inferredType_implicitCreation() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
A();
A.named();
@@ -23803,13 +23751,13 @@
}
test_inferredType_implicitCreation_prefixed() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class A {
A();
A.named();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
var a1 = foo.A();
var a2 = foo.A.named();
@@ -23845,7 +23793,7 @@
test_inferredType_usesSyntheticFunctionType_functionTypedParam() async {
// AnalysisContext does not set the enclosing element for the synthetic
// FunctionElement created for the [f, g] type argument.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
int f(int x(String y)) => null;
String g(int x(String y)) => null;
var v = [f, g];
@@ -23885,7 +23833,7 @@
}
test_inheritance_errors() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
abstract class A {
int m();
}
@@ -23942,7 +23890,7 @@
}
test_initializer_executable_with_return_type_from_closure() async {
- var library = await checkLibrary('var v = () => 0;');
+ var library = await buildLibrary('var v = () => 0;');
checkElementText(library, r'''
library
definingUnit
@@ -23961,7 +23909,7 @@
}
test_initializer_executable_with_return_type_from_closure_await_dynamic() async {
- var library = await checkLibrary('var v = (f) async => await f;');
+ var library = await buildLibrary('var v = (f) async => await f;');
checkElementText(library, r'''
library
definingUnit
@@ -23980,7 +23928,7 @@
}
test_initializer_executable_with_return_type_from_closure_await_future3_int() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
var v = (Future<Future<Future<int>>> f) async => await f;
''');
@@ -24005,7 +23953,7 @@
}
test_initializer_executable_with_return_type_from_closure_await_future_int() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
var v = (Future<int> f) async => await f;
''');
@@ -24029,7 +23977,7 @@
}
test_initializer_executable_with_return_type_from_closure_await_future_noArg() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'dart:async';
var v = (Future f) async => await f;
''');
@@ -24053,7 +24001,7 @@
}
test_initializer_executable_with_return_type_from_closure_field() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
var v = () => 0;
}
@@ -24080,7 +24028,7 @@
}
test_initializer_executable_with_return_type_from_closure_local() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f() {
int u = 0;
var v = () => 0;
@@ -24097,7 +24045,7 @@
test_instanceInference_operator_equal_legacy_from_legacy() async {
featureSet = FeatureSets.language_2_9;
- addLibrarySource('$testPackageLibPath/legacy.dart', r'''
+ addSource('$testPackageLibPath/legacy.dart', r'''
// @dart = 2.7
class LegacyDefault {
bool operator==(other) => false;
@@ -24109,7 +24057,7 @@
bool operator==(int other) => false;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'legacy.dart';
class X1 extends LegacyDefault {
bool operator==(other) => false;
@@ -24164,7 +24112,7 @@
}
test_instanceInference_operator_equal_legacy_from_legacy_nullSafe() async {
- addLibrarySource('$testPackageLibPath/legacy.dart', r'''
+ addSource('$testPackageLibPath/legacy.dart', r'''
// @dart = 2.7
class LegacyDefault {
bool operator==(other) => false;
@@ -24176,7 +24124,7 @@
bool operator==(int other) => false;
}
''');
- addLibrarySource('$testPackageLibPath/nullSafe.dart', r'''
+ addSource('$testPackageLibPath/nullSafe.dart', r'''
class NullSafeDefault {
bool operator==(other) => false;
}
@@ -24187,7 +24135,7 @@
bool operator==(int other) => false;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
// @dart = 2.7
import 'legacy.dart';
import 'nullSafe.dart';
@@ -24251,7 +24199,7 @@
}
test_instanceInference_operator_equal_nullSafe_from_nullSafe() async {
- addLibrarySource('$testPackageLibPath/nullSafe.dart', r'''
+ addSource('$testPackageLibPath/nullSafe.dart', r'''
class NullSafeDefault {
bool operator==(other) => false;
}
@@ -24262,7 +24210,7 @@
bool operator==(int other) => false;
}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'nullSafe.dart';
class X1 extends NullSafeDefault {
bool operator==(other) => false;
@@ -24317,7 +24265,7 @@
}
test_instantiateToBounds_boundRefersToEarlierTypeArgument() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<S extends num, T extends C<S, T>> {}
C c;
''');
@@ -24350,7 +24298,7 @@
}
test_instantiateToBounds_boundRefersToItself() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends C<T>> {}
C c;
var c2 = new C();
@@ -24408,7 +24356,7 @@
test_instantiateToBounds_boundRefersToItself_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends C<T>> {}
C c;
var c2 = new C();
@@ -24465,7 +24413,7 @@
}
test_instantiateToBounds_boundRefersToLaterTypeArgument() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends C<T, U>, U extends num> {}
C c;
''');
@@ -24498,14 +24446,14 @@
}
test_instantiateToBounds_functionTypeAlias_reexported() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class O {}
typedef T F<T extends O>(T p);
''');
- addLibrarySource('$testPackageLibPath/b.dart', r'''
+ addSource('$testPackageLibPath/b.dart', r'''
export 'a.dart' show F;
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'b.dart';
class C {
F f() => null;
@@ -24530,7 +24478,7 @@
}
test_instantiateToBounds_functionTypeAlias_simple() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<T extends num>(T p);
F f;
''');
@@ -24573,7 +24521,7 @@
}
test_instantiateToBounds_genericFunctionAsBound() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {}
class B<T extends int Function(), U extends A<T>> {}
B b;
@@ -24613,7 +24561,7 @@
}
test_instantiateToBounds_genericTypeAlias_simple() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<T extends num> = S Function<S>(T p);
F f;
''');
@@ -24658,7 +24606,7 @@
}
test_instantiateToBounds_issue38498() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<R extends B> {
final values = <B>[];
}
@@ -24692,7 +24640,7 @@
}
test_instantiateToBounds_simple() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends num> {}
C c;
''');
@@ -24722,12 +24670,12 @@
}
test_invalid_annotation_prefixed_constructor() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A {
const A.named();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "a.dart" as a;
@a.A.named
class C {}
@@ -24766,12 +24714,12 @@
}
test_invalid_annotation_unprefixed_constructor() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A {
const A.named();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "a.dart";
@A.named
class C {}
@@ -24805,7 +24753,7 @@
}
test_invalid_importPrefix_asTypeArgument() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'dart:async' as ppp;
class C {
List<ppp> v;
@@ -24835,9 +24783,9 @@
}
test_invalid_nameConflict_imported() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'V() {}');
- addLibrarySource('$testPackageLibPath/b.dart', 'V() {}');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'V() {}');
+ addSource('$testPackageLibPath/b.dart', 'V() {}');
+ var library = await buildLibrary('''
import 'a.dart';
import 'b.dart';
foo([p = V]) {}
@@ -24863,13 +24811,13 @@
}
test_invalid_nameConflict_imported_exported() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'V() {}');
- addLibrarySource('$testPackageLibPath/b.dart', 'V() {}');
- addLibrarySource('$testPackageLibPath/c.dart', r'''
+ addSource('$testPackageLibPath/a.dart', 'V() {}');
+ addSource('$testPackageLibPath/b.dart', 'V() {}');
+ addSource('$testPackageLibPath/c.dart', r'''
export 'a.dart';
export 'b.dart';
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'c.dart';
foo([p = V]) {}
''');
@@ -24893,7 +24841,7 @@
}
test_invalid_nameConflict_local() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
foo([p = V]) {}
V() {}
var V;
@@ -24929,7 +24877,7 @@
}
test_invalid_setterParameter_fieldFormalParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
int foo;
void set bar(this.foo) {}
@@ -24965,7 +24913,7 @@
}
test_invalid_setterParameter_fieldFormalParameter_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
set x(this.x) {}
}
@@ -24991,7 +24939,7 @@
}
test_invalidUris() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import ':[invaliduri]';
import ':[invaliduri]:foo.dart';
import 'a1.dart';
@@ -25029,7 +24977,7 @@
}
test_library() async {
- var library = await checkLibrary('');
+ var library = await buildLibrary('');
checkElementText(library, r'''
library
definingUnit
@@ -25037,7 +24985,7 @@
}
test_library_documented_lines() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// aaa
/// bbb
library test;
@@ -25052,7 +25000,7 @@
}
test_library_documented_stars() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/**
* aaa
* bbb
@@ -25068,7 +25016,7 @@
}
test_library_name_with_spaces() async {
- var library = await checkLibrary('library foo . bar ;');
+ var library = await buildLibrary('library foo . bar ;');
checkElementText(library, r'''
library
name: foo.bar
@@ -25078,7 +25026,7 @@
}
test_library_named() async {
- var library = await checkLibrary('library foo.bar;');
+ var library = await buildLibrary('library foo.bar;');
checkElementText(library, r'''
library
name: foo.bar
@@ -25088,7 +25036,7 @@
}
test_localFunctions() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
f() {
f1() {}
{
@@ -25106,7 +25054,7 @@
}
test_localFunctions_inConstructor() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
C() {
f() {}
@@ -25124,7 +25072,7 @@
}
test_localFunctions_inMethod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
m() {
f() {}
@@ -25145,7 +25093,7 @@
}
test_localFunctions_inTopLevelGetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
get g {
f() {}
}
@@ -25163,7 +25111,7 @@
}
test_localLabels_inConstructor() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
C() {
aaa: while (true) {}
@@ -25185,7 +25133,7 @@
}
test_localLabels_inMethod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
m() {
aaa: while (true) {}
@@ -25210,7 +25158,7 @@
}
test_localLabels_inTopLevelFunction() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
main() {
aaa: while (true) {}
bbb: switch (42) {
@@ -25229,7 +25177,7 @@
}
test_main_class() async {
- var library = await checkLibrary('class main {}');
+ var library = await buildLibrary('class main {}');
checkElementText(library, r'''
library
definingUnit
@@ -25242,7 +25190,7 @@
test_main_class_alias() async {
var library =
- await checkLibrary('class main = C with D; class C {} class D {}');
+ await buildLibrary('class main = C with D; class C {} class D {}');
checkElementText(library, r'''
library
definingUnit
@@ -25271,9 +25219,9 @@
}
test_main_class_alias_via_export() async {
- addLibrarySource('$testPackageLibPath/a.dart',
+ addSource('$testPackageLibPath/a.dart',
'class main = C with D; class C {} class D {}');
- var library = await checkLibrary('export "a.dart";');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -25283,8 +25231,8 @@
}
test_main_class_via_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class main {}');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'class main {}');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -25294,7 +25242,7 @@
}
test_main_getter() async {
- var library = await checkLibrary('get main => null;');
+ var library = await buildLibrary('get main => null;');
checkElementText(library, r'''
library
definingUnit
@@ -25308,8 +25256,8 @@
}
test_main_getter_via_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'get main => null;');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'get main => null;');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -25319,7 +25267,7 @@
}
test_main_typedef() async {
- var library = await checkLibrary('typedef main();');
+ var library = await buildLibrary('typedef main();');
checkElementText(library, r'''
library
definingUnit
@@ -25332,8 +25280,8 @@
}
test_main_typedef_via_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'typedef main();');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'typedef main();');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -25343,7 +25291,7 @@
}
test_main_variable() async {
- var library = await checkLibrary('var main;');
+ var library = await buildLibrary('var main;');
checkElementText(library, r'''
library
definingUnit
@@ -25362,8 +25310,8 @@
}
test_main_variable_via_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'var main;');
- var library = await checkLibrary('export "a.dart";');
+ addSource('$testPackageLibPath/a.dart', 'var main;');
+ var library = await buildLibrary('export "a.dart";');
checkElementText(library, r'''
library
exports
@@ -25373,7 +25321,7 @@
}
test_metadata_class_field_first() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
class C {
@a
@@ -25425,7 +25373,7 @@
}
test_metadata_class_scope() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -25496,7 +25444,7 @@
}
test_metadata_classDeclaration() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = null;
const b = null;
@a
@@ -25546,7 +25494,7 @@
}
test_metadata_classTypeAlias() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'const a = null; @a class C = D with E; class D {} class E {}');
checkElementText(library, r'''
library
@@ -25594,7 +25542,7 @@
}
test_metadata_constructor_call_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A.named(int _);
}
@@ -25643,7 +25591,7 @@
}
test_metadata_constructor_call_named_generic_inference() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A.named(T _);
}
@@ -25702,7 +25650,7 @@
}
test_metadata_constructor_call_named_generic_typeArguments() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A.named();
}
@@ -25759,7 +25707,7 @@
}
test_metadata_constructor_call_named_generic_typeArguments_disabledGenericMetadata() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A.named();
}
@@ -25816,12 +25764,12 @@
}
test_metadata_constructor_call_named_prefixed() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class A {
const A.named(int _);
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
@foo.A.named(0)
class C {}
@@ -25867,12 +25815,12 @@
}
test_metadata_constructor_call_named_prefixed_generic_inference() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class A<T> {
const A.named(T _);
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "foo.dart" as foo;
@foo.A.named(0)
class C {}
@@ -25922,12 +25870,12 @@
}
test_metadata_constructor_call_named_prefixed_generic_typeArguments() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class A<T> {
const A.named();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "foo.dart" as foo;
@foo.A<int>.named()
class C {}
@@ -25983,7 +25931,7 @@
}
test_metadata_constructor_call_named_synthetic_ofClassAlias_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A.named();
}
@@ -26064,7 +26012,7 @@
}
test_metadata_constructor_call_unnamed() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A(int _);
}
@@ -26103,7 +26051,7 @@
}
test_metadata_constructor_call_unnamed_generic_inference() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A(T _);
}
@@ -26148,7 +26096,7 @@
}
test_metadata_constructor_call_unnamed_generic_typeArguments() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
const A();
}
@@ -26196,9 +26144,9 @@
}
test_metadata_constructor_call_unnamed_prefixed() async {
- addLibrarySource('$testPackageLibPath/foo.dart', 'class A { const A(_); }');
+ addSource('$testPackageLibPath/foo.dart', 'class A { const A(_); }');
var library =
- await checkLibrary('import "foo.dart" as foo; @foo.A(0) class C {}');
+ await buildLibrary('import "foo.dart" as foo; @foo.A(0) class C {}');
checkElementText(library, r'''
library
imports
@@ -26235,12 +26183,12 @@
}
test_metadata_constructor_call_unnamed_prefixed_generic_inference() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class A<T> {
const A(T _);
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "foo.dart" as foo;
@foo.A(0)
class C {}
@@ -26283,12 +26231,12 @@
}
test_metadata_constructor_call_unnamed_prefixed_generic_typeArguments() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
class A<T> {
const A();
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import "foo.dart" as foo;
@foo.A<int>()
class C {}
@@ -26337,7 +26285,7 @@
}
test_metadata_constructor_call_unnamed_synthetic_ofClassAlias_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A();
}
@@ -26400,7 +26348,7 @@
test_metadata_constructor_call_with_args() async {
var library =
- await checkLibrary('class A { const A(x); } @A(null) class C {}');
+ await buildLibrary('class A { const A(x); } @A(null) class C {}');
checkElementText(library, r'''
library
definingUnit
@@ -26434,7 +26382,7 @@
test_metadata_constructorDeclaration_named() async {
var library =
- await checkLibrary('const a = null; class C { @a C.named(); }');
+ await buildLibrary('const a = null; class C { @a C.named(); }');
checkElementText(library, r'''
library
definingUnit
@@ -26466,7 +26414,7 @@
}
test_metadata_constructorDeclaration_unnamed() async {
- var library = await checkLibrary('const a = null; class C { @a C(); }');
+ var library = await buildLibrary('const a = null; class C { @a C(); }');
checkElementText(library, r'''
library
definingUnit
@@ -26496,7 +26444,7 @@
}
test_metadata_enum_constant() async {
- var library = await checkLibrary('const a = 42; enum E { @a v }');
+ var library = await buildLibrary('const a = 42; enum E { @a v }');
checkElementText(library, r'''
library
definingUnit
@@ -26561,7 +26509,7 @@
}
test_metadata_enum_constant_instanceCreation() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
final dynamic value;
const A(this.value);
@@ -26707,7 +26655,7 @@
}
test_metadata_enum_constant_self() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
@v
v
@@ -26767,7 +26715,7 @@
}
test_metadata_enum_constructor() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 42;
enum E {
v;
@@ -26839,7 +26787,7 @@
}
test_metadata_enum_method() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 42;
enum E {
v;
@@ -26914,7 +26862,7 @@
}
test_metadata_enum_scope() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -27021,7 +26969,7 @@
}
test_metadata_enum_typeParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = 42;
enum E<@a T> {
v
@@ -27096,7 +27044,7 @@
}
test_metadata_enumDeclaration() async {
- var library = await checkLibrary('const a = 42; @a enum E { v }');
+ var library = await buildLibrary('const a = 42; @a enum E { v }');
checkElementText(library, r'''
library
definingUnit
@@ -27161,8 +27109,8 @@
}
test_metadata_exportDirective() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '');
- var library = await checkLibrary('@a export "foo.dart"; const a = null;');
+ addSource('$testPackageLibPath/foo.dart', '');
+ var library = await buildLibrary('@a export "foo.dart"; const a = null;');
checkElementText(library, r'''
library
metadata
@@ -27198,7 +27146,7 @@
}
test_metadata_extension_scope() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -27267,7 +27215,7 @@
}
test_metadata_extensionDeclaration() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = null;
class A {}
@a
@@ -27315,7 +27263,7 @@
}
test_metadata_fieldDeclaration() async {
- var library = await checkLibrary('const a = null; class C { @a int x; }');
+ var library = await buildLibrary('const a = null; class C { @a int x; }');
checkElementText(library, r'''
library
definingUnit
@@ -27356,7 +27304,7 @@
}
test_metadata_fieldFormalParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
class C {
var x;
@@ -27407,7 +27355,7 @@
}
test_metadata_fieldFormalParameter_withDefault() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'const a = null; class C { var x; C([@a this.x = null]); }');
checkElementText(library, r'''
library
@@ -27457,7 +27405,7 @@
}
test_metadata_functionDeclaration_function() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
@a
f() {}
@@ -27490,7 +27438,7 @@
}
test_metadata_functionDeclaration_getter() async {
- var library = await checkLibrary('const a = null; @a get f => null;');
+ var library = await buildLibrary('const a = null; @a get f => null;');
checkElementText(library, r'''
library
definingUnit
@@ -27520,7 +27468,7 @@
}
test_metadata_functionDeclaration_setter() async {
- var library = await checkLibrary('const a = null; @a set f(value) {}');
+ var library = await buildLibrary('const a = null; @a set f(value) {}');
checkElementText(library, r'''
library
definingUnit
@@ -27553,7 +27501,7 @@
}
test_metadata_functionTypeAlias() async {
- var library = await checkLibrary('const a = null; @a typedef F();');
+ var library = await buildLibrary('const a = null; @a typedef F();');
checkElementText(library, r'''
library
definingUnit
@@ -27584,7 +27532,7 @@
}
test_metadata_functionTypedFormalParameter() async {
- var library = await checkLibrary('const a = null; f(@a g()) {}');
+ var library = await buildLibrary('const a = null; f(@a g()) {}');
checkElementText(library, r'''
library
definingUnit
@@ -27616,7 +27564,7 @@
}
test_metadata_functionTypedFormalParameter_withDefault() async {
- var library = await checkLibrary('const a = null; f([@a g() = null]) {}');
+ var library = await buildLibrary('const a = null; f([@a g() = null]) {}');
checkElementText(library, r'''
library
definingUnit
@@ -27652,7 +27600,7 @@
}
test_metadata_genericTypeAlias() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = null;
const b = null;
@a
@@ -27703,7 +27651,7 @@
}
test_metadata_importDirective() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
@a
import "dart:math";
const a = 0;
@@ -27743,7 +27691,7 @@
}
test_metadata_importDirective_hasShow() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
@a
import "dart:math" show Random;
@@ -27786,7 +27734,7 @@
}
test_metadata_inAliasedElement_formalParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = 42;
typedef F = void Function(@a int first)
''');
@@ -27823,7 +27771,7 @@
}
test_metadata_inAliasedElement_formalParameter2() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = 42;
typedef F = void Function(int foo(@a int bar))
''');
@@ -27863,7 +27811,7 @@
}
test_metadata_inAliasedElement_typeParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = 42;
typedef F = void Function<@a T>(int first)
''');
@@ -27902,7 +27850,7 @@
}
test_metadata_invalid_classDeclaration() async {
- var library = await checkLibrary('f(_) {} @f(42) class C {}');
+ var library = await buildLibrary('f(_) {} @f(42) class C {}');
checkElementText(library, r'''
library
definingUnit
@@ -27935,7 +27883,7 @@
}
test_metadata_libraryDirective() async {
- var library = await checkLibrary('@a library L; const a = null;');
+ var library = await buildLibrary('@a library L; const a = null;');
checkElementText(library, r'''
library
name: L
@@ -27964,7 +27912,7 @@
test_metadata_methodDeclaration_getter() async {
var library =
- await checkLibrary('const a = null; class C { @a get m => null; }');
+ await buildLibrary('const a = null; class C { @a get m => null; }');
checkElementText(library, r'''
library
definingUnit
@@ -28000,7 +27948,7 @@
}
test_metadata_methodDeclaration_method() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = null;
const b = null;
class C {
@@ -28056,7 +28004,7 @@
}
test_metadata_methodDeclaration_method_mixin() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = null;
const b = null;
mixin M {
@@ -28114,7 +28062,7 @@
}
test_metadata_methodDeclaration_setter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
class C {
@a
@@ -28159,7 +28107,7 @@
}
test_metadata_mixin_scope() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -28232,7 +28180,7 @@
}
test_metadata_mixinDeclaration() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = null;
const b = null;
@a
@@ -28284,7 +28232,7 @@
}
test_metadata_offsets_onClass() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -28330,7 +28278,7 @@
}
test_metadata_offsets_onClassConstructor() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
class A {
@@ -28378,7 +28326,7 @@
}
test_metadata_offsets_onClassGetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
class A {
@@ -28421,7 +28369,7 @@
}
test_metadata_offsets_onClassMethod() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
class A {
@@ -28482,7 +28430,7 @@
}
test_metadata_offsets_onClassSetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
class A {
@@ -28536,7 +28484,7 @@
}
test_metadata_offsets_onClassTypeAlias() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
class A {}
@@ -28605,7 +28553,7 @@
}
test_metadata_offsets_onEnum() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -28739,7 +28687,7 @@
}
test_metadata_offsets_onExtension() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -28783,7 +28731,7 @@
}
test_metadata_offsets_onFieldDeclaration() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
class A {
@@ -28870,7 +28818,7 @@
}
test_metadata_offsets_onLibrary() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
/// Some documentation.
@foo
library my.lib;
@@ -28905,7 +28853,7 @@
}
test_metadata_offsets_onMixin() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -28953,7 +28901,7 @@
}
test_metadata_offsets_onTypeAlias_classic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -29011,7 +28959,7 @@
}
test_metadata_offsets_onTypeAlias_genericFunctionType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -29087,7 +29035,7 @@
part of my.lib;
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
library my.lib;
@foo
@@ -29136,7 +29084,7 @@
}
test_metadata_offsets_onUnitFunction() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -29195,7 +29143,7 @@
}
test_metadata_offsets_onUnitGetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -29230,7 +29178,7 @@
}
test_metadata_offsets_onUnitSetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -29276,7 +29224,7 @@
}
test_metadata_offsets_onUnitVariable() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const foo = 0;
@foo
@@ -29336,7 +29284,7 @@
test_metadata_partDirective() async {
addSource('$testPackageLibPath/foo.dart', 'part of L;');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
library L;
@a
part 'foo.dart';
@@ -29376,7 +29324,7 @@
addSource('$testPackageLibPath/b.dart', r'''
part of 'test.dart';
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
part 'a.dart';
part 'b.dart';
''');
@@ -29387,8 +29335,8 @@
}
test_metadata_prefixed_variable() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'const b = null;');
- var library = await checkLibrary('import "a.dart" as a; @a.b class C {}');
+ addSource('$testPackageLibPath/a.dart', 'const b = null;');
+ var library = await buildLibrary('import "a.dart" as a; @a.b class C {}');
checkElementText(library, r'''
library
imports
@@ -29418,7 +29366,7 @@
}
test_metadata_simpleFormalParameter() async {
- var library = await checkLibrary('const a = null; f(@a x) {}');
+ var library = await buildLibrary('const a = null; f(@a x) {}');
checkElementText(library, r'''
library
definingUnit
@@ -29450,7 +29398,7 @@
}
test_metadata_simpleFormalParameter_method() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
class C {
@@ -29492,7 +29440,7 @@
}
test_metadata_simpleFormalParameter_unit_setter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
set foo(@a int x) {}
@@ -29529,7 +29477,7 @@
}
test_metadata_simpleFormalParameter_withDefault() async {
- var library = await checkLibrary('const a = null; f([@a x = null]) {}');
+ var library = await buildLibrary('const a = null; f([@a x = null]) {}');
checkElementText(library, r'''
library
definingUnit
@@ -29565,7 +29513,7 @@
}
test_metadata_superFormalParameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
class A {
@@ -29617,7 +29565,7 @@
}
test_metadata_topLevelVariableDeclaration() async {
- var library = await checkLibrary('const a = null; @a int v;');
+ var library = await buildLibrary('const a = null; @a int v;');
checkElementText(library, r'''
library
definingUnit
@@ -29652,7 +29600,7 @@
}
test_metadata_typeParameter_ofClass() async {
- var library = await checkLibrary('const a = null; class C<@a T> {}');
+ var library = await buildLibrary('const a = null; class C<@a T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -29685,7 +29633,7 @@
}
test_metadata_typeParameter_ofClassTypeAlias() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
const a = null;
class C<@a T> = D with E;
class D {}
@@ -29739,7 +29687,7 @@
}
test_metadata_typeParameter_ofFunction() async {
- var library = await checkLibrary('const a = null; f<@a T>() {}');
+ var library = await buildLibrary('const a = null; f<@a T>() {}');
checkElementText(library, r'''
library
definingUnit
@@ -29770,7 +29718,7 @@
}
test_metadata_typeParameter_ofTypedef() async {
- var library = await checkLibrary('const a = null; typedef F<@a T>();');
+ var library = await buildLibrary('const a = null; typedef F<@a T>();');
checkElementText(library, r'''
library
definingUnit
@@ -29804,7 +29752,7 @@
}
test_metadata_unit_topLevelVariable_first() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
const a = 0;
@a
int x = 0;
@@ -29848,7 +29796,7 @@
}
test_metadata_value_class_staticField() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
static const x = 0;
}
@@ -29895,7 +29843,7 @@
}
test_metadata_value_enum_constant() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
enum E {a, b, c}
@E.b
class C {}
@@ -30010,7 +29958,7 @@
}
test_metadata_value_extension_staticField() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
extension E on int {
static const x = 0;
}
@@ -30057,12 +30005,12 @@
}
test_metadata_value_prefix_extension_staticField() async {
- addLibrarySource('$testPackageLibPath/foo.dart', '''
+ addSource('$testPackageLibPath/foo.dart', '''
extension E on int {
static const x = 0;
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'foo.dart' as foo;
@foo.E.x
class C {}
@@ -30101,7 +30049,7 @@
}
test_methodInvocation_implicitCall() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
double call() => 0.0;
}
@@ -30149,7 +30097,7 @@
}
test_mixin() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
class B {}
class C {}
@@ -30226,7 +30174,7 @@
}
test_mixin_field_inferredType_final() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
mixin M {
final x = 0;
}''');
@@ -30249,7 +30197,7 @@
}
test_mixin_first() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M {}
''');
@@ -30261,7 +30209,7 @@
}
test_mixin_implicitObjectSuperclassConstraint() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M {}
''');
checkElementText(library, r'''
@@ -30278,7 +30226,7 @@
test_mixin_inference_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {}
mixin M<U> on A<U> {}
class B extends A<int> with M {}
@@ -30315,7 +30263,7 @@
}
test_mixin_inference_nullSafety() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {}
mixin M<U> on A<U> {}
class B extends A<int> with M {}
@@ -30352,13 +30300,13 @@
}
test_mixin_inference_nullSafety2() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A<T> {}
mixin B<T> on A<T> {}
mixin C<T> on A<T> {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
// @dart=2.8
import 'a.dart';
@@ -30384,11 +30332,11 @@
}
test_mixin_inference_nullSafety_mixed_inOrder() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
class A<T> {}
mixin M<U> on A<U> {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
// @dart = 2.8
import 'a.dart';
class B extends A<int> with M {}
@@ -30413,12 +30361,12 @@
@FailingTest(reason: 'Out-of-order inference is not specified yet')
test_mixin_inference_nullSafety_mixed_outOfOrder() async {
- addLibrarySource('$testPackageLibPath/a.dart', r'''
+ addSource('$testPackageLibPath/a.dart', r'''
// @dart = 2.8
class A<T> {}
mixin M<U> on A<U> {}
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
class B extends A<int> with M {}
@@ -30432,7 +30380,7 @@
}
test_mixin_method_namedAsConstraint() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
mixin B on A {
void A() {}
@@ -30458,7 +30406,7 @@
}
test_mixin_typeParameters_variance_contravariant() async {
- var library = await checkLibrary('mixin M<in T> {}');
+ var library = await buildLibrary('mixin M<in T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -30475,7 +30423,7 @@
}
test_mixin_typeParameters_variance_covariant() async {
- var library = await checkLibrary('mixin M<out T> {}');
+ var library = await buildLibrary('mixin M<out T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -30492,7 +30440,7 @@
}
test_mixin_typeParameters_variance_invariant() async {
- var library = await checkLibrary('mixin M<inout T> {}');
+ var library = await buildLibrary('mixin M<inout T> {}');
checkElementText(library, r'''
library
definingUnit
@@ -30509,7 +30457,7 @@
}
test_mixin_typeParameters_variance_multiple() async {
- var library = await checkLibrary('mixin M<inout T, in U, out V> {}');
+ var library = await buildLibrary('mixin M<inout T, in U, out V> {}');
checkElementText(library, r'''
library
definingUnit
@@ -30530,12 +30478,12 @@
}
test_nameConflict_exportedAndLocal() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- addLibrarySource('$testPackageLibPath/c.dart', '''
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ addSource('$testPackageLibPath/c.dart', '''
export 'a.dart';
class C {}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'c.dart';
C v = null;
''');
@@ -30559,13 +30507,13 @@
}
test_nameConflict_exportedAndLocal_exported() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- addLibrarySource('$testPackageLibPath/c.dart', '''
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ addSource('$testPackageLibPath/c.dart', '''
export 'a.dart';
class C {}
''');
- addLibrarySource('$testPackageLibPath/d.dart', 'export "c.dart";');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/d.dart', 'export "c.dart";');
+ var library = await buildLibrary('''
import 'd.dart';
C v = null;
''');
@@ -30589,17 +30537,17 @@
}
test_nameConflict_exportedAndParted() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- addLibrarySource('$testPackageLibPath/b.dart', '''
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ addSource('$testPackageLibPath/b.dart', '''
part of lib;
class C {}
''');
- addLibrarySource('$testPackageLibPath/c.dart', '''
+ addSource('$testPackageLibPath/c.dart', '''
library lib;
export 'a.dart';
part 'b.dart';
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
import 'c.dart';
C v = null;
''');
@@ -30627,9 +30575,9 @@
return;
}
- addLibrarySource('$testPackageLibPath/a.dart', 'class A {}');
- addLibrarySource('$testPackageLibPath/b.dart', 'export "/a.dart";');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'class A {}');
+ addSource('$testPackageLibPath/b.dart', 'export "/a.dart";');
+ var library = await buildLibrary('''
import 'a.dart';
import 'b.dart';
A v = null;
@@ -30655,7 +30603,7 @@
}
test_nameOffset_class_constructor() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
A();
A.named();
@@ -30675,7 +30623,7 @@
}
test_nameOffset_class_constructor_parameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
A(int a);
}
@@ -30694,7 +30642,7 @@
}
test_nameOffset_class_field() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
int foo = 0;
}
@@ -30721,7 +30669,7 @@
}
test_nameOffset_class_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
int get foo => 0;
}
@@ -30743,7 +30691,7 @@
}
test_nameOffset_class_method() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
void foo<T>(int a) {}
}
@@ -30767,7 +30715,7 @@
}
test_nameOffset_class_setter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {
set foo(int x) {}
}
@@ -30792,7 +30740,7 @@
}
test_nameOffset_class_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {}
''');
checkElementText(library, r'''
@@ -30809,7 +30757,7 @@
}
test_nameOffset_extension_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
extension E<T> on int {}
''');
checkElementText(library, r'''
@@ -30824,7 +30772,7 @@
}
test_nameOffset_function_functionTypedFormal_parameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f(void f<U>(int a)) {}
''');
checkElementText(library, r'''
@@ -30845,7 +30793,7 @@
}
test_nameOffset_function_functionTypedFormal_parameter2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f({required void f<U>(int a)}) {}
''');
checkElementText(library, r'''
@@ -30866,7 +30814,7 @@
}
test_nameOffset_function_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f<T>() {}
''');
checkElementText(library, r'''
@@ -30881,7 +30829,7 @@
}
test_nameOffset_functionTypeAlias_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F<T>();
''');
checkElementText(library, r'''
@@ -30899,7 +30847,7 @@
}
test_nameOffset_genericTypeAlias_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = void Function();
''');
checkElementText(library, r'''
@@ -30917,7 +30865,7 @@
}
test_nameOffset_mixin_typeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M<T> {}
''');
checkElementText(library, r'''
@@ -30936,7 +30884,7 @@
}
test_nameOffset_unit_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
int get foo => 0;
''');
checkElementText(library, r'''
@@ -30952,7 +30900,7 @@
}
test_nested_generic_functions_in_generic_class_with_function_typed_params() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
void g<V, W>() {
void h<X, Y>(void p(T t, U u, V v, W w, X x, Y y)) {
@@ -30982,7 +30930,7 @@
}
test_nested_generic_functions_in_generic_class_with_local_variables() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
void g<V, W>() {
void h<X, Y>() {
@@ -31018,7 +30966,7 @@
}
test_nested_generic_functions_with_function_typed_param() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f<T, U>() {
void g<V, W>() {
void h<X, Y>(void p(T t, U u, V v, W w, X x, Y y)) {
@@ -31039,7 +30987,7 @@
}
test_nested_generic_functions_with_local_variables() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f<T, U>() {
void g<V, W>() {
void h<X, Y>() {
@@ -31066,7 +31014,7 @@
}
test_new_typedef_function_notSimplyBounded_functionType_returnType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = G Function();
typedef G = F Function();
''');
@@ -31086,7 +31034,7 @@
}
test_new_typedef_function_notSimplyBounded_functionType_returnType_viaInterfaceType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = List<F> Function();
''');
checkElementText(library, r'''
@@ -31101,7 +31049,7 @@
}
test_new_typedef_function_notSimplyBounded_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<T extends F> = void Function();
''');
checkElementText(library, r'''
@@ -31120,7 +31068,7 @@
}
test_new_typedef_function_notSimplyBounded_simple_no_bounds() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<T> = void Function();
''');
checkElementText(library, r'''
@@ -31138,7 +31086,7 @@
}
test_new_typedef_function_notSimplyBounded_simple_non_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = void Function();
''');
checkElementText(library, r'''
@@ -31153,7 +31101,7 @@
}
test_new_typedef_nonFunction_notSimplyBounded_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F<T extends F> = List<int>;
''');
checkElementText(library, r'''
@@ -31170,7 +31118,7 @@
}
test_new_typedef_nonFunction_notSimplyBounded_viaInterfaceType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = List<F>;
''');
checkElementText(library, r'''
@@ -31183,7 +31131,7 @@
}
test_nonSynthetic_class_field() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
int foo = 0;
}
@@ -31218,7 +31166,7 @@
}
test_nonSynthetic_class_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
int get foo => 0;
}
@@ -31246,7 +31194,7 @@
}
test_nonSynthetic_class_setter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class C {
set foo(int value) {}
}
@@ -31278,7 +31226,7 @@
}
test_nonSynthetic_enum() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
enum E {
a, b
}
@@ -31361,7 +31309,7 @@
}
test_nonSynthetic_extension_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
extension E on int {
int get foo => 0;
}
@@ -31387,7 +31335,7 @@
}
test_nonSynthetic_extension_setter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
extension E on int {
set foo(int value) {}
}
@@ -31417,7 +31365,7 @@
}
test_nonSynthetic_mixin_field() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M {
int foo = 0;
}
@@ -31454,7 +31402,7 @@
}
test_nonSynthetic_mixin_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M {
int get foo => 0;
}
@@ -31484,7 +31432,7 @@
}
test_nonSynthetic_mixin_setter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
mixin M {
set foo(int value) {}
}
@@ -31518,7 +31466,7 @@
}
test_nonSynthetic_unit_getter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
int get foo => 0;
''');
checkElementText(
@@ -31539,7 +31487,7 @@
}
test_nonSynthetic_unit_getterSetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
int get foo => 0;
set foo(int value) {}
''');
@@ -31568,7 +31516,7 @@
}
test_nonSynthetic_unit_setter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
set foo(int value) {}
''');
checkElementText(
@@ -31593,7 +31541,7 @@
}
test_nonSynthetic_unit_variable() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
int foo = 0;
''');
checkElementText(
@@ -31621,7 +31569,7 @@
}
test_parameter() async {
- var library = await checkLibrary('void main(int p) {}');
+ var library = await buildLibrary('void main(int p) {}');
checkElementText(library, r'''
library
definingUnit
@@ -31635,7 +31583,7 @@
}
test_parameter_covariant_explicit_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
void m({covariant A a}) {}
}
@@ -31657,7 +31605,7 @@
}
test_parameter_covariant_explicit_positional() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
void m([covariant A a]) {}
}
@@ -31679,7 +31627,7 @@
}
test_parameter_covariant_explicit_required() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
void m(covariant A a) {}
}
@@ -31701,7 +31649,7 @@
}
test_parameter_covariant_inherited() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
void f(covariant T t) {}
}
@@ -31745,7 +31693,7 @@
}
test_parameter_covariant_inherited_named() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
void m({covariant A a}) {}
}
@@ -31781,7 +31729,7 @@
}
test_parameter_parameters() async {
- var library = await checkLibrary('class C { f(g(x, y)) {} }');
+ var library = await buildLibrary('class C { f(g(x, y)) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -31804,7 +31752,7 @@
}
test_parameter_parameters_in_generic_class() async {
- var library = await checkLibrary('class C<A, B> { f(A g(B x)) {} }');
+ var library = await buildLibrary('class C<A, B> { f(A g(B x)) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -31830,7 +31778,7 @@
}
test_parameter_return_type() async {
- var library = await checkLibrary('class C { f(int g()) {} }');
+ var library = await buildLibrary('class C { f(int g()) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -31848,7 +31796,7 @@
}
test_parameter_return_type_void() async {
- var library = await checkLibrary('class C { f(void g()) {} }');
+ var library = await buildLibrary('class C { f(void g()) {} }');
checkElementText(library, r'''
library
definingUnit
@@ -31866,7 +31814,7 @@
}
test_parameter_typeParameters() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
void f(T a<T, U>(U u)) {}
''');
checkElementText(library, r'''
@@ -31890,7 +31838,7 @@
test_parameterTypeNotInferred_constructor() async {
// Strong mode doesn't do type inference on constructor parameters, so it's
// ok that we don't store inferred type info for them in summaries.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
C.positional([x = 1]);
C.named({x: 1});
@@ -31928,7 +31876,7 @@
test_parameterTypeNotInferred_initializingFormal() async {
// Strong mode doesn't do type inference on initializing formals, so it's
// ok that we don't store inferred type info for them in summaries.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
var x;
C.positional([this.x = 1]);
@@ -31980,7 +31928,7 @@
test_parameterTypeNotInferred_staticMethod() async {
// Strong mode doesn't do type inference on parameters of static methods,
// so it's ok that we don't store inferred type info for them in summaries.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {
static void positional([x = 1]) {}
static void named({x: 1}) {}
@@ -32019,7 +31967,7 @@
// Strong mode doesn't do type inference on parameters of top level
// functions, so it's ok that we don't store inferred type info for them in
// summaries.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void positional([x = 1]) {}
void named({x: 1}) {}
''');
@@ -32049,7 +31997,7 @@
}
test_part_emptyUri() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
part '';
class B extends A {}
''');
@@ -32070,7 +32018,7 @@
}
test_part_uri() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
part 'foo.dart';
''');
expect(library.parts[0].uri, 'foo.dart');
@@ -32080,7 +32028,7 @@
addSource('$testPackageLibPath/a.dart', 'part of my.lib;');
addSource('$testPackageLibPath/b.dart', 'part of my.lib;');
var library =
- await checkLibrary('library my.lib; part "a.dart"; part "b.dart";');
+ await buildLibrary('library my.lib; part "a.dart"; part "b.dart";');
checkElementText(library, r'''
library
name: my.lib
@@ -32094,7 +32042,7 @@
test_parts_invalidUri() async {
addSource('$testPackageLibPath/foo/bar.dart', 'part of my.lib;');
- var library = await checkLibrary('library my.lib; part "foo/";');
+ var library = await buildLibrary('library my.lib; part "foo/";');
checkElementText(library, r'''
library
name: my.lib
@@ -32107,7 +32055,7 @@
test_parts_invalidUri_nullStringValue() async {
addSource('$testPackageLibPath/foo/bar.dart', 'part of my.lib;');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
library my.lib;
part "${foo}/bar.dart";
''');
@@ -32120,7 +32068,7 @@
}
test_propagated_type_refers_to_closure() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f() {
var x = () => 0;
var y = x;
@@ -32136,7 +32084,7 @@
}
test_setter_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -32159,7 +32107,7 @@
}
test_setter_external() async {
- var library = await checkLibrary('external void set x(int value);');
+ var library = await buildLibrary('external void set x(int value);');
checkElementText(library, r'''
library
definingUnit
@@ -32176,7 +32124,7 @@
}
test_setter_inferred_type_top_level_implicit_return() async {
- var library = await checkLibrary('set f(int value) {}');
+ var library = await buildLibrary('set f(int value) {}');
checkElementText(library, r'''
library
definingUnit
@@ -32194,7 +32142,7 @@
test_setters() async {
var library =
- await checkLibrary('void set x(int value) {} set y(value) {}');
+ await buildLibrary('void set x(int value) {} set y(value) {}');
checkElementText(library, r'''
library
definingUnit
@@ -32218,7 +32166,7 @@
}
test_syntheticFunctionType_genericClosure() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
final v = f() ? <T>(T t) => 0 : <T>(T t) => 1;
bool f() => true;
''');
@@ -32238,7 +32186,7 @@
}
test_syntheticFunctionType_genericClosure_inGenericFunction() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f<T, U>(bool b) {
final v = b ? <V>(T t, U u, V v) => 0 : <V>(T t, U u, V v) => 1;
}
@@ -32259,7 +32207,7 @@
}
test_syntheticFunctionType_inGenericClass() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T, U> {
var v = f() ? (T t, U u) => 0 : (T t, U u) => 1;
}
@@ -32295,7 +32243,7 @@
}
test_syntheticFunctionType_inGenericFunction() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void f<T, U>(bool b) {
var v = b ? (T t, U u) => 0 : (T t, U u) => 1;
}
@@ -32316,7 +32264,7 @@
}
test_syntheticFunctionType_noArguments() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
final v = f() ? () => 0 : () => 1;
bool f() => true;
''');
@@ -32336,7 +32284,7 @@
}
test_syntheticFunctionType_withArguments() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
final v = f() ? (int x, String y) => 0 : (int x, String y) => 1;
bool f() => true;
''');
@@ -32356,7 +32304,7 @@
}
test_top_level_variable_external() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
external int i;
''');
checkElementText(library, r'''
@@ -32377,7 +32325,7 @@
}
test_type_arguments_explicit_dynamic_dynamic() async {
- var library = await checkLibrary('Map<dynamic, dynamic> m;');
+ var library = await buildLibrary('Map<dynamic, dynamic> m;');
checkElementText(library, r'''
library
definingUnit
@@ -32396,7 +32344,7 @@
}
test_type_arguments_explicit_dynamic_int() async {
- var library = await checkLibrary('Map<dynamic, int> m;');
+ var library = await buildLibrary('Map<dynamic, int> m;');
checkElementText(library, r'''
library
definingUnit
@@ -32415,7 +32363,7 @@
}
test_type_arguments_explicit_String_dynamic() async {
- var library = await checkLibrary('Map<String, dynamic> m;');
+ var library = await buildLibrary('Map<String, dynamic> m;');
checkElementText(library, r'''
library
definingUnit
@@ -32434,7 +32382,7 @@
}
test_type_arguments_explicit_String_int() async {
- var library = await checkLibrary('Map<String, int> m;');
+ var library = await buildLibrary('Map<String, int> m;');
checkElementText(library, r'''
library
definingUnit
@@ -32453,7 +32401,7 @@
}
test_type_arguments_implicit() async {
- var library = await checkLibrary('Map m;');
+ var library = await buildLibrary('Map m;');
checkElementText(library, r'''
library
definingUnit
@@ -32472,7 +32420,7 @@
}
test_type_dynamic() async {
- var library = await checkLibrary('dynamic d;');
+ var library = await buildLibrary('dynamic d;');
checkElementText(library, r'''
library
definingUnit
@@ -32491,7 +32439,7 @@
}
test_type_inference_assignmentExpression_references_onTopLevelVariable() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var a = () {
b += 0;
return 0;
@@ -32525,8 +32473,8 @@
}
test_type_inference_based_on_loadLibrary() async {
- addLibrarySource('$testPackageLibPath/a.dart', '');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', '');
+ var library = await buildLibrary('''
import 'a.dart' deferred as a;
var x = a.loadLibrary;
''');
@@ -32550,12 +32498,12 @@
}
test_type_inference_classField_fromNullSafe_toLegacy() async {
- addLibrarySource('$testPackageLibPath/a.dart', '''
+ addSource('$testPackageLibPath/a.dart', '''
class E {
static final a = 0;
}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// @dart = 2.9
import 'a.dart';
final v = E.a;
@@ -32575,7 +32523,7 @@
}
test_type_inference_closure_with_function_typed_parameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var x = (int f(String x)) => 0;
''');
checkElementText(library, r'''
@@ -32596,7 +32544,7 @@
}
test_type_inference_closure_with_function_typed_parameter_new() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var x = (int Function(String) f) => 0;
''');
checkElementText(library, r'''
@@ -32617,9 +32565,9 @@
}
test_type_inference_depends_on_exported_variable() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'export "b.dart";');
- addLibrarySource('$testPackageLibPath/b.dart', 'var x = 0;');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'export "b.dart";');
+ addSource('$testPackageLibPath/b.dart', 'var x = 0;');
+ var library = await buildLibrary('''
import 'a.dart';
var y = x;
''');
@@ -32643,7 +32591,7 @@
}
test_type_inference_field_depends_onFieldFormal() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
T value;
@@ -32697,7 +32645,7 @@
}
test_type_inference_field_depends_onFieldFormal_withMixinApp() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
T value;
@@ -32788,7 +32736,7 @@
}
test_type_inference_fieldFormal_depends_onField() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A<T> {
var f = 0;
A(this.f);
@@ -32823,7 +32771,7 @@
}
test_type_inference_instanceCreation_notGeneric() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
A(_);
}
@@ -32866,9 +32814,9 @@
}
test_type_inference_multiplyDefinedElement() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- addLibrarySource('$testPackageLibPath/b.dart', 'class C {}');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ addSource('$testPackageLibPath/b.dart', 'class C {}');
+ var library = await buildLibrary('''
import 'a.dart';
import 'b.dart';
var v = C;
@@ -32894,7 +32842,7 @@
}
test_type_inference_nested_function() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var x = (t) => (u) => t + u;
''');
checkElementText(library, r'''
@@ -32915,7 +32863,7 @@
}
test_type_inference_nested_function_with_parameter_types() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var x = (int t) => (int u) => t + u;
''');
checkElementText(library, r'''
@@ -32936,7 +32884,7 @@
}
test_type_inference_of_closure_with_default_value() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var x = ([y: 0]) => y;
''');
checkElementText(library, r'''
@@ -32957,7 +32905,7 @@
}
test_type_inference_topVariable_depends_onFieldFormal() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
class B extends A {}
@@ -33013,7 +32961,7 @@
}
test_type_inference_using_extension_getter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
extension on String {
int get foo => 0;
}
@@ -33046,7 +32994,7 @@
}
test_type_invalid_topLevelVariableElement_asType() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T extends V> {}
typedef V F(V p);
V f(V p) {}
@@ -33102,7 +33050,7 @@
}
test_type_invalid_topLevelVariableElement_asTypeArgument() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
var V;
static List<V> V2;
''', allowErrors: true);
@@ -33133,7 +33081,7 @@
}
test_type_invalid_typeParameter_asPrefix() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
m(T.K p) {}
}
@@ -33158,7 +33106,7 @@
}
test_type_invalid_unresolvedPrefix() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
p.C v;
''', allowErrors: true);
checkElementText(library, r'''
@@ -33180,7 +33128,7 @@
test_type_never_disableNnbd() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('Never d;');
+ var library = await buildLibrary('Never d;');
checkElementText(library, r'''
library
definingUnit
@@ -33199,7 +33147,7 @@
}
test_type_never_enableNnbd() async {
- var library = await checkLibrary('Never d;');
+ var library = await buildLibrary('Never d;');
checkElementText(library, r'''
library
definingUnit
@@ -33218,7 +33166,7 @@
}
test_type_param_ref_nullability_none() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
T t;
}
@@ -33248,7 +33196,7 @@
}
test_type_param_ref_nullability_question() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
T? t;
}
@@ -33279,7 +33227,7 @@
test_type_param_ref_nullability_star() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
T t;
}
@@ -33309,7 +33257,7 @@
}
test_type_reference_lib_to_lib() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C {}
enum E { v }
typedef F();
@@ -33406,7 +33354,7 @@
addSource('$testPackageLibPath/a.dart',
'part of l; class C {} enum E { v } typedef F();');
var library =
- await checkLibrary('library l; part "a.dart"; C c; E e; F f;');
+ await buildLibrary('library l; part "a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
name: l
@@ -33499,7 +33447,7 @@
test_type_reference_part_to_lib() async {
addSource('$testPackageLibPath/a.dart', 'part of l; C c; E e; F f;');
- var library = await checkLibrary(
+ var library = await buildLibrary(
'library l; part "a.dart"; class C {} enum E { v } typedef F();');
checkElementText(library, r'''
library
@@ -33596,7 +33544,7 @@
'part of l; class C {} enum E { v } typedef F();');
addSource('$testPackageLibPath/b.dart', 'part of l; C c; E e; F f;');
var library =
- await checkLibrary('library l; part "a.dart"; part "b.dart";');
+ await buildLibrary('library l; part "a.dart"; part "b.dart";');
checkElementText(library, r'''
library
name: l
@@ -33691,7 +33639,7 @@
test_type_reference_part_to_part() async {
addSource('$testPackageLibPath/a.dart',
'part of l; class C {} enum E { v } typedef F(); C c; E e; F f;');
- var library = await checkLibrary('library l; part "a.dart";');
+ var library = await buildLibrary('library l; part "a.dart";');
checkElementText(library, r'''
library
name: l
@@ -33783,7 +33731,7 @@
}
test_type_reference_to_class() async {
- var library = await checkLibrary('class C {} C c;');
+ var library = await buildLibrary('class C {} C c;');
checkElementText(library, r'''
library
definingUnit
@@ -33806,7 +33754,7 @@
}
test_type_reference_to_class_with_type_arguments() async {
- var library = await checkLibrary('class C<T, U> {} C<int, String> c;');
+ var library = await buildLibrary('class C<T, U> {} C<int, String> c;');
checkElementText(library, r'''
library
definingUnit
@@ -33834,7 +33782,7 @@
}
test_type_reference_to_class_with_type_arguments_implicit() async {
- var library = await checkLibrary('class C<T, U> {} C c;');
+ var library = await buildLibrary('class C<T, U> {} C c;');
checkElementText(library, r'''
library
definingUnit
@@ -33862,7 +33810,7 @@
}
test_type_reference_to_enum() async {
- var library = await checkLibrary('enum E { v } E e;');
+ var library = await buildLibrary('enum E { v } E e;');
checkElementText(library, r'''
library
definingUnit
@@ -33920,9 +33868,9 @@
}
test_type_reference_to_import() async {
- addLibrarySource(
+ addSource(
'$testPackageLibPath/a.dart', 'class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -33964,10 +33912,10 @@
}
test_type_reference_to_import_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'export "b.dart";');
- addLibrarySource(
+ addSource('$testPackageLibPath/a.dart', 'export "b.dart";');
+ addSource(
'$testPackageLibPath/b.dart', 'class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34009,11 +33957,11 @@
}
test_type_reference_to_import_export_export() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'export "b.dart";');
- addLibrarySource('$testPackageLibPath/b.dart', 'export "c.dart";');
- addLibrarySource(
+ addSource('$testPackageLibPath/a.dart', 'export "b.dart";');
+ addSource('$testPackageLibPath/b.dart', 'export "c.dart";');
+ addSource(
'$testPackageLibPath/c.dart', 'class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34055,11 +34003,11 @@
}
test_type_reference_to_import_export_export_in_subdirs() async {
- addLibrarySource('$testPackageLibPath/a/a.dart', 'export "b/b.dart";');
- addLibrarySource('$testPackageLibPath/a/b/b.dart', 'export "../c/c.dart";');
- addLibrarySource('$testPackageLibPath/a/c/c.dart',
+ addSource('$testPackageLibPath/a/a.dart', 'export "b/b.dart";');
+ addSource('$testPackageLibPath/a/b/b.dart', 'export "../c/c.dart";');
+ addSource('$testPackageLibPath/a/c/c.dart',
'class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a/a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a/a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34101,10 +34049,10 @@
}
test_type_reference_to_import_export_in_subdirs() async {
- addLibrarySource('$testPackageLibPath/a/a.dart', 'export "b/b.dart";');
- addLibrarySource('$testPackageLibPath/a/b/b.dart',
+ addSource('$testPackageLibPath/a/a.dart', 'export "b/b.dart";');
+ addSource('$testPackageLibPath/a/b/b.dart',
'class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a/a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a/a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34146,10 +34094,10 @@
}
test_type_reference_to_import_part() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'library l; part "b.dart";');
+ addSource('$testPackageLibPath/a.dart', 'library l; part "b.dart";');
addSource('$testPackageLibPath/b.dart',
'part of l; class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34191,11 +34139,11 @@
}
test_type_reference_to_import_part2() async {
- addLibrarySource('$testPackageLibPath/a.dart',
+ addSource('$testPackageLibPath/a.dart',
'library l; part "p1.dart"; part "p2.dart";');
addSource('$testPackageLibPath/p1.dart', 'part of l; class C1 {}');
addSource('$testPackageLibPath/p2.dart', 'part of l; class C2 {}');
- var library = await checkLibrary('import "a.dart"; C1 c1; C2 c2;');
+ var library = await buildLibrary('import "a.dart"; C1 c1; C2 c2;');
checkElementText(library, r'''
library
imports
@@ -34225,11 +34173,10 @@
}
test_type_reference_to_import_part_in_subdir() async {
- addLibrarySource(
- '$testPackageLibPath/a/b.dart', 'library l; part "c.dart";');
+ addSource('$testPackageLibPath/a/b.dart', 'library l; part "c.dart";');
addSource('$testPackageLibPath/a/c.dart',
'part of l; class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a/b.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a/b.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34271,9 +34218,9 @@
}
test_type_reference_to_import_relative() async {
- addLibrarySource(
+ addSource(
'$testPackageLibPath/a.dart', 'class C {} enum E { v } typedef F();');
- var library = await checkLibrary('import "a.dart"; C c; E e; F f;');
+ var library = await buildLibrary('import "a.dart"; C c; E e; F f;');
checkElementText(library, r'''
library
imports
@@ -34315,7 +34262,7 @@
}
test_type_reference_to_typedef() async {
- var library = await checkLibrary('typedef F(); F f;');
+ var library = await buildLibrary('typedef F(); F f;');
checkElementText(library, r'''
library
definingUnit
@@ -34343,7 +34290,7 @@
test_type_reference_to_typedef_with_type_arguments() async {
var library =
- await checkLibrary('typedef U F<T, U>(T t); F<int, String> f;');
+ await buildLibrary('typedef U F<T, U>(T t); F<int, String> f;');
checkElementText(library, r'''
library
definingUnit
@@ -34387,7 +34334,7 @@
}
test_type_reference_to_typedef_with_type_arguments_implicit() async {
- var library = await checkLibrary('typedef U F<T, U>(T t); F f;');
+ var library = await buildLibrary('typedef U F<T, U>(T t); F f;');
checkElementText(library, r'''
library
definingUnit
@@ -34431,7 +34378,7 @@
}
test_type_unresolved() async {
- var library = await checkLibrary('C c;', allowErrors: true);
+ var library = await buildLibrary('C c;', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -34450,7 +34397,7 @@
}
test_type_unresolved_prefixed() async {
- var library = await checkLibrary('import "dart:core" as core; core.C c;',
+ var library = await buildLibrary('import "dart:core" as core; core.C c;',
allowErrors: true);
checkElementText(library, r'''
library
@@ -34472,7 +34419,7 @@
}
test_typeAlias_parameter_typeParameters() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F(T a<T, U>(U u));
''');
checkElementText(library, r'''
@@ -34496,7 +34443,7 @@
}
test_typeAlias_typeParameters_variance_function_contravariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = void Function(T);
''');
checkElementText(library, r'''
@@ -34517,7 +34464,7 @@
}
test_typeAlias_typeParameters_variance_function_contravariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F1<T> = void Function(T);
typedef F2<T> = F1<T> Function();
''');
@@ -34549,7 +34496,7 @@
}
test_typeAlias_typeParameters_variance_function_covariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = T Function();
''');
checkElementText(library, r'''
@@ -34567,7 +34514,7 @@
}
test_typeAlias_typeParameters_variance_function_covariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = List<T> Function();
''');
checkElementText(library, r'''
@@ -34585,7 +34532,7 @@
}
test_typeAlias_typeParameters_variance_function_covariant3() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F1<T> = T Function();
typedef F2<T> = F1<T> Function();
''');
@@ -34614,7 +34561,7 @@
}
test_typeAlias_typeParameters_variance_function_covariant4() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F1<T> = void Function(T);
typedef F2<T> = void Function(F1<T>);
''');
@@ -34649,7 +34596,7 @@
}
test_typeAlias_typeParameters_variance_function_invalid() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A {}
typedef F<T> = void Function(A<int>);
''');
@@ -34675,7 +34622,7 @@
}
test_typeAlias_typeParameters_variance_function_invalid2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F = void Function();
typedef G<T> = void Function(F<int>);
''');
@@ -34702,7 +34649,7 @@
}
test_typeAlias_typeParameters_variance_function_invariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = T Function(T);
''');
checkElementText(library, r'''
@@ -34723,7 +34670,7 @@
}
test_typeAlias_typeParameters_variance_function_invariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F1<T> = T Function();
typedef F2<T> = F1<T> Function(T);
''');
@@ -34755,7 +34702,7 @@
}
test_typeAlias_typeParameters_variance_function_unrelated() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef F<T> = void Function(int);
''');
checkElementText(library, r'''
@@ -34776,7 +34723,7 @@
}
test_typeAlias_typeParameters_variance_interface_contravariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = List<void Function(T)>;
''');
checkElementText(library, r'''
@@ -34792,7 +34739,7 @@
}
test_typeAlias_typeParameters_variance_interface_contravariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = void Function(T);
typedef B<T> = List<A<T>>;
''');
@@ -34819,7 +34766,7 @@
}
test_typeAlias_typeParameters_variance_interface_covariant() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = List<T>;
''');
checkElementText(library, r'''
@@ -34835,7 +34782,7 @@
}
test_typeAlias_typeParameters_variance_interface_covariant2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = Map<int, T>;
typedef B<T> = List<A<T>>;
''');
@@ -34857,7 +34804,7 @@
}
test_typedef_function_generic() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'typedef F<T> = int Function<S>(List<S> list, num Function<A>(A), T);');
checkElementText(library, r'''
library
@@ -34883,7 +34830,7 @@
}
test_typedef_function_generic_asFieldType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef Foo<S> = S Function<T>(T x);
class A {
Foo<int> f;
@@ -34935,7 +34882,7 @@
test_typedef_function_notSimplyBounded_dependency_via_param_type_name_included() async {
// F is considered "not simply bounded" because it expands to a type that
// refers to C, which is not simply bounded.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = void Function(C c);
class C<T extends C<T>> {}
''');
@@ -34964,7 +34911,7 @@
test_typedef_function_notSimplyBounded_dependency_via_param_type_name_omitted() async {
// F is considered "not simply bounded" because it expands to a type that
// refers to C, which is not simply bounded.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = void Function(C);
class C<T extends C<T>> {}
''');
@@ -34993,7 +34940,7 @@
test_typedef_function_notSimplyBounded_dependency_via_return_type() async {
// F is considered "not simply bounded" because it expands to a type that
// refers to C, which is not simply bounded.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef F = C Function();
class C<T extends C<T>> {}
''');
@@ -35018,7 +34965,7 @@
test_typedef_function_typeParameters_f_bound_simple() async {
var library =
- await checkLibrary('typedef F<T extends U, U> = U Function(T t);');
+ await buildLibrary('typedef F<T extends U, U> = U Function(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35042,7 +34989,7 @@
test_typedef_function_typeParameters_f_bound_simple_legacy() async {
featureSet = FeatureSets.language_2_9;
var library =
- await checkLibrary('typedef F<T extends U, U> = U Function(T t);');
+ await buildLibrary('typedef F<T extends U, U> = U Function(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35064,7 +35011,7 @@
}
test_typedef_legacy_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -35085,7 +35032,7 @@
test_typedef_legacy_notSimplyBounded_dependency_via_param_type() async {
// F is considered "not simply bounded" because it expands to a type that
// refers to C, which is not simply bounded.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef void F(C c);
class C<T extends C<T>> {}
''');
@@ -35114,7 +35061,7 @@
test_typedef_legacy_notSimplyBounded_dependency_via_return_type() async {
// F is considered "not simply bounded" because it expands to a type that
// refers to C, which is not simply bounded.
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef C F();
class C<T extends C<T>> {}
''');
@@ -35138,7 +35085,7 @@
}
test_typedef_legacy_notSimplyBounded_self() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef void F<T extends F>();
''');
checkElementText(library, r'''
@@ -35157,7 +35104,7 @@
}
test_typedef_legacy_notSimplyBounded_simple_because_non_generic() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
typedef void F();
''');
checkElementText(library, r'''
@@ -35172,7 +35119,7 @@
}
test_typedef_legacy_notSimplyBounded_simple_no_bounds() async {
- var library = await checkLibrary('typedef void F<T>();');
+ var library = await buildLibrary('typedef void F<T>();');
checkElementText(library, r'''
library
definingUnit
@@ -35188,7 +35135,7 @@
}
test_typedef_legacy_parameter_hasImplicitType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef void F(int a, b, [int c, d]);
''');
var F = library.definingCompilationUnit.typeAliases.single;
@@ -35201,7 +35148,7 @@
}
test_typedef_legacy_parameter_parameters() async {
- var library = await checkLibrary('typedef F(g(x, y));');
+ var library = await buildLibrary('typedef F(g(x, y));');
checkElementText(library, r'''
library
definingUnit
@@ -35222,7 +35169,7 @@
}
test_typedef_legacy_parameter_parameters_in_generic_class() async {
- var library = await checkLibrary('typedef F<A, B>(A g(B x));');
+ var library = await buildLibrary('typedef F<A, B>(A g(B x));');
checkElementText(library, r'''
library
definingUnit
@@ -35246,7 +35193,7 @@
}
test_typedef_legacy_parameter_return_type() async {
- var library = await checkLibrary('typedef F(int g());');
+ var library = await buildLibrary('typedef F(int g());');
checkElementText(library, r'''
library
definingUnit
@@ -35262,7 +35209,7 @@
}
test_typedef_legacy_parameter_type() async {
- var library = await checkLibrary('typedef F(int i);');
+ var library = await buildLibrary('typedef F(int i);');
checkElementText(library, r'''
library
definingUnit
@@ -35278,7 +35225,7 @@
}
test_typedef_legacy_parameter_type_generic() async {
- var library = await checkLibrary('typedef F<T>(T t);');
+ var library = await buildLibrary('typedef F<T>(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35297,7 +35244,7 @@
}
test_typedef_legacy_parameters() async {
- var library = await checkLibrary('typedef F(x, y);');
+ var library = await buildLibrary('typedef F(x, y);');
checkElementText(library, r'''
library
definingUnit
@@ -35315,7 +35262,7 @@
}
test_typedef_legacy_parameters_named() async {
- var library = await checkLibrary('typedef F({y, z, x});');
+ var library = await buildLibrary('typedef F({y, z, x});');
checkElementText(library, r'''
library
definingUnit
@@ -35335,7 +35282,7 @@
}
test_typedef_legacy_return_type() async {
- var library = await checkLibrary('typedef int F();');
+ var library = await buildLibrary('typedef int F();');
checkElementText(library, r'''
library
definingUnit
@@ -35348,7 +35295,7 @@
}
test_typedef_legacy_return_type_generic() async {
- var library = await checkLibrary('typedef T F<T>();');
+ var library = await buildLibrary('typedef T F<T>();');
checkElementText(library, r'''
library
definingUnit
@@ -35364,7 +35311,7 @@
}
test_typedef_legacy_return_type_implicit() async {
- var library = await checkLibrary('typedef F();');
+ var library = await buildLibrary('typedef F();');
checkElementText(library, r'''
library
definingUnit
@@ -35377,7 +35324,7 @@
}
test_typedef_legacy_return_type_void() async {
- var library = await checkLibrary('typedef void F();');
+ var library = await buildLibrary('typedef void F();');
checkElementText(library, r'''
library
definingUnit
@@ -35390,7 +35337,7 @@
}
test_typedef_legacy_typeParameters() async {
- var library = await checkLibrary('typedef U F<T, U>(T t);');
+ var library = await buildLibrary('typedef U F<T, U>(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35411,7 +35358,7 @@
}
test_typedef_legacy_typeParameters_bound() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'typedef U F<T extends Object, U extends D>(T t); class D {}');
checkElementText(library, r'''
library
@@ -35439,7 +35386,7 @@
}
test_typedef_legacy_typeParameters_bound_recursive() async {
- var library = await checkLibrary('typedef void F<T extends F>();');
+ var library = await buildLibrary('typedef void F<T extends F>();');
// Typedefs cannot reference themselves.
checkElementText(library, r'''
library
@@ -35457,7 +35404,7 @@
}
test_typedef_legacy_typeParameters_bound_recursive2() async {
- var library = await checkLibrary('typedef void F<T extends List<F>>();');
+ var library = await buildLibrary('typedef void F<T extends List<F>>();');
// Typedefs cannot reference themselves.
checkElementText(library, r'''
library
@@ -35475,7 +35422,7 @@
}
test_typedef_legacy_typeParameters_f_bound_complex() async {
- var library = await checkLibrary('typedef U F<T extends List<U>, U>(T t);');
+ var library = await buildLibrary('typedef U F<T extends List<U>, U>(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35498,7 +35445,7 @@
test_typedef_legacy_typeParameters_f_bound_complex_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('typedef U F<T extends List<U>, U>(T t);');
+ var library = await buildLibrary('typedef U F<T extends List<U>, U>(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35520,7 +35467,7 @@
}
test_typedef_legacy_typeParameters_f_bound_simple() async {
- var library = await checkLibrary('typedef U F<T extends U, U>(T t);');
+ var library = await buildLibrary('typedef U F<T extends U, U>(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35543,7 +35490,7 @@
test_typedef_legacy_typeParameters_f_bound_simple_legacy() async {
featureSet = FeatureSets.language_2_9;
- var library = await checkLibrary('typedef U F<T extends U, U>(T t);');
+ var library = await buildLibrary('typedef U F<T extends U, U>(T t);');
checkElementText(library, r'''
library
definingUnit
@@ -35569,7 +35516,7 @@
reason: 'Type dynamic is special, no support for its aliases yet',
)
test_typedef_nonFunction_aliasElement_dynamic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = dynamic;
void f(A a) {}
''');
@@ -35581,7 +35528,7 @@
}
test_typedef_nonFunction_aliasElement_functionType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A1 = void Function();
typedef A2<R> = R Function();
void f1(A1 a) {}
@@ -35622,7 +35569,7 @@
}
test_typedef_nonFunction_aliasElement_interfaceType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A1 = List<int>;
typedef A2<T, U> = Map<T, U>;
void f1(A1 a) {}
@@ -35666,7 +35613,7 @@
reason: 'Type Never is special, no support for its aliases yet',
)
test_typedef_nonFunction_aliasElement_never() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A1 = Never;
typedef A2<T> = Never?;
void f1(A1 a) {}
@@ -35682,7 +35629,7 @@
}
test_typedef_nonFunction_aliasElement_typeParameterType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = T;
void f<U>(A<U> a) {}
''');
@@ -35715,7 +35662,7 @@
reason: 'Type void is special, no support for its aliases yet',
)
test_typedef_nonFunction_aliasElement_void() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = void;
void f(A a) {}
''');
@@ -35727,7 +35674,7 @@
}
test_typedef_nonFunction_asInterfaceType_interfaceType_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X<T> = A<int, T>;
class A<T, U> {}
class B implements X<String> {}
@@ -35762,7 +35709,7 @@
}
test_typedef_nonFunction_asInterfaceType_interfaceType_question() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X<T> = A<T>?;
class A<T> {}
class B {}
@@ -35801,7 +35748,7 @@
}
test_typedef_nonFunction_asInterfaceType_interfaceType_question2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X<T> = A<T?>;
class A<T> {}
class B {}
@@ -35844,7 +35791,7 @@
}
test_typedef_nonFunction_asInterfaceType_Never_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = Never;
class A implements X {}
''');
@@ -35862,7 +35809,7 @@
}
test_typedef_nonFunction_asInterfaceType_Null_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = Null;
class A implements X {}
''');
@@ -35880,7 +35827,7 @@
}
test_typedef_nonFunction_asInterfaceType_typeParameterType() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X<T> = T;
class A {}
class B {}
@@ -35915,7 +35862,7 @@
}
test_typedef_nonFunction_asInterfaceType_void() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = void;
class A {}
class B {}
@@ -35944,7 +35891,7 @@
}
test_typedef_nonFunction_asMixinType_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = A<int>;
class A<T> {}
class B with X {}
@@ -35973,7 +35920,7 @@
}
test_typedef_nonFunction_asMixinType_question() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = A<int>?;
class A<T> {}
mixin M1 {}
@@ -36015,7 +35962,7 @@
}
test_typedef_nonFunction_asMixinType_question2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = A<int?>;
class A<T> {}
mixin M1 {}
@@ -36059,7 +36006,7 @@
}
test_typedef_nonFunction_asSuperType_interfaceType_Never_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = Never;
class A extends X {}
''');
@@ -36077,7 +36024,7 @@
}
test_typedef_nonFunction_asSuperType_interfaceType_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = A<int>;
class A<T> {}
class B extends X {}
@@ -36107,7 +36054,7 @@
}
test_typedef_nonFunction_asSuperType_interfaceType_none_viaTypeParameter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X<T> = T;
class A<T> {}
class B extends X<A<int>> {}
@@ -36142,7 +36089,7 @@
}
test_typedef_nonFunction_asSuperType_interfaceType_Null_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = Null;
class A extends X {}
''');
@@ -36160,7 +36107,7 @@
}
test_typedef_nonFunction_asSuperType_interfaceType_question() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = A<int>?;
class A<T> {}
class D extends X {}
@@ -36185,7 +36132,7 @@
}
test_typedef_nonFunction_asSuperType_interfaceType_question2() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = A<int?>;
class A<T> {}
class D extends X {}
@@ -36215,7 +36162,7 @@
}
test_typedef_nonFunction_asSuperType_Never_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = Never;
class A extends X {}
''');
@@ -36233,7 +36180,7 @@
}
test_typedef_nonFunction_asSuperType_Null_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef X = Null;
class A extends X {}
''');
@@ -36251,7 +36198,7 @@
}
test_typedef_nonFunction_using_dynamic() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = dynamic;
void f(A a) {}
''');
@@ -36272,7 +36219,7 @@
test_typedef_nonFunction_using_interface_disabled() async {
featureSet = FeatureSets.language_2_12;
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = int;
void f(A a) {}
''');
@@ -36297,7 +36244,7 @@
}
test_typedef_nonFunction_using_interface_noTypeParameters() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = int;
void f(A a) {}
''');
@@ -36318,10 +36265,10 @@
}
test_typedef_nonFunction_using_interface_noTypeParameters_legacy() async {
- newFile('/a.dart', content: r'''
+ newFile2('/a.dart', r'''
typedef A = List<int>;
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
// @dart = 2.9
import 'a.dart';
void f(A a) {}
@@ -36341,7 +36288,7 @@
}
test_typedef_nonFunction_using_interface_noTypeParameters_question() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = int?;
void f(A a) {}
''');
@@ -36362,7 +36309,7 @@
}
test_typedef_nonFunction_using_interface_withTypeParameters() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = Map<int, T>;
void f(A<String> a) {}
''');
@@ -36388,7 +36335,7 @@
}
test_typedef_nonFunction_using_Never_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = Never;
void f(A a) {}
''');
@@ -36408,7 +36355,7 @@
}
test_typedef_nonFunction_using_Never_question() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = Never?;
void f(A a) {}
''');
@@ -36428,7 +36375,7 @@
}
test_typedef_nonFunction_using_typeParameter_none() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = T;
void f1(A a) {}
void f2(A<int> a) {}
@@ -36460,7 +36407,7 @@
}
test_typedef_nonFunction_using_typeParameter_question() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A<T> = T?;
void f1(A a) {}
void f2(A<int> a) {}
@@ -36492,7 +36439,7 @@
}
test_typedef_nonFunction_using_void() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
typedef A = void;
void f(A a) {}
''');
@@ -36512,7 +36459,7 @@
}
test_typedefs() async {
- var library = await checkLibrary('f() {} g() {}');
+ var library = await buildLibrary('f() {} g() {}');
checkElementText(library, r'''
library
definingUnit
@@ -36525,7 +36472,7 @@
}
test_unit_implicitVariable_getterFirst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
int get x => 0;
void set x(int value) {}
''');
@@ -36547,7 +36494,7 @@
}
test_unit_implicitVariable_setterFirst() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
void set x(int value) {}
int get x => 0;
''');
@@ -36569,7 +36516,7 @@
}
test_unit_variable_final_withSetter() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
final int foo = 0;
set foo(int newValue) {}
''');
@@ -36591,7 +36538,7 @@
}
test_unresolved_annotation_instanceCreation_argument_super() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A(_);
}
@@ -36631,7 +36578,7 @@
}
test_unresolved_annotation_instanceCreation_argument_this() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {
const A(_);
}
@@ -36672,7 +36619,7 @@
test_unresolved_annotation_namedConstructorCall_noClass() async {
var library =
- await checkLibrary('@foo.bar() class C {}', allowErrors: true);
+ await buildLibrary('@foo.bar() class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -36704,7 +36651,7 @@
test_unresolved_annotation_namedConstructorCall_noConstructor() async {
var library =
- await checkLibrary('@String.foo() class C {}', allowErrors: true);
+ await buildLibrary('@String.foo() class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -36735,7 +36682,7 @@
}
test_unresolved_annotation_prefixedIdentifier_badPrefix() async {
- var library = await checkLibrary('@foo.bar class C {}', allowErrors: true);
+ var library = await buildLibrary('@foo.bar class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -36763,7 +36710,7 @@
}
test_unresolved_annotation_prefixedIdentifier_noDeclaration() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'import "dart:async" as foo; @foo.bar class C {}',
allowErrors: true);
checkElementText(library, r'''
@@ -36796,7 +36743,7 @@
test_unresolved_annotation_prefixedNamedConstructorCall_badPrefix() async {
var library =
- await checkLibrary('@foo.bar.baz() class C {}', allowErrors: true);
+ await buildLibrary('@foo.bar.baz() class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -36832,7 +36779,7 @@
}
test_unresolved_annotation_prefixedNamedConstructorCall_noClass() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'import "dart:async" as foo; @foo.bar.baz() class C {}',
allowErrors: true);
checkElementText(library, r'''
@@ -36872,7 +36819,7 @@
}
test_unresolved_annotation_prefixedNamedConstructorCall_noConstructor() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'import "dart:async" as foo; @foo.Future.bar() class C {}',
allowErrors: true);
checkElementText(library, r'''
@@ -36913,7 +36860,7 @@
test_unresolved_annotation_prefixedUnnamedConstructorCall_badPrefix() async {
var library =
- await checkLibrary('@foo.bar() class C {}', allowErrors: true);
+ await buildLibrary('@foo.bar() class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -36944,7 +36891,7 @@
}
test_unresolved_annotation_prefixedUnnamedConstructorCall_noClass() async {
- var library = await checkLibrary(
+ var library = await buildLibrary(
'import "dart:async" as foo; @foo.bar() class C {}',
allowErrors: true);
checkElementText(library, r'''
@@ -36979,7 +36926,7 @@
}
test_unresolved_annotation_simpleIdentifier() async {
- var library = await checkLibrary('@foo class C {}', allowErrors: true);
+ var library = await buildLibrary('@foo class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -36999,9 +36946,9 @@
}
test_unresolved_annotation_simpleIdentifier_multiplyDefined() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'const v = 0;');
- addLibrarySource('$testPackageLibPath/b.dart', 'const v = 0;');
- var library = await checkLibrary('''
+ addSource('$testPackageLibPath/a.dart', 'const v = 0;');
+ addSource('$testPackageLibPath/b.dart', 'const v = 0;');
+ var library = await buildLibrary('''
import 'a.dart';
import 'b.dart';
@@ -37030,7 +36977,7 @@
}
test_unresolved_annotation_unnamedConstructorCall_noClass() async {
- var library = await checkLibrary('@foo() class C {}', allowErrors: true);
+ var library = await buildLibrary('@foo() class C {}', allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -37053,7 +37000,7 @@
}
test_unresolved_export() async {
- var library = await checkLibrary("export 'foo.dart';", allowErrors: true);
+ var library = await buildLibrary("export 'foo.dart';", allowErrors: true);
checkElementText(library, r'''
library
exports
@@ -37063,7 +37010,7 @@
}
test_unresolved_import() async {
- var library = await checkLibrary("import 'foo.dart';", allowErrors: true);
+ var library = await buildLibrary("import 'foo.dart';", allowErrors: true);
var importedLibrary = library.imports[0].importedLibrary!;
expect(importedLibrary.loadLibraryFunction, isNotNull);
expect(importedLibrary.publicNamespace, isNotNull);
@@ -37077,7 +37024,7 @@
}
test_unresolved_part() async {
- var library = await checkLibrary("part 'foo.dart';", allowErrors: true);
+ var library = await buildLibrary("part 'foo.dart';", allowErrors: true);
checkElementText(library, r'''
library
definingUnit
@@ -37087,7 +37034,7 @@
}
test_unused_type_parameter() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class C<T> {
void f() {}
}
@@ -37131,7 +37078,7 @@
}
test_variable() async {
- var library = await checkLibrary('int x = 0;');
+ var library = await buildLibrary('int x = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37150,7 +37097,7 @@
}
test_variable_const() async {
- var library = await checkLibrary('const int i = 0;');
+ var library = await buildLibrary('const int i = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37168,7 +37115,7 @@
}
test_variable_const_late() async {
- var library = await checkLibrary('late const int i = 0;');
+ var library = await buildLibrary('late const int i = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37186,7 +37133,7 @@
}
test_variable_documented() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
// Extra comment so doc comment offset != 0
/**
* Docs
@@ -37211,7 +37158,7 @@
}
test_variable_final() async {
- var library = await checkLibrary('final int x = 0;');
+ var library = await buildLibrary('final int x = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37229,7 +37176,7 @@
part of my.lib;
void set x(int _) {}
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
library my.lib;
part 'a.dart';
int get x => 42;''');
@@ -37263,7 +37210,7 @@
part of my.lib;
int get x => 42;
''');
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
library my.lib;
part 'a.dart';
void set x(int _) {}
@@ -37298,7 +37245,7 @@
addSource(
'$testPackageLibPath/b.dart', 'part of my.lib; void set x(int _) {}');
var library =
- await checkLibrary('library my.lib; part "a.dart"; part "b.dart";');
+ await buildLibrary('library my.lib; part "a.dart"; part "b.dart";');
checkElementText(library, r'''
library
name: my.lib
@@ -37326,7 +37273,7 @@
}
test_variable_implicit() async {
- var library = await checkLibrary('int get x => 0;');
+ var library = await buildLibrary('int get x => 0;');
// We intentionally don't check the text, because we want to test
// requesting individual elements, not all accessors/variables at once.
@@ -37341,7 +37288,7 @@
}
test_variable_implicit_type() async {
- var library = await checkLibrary('var x;');
+ var library = await buildLibrary('var x;');
checkElementText(library, r'''
library
definingUnit
@@ -37360,7 +37307,7 @@
}
test_variable_inferred_type_implicit_initialized() async {
- var library = await checkLibrary('var v = 0;');
+ var library = await buildLibrary('var v = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37379,7 +37326,7 @@
}
test_variable_initializer() async {
- var library = await checkLibrary('int v = 0;');
+ var library = await buildLibrary('int v = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37398,7 +37345,7 @@
}
test_variable_initializer_final() async {
- var library = await checkLibrary('final int v = 0;');
+ var library = await buildLibrary('final int v = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37412,7 +37359,7 @@
}
test_variable_initializer_final_untyped() async {
- var library = await checkLibrary('final v = 0;');
+ var library = await buildLibrary('final v = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37426,7 +37373,7 @@
}
test_variable_initializer_staticMethod_ofExtension() async {
- var library = await checkLibrary('''
+ var library = await buildLibrary('''
class A {}
extension E on A {
static int f() => 0;
@@ -37461,7 +37408,7 @@
}
test_variable_initializer_untyped() async {
- var library = await checkLibrary('var v = 0;');
+ var library = await buildLibrary('var v = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37480,7 +37427,7 @@
}
test_variable_late() async {
- var library = await checkLibrary('late int x = 0;');
+ var library = await buildLibrary('late int x = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37499,7 +37446,7 @@
}
test_variable_late_final() async {
- var library = await checkLibrary('late final int x;');
+ var library = await buildLibrary('late final int x;');
checkElementText(library, r'''
library
definingUnit
@@ -37518,7 +37465,7 @@
}
test_variable_late_final_initialized() async {
- var library = await checkLibrary('late final int x = 0;');
+ var library = await buildLibrary('late final int x = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37532,7 +37479,7 @@
}
test_variable_propagatedType_const_noDep() async {
- var library = await checkLibrary('const i = 0;');
+ var library = await buildLibrary('const i = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37550,8 +37497,8 @@
}
test_variable_propagatedType_final_dep_inLib() async {
- addLibrarySource('$testPackageLibPath/a.dart', 'final a = 1;');
- var library = await checkLibrary('import "a.dart"; final b = a / 2;');
+ addSource('$testPackageLibPath/a.dart', 'final a = 1;');
+ var library = await buildLibrary('import "a.dart"; final b = a / 2;');
checkElementText(library, r'''
library
imports
@@ -37569,7 +37516,7 @@
test_variable_propagatedType_final_dep_inPart() async {
addSource('$testPackageLibPath/a.dart', 'part of lib; final a = 1;');
var library =
- await checkLibrary('library lib; part "a.dart"; final b = a / 2;');
+ await buildLibrary('library lib; part "a.dart"; final b = a / 2;');
checkElementText(library, r'''
library
name: lib
@@ -37593,7 +37540,7 @@
}
test_variable_propagatedType_final_noDep() async {
- var library = await checkLibrary('final i = 0;');
+ var library = await buildLibrary('final i = 0;');
checkElementText(library, r'''
library
definingUnit
@@ -37608,10 +37555,9 @@
test_variable_propagatedType_implicit_dep() async {
// The propagated type is defined in a library that is not imported.
- addLibrarySource('$testPackageLibPath/a.dart', 'class C {}');
- addLibrarySource(
- '$testPackageLibPath/b.dart', 'import "a.dart"; C f() => null;');
- var library = await checkLibrary('import "b.dart"; final x = f();');
+ addSource('$testPackageLibPath/a.dart', 'class C {}');
+ addSource('$testPackageLibPath/b.dart', 'import "a.dart"; C f() => null;');
+ var library = await buildLibrary('import "b.dart"; final x = f();');
checkElementText(library, r'''
library
imports
@@ -37631,7 +37577,7 @@
'$testPackageLibPath/a.dart', 'part of my.lib; void set x(int _) {}');
addSource('$testPackageLibPath/b.dart', 'part of my.lib; int get x => 42;');
var library =
- await checkLibrary('library my.lib; part "a.dart"; part "b.dart";');
+ await buildLibrary('library my.lib; part "a.dart"; part "b.dart";');
checkElementText(library, r'''
library
name: my.lib
@@ -37659,7 +37605,7 @@
}
test_variable_type_inferred_Never() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
var a = throw 42;
''');
@@ -37681,7 +37627,7 @@
}
test_variable_type_inferred_noInitializer() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
var a;
''');
@@ -37708,7 +37654,7 @@
var a = 0;
''');
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
import 'a.dart';
var b = a;
''');
@@ -37733,7 +37679,7 @@
}
test_variableInitializer_contextType_after_astRewrite() async {
- var library = await checkLibrary(r'''
+ var library = await buildLibrary(r'''
class A<T> {
const A();
}
@@ -37775,7 +37721,7 @@
}
test_variables() async {
- var library = await checkLibrary('int i; int j;');
+ var library = await buildLibrary('int i; int j;');
checkElementText(library, r'''
library
definingUnit
diff --git a/pkg/analyzer/test/src/summary/macro_test.dart b/pkg/analyzer/test/src/summary/macro_test.dart
new file mode 100644
index 0000000..1495f4e
--- /dev/null
+++ b/pkg/analyzer/test/src/summary/macro_test.dart
@@ -0,0 +1,77 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'element_text.dart';
+import 'elements_base.dart';
+
+main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(MacroElementsKeepLinkingTest);
+ defineReflectiveTests(MacroElementsFromBytesTest);
+ });
+}
+
+@reflectiveTest
+class MacroElementsFromBytesTest extends MacroElementsTest {
+ @override
+ bool get keepLinkingLibraries => false;
+}
+
+@reflectiveTest
+class MacroElementsKeepLinkingTest extends MacroElementsTest {
+ @override
+ bool get keepLinkingLibraries => true;
+}
+
+class MacroElementsTest extends ElementsBaseTest {
+ @override
+ bool get keepLinkingLibraries => false;
+
+ test_class_macro() async {
+ var library = await buildLibrary(r'''
+macro class A {}
+''');
+ checkElementText(library, r'''
+library
+ definingUnit
+ classes
+ macro class A @12
+ constructors
+ synthetic @-1
+''');
+ }
+
+ test_classAlias_macro() async {
+ var library = await buildLibrary(r'''
+mixin M {}
+macro class A = Object with M;
+''');
+ checkElementText(library, r'''
+library
+ definingUnit
+ classes
+ macro class alias A @23
+ supertype: Object
+ mixins
+ M
+ constructors
+ synthetic const @-1
+ constantInitializers
+ SuperConstructorInvocation
+ superKeyword: super @0
+ argumentList: ArgumentList
+ leftParenthesis: ( @0
+ rightParenthesis: ) @0
+ staticElement: dart:core::@class::Object::@constructor::•
+ mixins
+ mixin M @6
+ superclassConstraints
+ Object
+ constructors
+ synthetic @-1
+''');
+ }
+}
diff --git a/pkg/analyzer/test/src/summary/test_all.dart b/pkg/analyzer/test/src/summary/test_all.dart
index 3c8974e..f944535 100644
--- a/pkg/analyzer/test/src/summary/test_all.dart
+++ b/pkg/analyzer/test/src/summary/test_all.dart
@@ -6,18 +6,20 @@
import 'api_signature_test.dart' as api_signature;
import 'dependency_walker_test.dart' as dependency_walker;
+import 'elements_test.dart' as elements;
import 'flat_buffers_test.dart' as flat_buffers;
import 'in_summary_source_test.dart' as in_summary_source;
-import 'resynthesize_ast2_test.dart' as resynthesize_ast2;
+import 'macro_test.dart' as macro;
import 'top_level_inference_test.dart' as top_level_inference;
main() {
defineReflectiveSuite(() {
api_signature.main();
dependency_walker.main();
+ elements.main();
flat_buffers.main();
in_summary_source.main();
- resynthesize_ast2.main();
+ macro.main();
top_level_inference.main();
}, name: 'summary');
}
diff --git a/pkg/analyzer/test/src/summary/top_level_inference_test.dart b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
index 5cc3ab8..d78fbd0 100644
--- a/pkg/analyzer/test/src/summary/top_level_inference_test.dart
+++ b/pkg/analyzer/test/src/summary/top_level_inference_test.dart
@@ -1246,7 +1246,7 @@
}
test_initializer_extractProperty_explicitlyTyped_differentLibraryCycle() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
int f = 0;
}
@@ -1314,7 +1314,7 @@
}
test_initializer_extractProperty_explicitlyTyped_sameLibraryCycle() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'test.dart'; // just do make it part of the library cycle
class C {
int f = 0;
@@ -1344,7 +1344,7 @@
}
test_initializer_extractProperty_implicitlyTyped_differentLibraryCycle() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
class C {
var f = 0;
}
@@ -1412,7 +1412,7 @@
}
test_initializer_extractProperty_implicitlyTyped_sameLibraryCycle() async {
- newFile('$testPackageLibPath/a.dart', content: r'''
+ newFile2('$testPackageLibPath/a.dart', r'''
import 'test.dart'; // just do make it part of the library cycle
class C {
var f = 0;
@@ -5979,7 +5979,7 @@
}
test_method_OK_single_private_linkThroughOtherLibraryOfCycle() async {
- newFile('$testPackageLibPath/other.dart', content: r'''
+ newFile2('$testPackageLibPath/other.dart', r'''
import 'test.dart';
class B extends A2 {}
''');
@@ -6163,7 +6163,7 @@
}
Future<LibraryElement> _encodeDecodeLibrary(String text) async {
- newFile(testFilePath, content: text);
+ newFile2(testFilePath, text);
var path = convertPath(testFilePath);
var analysisSession = contextFor(path).currentSession;
diff --git a/pkg/analyzer/test/src/summary2/ast_text_printer_test.dart b/pkg/analyzer/test/src/summary2/ast_text_printer_test.dart
index f6afa71..cbdca46 100644
--- a/pkg/analyzer/test/src/summary2/ast_text_printer_test.dart
+++ b/pkg/analyzer/test/src/summary2/ast_text_printer_test.dart
@@ -25,7 +25,7 @@
code = code.replaceAll('\r\n', '\n');
code = code.replaceAll('\r', '\n');
- var path = base.newFile('/home/test/lib/test.dart', content: code).path;
+ var path = base.newFile2('/home/test/lib/test.dart', code).path;
ParseResult parseResult;
try {
diff --git a/pkg/analyzer/test/src/task/strong/checker_test.dart b/pkg/analyzer/test/src/task/strong/checker_test.dart
index 0b8f745..db57448 100644
--- a/pkg/analyzer/test/src/task/strong/checker_test.dart
+++ b/pkg/analyzer/test/src/task/strong/checker_test.dart
@@ -248,7 +248,7 @@
}
test_conversionAndDynamicInvoke() async {
- newFile('$testPackageLibPath/helper.dart', content: r'''
+ newFile2('$testPackageLibPath/helper.dart', r'''
dynamic toString = (int x) => x + 42;
dynamic hashCode = "hello";
''');
@@ -2787,7 +2787,7 @@
}
test_privateOverride() async {
- newFile('$testPackageLibPath/helper.dart', content: r'''
+ newFile2('$testPackageLibPath/helper.dart', r'''
import 'test.dart' as main;
class Base {
diff --git a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
index 279763f..e04aa1c 100644
--- a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
+++ b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
@@ -2579,11 +2579,11 @@
}
test_inferConstsTransitively() async {
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
const b1 = 2;
''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'test.dart';
import 'b.dart';
const a1 = m2;
@@ -2740,7 +2740,7 @@
}
test_inferFromVariablesInCycleLibsWhenFlagIsOn() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'test.dart';
var x = 2; // ok to infer
''');
@@ -2759,7 +2759,7 @@
}
test_inferFromVariablesInCycleLibsWhenFlagIsOn2() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'test.dart';
class A { static var x = 2; }
''');
@@ -2778,7 +2778,7 @@
}
test_inferFromVariablesInNonCycleImportsWithFlag() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
var x = 2;
''');
@@ -2797,7 +2797,7 @@
}
test_inferFromVariablesInNonCycleImportsWithFlag2() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
class A { static var x = 2; }
''');
@@ -3352,11 +3352,11 @@
}
test_inferStaticsTransitively() async {
- newFile('$testPackageLibPath/b.dart', content: '''
+ newFile2('$testPackageLibPath/b.dart', '''
final b1 = 2;
''');
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'test.dart';
import 'b.dart';
final a1 = m2;
@@ -3396,7 +3396,7 @@
}
test_inferStaticsTransitively3() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
const a1 = 3;
const a2 = 4;
class A {
@@ -3426,7 +3426,7 @@
}
test_inferStaticsWithMethodInvocations() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
m3(String a, String b, [a1,a2]) {}
''');
@@ -3566,7 +3566,7 @@
}
test_inferTypeRegardlessOfDeclarationOrderOrCycles() async {
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'test.dart';
class B extends A { }
@@ -3694,7 +3694,7 @@
test_inferTypesOnGenericInstantiationsInLibraryCycle() async {
// Note: this is a regression test for bug #48.
- newFile('$testPackageLibPath/a.dart', content: '''
+ newFile2('$testPackageLibPath/a.dart', '''
import 'test.dart';
abstract class I<E> {
A<E> m(a, String f(v, int e));
diff --git a/pkg/analyzer/test/src/workspace/basic_test.dart b/pkg/analyzer/test/src/workspace/basic_test.dart
index 2d08778..c239300 100644
--- a/pkg/analyzer/test/src/workspace/basic_test.dart
+++ b/pkg/analyzer/test/src/workspace/basic_test.dart
@@ -32,7 +32,7 @@
}
void test_contains_differentWorkspace() {
- newFile('/workspace2/project/lib/file.dart');
+ newFile2('/workspace2/project/lib/file.dart', '');
var package = findPackage('/workspace/project/lib/code.dart')!;
expect(
@@ -42,7 +42,7 @@
}
void test_contains_sameWorkspace() {
- newFile('/workspace/project/lib/file2.dart');
+ newFile2('/workspace/project/lib/file2.dart', '');
var package = findPackage('/workspace/project/lib/code.dart')!;
expect(
@@ -60,7 +60,7 @@
}
void test_findPackageFor_includedFile() {
- newFile('/workspace/project/lib/file.dart');
+ newFile2('/workspace/project/lib/file.dart', '');
var package = findPackage('/workspace/project/lib/file.dart')!;
expect(package, isNotNull);
@@ -69,7 +69,7 @@
}
void test_findPackageFor_unrelatedFile() {
- newFile('/workspace/project/lib/file.dart');
+ newFile2('/workspace/project/lib/file.dart', '');
var package = findPackage('/workspace2/project/lib/file.dart');
expect(package, isNull);
diff --git a/pkg/analyzer/test/src/workspace/bazel_test.dart b/pkg/analyzer/test/src/workspace/bazel_test.dart
index bdfa730..7c01cc1 100644
--- a/pkg/analyzer/test/src/workspace/bazel_test.dart
+++ b/pkg/analyzer/test/src/workspace/bazel_test.dart
@@ -27,14 +27,14 @@
late final BazelFileUriResolver resolver;
void setUp() {
- newFile('/workspace/WORKSPACE');
+ newFile2('/workspace/WORKSPACE', '');
newFolder('/workspace/bazel-genfiles');
workspace =
BazelWorkspace.find(resourceProvider, convertPath('/workspace'))!;
resolver = BazelFileUriResolver(workspace);
- newFile('/workspace/test.dart');
- newFile('/workspace/bazel-bin/gen1.dart');
- newFile('/workspace/bazel-genfiles/gen2.dart');
+ newFile2('/workspace/test.dart', '');
+ newFile2('/workspace/bazel-bin/gen1.dart', '');
+ newFile2('/workspace/bazel-genfiles/gen2.dart', '');
expect(workspace.isBazel, isTrue);
}
@@ -560,7 +560,7 @@
if (path.endsWith('/')) {
newFolder(path.substring(0, path.length - 1));
} else {
- newFile(path);
+ newFile2(path, '');
}
}
workspace =
@@ -635,10 +635,10 @@
void test_contains_samePackage() {
_setUpPackage();
- final targetFile = newFile('/ws/some/code/lib/code2.dart');
- final targetFile2 = newFile('/ws/some/code/lib/src/code3.dart');
- final targetBinFile = newFile('/ws/some/code/bin/code.dart');
- final targetTestFile = newFile('/ws/some/code/test/code_test.dart');
+ final targetFile = newFile2('/ws/some/code/lib/code2.dart', '');
+ final targetFile2 = newFile2('/ws/some/code/lib/src/code3.dart', '');
+ final targetBinFile = newFile2('/ws/some/code/bin/code.dart', '');
+ final targetTestFile = newFile2('/ws/some/code/test/code_test.dart', '');
expect(package!.contains(_testSource(targetFile.path)), isTrue);
expect(package!.contains(_testSource(targetFile2.path)), isTrue);
@@ -648,8 +648,8 @@
void test_contains_samePackage_summarySource() {
_setUpPackage();
- newFile('/ws/some/code/lib/code2.dart');
- newFile('/ws/some/code/lib/src/code3.dart');
+ newFile2('/ws/some/code/lib/code2.dart', '');
+ newFile2('/ws/some/code/lib/src/code3.dart', '');
final file2Source = _inSummarySource('package:some.code/code2.dart');
final file3Source = _inSummarySource('package:some.code/src/code2.dart');
@@ -659,8 +659,8 @@
void test_contains_subPackage() {
_setUpPackage();
- newFile('/ws/some/code/testing/BUILD');
- newFile('/ws/some/code/testing/lib/testing.dart');
+ newFile2('/ws/some/code/testing/BUILD', '');
+ newFile2('/ws/some/code/testing/lib/testing.dart', '');
expect(
package!.contains(
@@ -701,8 +701,8 @@
void test_findPackageFor_inBlazeOut_notPackage() {
var path =
convertPath('/ws/blaze-out/k8-opt/bin/news/lib/news_base.pb.dart');
- newFile('/ws/news/BUILD', content: '');
- newFile(path, content: '');
+ newFile2('/ws/news/BUILD', '');
+ newFile2(path, '');
workspace = BazelWorkspace.find(resourceProvider, path)!;
var package = workspace.findPackageFor(path);
@@ -718,7 +718,7 @@
resourceProvider,
convertPath('/ws/some/code'),
)!;
- final targetFile = newFile('/ws/some/code/lib/code.dart');
+ final targetFile = newFile2('/ws/some/code/lib/code.dart', '');
package = workspace.findPackageFor(targetFile.path);
expect(package, isNull);
@@ -811,7 +811,7 @@
if (path.endsWith('/')) {
newFolder(path.substring(0, path.length - 1));
} else {
- newFile(path);
+ newFile2(path, '');
}
}
}
@@ -1055,7 +1055,7 @@
void test_find_null_symlinkPrefix() {
String prefix = BazelWorkspace.defaultSymlinkPrefix;
- newFile('/workspace/WORKSPACE');
+ newFile2('/workspace/WORKSPACE', '');
var workspace = BazelWorkspace.find(
resourceProvider, convertPath('/workspace/my/module'))!;
expect(workspace.root, convertPath('/workspace'));
@@ -1126,7 +1126,7 @@
if (path.endsWith('/')) {
newFolder(path.substring(0, path.length - 1));
} else {
- newFile(path);
+ newFile2(path, '');
}
}
}
diff --git a/pkg/analyzer/test/src/workspace/bazel_watcher_test.dart b/pkg/analyzer/test/src/workspace/bazel_watcher_test.dart
index 84faee8..23817f4 100644
--- a/pkg/analyzer/test/src/workspace/bazel_watcher_test.dart
+++ b/pkg/analyzer/test/src/workspace/bazel_watcher_test.dart
@@ -280,7 +280,7 @@
if (path.endsWith('/')) {
newFolder(path.substring(0, path.length - 1));
} else {
- newFile(path);
+ newFile2(path, '');
}
}
}
diff --git a/pkg/analyzer/test/src/workspace/gn_test.dart b/pkg/analyzer/test/src/workspace/gn_test.dart
index 1672d60..4b041cb 100644
--- a/pkg/analyzer/test/src/workspace/gn_test.dart
+++ b/pkg/analyzer/test/src/workspace/gn_test.dart
@@ -20,8 +20,8 @@
class GnWorkspacePackageTest with ResourceProviderMixin {
void test_contains_differentPackageInWorkspace() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/BUILD.gn');
- var targetFile = newFile('/ws/some/code/lib/code.dart');
+ newFile2('/ws/some/code/BUILD.gn', '');
+ var targetFile = newFile2('/ws/some/code/lib/code.dart', '');
var package = workspace.findPackageFor(targetFile.path)!;
// A file that is _not_ in this package is not required to have a BUILD.gn
@@ -34,8 +34,8 @@
void test_contains_differentWorkspace() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/BUILD.gn');
- var targetFile = newFile('/ws/some/code/lib/code.dart');
+ newFile2('/ws/some/code/BUILD.gn', '');
+ var targetFile = newFile2('/ws/some/code/lib/code.dart', '');
var package = workspace.findPackageFor(targetFile.path)!;
expect(package.contains(TestSource(convertPath('/ws2/some/file.dart'))),
@@ -44,12 +44,12 @@
void test_contains_samePackage() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/BUILD.gn');
- var targetFile = newFile('/ws/some/code/lib/code.dart');
- var targetFile2 = newFile('/ws/some/code/lib/code2.dart');
- var targetFile3 = newFile('/ws/some/code/lib/src/code3.dart');
- var targetBinFile = newFile('/ws/some/code/bin/code.dart');
- var targetTestFile = newFile('/ws/some/code/test/code_test.dart');
+ newFile2('/ws/some/code/BUILD.gn', '');
+ var targetFile = newFile2('/ws/some/code/lib/code.dart', '');
+ var targetFile2 = newFile2('/ws/some/code/lib/code2.dart', '');
+ var targetFile3 = newFile2('/ws/some/code/lib/src/code3.dart', '');
+ var targetBinFile = newFile2('/ws/some/code/bin/code.dart', '');
+ var targetTestFile = newFile2('/ws/some/code/test/code_test.dart', '');
var package = workspace.findPackageFor(targetFile.path)!;
expect(package.contains(TestSource(targetFile2.path)), isTrue);
@@ -60,10 +60,10 @@
void test_contains_subPackage() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/BUILD.gn');
- newFile('/ws/some/code/lib/code.dart');
- newFile('/ws/some/code/testing/BUILD.gn');
- newFile('/ws/some/code/testing/lib/testing.dart');
+ newFile2('/ws/some/code/BUILD.gn', '');
+ newFile2('/ws/some/code/lib/code.dart', '');
+ newFile2('/ws/some/code/testing/BUILD.gn', '');
+ newFile2('/ws/some/code/testing/lib/testing.dart', '');
var package =
workspace.findPackageFor(convertPath('/ws/some/code/lib/code.dart'))!;
@@ -75,8 +75,8 @@
void test_findPackageFor_buildFileExists() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/BUILD.gn');
- var targetFile = newFile('/ws/some/code/lib/code.dart');
+ newFile2('/ws/some/code/BUILD.gn', '');
+ var targetFile = newFile2('/ws/some/code/lib/code.dart', '');
var package = workspace.findPackageFor(targetFile.path)!;
expect(package.root, convertPath('/ws/some/code'));
@@ -85,7 +85,7 @@
void test_findPackageFor_missingBuildFile() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/lib/code.dart');
+ newFile2('/ws/some/code/lib/code.dart', '');
var package =
workspace.findPackageFor(convertPath('/ws/some/code/lib/code.dart'));
@@ -94,8 +94,8 @@
void test_packagesAvailableTo() {
GnWorkspace workspace = _buildStandardGnWorkspace();
- newFile('/ws/some/code/BUILD.gn');
- var libraryPath = newFile('/ws/some/code/lib/code.dart').path;
+ newFile2('/ws/some/code/BUILD.gn', '');
+ var libraryPath = newFile2('/ws/some/code/lib/code.dart', '').path;
var package = workspace.findPackageFor(libraryPath)!;
var packageMap = package.packagesAvailableTo(libraryPath);
expect(packageMap.keys, unorderedEquals(['p1', 'workspace']));
@@ -104,10 +104,10 @@
GnWorkspace _buildStandardGnWorkspace() {
newFolder('/ws/.jiri_root');
String buildDir = convertPath('out/debug-x87_128');
- newFile('/ws/.fx-build-dir', content: '$buildDir\n');
- newFile(
+ newFile2('/ws/.fx-build-dir', '$buildDir\n');
+ newFile2(
'/ws/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -160,9 +160,11 @@
newFolder('/workspace/some/code');
newPubspecYamlFile('/workspace/some/code', '');
String buildDir = convertPath('out/debug-x87_128');
- newFile('/workspace/.fx-build-dir', content: '$buildDir\n');
- newFile(
- '/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json');
+ newFile2('/workspace/.fx-build-dir', '$buildDir\n');
+ newFile2(
+ '/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
+ '',
+ );
var workspace = GnWorkspace.find(
resourceProvider, convertPath('/workspace/some/code'))!;
expect(workspace.root, convertPath('/workspace'));
@@ -173,12 +175,12 @@
newFolder('/workspace/some/code');
newPubspecYamlFile('/workspace/some/code', '');
String buildDir = convertPath('out/debug-x87_128');
- newFile('/workspace/.fx-build-dir', content: '$buildDir\n');
+ newFile2('/workspace/.fx-build-dir', '$buildDir\n');
String packageLocation = convertPath('/workspace/this/is/the/package');
Uri packageUri = resourceProvider.pathContext.toUri(packageLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -202,12 +204,12 @@
newFolder('/workspace/some/code');
newPubspecYamlFile('/workspace/some/code', '');
String buildDir = convertPath('/workspace/out/debug-x87_128');
- newFile('/workspace/.fx-build-dir', content: '$buildDir\n');
+ newFile2('/workspace/.fx-build-dir', '$buildDir\n');
String packageLocation = convertPath('/workspace/this/is/the/package');
Uri packageUri = resourceProvider.pathContext.toUri(packageLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -232,9 +234,9 @@
newPubspecYamlFile('/workspace/some/code', '');
String packageLocation = convertPath('/workspace/this/is/the/package');
Uri packageUri = resourceProvider.pathContext.toUri(packageLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -257,12 +259,12 @@
newFolder('/workspace/.jiri_root');
newFolder('/workspace/some/code');
newPubspecYamlFile('/workspace/some/code', '');
- newFile('/workspace/.fx-build-dir', content: '');
+ newFile2('/workspace/.fx-build-dir', '');
String packageLocation = convertPath('/workspace/this/is/the/package');
Uri packageUri = resourceProvider.pathContext.toUri(packageLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -286,12 +288,12 @@
newFolder('/workspace/some/code');
newPubspecYamlFile('/workspace/some/code', '');
String buildDir = convertPath('out/release-y22_256');
- newFile('/workspace/.fx-build-dir', content: '$buildDir\n');
+ newFile2('/workspace/.fx-build-dir', '$buildDir\n');
String packageLocation = convertPath('/workspace/this/is/the/package');
Uri packageUri = resourceProvider.pathContext.toUri(packageLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -305,9 +307,9 @@
String otherPackageLocation = convertPath('/workspace/here/too');
Uri otherPackageUri =
resourceProvider.pathContext.toUri(otherPackageLocation);
- newFile(
+ newFile2(
'/workspace/out/release-y22_256/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -331,12 +333,12 @@
newFolder('/workspace/some/code');
newPubspecYamlFile('/workspace/some/code', '');
String buildDir = convertPath('out/debug-x87_128');
- newFile('/workspace/.fx-build-dir', content: '$buildDir\n');
+ newFile2('/workspace/.fx-build-dir', '$buildDir\n');
String packageOneLocation = convertPath('/workspace/this/is/the/package');
Uri packageOneUri = resourceProvider.pathContext.toUri(packageOneLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
@@ -350,9 +352,9 @@
String packageTwoLocation =
convertPath('/workspace/this/is/the/other/package');
Uri packageTwoUri = resourceProvider.pathContext.toUri(packageTwoLocation);
- newFile(
+ newFile2(
'/workspace/out/debug-x87_128/dartlang/gen/some/code/foo_test_package_config.json',
- content: '''{
+ '''{
"configVersion": 2,
"packages": [
{
diff --git a/pkg/analyzer/test/src/workspace/package_build_test.dart b/pkg/analyzer/test/src/workspace/package_build_test.dart
index f262445..5300110 100644
--- a/pkg/analyzer/test/src/workspace/package_build_test.dart
+++ b/pkg/analyzer/test/src/workspace/package_build_test.dart
@@ -58,8 +58,8 @@
convertPath('/workspace'),
)!;
resolver = PackageBuildFileUriResolver(workspace);
- newFile('/workspace/test.dart');
- newFile('/workspace/.dart_tool/build/generated/project/gen.dart');
+ newFile2('/workspace/test.dart', '');
+ newFile2('/workspace/.dart_tool/build/generated/project/gen.dart', '');
expect(workspace.isBazel, isFalse);
}
@@ -134,7 +134,7 @@
Uri addPackageSource(String path, String uriStr, {bool create = true}) {
Uri uri = Uri.parse(uriStr);
final file = create
- ? newFile(path)
+ ? newFile2(path, '')
: resourceProvider.getResource(convertPath(path)) as File;
packageUriResolver.add(uri, file);
return uri;
@@ -199,7 +199,7 @@
if (path.endsWith('/')) {
newFolder(path.substring(0, path.length - 1));
} else {
- newFile(path);
+ newFile2(path, '');
}
}
workspace = PackageBuildWorkspace.find(
@@ -283,10 +283,10 @@
test_contains_fileUri_generated() {
var myGeneratedPath = '$myPackageGeneratedPath/my/test/a.dart';
- newFile(myGeneratedPath, content: '');
+ newFile2(myGeneratedPath, '');
var fooGeneratedPath = '$myPackageGeneratedPath/foo/test/a.dart';
- newFile(fooGeneratedPath, content: '');
+ newFile2(fooGeneratedPath, '');
expect(
myPackage.contains(
@@ -401,8 +401,8 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final libFile =
- newFile('/workspace/.dart_tool/build/generated/project/lib/file.dart');
+ final libFile = newFile2(
+ '/workspace/.dart_tool/build/generated/project/lib/file.dart', '');
expect(
workspace.builtFile(convertPath('lib/file.dart'), 'project'), libFile);
}
@@ -414,7 +414,7 @@
_createWorkspace('/workspace', ['project', 'foo']);
final libFile =
- newFile('/workspace/.dart_tool/build/generated/foo/lib/file.dart');
+ newFile2('/workspace/.dart_tool/build/generated/foo/lib/file.dart', '');
expect(workspace.builtFile(convertPath('lib/file.dart'), 'foo'), libFile);
}
@@ -427,7 +427,7 @@
_createWorkspace('/workspace', ['project', 'foo']);
// Create a generated file in package:bar.
- newFile('/workspace/.dart_tool/build/generated/bar/lib/file.dart');
+ newFile2('/workspace/.dart_tool/build/generated/bar/lib/file.dart', '');
// Bar not in packages, file should not be returned.
expect(workspace.builtFile('lib/file.dart', 'bar'), isNull);
@@ -576,7 +576,7 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final binFile = newFile('/workspace/bin/file.dart');
+ final binFile = newFile2('/workspace/bin/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/bin/file.dart')), binFile);
}
@@ -587,8 +587,8 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final binFile =
- newFile('/workspace/.dart_tool/build/generated/project/bin/file.dart');
+ final binFile = newFile2(
+ '/workspace/.dart_tool/build/generated/project/bin/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/bin/file.dart')), binFile);
}
@@ -599,8 +599,8 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final libFile =
- newFile('/workspace/.dart_tool/build/generated/project/lib/file.dart');
+ final libFile = newFile2(
+ '/workspace/.dart_tool/build/generated/project/lib/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/lib/file.dart')), libFile);
}
@@ -611,7 +611,7 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final testFile = newFile('/workspace/test/file.dart');
+ final testFile = newFile2('/workspace/test/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/test/file.dart')), testFile);
}
@@ -622,8 +622,8 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final testFile =
- newFile('/workspace/.dart_tool/build/generated/project/test/file.dart');
+ final testFile = newFile2(
+ '/workspace/.dart_tool/build/generated/project/test/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/test/file.dart')), testFile);
}
@@ -634,7 +634,7 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final webFile = newFile('/workspace/web/file.dart');
+ final webFile = newFile2('/workspace/web/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/web/file.dart')), webFile);
}
@@ -645,8 +645,8 @@
PackageBuildWorkspace workspace =
_createWorkspace('/workspace', ['project']);
- final webFile =
- newFile('/workspace/.dart_tool/build/generated/project/web/file.dart');
+ final webFile = newFile2(
+ '/workspace/.dart_tool/build/generated/project/web/file.dart', '');
expect(
workspace.findFile(convertPath('/workspace/web/file.dart')), webFile);
}
diff --git a/pkg/analyzer/test/src/workspace/pub_test.dart b/pkg/analyzer/test/src/workspace/pub_test.dart
index 5f68d58..b9ccd89 100644
--- a/pkg/analyzer/test/src/workspace/pub_test.dart
+++ b/pkg/analyzer/test/src/workspace/pub_test.dart
@@ -32,7 +32,7 @@
}
void test_contains_differentWorkspace() {
- newFile('/workspace2/project/lib/file.dart');
+ newFile2('/workspace2/project/lib/file.dart', '');
var package = findPackage('/workspace/project/lib/code.dart')!;
expect(
@@ -42,7 +42,7 @@
}
void test_contains_sameWorkspace() {
- newFile('/workspace/project/lib/file2.dart');
+ newFile2('/workspace/project/lib/file2.dart', '');
var package = findPackage('/workspace/project/lib/code.dart')!;
expect(
@@ -60,7 +60,7 @@
}
void test_findPackageFor_includedFile() {
- newFile('/workspace/project/lib/file.dart');
+ newFile2('/workspace/project/lib/file.dart', '');
var package = findPackage('/workspace/project/lib/file.dart')!;
expect(package.root, convertPath('/workspace'));
@@ -68,7 +68,7 @@
}
void test_findPackageFor_unrelatedFile() {
- newFile('/workspace/project/lib/file.dart');
+ newFile2('/workspace/project/lib/file.dart', '');
var package = findPackage('/workspace2/project/lib/file.dart');
expect(package, isNull);
diff --git a/pkg/analyzer/test/verify_diagnostics_test.dart b/pkg/analyzer/test/verify_diagnostics_test.dart
index e56d8b6..f72877b 100644
--- a/pkg/analyzer/test/verify_diagnostics_test.dart
+++ b/pkg/analyzer/test/verify_diagnostics_test.dart
@@ -443,14 +443,14 @@
packageConfigBuilder.add(name: packageName, rootPath: packageRootPath);
String pathInLib = uri.pathSegments.skip(1).join('/');
- newFile(
+ newFile2(
'$packageRootPath/lib/$pathInLib',
- content: auxiliaryFiles[uriStr]!,
+ auxiliaryFiles[uriStr]!,
);
} else {
- newFile(
+ newFile2(
'$testPackageRootPath/$uriStr',
- content: auxiliaryFiles[uriStr]!,
+ auxiliaryFiles[uriStr]!,
);
}
}
diff --git a/pkg/analyzer_plugin/test/plugin/assist_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/assist_mixin_test.dart
index 4a5899e..924e293 100644
--- a/pkg/analyzer_plugin/test/plugin/assist_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/assist_mixin_test.dart
@@ -30,7 +30,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/completion_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/completion_mixin_test.dart
index 35ecf19..73d620a 100644
--- a/pkg/analyzer_plugin/test/plugin/completion_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/completion_mixin_test.dart
@@ -30,7 +30,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1, content: 'int foo = bar;');
+ newFile2(filePath1, 'int foo = bar;');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/fix_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/fix_mixin_test.dart
index edb6601..192d701 100644
--- a/pkg/analyzer_plugin/test/plugin/fix_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/fix_mixin_test.dart
@@ -34,7 +34,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/folding_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/folding_mixin_test.dart
index ef7d1cd0..795ec0f 100644
--- a/pkg/analyzer_plugin/test/plugin/folding_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/folding_mixin_test.dart
@@ -33,7 +33,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/highlights_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/highlights_mixin_test.dart
index bbf3d1a..45a1964 100644
--- a/pkg/analyzer_plugin/test/plugin/highlights_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/highlights_mixin_test.dart
@@ -33,7 +33,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/kythe_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/kythe_mixin_test.dart
index c1df465..743cf17 100644
--- a/pkg/analyzer_plugin/test/plugin/kythe_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/kythe_mixin_test.dart
@@ -30,7 +30,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/navigation_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/navigation_mixin_test.dart
index 3c29dfb..9934550 100644
--- a/pkg/analyzer_plugin/test/plugin/navigation_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/navigation_mixin_test.dart
@@ -33,7 +33,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/occurrences_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/occurrences_mixin_test.dart
index 319e1bd..88f4153 100644
--- a/pkg/analyzer_plugin/test/plugin/occurrences_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/occurrences_mixin_test.dart
@@ -33,7 +33,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/outline_mixin_test.dart b/pkg/analyzer_plugin/test/plugin/outline_mixin_test.dart
index 5844fde..5d2933c 100644
--- a/pkg/analyzer_plugin/test/plugin/outline_mixin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/outline_mixin_test.dart
@@ -33,7 +33,7 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/plugin/plugin_test.dart b/pkg/analyzer_plugin/test/plugin/plugin_test.dart
index 18d77ba..edbddc7 100644
--- a/pkg/analyzer_plugin/test/plugin/plugin_test.dart
+++ b/pkg/analyzer_plugin/test/plugin/plugin_test.dart
@@ -33,12 +33,12 @@
void setUp() {
packagePath1 = convertPath('/package1');
filePath1 = join(packagePath1, 'lib', 'test.dart');
- newFile(filePath1);
+ newFile2(filePath1, '');
contextRoot1 = ContextRoot(packagePath1, <String>[]);
packagePath2 = convertPath('/package2');
filePath2 = join(packagePath2, 'lib', 'test.dart');
- newFile(filePath2);
+ newFile2(filePath2, '');
contextRoot2 = ContextRoot(packagePath2, <String>[]);
channel = MockChannel();
diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
index 7ff8493..b52e463 100644
--- a/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/change_builder_dart_test.dart
@@ -1866,7 +1866,7 @@
}
''';
var path = convertPath('/home/test/lib/test.dart');
- newFile(path, content: initialCode);
+ newFile2(path, initialCode);
var builder = await newBuilder();
await builder.addDartFileEdit(path, (builder) {
@@ -1918,7 +1918,7 @@
}
''';
var path = convertPath('/home/test/lib/test.dart');
- newFile(path, content: initialCode);
+ newFile2(path, initialCode);
var builder = await newBuilder();
await builder.addDartFileEdit(path, (builder) {
@@ -1947,7 +1947,7 @@
Future<void> test_multipleEdits_concurrently() async {
var initialCode = '00';
var path = convertPath('/home/test/lib/test.dart');
- newFile(path, content: initialCode);
+ newFile2(path, initialCode);
var builder = await newBuilder();
var future = Future.wait([
@@ -1965,7 +1965,7 @@
Future<void> test_multipleEdits_sequentially() async {
var initialCode = '00';
var path = convertPath('/home/test/lib/test.dart');
- newFile(path, content: initialCode);
+ newFile2(path, initialCode);
var builder = await newBuilder();
await builder.addDartFileEdit(path, (builder) {
diff --git a/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart b/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart
index 80fcd16..351257e 100644
--- a/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/change_builder/dart/import_library_element_test.dart
@@ -44,7 +44,7 @@
}
Future<void> test_withoutPrefix() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
+ newFile2('/home/test/lib/a.dart', 'class A {}');
await _assertImportLibraryElement(
initialCode: r'''
@@ -56,8 +56,8 @@
}
Future<void> test_withoutPrefix_exported() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', 'class A {}');
+ newFile2('/home/test/lib/b.dart', r'''
export 'a.dart';
''');
await _assertImportLibraryElement(
@@ -70,7 +70,7 @@
}
Future<void> test_withoutPrefix_hasInvalidImport() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
+ newFile2('/home/test/lib/a.dart', 'class A {}');
await _assertImportLibraryElement(
initialCode: r'''
@@ -83,10 +83,10 @@
}
Future<void> test_withoutPrefix_referencedNames_sameElements() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
export 'a.dart';
class B {}
@@ -104,8 +104,8 @@
}
Future<void> test_withoutPrefix_twoImports_sameElement() async {
- newFile('/home/test/lib/a.dart', content: 'class C {}');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', 'class C {}');
+ newFile2('/home/test/lib/b.dart', r'''
export 'package:test/a.dart';
''');
@@ -129,7 +129,7 @@
}
Future<void> test_withPrefix() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
+ newFile2('/home/test/lib/a.dart', 'class A {}');
await _assertImportLibraryElement(
initialCode: r'''
@@ -142,8 +142,8 @@
}
Future<void> test_withPrefix_twoImports_sameElement() async {
- newFile('/home/test/lib/a.dart', content: 'class C {}');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', 'class C {}');
+ newFile2('/home/test/lib/b.dart', r'''
export 'package:test/a.dart';
''');
@@ -172,10 +172,10 @@
@reflectiveTest
class ImportLibraryElement_newImport_withoutPrefix_Test extends _Base {
Future<void> test_constructorName_name() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
int foo;
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
class B {
B.foo();
}
@@ -202,8 +202,8 @@
}
Future<void> test_exported() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', 'class A {}');
+ newFile2('/home/test/lib/b.dart', r'''
export 'a.dart';
''');
await _assertImportLibraryElement(
@@ -217,8 +217,8 @@
}
Future<void> test_exported_differentUri() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', 'class A {}');
+ newFile2('/home/test/lib/b.dart', r'''
export 'a.dart';
''');
await _assertImportLibraryElement(
@@ -235,10 +235,10 @@
}
Future<void> test_methodInvocation_name() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
int foo;
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
class B {
static void foo() {}
}
@@ -265,11 +265,11 @@
}
Future<void> test_noConflict_otherImport_hide() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
''');
- newFile('/home/test/lib/b.dart', content: 'class B {}');
+ newFile2('/home/test/lib/b.dart', 'class B {}');
await _assertImportLibraryElement(
initialCode: r'''
import 'package:test/a.dart' hide B;
@@ -284,11 +284,11 @@
}
Future<void> test_noConflict_otherImport_show() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
class B {}
''');
- newFile('/home/test/lib/b.dart', content: 'class B {}');
+ newFile2('/home/test/lib/b.dart', 'class B {}');
await _assertImportLibraryElement(
initialCode: r'''
import 'package:test/a.dart' show A;
@@ -303,7 +303,7 @@
}
Future<void> test_noShadow_syntacticScope_localVariable() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
var foo = 0;
''');
await _assertImportLibraryElement(
@@ -335,7 +335,7 @@
}
Future<void> test_noShadow_syntacticScope_typeParameter() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
class A {}
''');
await _assertImportLibraryElement(
@@ -357,10 +357,10 @@
}
Future<void> test_prefixedIdentifier_identifier() async {
- newFile('/home/test/lib/a.dart', content: r'''
+ newFile2('/home/test/lib/a.dart', r'''
int foo;
''');
- newFile('/home/test/lib/b.dart', content: r'''
+ newFile2('/home/test/lib/b.dart', r'''
class B {
static int foo;
}
@@ -387,7 +387,7 @@
}
Future<void> test_thisName_notShadowed_localVariable_otherFunction() async {
- newFile('/home/test/lib/a.dart', content: 'int foo = 0;');
+ newFile2('/home/test/lib/a.dart', 'int foo = 0;');
await _assertImportLibraryElement(
initialCode: r'''
void f() {
@@ -415,8 +415,8 @@
}
Future<void> test_unrelated() async {
- newFile('/home/test/lib/a.dart', content: 'class A {}');
- newFile('/home/test/lib/b.dart', content: 'class B {}');
+ newFile2('/home/test/lib/a.dart', 'class A {}');
+ newFile2('/home/test/lib/b.dart', 'class B {}');
await _assertImportLibraryElement(
initialCode: r'''
import 'package:test/a.dart';
@@ -466,7 +466,7 @@
}
var path = convertPath('/home/test/lib/test.dart');
- newFile(path, content: initialCode);
+ newFile2(path, initialCode);
var requestedResult =
await (await session).getLibraryByUri(uriStr) as LibraryElementResult;
diff --git a/pkg/analyzer_plugin/test/src/utilities/completion/completion_target_test.dart b/pkg/analyzer_plugin/test/src/utilities/completion/completion_target_test.dart
index 742f070..62e8adf 100644
--- a/pkg/analyzer_plugin/test/src/utilities/completion/completion_target_test.dart
+++ b/pkg/analyzer_plugin/test/src/utilities/completion/completion_target_test.dart
@@ -951,7 +951,7 @@
content = content.substring(0, offset) + content.substring(offset! + 1);
var path = convertPath('/home/test/lib/test.dart');
- newFile(path, content: content);
+ newFile2(path, content);
var result = await resolveFile(path);
findElement = FindElement(result.unit);
diff --git a/pkg/analyzer_plugin/test/support/abstract_context.dart b/pkg/analyzer_plugin/test/support/abstract_context.dart
index 9a8066b..9dffef5 100644
--- a/pkg/analyzer_plugin/test/support/abstract_context.dart
+++ b/pkg/analyzer_plugin/test/support/abstract_context.dart
@@ -63,7 +63,7 @@
String get workspaceRootPath => convertPath('/home');
void addSource(String path, String content) {
- newFile(path, content: content);
+ newFile2(path, content);
}
AnalysisContext contextFor(String path) {
@@ -85,16 +85,16 @@
}
}
- newFile(testPackageAnalysisOptionsPath, content: buffer.toString());
+ newFile2(testPackageAnalysisOptionsPath, buffer.toString());
}
@override
- File newFile(String path, {String content = ''}) {
+ File newFile2(String path, String content) {
if (_analysisContextCollection != null && !path.endsWith('.dart')) {
throw StateError('Only dart files can be changed after analysis.');
}
- return super.newFile(path, content: content);
+ return super.newFile2(path, content);
}
Future<ResolvedUnitResult> resolveFile(String path) async {
@@ -123,7 +123,7 @@
}
void writePackageConfig(String path, PackageConfigFileBuilder config) {
- newFile(path, content: config.toContent(toUriStr: toUriStr));
+ newFile2(path, config.toContent(toUriStr: toUriStr));
}
void writeTestPackageConfig({
diff --git a/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart b/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
index ab3e77a..b1e4ddf 100644
--- a/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
+++ b/pkg/analyzer_plugin/test/utilities/analyzer_converter_test.dart
@@ -653,7 +653,7 @@
@override
void setUp() {
super.setUp();
- source = newFile('/foo/bar.dart').createSource();
+ source = newFile2('/foo/bar.dart', '').createSource();
testFile = convertPath('$testPackageRootPath/lib/test.dart');
}
}
diff --git a/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart b/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart
index 327ebfe..2af7bb7 100644
--- a/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart
+++ b/pkg/analyzer_plugin/test/utilities/completion/type_member_contributor_test.dart
@@ -1084,8 +1084,7 @@
}
Future<void> test_Block_unimported() async {
- newFile('$workspaceRootPath/myBar/bar.dart',
- content: 'class Foo2 { Foo2() { } }');
+ newFile2('$workspaceRootPath/myBar/bar.dart', 'class Foo2 { Foo2() { } }');
addSource(
'/proj/testAB.dart', 'import "package:myBar/bar.dart"; class Foo { }');
addTestSource('class C {foo(){F^}}');
diff --git a/pkg/compiler/lib/src/inferrer/builder_kernel.dart b/pkg/compiler/lib/src/inferrer/builder_kernel.dart
index 937f1c0..aa490af 100644
--- a/pkg/compiler/lib/src/inferrer/builder_kernel.dart
+++ b/pkg/compiler/lib/src/inferrer/builder_kernel.dart
@@ -1977,7 +1977,33 @@
_state.markInitializationAsIndefinite();
visit(node.body);
LocalState stateAfterBody = _state;
- _state = stateBefore.mergeFlow(_inferrer, stateAfterBody);
+ // If the try block contains a throw, then `stateAfterBody.aborts` will be
+ // true. The catch needs to be aware of the results of inference from the
+ // try block since we may get there via the abortive control flow:
+ //
+ // dynamic x = "bad";
+ // try {
+ // ...
+ // x = 0;
+ // throw ...;
+ // } catch (_) {
+ // print(x + 42); <-- x may be 0 here.
+ // }
+ //
+ // Note that this will also cause us to ignore aborts due to breaks,
+ // returns, and continues. Since these control flow constructs will not jump
+ // to a catch block, this may cause some types flowing into the catch block
+ // to be wider than necessary:
+ //
+ // dynamic x = "bad";
+ // try {
+ // x = 0;
+ // return;
+ // } catch (_) {
+ // print(x + 42); <-- x cannot be 0 here.
+ // }
+ _state =
+ stateBefore.mergeFlow(_inferrer, stateAfterBody, ignoreAborts: true);
for (ir.Catch catchBlock in node.catches) {
LocalState stateBeforeCatch = _state;
_state = LocalState.childPath(stateBeforeCatch);
@@ -1995,7 +2021,20 @@
_state.markInitializationAsIndefinite();
visit(node.body);
LocalState stateAfterBody = _state;
- _state = stateBefore.mergeFlow(_inferrer, stateAfterBody);
+ // Even if the try block contains abortive control flow, the finally block
+ // needs to be aware of the results of inference from the try block since we
+ // still reach the finally after abortive control flow:
+ //
+ // dynamic x = "bad";
+ // try {
+ // ...
+ // x = 0;
+ // return;
+ // } finally {
+ // print(x + 42); <-- x may be 0 here.
+ // }
+ _state =
+ stateBefore.mergeFlow(_inferrer, stateAfterBody, ignoreAborts: true);
visit(node.finalizer);
return null;
}
@@ -2387,11 +2426,12 @@
}
}
- LocalState mergeFlow(InferrerEngine inferrer, LocalState other) {
+ LocalState mergeFlow(InferrerEngine inferrer, LocalState other,
+ {bool ignoreAborts: false}) {
seenReturnOrThrow = false;
seenBreakOrContinue = false;
- if (other.aborts) {
+ if (!ignoreAborts && other.aborts) {
return this;
}
LocalsHandler locals = _locals.mergeFlow(inferrer, other._locals);
diff --git a/pkg/compiler/lib/src/inferrer/locals_handler.dart b/pkg/compiler/lib/src/inferrer/locals_handler.dart
index ed565ca..06fb529 100644
--- a/pkg/compiler/lib/src/inferrer/locals_handler.dart
+++ b/pkg/compiler/lib/src/inferrer/locals_handler.dart
@@ -221,7 +221,7 @@
assert(elseScope != null);
// Quick bailout check. If [isThisExposed] or [isIndefinite] is true, we
- // know the code following won'TypeInformation do anything.
+ // know the code following won't do anything.
if (isThisExposed) return this;
if (isIndefinite) return this;
diff --git a/pkg/dartdev/lib/src/commands/run.dart b/pkg/dartdev/lib/src/commands/run.dart
index 94b0141..39e5ea4 100644
--- a/pkg/dartdev/lib/src/commands/run.dart
+++ b/pkg/dartdev/lib/src/commands/run.dart
@@ -222,6 +222,8 @@
final bool debugDds = args['debug-dds'];
bool disableServiceAuthCodes = args['disable-service-auth-codes'];
+ final bool enableServicePortFallback =
+ args['enable-service-port-fallback'];
// If the user wants to start a debugging session we need to do some extra
// work and spawn a Dart Development Service (DDS) instance. DDS is a VM
@@ -237,6 +239,7 @@
disableServiceAuthCodes,
launchDevTools,
debugDds,
+ enableServicePortFallback,
)) {
return errorExitCode;
}
@@ -274,6 +277,7 @@
bool disableServiceAuthCodes,
bool enableDevTools,
bool debugDds,
+ bool enableServicePortFallback,
) async {
final sdkDir = dirname(sdk.dart);
final fullSdk = sdkDir.endsWith('bin');
@@ -303,6 +307,7 @@
enableDevTools.toString(),
devToolsBinaries,
debugDds.toString(),
+ enableServicePortFallback.toString(),
],
mode: ProcessStartMode.detachedWithStdio,
);
diff --git a/pkg/dartdev/test/commands/run_test.dart b/pkg/dartdev/test/commands/run_test.dart
index 40978d9..bf0f031 100644
--- a/pkg/dartdev/test/commands/run_test.dart
+++ b/pkg/dartdev/test/commands/run_test.dart
@@ -333,6 +333,25 @@
expect(result.exitCode, 0);
});
+ test('--enable-service-port-fallback', () async {
+ final p = project(mainSrc: '''void main() {}''');
+ final server = await HttpServer.bind(InternetAddress.loopbackIPv4, 0);
+ final result = await p.run(
+ [
+ 'run',
+ '--enable-vm-service=${server.port}',
+ '--enable-service-port-fallback',
+ p.relativeFilePath,
+ ],
+ );
+ final regexp = RegExp(
+ r'Observatory listening on http:\/\/127.0.0.1:(\d*)\/[a-zA-Z0-9_-]+=\/\n.*');
+ final vmServicePort =
+ int.parse(regexp.firstMatch(result.stdout)!.group(1)!);
+ expect(server.port != vmServicePort, isTrue);
+ await server.close();
+ });
+
test('without verbose CFE info', () async {
final p = project(mainSrc: '''void main() {}''');
diff --git a/pkg/dds/bin/dds.dart b/pkg/dds/bin/dds.dart
index 2ae2f5a..7e43c19 100644
--- a/pkg/dds/bin/dds.dart
+++ b/pkg/dds/bin/dds.dart
@@ -18,6 +18,7 @@
/// - Start DevTools
/// - DevTools build directory
/// - Enable logging
+/// - Enable service port fallback
Future<void> main(List<String> args) async {
if (args.isEmpty) return;
@@ -46,6 +47,7 @@
devToolsBuildDirectory = Uri.file(args[5]);
}
final logRequests = args[6] == 'true';
+ final enableServicePortFallback = args[7] == 'true';
try {
// TODO(bkonyi): add retry logic similar to that in vmservice_server.dart
// See https://github.com/dart-lang/sdk/issues/43192.
@@ -61,6 +63,7 @@
)
: null,
logRequests: logRequests,
+ enableServicePortFallback: enableServicePortFallback,
);
stderr.write(json.encode({
'state': 'started',
diff --git a/pkg/dds/lib/dds.dart b/pkg/dds/lib/dds.dart
index 4d8a5e7..7d833ab 100644
--- a/pkg/dds/lib/dds.dart
+++ b/pkg/dds/lib/dds.dart
@@ -37,11 +37,15 @@
///
/// [ipv6] controls whether or not DDS is served via IPv6. IPv4 is enabled by
/// default.
+ ///
+ /// If [enablesServicePortFallback] is enabled, DDS will attempt to bind to any
+ /// available port if the specified port is unavailable.
static Future<DartDevelopmentService> startDartDevelopmentService(
Uri remoteVmServiceUri, {
Uri? serviceUri,
bool enableAuthCodes = true,
bool ipv6 = false,
+ bool enableServicePortFallback = false,
List<String> cachedUserTags = const [],
DevToolsConfiguration? devToolsConfiguration,
bool logRequests = false,
@@ -84,6 +88,7 @@
ipv6,
devToolsConfiguration,
logRequests,
+ enableServicePortFallback,
);
await service.startService();
return service;
diff --git a/pkg/dds/lib/src/dds_impl.dart b/pkg/dds/lib/src/dds_impl.dart
index 000a15b..8de53ff 100644
--- a/pkg/dds/lib/src/dds_impl.dart
+++ b/pkg/dds/lib/src/dds_impl.dart
@@ -59,6 +59,7 @@
this._ipv6,
this._devToolsConfiguration,
this.shouldLogRequests,
+ this._enableServicePortFallback,
) {
_clientManager = ClientManager(this);
_expressionEvaluator = ExpressionEvaluator(this);
@@ -136,7 +137,7 @@
final host = uri?.host ??
(_ipv6 ? InternetAddress.loopbackIPv6 : InternetAddress.loopbackIPv4)
.host;
- final port = uri?.port ?? 0;
+ var port = uri?.port ?? 0;
var pipeline = const Pipeline();
if (shouldLogRequests) {
pipeline = pipeline.addMiddleware(
@@ -155,16 +156,25 @@
late String errorMessage;
final tmpServer = await runZonedGuarded(
() async {
- try {
- return await io.serve(handler, host, port);
- } on SocketException catch (e) {
- errorMessage = e.message;
- if (e.osError != null) {
- errorMessage += ' (${e.osError!.message})';
+ Future<HttpServer?> startServer() async {
+ try {
+ return await io.serve(handler, host, port);
+ } on SocketException catch (e) {
+ if (_enableServicePortFallback && port != 0) {
+ // Try again, this time with a random port.
+ port = 0;
+ return await startServer();
+ }
+ errorMessage = e.message;
+ if (e.osError != null) {
+ errorMessage += ' (${e.osError!.message})';
+ }
+ errorMessage += ': ${e.address?.host}:${e.port}';
+ return null;
}
- errorMessage += ': ${e.address?.host}:${e.port}';
- return null;
}
+
+ return await startServer();
},
(error, stack) {
if (shouldLogRequests) {
@@ -387,6 +397,7 @@
String? get authCode => _authCode;
String? _authCode;
+ final bool _enableServicePortFallback;
final bool shouldLogRequests;
Uri get remoteVmServiceUri => _remoteVmServiceUri;
diff --git a/pkg/dds/test/devtools_server/devtools_server_connection_test.dart b/pkg/dds/test/devtools_server/devtools_server_connection_test.dart
new file mode 100644
index 0000000..5bb42a8
--- /dev/null
+++ b/pkg/dds/test/devtools_server/devtools_server_connection_test.dart
@@ -0,0 +1,103 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import 'package:devtools_shared/devtools_test_utils.dart';
+import 'package:test/test.dart';
+
+import 'devtools_server_driver.dart';
+
+// Note: this test is broken out from devtools_server_test.dart so that the
+// tests run faster and we do not have to mark them as slow.
+
+late final DevToolsServerTestController testController;
+
+void main() {
+ testController = DevToolsServerTestController();
+
+ setUp(() async {
+ await testController.setUp();
+ });
+
+ tearDown(() async {
+ await testController.tearDown();
+ });
+
+ for (final bool useVmService in [true, false]) {
+ group('Server (${useVmService ? 'VM Service' : 'API'})', () {
+ test(
+ 'DevTools connects back to server API and registers that it is connected',
+ () async {
+ // Register the VM.
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
+
+ // Send a request to launch DevTools in a browser.
+ await testController.sendLaunchDevToolsRequest(
+ useVmService: useVmService,
+ );
+
+ final serverResponse =
+ await testController.waitForClients(requiredConnectionState: true);
+ expect(serverResponse, isNotNull);
+ expect(serverResponse['clients'], hasLength(1));
+ expect(serverResponse['clients'][0]['hasConnection'], isTrue);
+ expect(
+ serverResponse['clients'][0]['vmServiceUri'],
+ testController.appFixture.serviceUri.toString(),
+ );
+ }, timeout: const Timeout.factor(10));
+
+ test('DevTools reports disconnects from a VM', () async {
+ // Register the VM.
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
+
+ // Send a request to launch DevTools in a browser.
+ await testController.sendLaunchDevToolsRequest(
+ useVmService: useVmService,
+ );
+
+ // Wait for the DevTools to inform server that it's connected.
+ await testController.waitForClients(requiredConnectionState: true);
+
+ // Terminate the VM.
+ await testController.appFixture.teardown();
+
+ // Ensure the client is marked as disconnected.
+ final serverResponse = await testController.waitForClients(
+ requiredConnectionState: false,
+ );
+ expect(serverResponse['clients'], hasLength(1));
+ expect(serverResponse['clients'][0]['hasConnection'], isFalse);
+ expect(serverResponse['clients'][0]['vmServiceUri'], isNull);
+ }, timeout: const Timeout.factor(20));
+
+ test('server removes clients that disconnect from the API', () async {
+ final event = await testController.serverStartedEvent.future;
+
+ // Spawn our own Chrome process so we can terminate it.
+ final devToolsUri =
+ 'http://${event['params']['host']}:${event['params']['port']}';
+ final chrome = await Chrome.locate()!.start(url: devToolsUri);
+
+ // Wait for DevTools to inform server that it's connected.
+ await testController.waitForClients();
+
+ // Close the browser, which will disconnect DevTools SSE connection
+ // back to the server.
+ chrome.kill();
+
+ // Await a long delay to wait for the SSE client to close.
+ await delay(duration: const Duration(seconds: 15));
+
+ // Ensure the client is completely removed from the list.
+ await testController.waitForClients(expectNone: true);
+ }, timeout: const Timeout.factor(20));
+ });
+ }
+}
diff --git a/pkg/dds/test/devtools_server/devtools_server_driver.dart b/pkg/dds/test/devtools_server/devtools_server_driver.dart
index 99e9191..3a287ca 100644
--- a/pkg/dds/test/devtools_server/devtools_server_driver.dart
+++ b/pkg/dds/test/devtools_server/devtools_server_driver.dart
@@ -6,7 +6,9 @@
import 'dart:convert';
import 'dart:io';
+import 'package:dds/devtools_server.dart';
import 'package:devtools_shared/devtools_test_utils.dart';
+import 'package:vm_service/vm_service.dart';
const verbose = true;
@@ -91,3 +93,187 @@
);
}
}
+
+class DevToolsServerTestController {
+ static const defaultDelay = Duration(milliseconds: 500);
+
+ late CliAppFixture appFixture;
+
+ late DevToolsServerDriver server;
+
+ final completers = <String, Completer<Map<String, dynamic>>>{};
+
+ /// A broadcast stream controller for streaming events from the server.
+ late StreamController<Map<String, dynamic>> eventController;
+
+ /// A broadcast stream of events from the server.
+ ///
+ /// Listening for "server.started" events on this stream may be unreliable
+ /// because it may have occurred before the test starts. Use the
+ /// [serverStartedEvent] instead.
+ Stream<Map<String, dynamic>> get events => eventController.stream;
+
+ /// Completer that signals when the server started event has been received.
+ late Completer<Map<String, dynamic>> serverStartedEvent;
+
+ final Map<String, String> registeredServices = {};
+
+ /// A list of PIDs for Chrome instances spawned by tests that should be
+ /// cleaned up.
+ final List<int> browserPids = [];
+
+ late StreamSubscription<String> stderrSub;
+
+ late StreamSubscription<Map<String, dynamic>?> stdoutSub;
+
+ Future<void> setUp() async {
+ serverStartedEvent = Completer<Map<String, dynamic>>();
+ eventController = StreamController<Map<String, dynamic>>.broadcast();
+
+ // Start the command-line server.
+ server = await DevToolsServerDriver.create();
+
+ // Fail tests on any stderr.
+ stderrSub = server.stderr.listen((text) => throw 'STDERR: $text');
+ stdoutSub = server.stdout.listen((map) {
+ if (map!.containsKey('id')) {
+ if (map.containsKey('result')) {
+ completers[map['id']]!.complete(map['result']);
+ } else {
+ completers[map['id']]!.completeError(map['error']);
+ }
+ } else if (map.containsKey('event')) {
+ if (map['event'] == 'server.started') {
+ serverStartedEvent.complete(map);
+ }
+ eventController.add(map);
+ }
+ });
+
+ await serverStartedEvent.future;
+ await startApp();
+ }
+
+ Future<void> tearDown() async {
+ browserPids
+ ..forEach((pid) => Process.killPid(pid, ProcessSignal.sigkill))
+ ..clear();
+ await stdoutSub.cancel();
+ await stderrSub.cancel();
+ server.kill();
+ await appFixture.teardown();
+ }
+
+ Future<Map<String, dynamic>> sendLaunchDevToolsRequest({
+ required bool useVmService,
+ String? page,
+ bool notify = false,
+ bool reuseWindows = false,
+ }) async {
+ final launchEvent =
+ events.where((e) => e['event'] == 'client.launch').first;
+ if (useVmService) {
+ await appFixture.serviceConnection.callMethod(
+ registeredServices[DevToolsServer.launchDevToolsService]!,
+ args: {
+ 'reuseWindows': reuseWindows,
+ 'page': page,
+ 'notify': notify,
+ },
+ );
+ } else {
+ await send(
+ 'devTools.launch',
+ {
+ 'vmServiceUri': appFixture.serviceUri.toString(),
+ 'reuseWindows': reuseWindows,
+ 'page': page,
+ },
+ );
+ }
+ final response = await launchEvent;
+ final pid = response['params']['pid'];
+ if (pid != null) {
+ browserPids.add(pid);
+ }
+ return response['params'];
+ }
+
+ Future<void> startApp() async {
+ final appUri = Platform.script
+ .resolveUri(Uri.parse('../fixtures/empty_dart_app.dart'));
+ appFixture = await CliAppFixture.create(appUri.path);
+
+ // Track services method names as they're registered.
+ appFixture.serviceConnection
+ .onEvent(EventStreams.kService)
+ .where((e) => e.kind == EventKind.kServiceRegistered)
+ .listen((e) => registeredServices[e.service!] = e.method!);
+ await appFixture.serviceConnection.streamListen(EventStreams.kService);
+ }
+
+ int nextId = 0;
+ Future<Map<String, dynamic>> send(
+ String method, [
+ Map<String, dynamic>? params,
+ ]) {
+ final id = (nextId++).toString();
+ completers[id] = Completer<Map<String, dynamic>>();
+ server.write({'id': id.toString(), 'method': method, 'params': params});
+ return completers[id]!.future;
+ }
+
+ /// Waits for the server's client list to be updated with the expected state,
+ /// and then returns the client list.
+ ///
+ /// It may take time for the servers client list to be updated as the web app
+ /// connects, so this helper just polls and waits for the expected state. If
+ /// the expected state is never found, the test will timeout.
+ Future<Map<String, dynamic>> waitForClients({
+ bool? requiredConnectionState,
+ String? requiredPage,
+ bool expectNone = false,
+ bool useLongTimeout = false,
+ Duration delayDuration = defaultDelay,
+ }) async {
+ late Map<String, dynamic> serverResponse;
+
+ final isOnPage = (client) => client['currentPage'] == requiredPage;
+ final hasConnectionState = (client) => requiredConnectionState ?? false
+ // If we require a connected client, also require a non-null page. This
+ // avoids a race in tests where we may proceed to send messages to a client
+ // that is not fully initialised.
+ ? (client['hasConnection'] && client['currentPage'] != null)
+ : !client['hasConnection'];
+
+ await _waitFor(
+ () async {
+ // Await a short delay to give the client time to connect.
+ await delay();
+
+ serverResponse = await send('client.list');
+ final clients = serverResponse['clients'];
+ return clients is List &&
+ (clients.isEmpty == expectNone) &&
+ (requiredPage == null || clients.any(isOnPage)) &&
+ (requiredConnectionState == null ||
+ clients.any(hasConnectionState));
+ },
+ delayDuration: delayDuration,
+ );
+
+ return serverResponse;
+ }
+
+ Future<void> _waitFor(
+ Future<bool> condition(), {
+ Duration delayDuration = defaultDelay,
+ }) async {
+ while (true) {
+ if (await condition()) {
+ return;
+ }
+ await delay(duration: delayDuration);
+ }
+ }
+}
diff --git a/pkg/dds/test/devtools_server/devtools_server_test.dart b/pkg/dds/test/devtools_server/devtools_server_test.dart
index 2f34765..2a0ce68 100644
--- a/pkg/dds/test/devtools_server/devtools_server_test.dart
+++ b/pkg/dds/test/devtools_server/devtools_server_test.dart
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-import 'dart:async';
import 'dart:convert';
import 'dart:io';
@@ -11,84 +10,34 @@
import 'package:devtools_shared/devtools_shared.dart';
import 'package:devtools_shared/devtools_test_utils.dart';
import 'package:test/test.dart';
-import 'package:vm_service/vm_service.dart';
import 'devtools_server_driver.dart';
-late CliAppFixture appFixture;
-late DevToolsServerDriver server;
-final completers = <String, Completer<Map<String, dynamic>>>{};
-
-/// A broadcast stream controller for streaming events from the server.
-late StreamController<Map<String, dynamic>> eventController;
-
-/// A broadcast stream of events from the server.
-///
-/// Listening for "server.started" events on this stream may be unreliable
-/// because it may have occurred before the test starts. Use the
-/// [serverStartedEvent] instead.
-Stream<Map<String, dynamic>> get events => eventController.stream;
-
-/// Completer that signals when the server started event has been received.
-late Completer<Map<String, dynamic>> serverStartedEvent;
-
-final Map<String, String> registeredServices = {};
-
-// A list of PIDs for Chrome instances spawned by tests that should be
-// cleaned up.
-final List<int> browserPids = [];
+late final DevToolsServerTestController testController;
void main() {
- late StreamSubscription<String> stderrSub;
- late StreamSubscription<Map<String, dynamic>?> stdoutSub;
+ testController = DevToolsServerTestController();
setUp(() async {
- serverStartedEvent = Completer<Map<String, dynamic>>();
- eventController = StreamController<Map<String, dynamic>>.broadcast();
-
- // Start the command-line server.
- server = await DevToolsServerDriver.create();
-
- // Fail tests on any stderr.
- stderrSub = server.stderr.listen((text) => throw 'STDERR: $text');
- stdoutSub = server.stdout.listen((map) {
- if (map!.containsKey('id')) {
- if (map.containsKey('result')) {
- completers[map['id']]!.complete(map['result']);
- } else {
- completers[map['id']]!.completeError(map['error']);
- }
- } else if (map.containsKey('event')) {
- if (map['event'] == 'server.started') {
- serverStartedEvent.complete(map);
- }
- eventController.add(map);
- }
- });
-
- await serverStartedEvent.future;
- await _startApp();
+ await testController.setUp();
});
tearDown(() async {
- browserPids
- ..forEach((pid) => Process.killPid(pid, ProcessSignal.sigkill))
- ..clear();
- await stdoutSub.cancel();
- await stderrSub.cancel();
- server.kill();
- await appFixture.teardown();
+ await testController.tearDown();
});
test('registers service', () async {
- final serverResponse = await _send(
+ final serverResponse = await testController.send(
'vm.register',
- {'uri': appFixture.serviceUri.toString()},
+ {'uri': testController.appFixture.serviceUri.toString()},
);
expect(serverResponse['success'], isTrue);
// Expect the VM service to see the launchDevTools service registered.
- expect(registeredServices, contains(DevToolsServer.launchDevToolsService));
+ expect(
+ testController.registeredServices,
+ contains(DevToolsServer.launchDevToolsService),
+ );
}, timeout: const Timeout.factor(10));
test('can bind to next available port', () async {
@@ -166,13 +115,13 @@
}, timeout: const Timeout.factor(10));
test('Analytics Survey', () async {
- var serverResponse = await _send('devTools.survey', {
+ var serverResponse = await testController.send('devTools.survey', {
'surveyRequest': 'copyAndCreateDevToolsFile',
});
expect(serverResponse, isNotNull);
expect(serverResponse['success'], isTrue);
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': apiSetActiveSurvey,
'value': 'Q3-2019',
});
@@ -180,35 +129,35 @@
expect(serverResponse['success'], isTrue);
expect(serverResponse['activeSurvey'], 'Q3-2019');
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': apiIncrementSurveyShownCount,
});
expect(serverResponse, isNotNull);
expect(serverResponse['activeSurvey'], 'Q3-2019');
expect(serverResponse['surveyShownCount'], 1);
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': apiIncrementSurveyShownCount,
});
expect(serverResponse, isNotNull);
expect(serverResponse['activeSurvey'], 'Q3-2019');
expect(serverResponse['surveyShownCount'], 2);
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': apiGetSurveyShownCount,
});
expect(serverResponse, isNotNull);
expect(serverResponse['activeSurvey'], 'Q3-2019');
expect(serverResponse['surveyShownCount'], 2);
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': apiGetSurveyActionTaken,
});
expect(serverResponse, isNotNull);
expect(serverResponse['activeSurvey'], 'Q3-2019');
expect(serverResponse['surveyActionTaken'], isFalse);
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': apiSetSurveyActionTaken,
'value': json.encode(true),
});
@@ -216,7 +165,7 @@
expect(serverResponse['activeSurvey'], 'Q3-2019');
expect(serverResponse['surveyActionTaken'], isTrue);
- serverResponse = await _send('devTools.survey', {
+ serverResponse = await testController.send('devTools.survey', {
'surveyRequest': MachineModeCommandHandler.restoreDevToolsFile,
});
expect(serverResponse, isNotNull);
@@ -234,128 +183,78 @@
for (final bool useVmService in [true, false]) {
group('Server (${useVmService ? 'VM Service' : 'API'})', () {
- test(
- 'DevTools connects back to server API and registers that it is connected',
- () async {
- // Register the VM.
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
-
- // Send a request to launch DevTools in a browser.
- await _sendLaunchDevToolsRequest(useVmService: useVmService);
-
- final serverResponse =
- await _waitForClients(requiredConnectionState: true);
- expect(serverResponse, isNotNull);
- expect(serverResponse['clients'], hasLength(1));
- expect(serverResponse['clients'][0]['hasConnection'], isTrue);
- expect(
- serverResponse['clients'][0]['vmServiceUri'],
- appFixture.serviceUri.toString(),
- );
- }, timeout: const Timeout.factor(10));
-
test('can launch on a specific page', () async {
// Register the VM.
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
// Send a request to launch at a certain page.
- await _sendLaunchDevToolsRequest(
+ await testController.sendLaunchDevToolsRequest(
useVmService: useVmService,
page: 'memory',
);
- final serverResponse = await _waitForClients(requiredPage: 'memory');
+ final serverResponse =
+ await testController.waitForClients(requiredPage: 'memory');
expect(serverResponse, isNotNull);
expect(serverResponse['clients'], hasLength(1));
expect(serverResponse['clients'][0]['hasConnection'], isTrue);
expect(
serverResponse['clients'][0]['vmServiceUri'],
- appFixture.serviceUri.toString(),
+ testController.appFixture.serviceUri.toString(),
);
expect(serverResponse['clients'][0]['currentPage'], 'memory');
}, timeout: const Timeout.factor(10));
test('can switch page', () async {
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
// Launch on the memory page and wait for the connection.
- await _sendLaunchDevToolsRequest(
+ await testController.sendLaunchDevToolsRequest(
useVmService: useVmService,
page: 'memory',
);
- await _waitForClients(requiredPage: 'memory');
+ await testController.waitForClients(requiredPage: 'memory');
// Re-launch, allowing reuse and with a different page.
- await _sendLaunchDevToolsRequest(
+ await testController.sendLaunchDevToolsRequest(
useVmService: useVmService,
reuseWindows: true,
page: 'logging',
);
- final serverResponse = await _waitForClients(requiredPage: 'logging');
+ final serverResponse =
+ await testController.waitForClients(requiredPage: 'logging');
expect(serverResponse, isNotNull);
expect(serverResponse['clients'], hasLength(1));
expect(serverResponse['clients'][0]['hasConnection'], isTrue);
expect(
serverResponse['clients'][0]['vmServiceUri'],
- appFixture.serviceUri.toString(),
+ testController.appFixture.serviceUri.toString(),
);
expect(serverResponse['clients'][0]['currentPage'], 'logging');
}, timeout: const Timeout.factor(20));
- test('DevTools reports disconnects from a VM', () async {
- // Register the VM.
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
-
- // Send a request to launch DevTools in a browser.
- await _sendLaunchDevToolsRequest(useVmService: useVmService);
-
- // Wait for the DevTools to inform server that it's connected.
- await _waitForClients(requiredConnectionState: true);
-
- // Terminate the VM.
- await appFixture.teardown();
-
- // Ensure the client is marked as disconnected.
- final serverResponse =
- await _waitForClients(requiredConnectionState: false);
- expect(serverResponse['clients'], hasLength(1));
- expect(serverResponse['clients'][0]['hasConnection'], isFalse);
- expect(serverResponse['clients'][0]['vmServiceUri'], isNull);
- }, timeout: const Timeout.factor(20));
-
- test('server removes clients that disconnect from the API', () async {
- final event = await serverStartedEvent.future;
-
- // Spawn our own Chrome process so we can terminate it.
- final devToolsUri =
- 'http://${event['params']['host']}:${event['params']['port']}';
- final chrome = await Chrome.locate()!.start(url: devToolsUri);
-
- // Wait for DevTools to inform server that it's connected.
- await _waitForClients();
-
- // Close the browser, which will disconnect DevTools SSE connection
- // back to the server.
- chrome.kill();
-
- // Await a long delay to wait for the SSE client to close.
- await delay(duration: const Duration(seconds: 20));
-
- // Ensure the client is completely removed from the list.
- await _waitForClients(expectNone: true, useLongTimeout: true);
- }, timeout: const Timeout.factor(20));
-
test('Server reuses DevTools instance if already connected to same VM',
() async {
// Register the VM.
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
// Send a request to launch DevTools in a browser.
- await _sendLaunchDevToolsRequest(useVmService: useVmService);
+ await testController.sendLaunchDevToolsRequest(
+ useVmService: useVmService,
+ );
{
- final serverResponse = await _waitForClients(
+ final serverResponse = await testController.waitForClients(
requiredConnectionState: true,
);
expect(serverResponse['clients'], hasLength(1));
@@ -363,7 +262,7 @@
// Request again, allowing reuse, and server emits an event saying the
// window was reused.
- final launchResponse = await _sendLaunchDevToolsRequest(
+ final launchResponse = await testController.sendLaunchDevToolsRequest(
useVmService: useVmService,
reuseWindows: true,
);
@@ -372,32 +271,36 @@
// Ensure there's still only one connection (eg. we didn't spawn a new one
// we reused the existing one).
final serverResponse =
- await _waitForClients(requiredConnectionState: true);
+ await testController.waitForClients(requiredConnectionState: true);
expect(serverResponse['clients'], hasLength(1));
}, timeout: const Timeout.factor(20));
test('Server does not reuse DevTools instance if embedded', () async {
// Register the VM.
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
// Spawn an embedded version of DevTools in a browser.
- final event = await serverStartedEvent.future;
+ final event = await testController.serverStartedEvent.future;
final devToolsUri =
'http://${event['params']['host']}:${event['params']['port']}';
final launchUrl = '$devToolsUri/?embed=true&page=logging'
- '&uri=${Uri.encodeQueryComponent(appFixture.serviceUri.toString())}';
+ '&uri=${Uri.encodeQueryComponent(testController.appFixture.serviceUri.toString())}';
final chrome = await Chrome.locate()!.start(url: launchUrl);
try {
{
- final serverResponse =
- await _waitForClients(requiredConnectionState: true);
+ final serverResponse = await testController.waitForClients(
+ requiredConnectionState: true,
+ );
expect(serverResponse['clients'], hasLength(1));
}
// Send a request to the server to launch and ensure it did
// not reuse the existing connection. Launch it on a different page
// so we can easily tell once this one has connected.
- final launchResponse = await _sendLaunchDevToolsRequest(
+ final launchResponse = await testController.sendLaunchDevToolsRequest(
useVmService: useVmService,
reuseWindows: true,
page: 'memory',
@@ -405,7 +308,7 @@
expect(launchResponse['reused'], isFalse);
// Ensure there's now two connections.
- final serverResponse = await _waitForClients(
+ final serverResponse = await testController.waitForClients(
requiredConnectionState: true,
requiredPage: 'memory',
);
@@ -418,26 +321,34 @@
test('Server reuses DevTools instance if not connected to a VM',
() async {
// Register the VM.
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
// Send a request to launch DevTools in a browser.
- await _sendLaunchDevToolsRequest(useVmService: useVmService);
+ await testController.sendLaunchDevToolsRequest(
+ useVmService: useVmService,
+ );
// Wait for the DevTools to inform server that it's connected.
- await _waitForClients(requiredConnectionState: true);
+ await testController.waitForClients(requiredConnectionState: true);
// Terminate the VM.
- await appFixture.teardown();
+ await testController.appFixture.teardown();
// Ensure the client is marked as disconnected.
- await _waitForClients(requiredConnectionState: false);
+ await testController.waitForClients(requiredConnectionState: false);
// Start up a new app.
- await _startApp();
- await _send('vm.register', {'uri': appFixture.serviceUri.toString()});
+ await testController.startApp();
+ await testController.send(
+ 'vm.register',
+ {'uri': testController.appFixture.serviceUri.toString()},
+ );
// Send a new request to launch.
- await _sendLaunchDevToolsRequest(
+ await testController.sendLaunchDevToolsRequest(
useVmService: useVmService,
reuseWindows: true,
notify: true,
@@ -445,125 +356,14 @@
// Ensure we now have a single connected client.
final serverResponse =
- await _waitForClients(requiredConnectionState: true);
+ await testController.waitForClients(requiredConnectionState: true);
expect(serverResponse['clients'], hasLength(1));
expect(serverResponse['clients'][0]['hasConnection'], isTrue);
expect(
serverResponse['clients'][0]['vmServiceUri'],
- appFixture.serviceUri.toString(),
+ testController.appFixture.serviceUri.toString(),
);
}, timeout: const Timeout.factor(20));
});
}
}
-
-Future<Map<String, dynamic>> _sendLaunchDevToolsRequest({
- required bool useVmService,
- String? page,
- bool notify = false,
- bool reuseWindows = false,
-}) async {
- print('grabbing client.launch event');
- final launchEvent = events.where((e) => e['event'] == 'client.launch').first;
- if (useVmService) {
- await appFixture.serviceConnection.callMethod(
- registeredServices[DevToolsServer.launchDevToolsService]!,
- args: {
- 'reuseWindows': reuseWindows,
- 'page': page,
- 'notify': notify,
- },
- );
- } else {
- await _send(
- 'devTools.launch',
- {
- 'vmServiceUri': appFixture.serviceUri.toString(),
- 'reuseWindows': reuseWindows,
- 'page': page,
- },
- );
- }
- final response = await launchEvent;
- final pid = response['params']['pid'];
- if (pid != null) {
- browserPids.add(pid);
- }
- return response['params'];
-}
-
-Future<void> _startApp() async {
- final appUri =
- Platform.script.resolveUri(Uri.parse('../fixtures/empty_dart_app.dart'));
- appFixture = await CliAppFixture.create(appUri.path);
-
- // Track services method names as they're registered.
- appFixture.serviceConnection
- .onEvent(EventStreams.kService)
- .where((e) => e.kind == EventKind.kServiceRegistered)
- .listen((e) => registeredServices[e.service!] = e.method!);
- await appFixture.serviceConnection.streamListen(EventStreams.kService);
-}
-
-int nextId = 0;
-Future<Map<String, dynamic>> _send(
- String method, [
- Map<String, dynamic>? params,
-]) {
- final id = (nextId++).toString();
- completers[id] = Completer<Map<String, dynamic>>();
- server.write({'id': id.toString(), 'method': method, 'params': params});
- return completers[id]!.future;
-}
-
-// It may take time for the servers client list to be updated as the web app
-// connects, so this helper just polls waiting for the expected state and
-// then returns the client list.
-Future<Map<String, dynamic>> _waitForClients({
- bool? requiredConnectionState,
- String? requiredPage,
- bool expectNone = false,
- bool useLongTimeout = false,
- Duration delayDuration = defaultDelay,
-}) async {
- late Map<String, dynamic> serverResponse;
-
- final isOnPage = (client) => client['currentPage'] == requiredPage;
- final hasConnectionState = (client) => requiredConnectionState ?? false
- // If we require a connected client, also require a non-null page. This
- // avoids a race in tests where we may proceed to send messages to a client
- // that is not fully initialised.
- ? (client['hasConnection'] && client['currentPage'] != null)
- : !client['hasConnection'];
-
- await _waitFor(
- () async {
- // Await a short delay to give the client time to connect.
- await delay();
-
- serverResponse = await _send('client.list');
- final clients = serverResponse['clients'];
- return clients is List &&
- (clients.isEmpty == expectNone) &&
- (requiredPage == null || clients.any(isOnPage)) &&
- (requiredConnectionState == null || clients.any(hasConnectionState));
- },
- delayDuration: delayDuration,
- );
-
- return serverResponse;
-}
-
-Future<void> _waitFor(
- Future<bool> condition(), {
- Duration delayDuration = defaultDelay,
-}) async {
- while (true) {
- if (await condition()) {
- return;
- }
- await delay(duration: delayDuration);
- }
-}
-
-const defaultDelay = Duration(milliseconds: 500);
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro.dart b/pkg/front_end/lib/src/fasta/kernel/macro.dart
index b820d53..5a9d010 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro.dart
@@ -36,6 +36,12 @@
bool enableMacros = false;
+/// Enables macros whether the Macro class actually exists in the transitive
+/// deps or not. This allows for easier experimentation.
+///
+/// TODO: Remove this once it is no longer necessary.
+bool forceEnableMacros = false;
+
const String augmentationScheme = 'org-dartlang-augmentation';
final Uri macroLibraryUri =
@@ -702,8 +708,10 @@
// declarations?
return new macro.FieldDeclarationImpl(
id: macro.RemoteInstance.uniqueId,
- identifier: new macro.IdentifierImpl(
- id: macro.RemoteInstance.uniqueId, name: builder.name),
+ identifier: new _IdentifierImpl.forMemberBuilder(
+ memberBuilder: builder,
+ id: macro.RemoteInstance.uniqueId,
+ name: builder.name),
definingClass: definingClass.identifier as macro.IdentifierImpl,
isExternal: builder.isExternal,
isFinal: builder.isFinal,
@@ -713,8 +721,10 @@
} else {
return new macro.VariableDeclarationImpl(
id: macro.RemoteInstance.uniqueId,
- identifier: new macro.IdentifierImpl(
- id: macro.RemoteInstance.uniqueId, name: builder.name),
+ identifier: new _IdentifierImpl.forMemberBuilder(
+ memberBuilder: builder,
+ id: macro.RemoteInstance.uniqueId,
+ name: builder.name),
isExternal: builder.isExternal,
isFinal: builder.isFinal,
isLate: builder.isLate,
diff --git a/pkg/front_end/lib/src/fasta/source/source_loader.dart b/pkg/front_end/lib/src/fasta/source/source_loader.dart
index 2db7bc2..a281736 100644
--- a/pkg/front_end/lib/src/fasta/source/source_loader.dart
+++ b/pkg/front_end/lib/src/fasta/source/source_loader.dart
@@ -1587,7 +1587,9 @@
}
Future<MacroApplications?> computeMacroApplications() async {
- if (!enableMacros || _macroClassBuilder == null) return null;
+ if ((!enableMacros || _macroClassBuilder == null) && !forceEnableMacros) {
+ return null;
+ }
Map<SourceLibraryBuilder, LibraryMacroApplicationData> libraryData = {};
for (SourceLibraryBuilder libraryBuilder in sourceLibraryBuilders) {
diff --git a/pkg/front_end/test/spell_checking_list_code.txt b/pkg/front_end/test/spell_checking_list_code.txt
index bd9f6ed..0093dce 100644
--- a/pkg/front_end/test/spell_checking_list_code.txt
+++ b/pkg/front_end/test/spell_checking_list_code.txt
@@ -428,6 +428,7 @@
exp
expando
expense
+experimentation
explaining
exportable
exportee
diff --git a/pkg/front_end/testcases/general/issue48373.dart b/pkg/front_end/testcases/general/issue48373.dart
new file mode 100644
index 0000000..4b95346
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart
@@ -0,0 +1,10 @@
+// Copyright (c) 2022, 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.
+
+void fn<T, S>(T? t, S? s) {
+ var x = [t!, s!];
+ List<Object> y = x; // Ok.
+}
+
+main() {}
diff --git a/pkg/front_end/testcases/general/issue48373.dart.textual_outline.expect b/pkg/front_end/testcases/general/issue48373.dart.textual_outline.expect
new file mode 100644
index 0000000..2854a9f
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart.textual_outline.expect
@@ -0,0 +1,2 @@
+void fn<T, S>(T? t, S? s) {}
+main() {}
diff --git a/pkg/front_end/testcases/general/issue48373.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/general/issue48373.dart.textual_outline_modelled.expect
new file mode 100644
index 0000000..fada1de
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart.textual_outline_modelled.expect
@@ -0,0 +1,2 @@
+main() {}
+void fn<T, S>(T? t, S? s) {}
diff --git a/pkg/front_end/testcases/general/issue48373.dart.weak.expect b/pkg/front_end/testcases/general/issue48373.dart.weak.expect
new file mode 100644
index 0000000..79628fe
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart.weak.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method fn<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::fn::T? t, self::fn::S? s) → void {
+ core::List<core::Object> x = <core::Object>[t!, s!];
+ core::List<core::Object> y = x;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue48373.dart.weak.modular.expect b/pkg/front_end/testcases/general/issue48373.dart.weak.modular.expect
new file mode 100644
index 0000000..79628fe
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart.weak.modular.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method fn<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::fn::T? t, self::fn::S? s) → void {
+ core::List<core::Object> x = <core::Object>[t!, s!];
+ core::List<core::Object> y = x;
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/general/issue48373.dart.weak.outline.expect b/pkg/front_end/testcases/general/issue48373.dart.weak.outline.expect
new file mode 100644
index 0000000..9427480
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart.weak.outline.expect
@@ -0,0 +1,8 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method fn<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::fn::T? t, self::fn::S? s) → void
+ ;
+static method main() → dynamic
+ ;
diff --git a/pkg/front_end/testcases/general/issue48373.dart.weak.transformed.expect b/pkg/front_end/testcases/general/issue48373.dart.weak.transformed.expect
new file mode 100644
index 0000000..0a0e052
--- /dev/null
+++ b/pkg/front_end/testcases/general/issue48373.dart.weak.transformed.expect
@@ -0,0 +1,9 @@
+library /*isNonNullableByDefault*/;
+import self as self;
+import "dart:core" as core;
+
+static method fn<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(self::fn::T? t, self::fn::S? s) → void {
+ core::List<core::Object> x = core::_GrowableList::_literal2<core::Object>(t!, s!);
+ core::List<core::Object> y = x;
+}
+static method main() → dynamic {}
diff --git a/pkg/frontend_server/lib/compute_kernel.dart b/pkg/frontend_server/lib/compute_kernel.dart
index e9aac60..f16b938 100644
--- a/pkg/frontend_server/lib/compute_kernel.dart
+++ b/pkg/frontend_server/lib/compute_kernel.dart
@@ -11,12 +11,20 @@
import 'dart:async';
import 'dart:io';
+import 'package:_fe_analyzer_shared/src/macros/executor/isolated_executor.dart'
+ as isolatedExecutor;
+import 'package:_fe_analyzer_shared/src/macros/executor/process_executor.dart'
+ as processExecutor;
+import 'package:_fe_analyzer_shared/src/macros/executor/serialization.dart'
+ show SerializationMode;
import 'package:args/args.dart';
import 'package:build_integration/file_system/multi_root.dart';
import 'package:compiler/src/kernel/dart2js_target.dart';
import 'package:dev_compiler/src/kernel/target.dart';
import 'package:front_end/src/api_prototype/incremental_kernel_generator.dart';
+import 'package:front_end/src/api_prototype/experimental_flags.dart';
import 'package:front_end/src/api_unstable/bazel_worker.dart' as fe;
+import 'package:front_end/src/fasta/kernel/macro.dart';
import 'package:kernel/ast.dart' show Component, Library, Reference;
import 'package:kernel/target/targets.dart';
import 'package:vm/target/flutter.dart';
@@ -94,7 +102,22 @@
help: 'Sets the verbosity level used for filtering messages during '
'compilation.',
allowed: fe.Verbosity.allowedValues,
- allowedHelp: fe.Verbosity.allowedValuesHelp);
+ allowedHelp: fe.Verbosity.allowedValuesHelp)
+ ..addMultiOption('precompiled-macro',
+ help: 'Configuration for precompiled macro binaries or kernel files.\n'
+ 'Must be used in combination with --precompiled-macro-format.\n'
+ 'The expected format of this option is as follows: '
+ '<macro-library-uri>;<absolute-path-to-binary>\nFor example: '
+ '--precompiled-macro="package:some_macro/some_macro.dart;'
+ '/path/to/compiled/macro"')
+ ..addOption('precompiled-macro-format',
+ help: 'The format for precompiled macros.',
+ allowed: ['aot', 'kernel'],
+ defaultsTo: 'aot')
+ ..addOption('macro-serialization-mode',
+ help: 'The serialization mode for communicating with macros.',
+ allowed: ['bytedata', 'json'],
+ defaultsTo: 'bytedata');
class ComputeKernelResult {
final bool succeeded;
@@ -273,6 +296,51 @@
nnbdMode: nnbdMode);
}
+ // Either set up or reset the state for macros based on experiment status.
+ // TODO: Make this a part of `initializeCompiler`, if/when we want to make it
+ // more widely supported.
+ if (state.processedOpts
+ .isExperimentEnabledGlobally(ExperimentalFlag.macros)) {
+ enableMacros = true;
+ forceEnableMacros = true;
+
+ SerializationMode serializationMode;
+ switch (parsedArgs['macro-serialization-mode']) {
+ case 'json':
+ serializationMode = SerializationMode.jsonServer;
+ break;
+ case 'bytedata':
+ serializationMode = SerializationMode.byteDataServer;
+ break;
+ default:
+ throw ArgumentError('Unrecognized macro serialization mode '
+ '${parsedArgs['macro-serialization-mode']}');
+ }
+
+ var format = parsedArgs['precompiled-macro-format'];
+ switch (format) {
+ case 'kernel':
+ state.options.macroExecutorProvider =
+ () => isolatedExecutor.start(serializationMode);
+ break;
+ case 'aot':
+ state.options.macroExecutorProvider =
+ () => processExecutor.start(serializationMode);
+ break;
+ default:
+ throw ArgumentError('Unrecognized precompiled macro format $format');
+ }
+ var precompiledMacroUris = state.options.precompiledMacroUris = {};
+ for (var parts in (parsedArgs['precompiled-macro'] as List<String>)
+ .map((arg) => arg.split(';'))) {
+ precompiledMacroUris[Uri.parse(parts[0])] = toUri(parts[1]);
+ }
+ } else {
+ enableMacros = false;
+ forceEnableMacros = false;
+ state.options.precompiledMacroUris = {};
+ }
+
void onDiagnostic(fe.DiagnosticMessage message) {
if (fe.Verbosity.shouldPrint(verbosity, message)) {
fe.printDiagnosticMessage(message, out.writeln);
diff --git a/pkg/frontend_server/pubspec.yaml b/pkg/frontend_server/pubspec.yaml
index a3c97a6..9985e92 100644
--- a/pkg/frontend_server/pubspec.yaml
+++ b/pkg/frontend_server/pubspec.yaml
@@ -8,6 +8,8 @@
dependencies:
args: ^2.0.0
+ _fe_analyzer_shared:
+ path: ../_fe_analyzer_shared
build_integration:
path: ../build_integration
compiler:
diff --git a/pkg/kernel/lib/src/standard_bounds.dart b/pkg/kernel/lib/src/standard_bounds.dart
index 9dc32175..d929862 100644
--- a/pkg/kernel/lib/src/standard_bounds.dart
+++ b/pkg/kernel/lib/src/standard_bounds.dart
@@ -1274,8 +1274,7 @@
type2,
clientLibrary)
.withDeclaredNullability(uniteNullabilities(
- type1.promotedBound!.declaredNullability,
- type2.declaredNullability));
+ type1.promotedBound!.declaredNullability, type2.nullability));
}
}
diff --git a/pkg/nnbd_migration/test/abstract_context.dart b/pkg/nnbd_migration/test/abstract_context.dart
index b096215..d4e0c8e 100644
--- a/pkg/nnbd_migration/test/abstract_context.dart
+++ b/pkg/nnbd_migration/test/abstract_context.dart
@@ -109,7 +109,7 @@
File addPackageFile(String packageName, String pathInLib, String content) {
var packagePath = '/.pub-cache/$packageName';
knownPackages.add(packageName);
- return newFile('$packagePath/lib/$pathInLib', content: content);
+ return newFile2('$packagePath/lib/$pathInLib', content);
}
/// Add the quiver package and a library with URI,
@@ -125,7 +125,7 @@
}
Source addSource(String path, String content, [Uri? uri]) {
- File file = newFile(path, content: content);
+ File file = newFile2(path, content);
return file.createSource(uri);
}
@@ -171,13 +171,13 @@
);
newFolder(testsPath);
- newFile('$testsPath/.packages', content: '''
+ newFile2('$testsPath/.packages', '''
tests:file://$testsPath/lib
''');
var pubspecPath = '$testsPath/pubspec.yaml';
// Subclasses may write out a different file first.
if (!getFile(pubspecPath).exists) {
- newFile(pubspecPath, content: '''
+ newFile2(pubspecPath, '''
name: tests
version: 1.0.0
environment:
@@ -215,8 +215,8 @@
'generator': 'pub',
'generatorVersion': '2.10.0'
};
- newFile('$testsPath/.dart_tool/package_config.json',
- content: JsonEncoder.withIndent(' ').convert(packageConfigJson));
+ newFile2('$testsPath/.dart_tool/package_config.json',
+ JsonEncoder.withIndent(' ').convert(packageConfigJson));
_analysisContextCollection = AnalysisContextCollectionImpl(
includedPaths: [convertPath(homePath)],
enableIndex: true,
diff --git a/pkg/nnbd_migration/test/abstract_single_unit.dart b/pkg/nnbd_migration/test/abstract_single_unit.dart
index 7934ab3..c5b466d 100644
--- a/pkg/nnbd_migration/test/abstract_single_unit.dart
+++ b/pkg/nnbd_migration/test/abstract_single_unit.dart
@@ -62,7 +62,7 @@
void setUp() {
var testRoot = testsPath;
if (analyzeWithNnbd) {
- newFile('$testRoot/analysis_options.yaml', content: '''
+ newFile2('$testRoot/analysis_options.yaml', '''
analyzer:
enable-experiment:
- non-nullable
diff --git a/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart b/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
index dcc89c4..4670640 100644
--- a/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
+++ b/pkg/nnbd_migration/test/already_migrated_code_decorator_test.dart
@@ -612,7 +612,7 @@
class _ContextWithFiles with ResourceProviderMixin {
Future<_ContextWithUnitElement> buildUnitElement(String content) async {
- var file = newFile('/home/test/lib/test.dart', content: content);
+ var file = newFile2('/home/test/lib/test.dart', content);
var sdkRoot = newFolder('/sdk');
createMockSdk(
diff --git a/pkg/nnbd_migration/test/api_test.dart b/pkg/nnbd_migration/test/api_test.dart
index c88be9a..12f9b92 100644
--- a/pkg/nnbd_migration/test/api_test.dart
+++ b/pkg/nnbd_migration/test/api_test.dart
@@ -54,10 +54,10 @@
bool warnOnWeakCode = false,
bool allowErrors = false}) async {
for (var path in migratedInput.keys) {
- newFile(path, content: migratedInput[path]!);
+ newFile2(path, migratedInput[path]!);
}
for (var path in input.keys) {
- newFile(path, content: input[path]!);
+ newFile2(path, input[path]!);
}
var listener = TestMigrationListener();
var migration = NullabilityMigration(listener,
diff --git a/pkg/nnbd_migration/test/front_end/analysis_abstract.dart b/pkg/nnbd_migration/test/front_end/analysis_abstract.dart
index dea20d0..41f2ec0 100644
--- a/pkg/nnbd_migration/test/front_end/analysis_abstract.dart
+++ b/pkg/nnbd_migration/test/front_end/analysis_abstract.dart
@@ -16,14 +16,14 @@
AbstractAnalysisTest();
void addAnalysisOptionsFile(String content) {
- newFile(
+ newFile2(
resourceProvider.pathContext
.join(projectPath!, 'analysis_options.yaml'),
- content: content);
+ content);
}
String? addTestFile(String content) {
- newFile(testFile!, content: content);
+ newFile2(testFile!, content);
testCode = content;
return testFile;
}
diff --git a/pkg/nnbd_migration/test/front_end/nnbd_migration_test_base.dart b/pkg/nnbd_migration/test/front_end/nnbd_migration_test_base.dart
index 047149f..b061405 100644
--- a/pkg/nnbd_migration/test/front_end/nnbd_migration_test_base.dart
+++ b/pkg/nnbd_migration/test/front_end/nnbd_migration_test_base.dart
@@ -193,7 +193,7 @@
shouldBeMigratedFunction ??= (String? path) => true;
var testPaths = <String>[];
files.forEach((String path, String content) {
- newFile(path, content: content);
+ newFile2(path, content);
testPaths.add(path);
});
pathsToProcess ??= testPaths;
diff --git a/pkg/nnbd_migration/test/instrumentation_test.dart b/pkg/nnbd_migration/test/instrumentation_test.dart
index f9a4131..d0913a7 100644
--- a/pkg/nnbd_migration/test/instrumentation_test.dart
+++ b/pkg/nnbd_migration/test/instrumentation_test.dart
@@ -142,7 +142,7 @@
Future<void> analyze(String content,
{bool removeViaComments = false, bool warnOnWeakCode = true}) async {
var sourcePath = convertPath('$testsPath/lib/test.dart');
- newFile(sourcePath, content: content);
+ newFile2(sourcePath, content);
var listener = TestMigrationListener();
var migration = NullabilityMigration(listener,
instrumentation: _InstrumentationClient(this),
diff --git a/pkg/pkg.status b/pkg/pkg.status
index 185ab05..7122a64 100644
--- a/pkg/pkg.status
+++ b/pkg/pkg.status
@@ -47,7 +47,6 @@
dartdev/test/commands/analyze_test: Slow, Pass
dartdev/test/commands/help_test: Slow, Pass
dartdev/test/smoke/*: Slow, Pass
-dds/test/devtools_server/devtools_server_test: Slow, Pass
dev_compiler/test/modular/*: Slow, Pass
dev_compiler/test/options/*: Skip # test needs fixes
dev_compiler/test/sourcemap/*: SkipByDesign # Skip sourcemap tests
@@ -146,6 +145,7 @@
vm_snapshot_analysis/test/*: SkipByDesign # Only meant to run on vm
[ $system == windows ]
+dds/test/devtools_server/devtools_server_connection_test: Skip # Issue 48528
dds/test/devtools_server/devtools_server_test: Skip # Issue 48528
front_end/test/fasta/bootstrap_test: Skip # Issue 31902
front_end/test/fasta/strong_test: Pass, Slow, Timeout
diff --git a/runtime/bin/main_options.cc b/runtime/bin/main_options.cc
index 83c1408..7cb1c3f 100644
--- a/runtime/bin/main_options.cc
+++ b/runtime/bin/main_options.cc
@@ -666,6 +666,10 @@
if (implicitly_use_dart_dev && Options::vm_service_auth_disabled()) {
dart_options->AddArgument("--disable-service-auth-codes");
}
+ if (implicitly_use_dart_dev &&
+ Options::enable_service_port_fallback()) {
+ dart_options->AddArgument("--enable-service-port-fallback");
+ }
}
first_option = false;
}
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 4b789f8..2b6b9c2 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -5416,7 +5416,9 @@
AbstractType::Handle(zone, type_arguments.TypeAtNullSafe(0));
// If T0 is Future<S0>, then T0 <: Future<S1>, iff S0 <: S1.
if (type_arg.IsSubtypeOf(other_type_arg, space, trail)) {
- if (verified_nullability) {
+ // verified_nullability doesn't take into account the nullability of
+ // S1, just of the FutureOr type.
+ if (verified_nullability || !other_type_arg.IsNonNullable()) {
return true;
}
}
@@ -19847,14 +19849,8 @@
ASSERT(object_store->nullable_future_null_type() != Type::null());
return object_store->nullable_future_null_type();
}
- // To avoid having to special case FutureOr in nullability checks, we lift
- // the nullability of the type argument to FutureOr as appropriate.
- if (IsNullable() || unwrapped_type.IsNullable()) {
- // FutureOr<T?> = FutureOr<T?>* = FutureOr<T?>?, so mark as nullable.
- return Type::Cast(*this).ToNullability(Nullability::kNullable, space);
- } else if (unwrapped_type.IsLegacy()) {
- // FutureOr<T*> = FutureOr<T*>*, so mark as legacy.
- return Type::Cast(*this).ToNullability(Nullability::kLegacy, space);
+ if (IsNullable() && unwrapped_type.IsNullable()) {
+ return Type::Cast(*this).ToNullability(Nullability::kNonNullable, space);
}
}
return ptr();
diff --git a/runtime/vm/os_thread_absl.cc b/runtime/vm/os_thread_absl.cc
index d922da8..65ab3a0 100644
--- a/runtime/vm/os_thread_absl.cc
+++ b/runtime/vm/os_thread_absl.cc
@@ -409,7 +409,7 @@
void Monitor::NotifyAll() {
// When running with assertions enabled we track the owner.
ASSERT(IsOwnedByCurrentThread());
- xdata_.cond()->SignalAll();
+ data_.cond()->SignalAll();
}
} // namespace dart
diff --git a/runtime/vm/timeline.cc b/runtime/vm/timeline.cc
index 13f4ab9..c242cda 100644
--- a/runtime/vm/timeline.cc
+++ b/runtime/vm/timeline.cc
@@ -91,6 +91,9 @@
// |TimelineEventRecorder::lock_|
//
+std::atomic<bool> RecorderLock::shutdown_lock_ = {false};
+std::atomic<intptr_t> RecorderLock::outstanding_event_writes_ = {0};
+
static TimelineEventRecorder* CreateTimelineRecorder() {
// Some flags require that we use the endless recorder.
const bool use_endless_recorder =
@@ -223,6 +226,7 @@
TIMELINE_STREAM_LIST(TIMELINE_STREAM_DISABLE)
#undef TIMELINE_STREAM_DISABLE
Timeline::Clear();
+ RecorderLock::WaitForShutdown();
delete recorder_;
recorder_ = NULL;
if (enabled_streams_ != NULL) {
@@ -236,8 +240,9 @@
}
void Timeline::ReclaimCachedBlocksFromThreads() {
+ RecorderLockScope rl;
TimelineEventRecorder* recorder = Timeline::recorder();
- if (recorder == NULL) {
+ if (recorder == NULL || rl.IsShuttingDown()) {
return;
}
@@ -269,8 +274,9 @@
void Timeline::PrintFlagsToJSON(JSONStream* js) {
JSONObject obj(js);
obj.AddProperty("type", "TimelineFlags");
+ RecorderLockScope rl;
TimelineEventRecorder* recorder = Timeline::recorder();
- if (recorder == NULL) {
+ if (recorder == NULL || rl.IsShuttingDown()) {
obj.AddProperty("recorderName", "null");
} else {
obj.AddProperty("recorderName", recorder->name());
@@ -294,8 +300,9 @@
#endif
void Timeline::Clear() {
+ RecorderLockScope rl;
TimelineEventRecorder* recorder = Timeline::recorder();
- if (recorder == NULL) {
+ if (recorder == NULL || rl.IsShuttingDown()) {
return;
}
ReclaimCachedBlocksFromThreads();
@@ -553,9 +560,9 @@
void TimelineEvent::Complete() {
TimelineEventRecorder* recorder = Timeline::recorder();
- if (recorder != NULL) {
- recorder->CompleteEvent(this);
- }
+ recorder->CompleteEvent(this);
+ // Paired with RecorderLock::EnterLock() in TimelineStream::StartEvent().
+ RecorderLock::ExitLock();
}
void TimelineEvent::Init(EventType event_type, const char* label) {
@@ -771,15 +778,24 @@
}
TimelineEvent* TimelineStream::StartEvent() {
+ // Paired with RecorderLock::ExitLock() in TimelineEvent::Complete().
+ //
+ // The lock must be held until the event is completed to avoid having the
+ // memory backing the event being freed in the middle of processing the
+ // event.
+ RecorderLock::EnterLock();
TimelineEventRecorder* recorder = Timeline::recorder();
- if (!enabled() || (recorder == NULL)) {
- return NULL;
+ if (!enabled() || (recorder == nullptr) || RecorderLock::IsShuttingDown()) {
+ RecorderLock::ExitLock();
+ return nullptr;
}
- ASSERT(name_ != NULL);
+ ASSERT(name_ != nullptr);
TimelineEvent* event = recorder->StartEvent();
- if (event != NULL) {
- event->StreamInit(this);
+ if (event == nullptr) {
+ RecorderLock::ExitLock();
+ return nullptr;
}
+ event->StreamInit(this);
return event;
}
diff --git a/runtime/vm/timeline.h b/runtime/vm/timeline.h
index f4389ce..94998ca 100644
--- a/runtime/vm/timeline.h
+++ b/runtime/vm/timeline.h
@@ -121,6 +121,48 @@
#endif
};
+class RecorderLock : public AllStatic {
+ public:
+ static void EnterLock() {
+ outstanding_event_writes_.fetch_add(1, std::memory_order_acquire);
+ }
+
+ static void ExitLock() {
+ intptr_t count =
+ outstanding_event_writes_.fetch_sub(1, std::memory_order_release);
+ ASSERT(count >= 0);
+ }
+
+ static bool IsShuttingDown() {
+ return shutdown_lock_.load(std::memory_order_relaxed);
+ }
+
+ static void WaitForShutdown() {
+ shutdown_lock_.exchange(true);
+ // Spin waiting for outstanding events to be completed.
+ while (outstanding_event_writes_.load(std::memory_order_relaxed) > 0) {
+ }
+ }
+
+ private:
+ static std::atomic<bool> shutdown_lock_;
+ static std::atomic<intptr_t> outstanding_event_writes_;
+
+ DISALLOW_COPY_AND_ASSIGN(RecorderLock);
+};
+
+class RecorderLockScope {
+ public:
+ RecorderLockScope() { RecorderLock::EnterLock(); }
+
+ ~RecorderLockScope() { RecorderLock::ExitLock(); }
+
+ bool IsShuttingDown() { return RecorderLock::IsShuttingDown(); }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(RecorderLockScope);
+};
+
class Timeline : public AllStatic {
public:
// Initialize timeline system. Not thread safe.
@@ -166,6 +208,8 @@
TIMELINE_STREAM_LIST(TIMELINE_STREAM_DECLARE)
#undef TIMELINE_STREAM_DECLARE
+ static RecorderLock recorder_lock_;
+
template <class>
friend class TimelineRecorderOverride;
friend class ReclaimBlocksIsolateVisitor;
diff --git a/sdk/lib/_internal/vm/bin/vmservice_io.dart b/sdk/lib/_internal/vm/bin/vmservice_io.dart
index 3df0e4c..033a9cf 100644
--- a/sdk/lib/_internal/vm/bin/vmservice_io.dart
+++ b/sdk/lib/_internal/vm/bin/vmservice_io.dart
@@ -103,6 +103,7 @@
enableDevTools.toString(),
devToolsBinaries,
enableLogging.toString(),
+ _enableServicePortFallback.toString(),
],
mode: ProcessStartMode.detachedWithStdio,
);
diff --git a/sdk/lib/_internal/vm/bin/vmservice_server.dart b/sdk/lib/_internal/vm/bin/vmservice_server.dart
index c8e61b2..0cdf1f2 100644
--- a/sdk/lib/_internal/vm/bin/vmservice_server.dart
+++ b/sdk/lib/_internal/vm/bin/vmservice_server.dart
@@ -409,11 +409,8 @@
// Already running.
return this;
}
-
// Startup HTTP server.
- var pollError;
- var pollStack;
- Future<bool> poll() async {
+ Future<void> startServer() async {
try {
var address;
var addresses = await InternetAddress.lookup(_ip);
@@ -423,33 +420,22 @@
if (address.type == InternetAddressType.IPv4) break;
}
_server = await HttpServer.bind(address, _port);
- return true;
} catch (e, st) {
- pollError = e;
- pollStack = st;
- return false;
+ if (_port != 0 && _enableServicePortFallback) {
+ serverPrint('Failed to bind Observatory HTTP server to port $_port. '
+ 'Falling back to automatic port selection');
+ _port = 0;
+ await startServer();
+ } else {
+ serverPrint('Could not start Observatory HTTP server:\n'
+ '$e\n$st');
+ _notifyServerState('');
+ onServerAddressChange(null);
+ }
}
}
- // poll for the network for ~10 seconds.
- int attempts = 0;
- final maxAttempts = 10;
- while (!await poll()) {
- attempts++;
- serverPrint('Observatory server failed to start after $attempts tries');
- if (attempts > maxAttempts) {
- serverPrint('Could not start Observatory HTTP server:\n'
- '$pollError\n$pollStack\n');
- _notifyServerState('');
- onServerAddressChange(null);
- return this;
- }
- if (_port != 0 && _enableServicePortFallback && attempts >= 3) {
- _port = 0;
- serverPrint('Falling back to automatic port selection');
- }
- await Future<void>.delayed(const Duration(seconds: 1));
- }
+ await startServer();
if (_service.isExiting) {
serverPrint('Observatory HTTP server exiting before listening as '
'vm service has received exit request\n');
diff --git a/tests/web/regress/issue/48422_test.dart b/tests/web/regress/issue/48422_test.dart
new file mode 100644
index 0000000..ea7886c
--- /dev/null
+++ b/tests/web/regress/issue/48422_test.dart
@@ -0,0 +1,51 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+
+void main() {
+ testTryFinally();
+ testTryCatchFinally();
+}
+
+void testTryFinally() {
+ callback(Map<String, dynamic> m) {
+ Expect.isNull(m['foo']);
+ }
+
+ var val;
+ try {
+ try {
+ val = <String, dynamic>{};
+ } catch (_) {
+ val = {}.cast<String, dynamic>();
+ }
+ // This `return` means we consider the `try` block to abort. Nevertheless,
+ // the results of its inference must flow to the `finally`.
+ return;
+ } finally {
+ callback(val);
+ }
+}
+
+void testTryCatchFinally() {
+ callback(Map<String, dynamic> m) {
+ Expect.isNull(m['foo']);
+ }
+
+ var val;
+ try {
+ try {
+ val = <String, dynamic>{};
+ } catch (_) {
+ val = {}.cast<String, dynamic>();
+ }
+ // This `return` means we consider the `try` block to abort. Nevertheless,
+ // the results of its inference must flow to the `finally`.
+ return;
+ } catch (_) {
+ } finally {
+ callback(val);
+ }
+}
diff --git a/tests/web_2/regress/issue/48422_test.dart b/tests/web_2/regress/issue/48422_test.dart
new file mode 100644
index 0000000..ea7886c
--- /dev/null
+++ b/tests/web_2/regress/issue/48422_test.dart
@@ -0,0 +1,51 @@
+// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+
+void main() {
+ testTryFinally();
+ testTryCatchFinally();
+}
+
+void testTryFinally() {
+ callback(Map<String, dynamic> m) {
+ Expect.isNull(m['foo']);
+ }
+
+ var val;
+ try {
+ try {
+ val = <String, dynamic>{};
+ } catch (_) {
+ val = {}.cast<String, dynamic>();
+ }
+ // This `return` means we consider the `try` block to abort. Nevertheless,
+ // the results of its inference must flow to the `finally`.
+ return;
+ } finally {
+ callback(val);
+ }
+}
+
+void testTryCatchFinally() {
+ callback(Map<String, dynamic> m) {
+ Expect.isNull(m['foo']);
+ }
+
+ var val;
+ try {
+ try {
+ val = <String, dynamic>{};
+ } catch (_) {
+ val = {}.cast<String, dynamic>();
+ }
+ // This `return` means we consider the `try` block to abort. Nevertheless,
+ // the results of its inference must flow to the `finally`.
+ return;
+ } catch (_) {
+ } finally {
+ callback(val);
+ }
+}
diff --git a/tools/VERSION b/tools/VERSION
index 14c3783..5aeac38 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 17
PATCH 0
-PRERELEASE 205
+PRERELEASE 206
PRERELEASE_PATCH 0
\ No newline at end of file