Version 3.9.0-140.0.dev
Merge 750ecda6b3ae0e8dfed34f488f0f4618610062b0 into dev
diff --git a/DEPS b/DEPS
index eaa1a16..912a292 100644
--- a/DEPS
+++ b/DEPS
@@ -98,7 +98,7 @@
# Prefer to use hashes of binaryen that have been reviewed & rolled into g3.
"binaryen_rev" : "b4bdcc33115b31758c56b83bb9de4642c411a042",
- "boringssl_rev": "136284f8548bc7fb43e99e7f69e03fab57168e8b",
+ "boringssl_rev": "a934ee9e1fe4397e682f9f18b1f4f061d7400f9d",
"browser-compat-data_tag": "ac8cae697014da1ff7124fba33b0b4245cc6cd1b", # v1.0.22
"cpu_features_rev": "936b9ab5515dead115606559502e3864958f7f6e",
"devtools_rev": "21132242f6e12b26e3d9c0f06109361f7e519608",
diff --git a/pkg/analysis_server/test/analysis_server_base.dart b/pkg/analysis_server/test/analysis_server_base.dart
index 0f9c58b..70541ef 100644
--- a/pkg/analysis_server/test/analysis_server_base.dart
+++ b/pkg/analysis_server/test/analysis_server_base.dart
@@ -276,12 +276,20 @@
);
}
+ /// Deletes the analysis options YAML file at [testPackageRootPath].
void deleteTestPackageAnalysisOptionsFile() {
- deleteAnalysisOptionsYamlFile(testPackageRootPath);
+ var path = join(testPackageRootPath, file_paths.analysisOptionsYaml);
+ deleteFile(path);
}
+ /// Deletes the `package_config.json` file at [testPackageRootPath].
void deleteTestPackageConfigJsonFile() {
- deletePackageConfigJsonFile(testPackageRootPath);
+ var filePath = join(
+ testPackageRootPath,
+ file_paths.dotDartTool,
+ file_paths.packageConfigJson,
+ );
+ deleteFile(filePath);
}
/// Returns the offset of [search] in [testFileContent].
diff --git a/pkg/analyzer/lib/src/lint/linter.dart b/pkg/analyzer/lib/src/lint/linter.dart
index 052d011..780176d 100644
--- a/pkg/analyzer/lib/src/lint/linter.dart
+++ b/pkg/analyzer/lib/src/lint/linter.dart
@@ -2,6 +2,7 @@
// 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/features.dart';
import 'package:analyzer/dart/analysis/results.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
@@ -59,24 +60,13 @@
/// A list of incompatible rule ids.
List<String> get incompatibleRules => const [];
- /// The lint codes associated with this analysis rule.
- @Deprecated("Use 'diagnosticCodes' instead.")
- List<DiagnosticCode> get lintCodes => diagnosticCodes;
-
/// Returns a visitor that visits a [Pubspec] to perform analysis.
///
/// Diagnostics are reported via this [LintRule]'s error [reporter].
PubspecVisitor? get pubspecVisitor => null;
- @protected
- // Protected so that analysis rule visitors do not access this directly.
- // TODO(srawlins): With the new availability of an ErrorReporter on
- // LinterContextUnit, we should probably remove this reporter. But whatever
- // the new API would be is not yet decided. It might also change with the
- // notion of post-processing lint rules that have access to all unit
- // reporters at once.
- ErrorReporter get reporter => _reporter;
-
+ /// Sets the [ErrorReporter] for the [CompilationUnit] currently being
+ /// visited.
set reporter(ErrorReporter value) => _reporter = value;
/// Registers node processors in the given [registry].
@@ -95,7 +85,7 @@
required DiagnosticCode diagnosticCode,
}) {
if (node != null && !node.isSynthetic) {
- reporter.atNode(
+ _reporter.atNode(
node,
diagnosticCode,
arguments: arguments,
@@ -111,7 +101,7 @@
List<Object> arguments = const [],
List<DiagnosticMessage>? contextMessages,
}) {
- reporter.atOffset(
+ _reporter.atOffset(
offset: offset,
length: length,
errorCode: diagnosticCode,
@@ -135,7 +125,7 @@
arguments: arguments,
contextMessages: contextMessages,
);
- reporter.reportError(diagnostic);
+ _reporter.reportError(diagnostic);
}
void _reportAtToken(
@@ -145,7 +135,7 @@
List<DiagnosticMessage>? contextMessages,
}) {
if (!token.isSynthetic) {
- reporter.atToken(
+ _reporter.atToken(
token,
diagnosticCode,
arguments: arguments,
@@ -166,10 +156,6 @@
@override
List<DiagnosticCode> get diagnosticCodes => [diagnosticCode];
- /// The code to report for a violation.
- @Deprecated("Use 'diagnosticCode' instead.")
- DiagnosticCode get lintCode => diagnosticCode;
-
/// Reports a diagnostic at [node] with message [arguments] and
/// [contextMessages].
void reportAtNode(
@@ -262,6 +248,9 @@
TypeSystem get typeSystem;
+ /// Whether the given [feature] is enabled in this linter context.
+ bool isFeatureEnabled(Feature feature);
+
static bool _isInLibDir(String? filePath, WorkspacePackage? package) {
if (package == null) return false;
if (filePath == null) return false;
@@ -313,6 +302,12 @@
throw UnsupportedError(
'LinterContext with parsed results does not include a TypeSystem',
);
+
+ @override
+ bool isFeatureEnabled(Feature feature) =>
+ throw UnsupportedError(
+ 'LinterContext with parsed results does not include a LibraryElement',
+ );
}
/// A [LinterContext] for a library, resolved into [ResolvedUnitResult]s.
@@ -362,6 +357,10 @@
@override
LibraryElement get libraryElement2 =>
definingUnit.unit.declaredFragment!.element;
+
+ @override
+ bool isFeatureEnabled(Feature feature) =>
+ libraryElement2.featureSet.isEnabled(feature);
}
/// Provides access to information needed by lint rules that is not available
@@ -436,7 +435,7 @@
arguments: arguments,
contextMessages: contextMessages,
);
- reporter.reportError(error);
+ _reporter.reportError(error);
}
/// Reports [errorCode] at [token], with message [arguments] and
diff --git a/pkg/analyzer_testing/api.txt b/pkg/analyzer_testing/api.txt
index 2d2c17a..a0eb688 100644
--- a/pkg/analyzer_testing/api.txt
+++ b/pkg/analyzer_testing/api.txt
@@ -29,10 +29,8 @@
pathContext (getter: Context)
resourceProvider (getter: ResourceProvider)
convertPath (method: String Function(String))
- deleteAnalysisOptionsYamlFile (method: void Function(String))
deleteFile (method: void Function(String))
deleteFolder (method: void Function(String))
- deletePackageConfigJsonFile (method: void Function(String))
fromUri (method: String Function(Uri))
getFile (method: File Function(String))
getFolder (method: Folder Function(String))
diff --git a/pkg/analyzer_testing/lib/resource_provider_mixin.dart b/pkg/analyzer_testing/lib/resource_provider_mixin.dart
index 3ee6b09..37fd80f 100644
--- a/pkg/analyzer_testing/lib/resource_provider_mixin.dart
+++ b/pkg/analyzer_testing/lib/resource_provider_mixin.dart
@@ -35,12 +35,6 @@
/// path context.
String convertPath(String filePath) => resourceProvider.convertPath(filePath);
- /// Deletes the analysis options YAML file at [directoryPath].
- void deleteAnalysisOptionsYamlFile(String directoryPath) {
- var path = join(directoryPath, file_paths.analysisOptionsYaml);
- deleteFile(path);
- }
-
/// Deletes the file at [path].
void deleteFile(String path) {
resourceProvider.getFile(convertPath(path)).delete();
@@ -51,16 +45,6 @@
resourceProvider.getFolder(convertPath(path)).delete();
}
- /// Deletes the `package_config.json` file at [directoryPath].
- void deletePackageConfigJsonFile(String directoryPath) {
- var path = join(
- directoryPath,
- file_paths.dotDartTool,
- file_paths.packageConfigJson,
- );
- deleteFile(path);
- }
-
/// Returns [uri] as a String.
String fromUri(Uri uri) {
return resourceProvider.pathContext.fromUri(uri);
diff --git a/pkg/linter/analysis_options.yaml b/pkg/linter/analysis_options.yaml
index 01918d6..ee6aa8a 100644
--- a/pkg/linter/analysis_options.yaml
+++ b/pkg/linter/analysis_options.yaml
@@ -48,6 +48,7 @@
- test_types_in_equals
- throw_in_finally
- unawaited_futures # pedantic
+ - unnecessary_async
- unnecessary_breaks
- unnecessary_final
- unnecessary_ignore
diff --git a/pkg/linter/lib/src/extensions.dart b/pkg/linter/lib/src/extensions.dart
index 3517833..0b26d1c 100644
--- a/pkg/linter/lib/src/extensions.dart
+++ b/pkg/linter/lib/src/extensions.dart
@@ -2,7 +2,6 @@
// 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/features.dart';
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/constant/value.dart';
@@ -16,7 +15,6 @@
show InvalidTypeImpl;
import 'package:collection/collection.dart';
-import 'analyzer.dart';
import 'util/dart_type_utilities.dart';
class EnumLikeClassDescription {
@@ -584,12 +582,6 @@
setters.firstWhereOrNull((s) => s.canonicalName == name);
}
-extension LinterContextExtension on LinterContext {
- /// Whether the given [feature] is enabled in this linter context.
- bool isEnabled(Feature feature) =>
- libraryElement2!.featureSet.isEnabled(feature);
-}
-
extension MethodDeclarationExtension on MethodDeclaration {
bool get hasInheritedMethod => lookUpInheritedMethod() != null;
diff --git a/pkg/linter/lib/src/rules/avoid_renaming_method_parameters.dart b/pkg/linter/lib/src/rules/avoid_renaming_method_parameters.dart
index f9eeda1..ef19f97 100644
--- a/pkg/linter/lib/src/rules/avoid_renaming_method_parameters.dart
+++ b/pkg/linter/lib/src/rules/avoid_renaming_method_parameters.dart
@@ -45,7 +45,9 @@
final LintRule rule;
_Visitor(this.rule, LinterContext context)
- : _wildCardVariablesEnabled = context.isEnabled(Feature.wildcard_variables);
+ : _wildCardVariablesEnabled = context.isFeatureEnabled(
+ Feature.wildcard_variables,
+ );
bool isWildcardIdentifier(String lexeme) =>
_wildCardVariablesEnabled && lexeme == '_';
diff --git a/pkg/linter/lib/src/rules/avoid_shadowing_type_parameters.dart b/pkg/linter/lib/src/rules/avoid_shadowing_type_parameters.dart
index f62d622..4823006 100644
--- a/pkg/linter/lib/src/rules/avoid_shadowing_type_parameters.dart
+++ b/pkg/linter/lib/src/rules/avoid_shadowing_type_parameters.dart
@@ -8,7 +8,6 @@
import 'package:analyzer/error/error.dart';
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = r'Avoid shadowing type parameters.';
@@ -42,7 +41,9 @@
final LintRule rule;
_Visitor(this.rule, LinterContext context)
- : _wildCardVariablesEnabled = context.isEnabled(Feature.wildcard_variables);
+ : _wildCardVariablesEnabled = context.isFeatureEnabled(
+ Feature.wildcard_variables,
+ );
@override
void visitFunctionDeclarationStatement(FunctionDeclarationStatement node) {
diff --git a/pkg/linter/lib/src/rules/invalid_case_patterns.dart b/pkg/linter/lib/src/rules/invalid_case_patterns.dart
index f03a8a6..3a3f93c 100644
--- a/pkg/linter/lib/src/rules/invalid_case_patterns.dart
+++ b/pkg/linter/lib/src/rules/invalid_case_patterns.dart
@@ -10,7 +10,6 @@
import 'package:analyzer/src/dart/ast/token.dart'; // ignore: implementation_imports
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = r'Use case expressions that are valid in Dart 3.0.';
@@ -34,7 +33,7 @@
) {
// This lint rule is only meant for code which does not have 'patterns'
// enabled.
- if (context.isEnabled(Feature.patterns)) return;
+ if (context.isFeatureEnabled(Feature.patterns)) return;
var visitor = _Visitor(this);
registry.addSwitchCase(this, visitor);
diff --git a/pkg/linter/lib/src/rules/library_prefixes.dart b/pkg/linter/lib/src/rules/library_prefixes.dart
index 1b55bbe..db39503 100644
--- a/pkg/linter/lib/src/rules/library_prefixes.dart
+++ b/pkg/linter/lib/src/rules/library_prefixes.dart
@@ -8,7 +8,6 @@
import 'package:analyzer/error/error.dart';
import '../analyzer.dart';
-import '../extensions.dart';
import '../utils.dart';
const _desc =
@@ -38,7 +37,9 @@
final LintRule rule;
_Visitor(this.rule, LinterContext context)
- : _wildCardVariablesEnabled = context.isEnabled(Feature.wildcard_variables);
+ : _wildCardVariablesEnabled = context.isFeatureEnabled(
+ Feature.wildcard_variables,
+ );
@override
void visitImportDirective(ImportDirective node) {
diff --git a/pkg/linter/lib/src/rules/no_leading_underscores_for_library_prefixes.dart b/pkg/linter/lib/src/rules/no_leading_underscores_for_library_prefixes.dart
index ce3ca53..bdeabe5 100644
--- a/pkg/linter/lib/src/rules/no_leading_underscores_for_library_prefixes.dart
+++ b/pkg/linter/lib/src/rules/no_leading_underscores_for_library_prefixes.dart
@@ -8,7 +8,6 @@
import 'package:analyzer/error/error.dart';
import '../analyzer.dart';
-import '../extensions.dart';
import '../util/ascii_utils.dart';
const _desc = r'Avoid leading underscores for library prefixes.';
@@ -41,7 +40,9 @@
final LintRule rule;
_Visitor(this.rule, LinterContext context)
- : _wildCardVariablesEnabled = context.isEnabled(Feature.wildcard_variables);
+ : _wildCardVariablesEnabled = context.isFeatureEnabled(
+ Feature.wildcard_variables,
+ );
void checkIdentifier(SimpleIdentifier? id) {
if (id == null) return;
diff --git a/pkg/linter/lib/src/rules/strict_top_level_inference.dart b/pkg/linter/lib/src/rules/strict_top_level_inference.dart
index 609106a..d524108 100644
--- a/pkg/linter/lib/src/rules/strict_top_level_inference.dart
+++ b/pkg/linter/lib/src/rules/strict_top_level_inference.dart
@@ -49,7 +49,9 @@
final LinterContext context;
_Visitor(this.rule, this.context)
- : _wildCardVariablesEnabled = context.isEnabled(Feature.wildcard_variables);
+ : _wildCardVariablesEnabled = context.isFeatureEnabled(
+ Feature.wildcard_variables,
+ );
bool isWildcardIdentifier(String lexeme) =>
_wildCardVariablesEnabled && lexeme == '_';
diff --git a/pkg/linter/lib/src/rules/switch_on_type.dart b/pkg/linter/lib/src/rules/switch_on_type.dart
index c9f4b74..f87efde 100644
--- a/pkg/linter/lib/src/rules/switch_on_type.dart
+++ b/pkg/linter/lib/src/rules/switch_on_type.dart
@@ -11,7 +11,6 @@
import 'package:analyzer/error/error.dart';
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = "Avoid switch statements on a 'Type'.";
@@ -24,14 +23,11 @@
DiagnosticCode get diagnosticCode => LinterLintCode.switch_on_type;
@override
- LintCode get lintCode => LinterLintCode.switch_on_type;
-
- @override
void registerNodeProcessors(
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.patterns)) return;
+ if (!context.isFeatureEnabled(Feature.patterns)) return;
var visitor = _Visitor(this, context);
registry.addSwitchExpression(this, visitor);
registry.addSwitchStatement(this, visitor);
diff --git a/pkg/linter/lib/src/rules/unnecessary_breaks.dart b/pkg/linter/lib/src/rules/unnecessary_breaks.dart
index 403999a..282c014 100644
--- a/pkg/linter/lib/src/rules/unnecessary_breaks.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_breaks.dart
@@ -8,7 +8,6 @@
import 'package:analyzer/error/error.dart';
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = r"Don't use explicit `break`s when a break is implied.";
@@ -24,7 +23,7 @@
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.patterns)) return;
+ if (!context.isFeatureEnabled(Feature.patterns)) return;
var visitor = _Visitor(this);
registry.addBreakStatement(this, visitor);
diff --git a/pkg/linter/lib/src/rules/unnecessary_lambdas.dart b/pkg/linter/lib/src/rules/unnecessary_lambdas.dart
index 474ed6b..1b3d263 100644
--- a/pkg/linter/lib/src/rules/unnecessary_lambdas.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_lambdas.dart
@@ -94,7 +94,7 @@
final TypeSystem typeSystem;
_Visitor(this.rule, LinterContext context)
- : constructorTearOffsEnabled = context.isEnabled(
+ : constructorTearOffsEnabled = context.isFeatureEnabled(
Feature.constructor_tearoffs,
),
typeSystem = context.typeSystem;
diff --git a/pkg/linter/lib/src/rules/unnecessary_library_name.dart b/pkg/linter/lib/src/rules/unnecessary_library_name.dart
index 67ff371..6b19cb3 100644
--- a/pkg/linter/lib/src/rules/unnecessary_library_name.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_library_name.dart
@@ -8,7 +8,6 @@
import 'package:analyzer/error/error.dart';
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = r"Don't have a library name in a `library` declaration.";
@@ -24,7 +23,7 @@
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.unnamedLibraries)) return;
+ if (!context.isFeatureEnabled(Feature.unnamedLibraries)) return;
var visitor = _Visitor(this);
registry.addLibraryDirective(this, visitor);
diff --git a/pkg/linter/lib/src/rules/unnecessary_underscores.dart b/pkg/linter/lib/src/rules/unnecessary_underscores.dart
index bbc12e7..8483dd7 100644
--- a/pkg/linter/lib/src/rules/unnecessary_underscores.dart
+++ b/pkg/linter/lib/src/rules/unnecessary_underscores.dart
@@ -11,7 +11,6 @@
import 'package:analyzer/src/utilities/extensions/collection.dart';
import '../analyzer.dart';
-import '../extensions.dart';
import '../util/ascii_utils.dart';
const _desc = r'Unnecessary underscores can be removed.';
@@ -28,7 +27,7 @@
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.wildcard_variables)) return;
+ if (!context.isFeatureEnabled(Feature.wildcard_variables)) return;
var visitor = _Visitor(this);
registry.addFormalParameterList(this, visitor);
registry.addVariableDeclaration(this, visitor);
diff --git a/pkg/linter/lib/src/rules/use_enums.dart b/pkg/linter/lib/src/rules/use_enums.dart
index 5d82101..a7bab30 100644
--- a/pkg/linter/lib/src/rules/use_enums.dart
+++ b/pkg/linter/lib/src/rules/use_enums.dart
@@ -25,7 +25,7 @@
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.enhanced_enums)) return;
+ if (!context.isFeatureEnabled(Feature.enhanced_enums)) return;
var visitor = _Visitor(this, context);
registry.addClassDeclaration(this, visitor);
diff --git a/pkg/linter/lib/src/rules/use_null_aware_elements.dart b/pkg/linter/lib/src/rules/use_null_aware_elements.dart
index 29b16c8..0d93ab3 100644
--- a/pkg/linter/lib/src/rules/use_null_aware_elements.dart
+++ b/pkg/linter/lib/src/rules/use_null_aware_elements.dart
@@ -28,7 +28,7 @@
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.null_aware_elements)) return;
+ if (!context.isFeatureEnabled(Feature.null_aware_elements)) return;
var visitor = _Visitor(this);
registry.addIfElement(this, visitor);
}
diff --git a/pkg/linter/lib/src/rules/use_string_in_part_of_directives.dart b/pkg/linter/lib/src/rules/use_string_in_part_of_directives.dart
index 35f5716..f1185ab 100644
--- a/pkg/linter/lib/src/rules/use_string_in_part_of_directives.dart
+++ b/pkg/linter/lib/src/rules/use_string_in_part_of_directives.dart
@@ -9,7 +9,6 @@
import 'package:analyzer/src/lint/linter.dart'; //ignore: implementation_imports
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = r'Use string in part of directives.';
@@ -52,5 +51,5 @@
extension on LinterContext {
bool get hasEnancedPartsFeatureEnabled =>
this is LinterContextWithResolvedResults &&
- isEnabled(Feature.enhanced_parts);
+ isFeatureEnabled(Feature.enhanced_parts);
}
diff --git a/pkg/linter/lib/src/rules/use_super_parameters.dart b/pkg/linter/lib/src/rules/use_super_parameters.dart
index 31e1726..034203f 100644
--- a/pkg/linter/lib/src/rules/use_super_parameters.dart
+++ b/pkg/linter/lib/src/rules/use_super_parameters.dart
@@ -10,7 +10,6 @@
import 'package:analyzer/src/utilities/extensions/string.dart'; // ignore: implementation_imports
import '../analyzer.dart';
-import '../extensions.dart';
const _desc = r'Use super-initializer parameters where possible.';
@@ -43,7 +42,7 @@
NodeLintRegistry registry,
LinterContext context,
) {
- if (!context.isEnabled(Feature.super_parameters)) return;
+ if (!context.isFeatureEnabled(Feature.super_parameters)) return;
var visitor = _Visitor(this, context);
registry.addConstructorDeclaration(this, visitor);
diff --git a/pkg/linter/test/rule_test_support.dart b/pkg/linter/test/rule_test_support.dart
index 735fae1..663b2b8 100644
--- a/pkg/linter/test/rule_test_support.dart
+++ b/pkg/linter/test/rule_test_support.dart
@@ -264,11 +264,11 @@
}
/// Asserts that there are no diagnostics in the given [content].
- Future<void> assertNoDiagnostics(String content) async =>
+ Future<void> assertNoDiagnostics(String content) =>
assertDiagnostics(content, const []);
/// Asserts that there are no diagnostics in the file at the given [path].
- Future<void> assertNoDiagnosticsInFile(String path) async =>
+ Future<void> assertNoDiagnosticsInFile(String path) =>
assertDiagnosticsInFile(path, const []);
/// Asserts that no diagnostics are reported when resolving [content].
diff --git a/pkg/linter/test/validate_incompatible_rules_test.dart b/pkg/linter/test/validate_incompatible_rules_test.dart
index 074a71c..7cace0c 100644
--- a/pkg/linter/test/validate_incompatible_rules_test.dart
+++ b/pkg/linter/test/validate_incompatible_rules_test.dart
@@ -11,7 +11,7 @@
registerLintRules();
for (var rule in Registry.ruleRegistry) {
for (var incompatibleRule in rule.incompatibleRules) {
- test(rule.name, () async {
+ test(rule.name, () {
var referencedRule = Registry.ruleRegistry.firstWhere(
(r) => r.name == incompatibleRule,
);
diff --git a/pkg/linter/test/validate_no_rule_description_references_test.dart b/pkg/linter/test/validate_no_rule_description_references_test.dart
index 83b5e21..b1bf1f3 100644
--- a/pkg/linter/test/validate_no_rule_description_references_test.dart
+++ b/pkg/linter/test/validate_no_rule_description_references_test.dart
@@ -16,7 +16,7 @@
() {
registerLintRules();
for (var rule in Registry.ruleRegistry) {
- test(rule.name, () async {
+ test(rule.name, () {
var result = Process.runSync('grep', [
'-R',
rule.description,
diff --git a/pkg/linter/test/verify_reflective_test_suites_test.dart b/pkg/linter/test/verify_reflective_test_suites_test.dart
index c745bd6..13de91e 100644
--- a/pkg/linter/test/verify_reflective_test_suites_test.dart
+++ b/pkg/linter/test/verify_reflective_test_suites_test.dart
@@ -79,7 +79,7 @@
}
}
var relativePath = path.relative(directory.path, from: testDirPath);
- test(relativePath, () async {
+ test(relativePath, () {
if (testFileNames.isEmpty) return;
if (testAllFile == null) return;
diff --git a/tools/VERSION b/tools/VERSION
index 1359cbe..1cf6e0f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 3
MINOR 9
PATCH 0
-PRERELEASE 139
+PRERELEASE 140
PRERELEASE_PATCH 0