Version 2.16.0-132.0.dev
Merge commit 'eaef692c3fcc36547c4e9d80bbddb070c7c0ee13' into 'dev'
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_future.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_future.dart
index fb29e4f..9d3b8dd 100644
--- a/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_future.dart
+++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_future.dart
@@ -9,6 +9,12 @@
import 'package:analyzer_plugin/utilities/fixes/fixes.dart';
class ReplaceReturnTypeFuture extends CorrectionProducer {
+ /// The text for the type argument to 'Future'.
+ String _typeArgument = '';
+
+ @override
+ List<Object>? get fixArguments => [_typeArgument];
+
@override
FixKind get fixKind => DartFixKind.REPLACE_RETURN_TYPE_FUTURE;
@@ -19,6 +25,7 @@
if (typeAnnotation == null) {
return;
}
+ _typeArgument = utils.getNodeText(typeAnnotation);
await builder.addDartFileEdit(file, (builder) {
builder.replaceTypeWithFuture(typeAnnotation, typeProvider);
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_iterable.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_iterable.dart
new file mode 100644
index 0000000..cc491aa
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_iterable.dart
@@ -0,0 +1,44 @@
+// Copyright (c) 2020, 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_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 ReplaceReturnTypeIterable extends CorrectionProducer {
+ /// The text for the type argument to 'Iterable'.
+ String _typeArgument = '';
+
+ @override
+ List<Object>? get fixArguments => [_typeArgument];
+
+ @override
+ FixKind get fixKind => DartFixKind.REPLACE_RETURN_TYPE_ITERABLE;
+
+ @override
+ Future<void> compute(ChangeBuilder builder) async {
+ // prepare the existing type
+ var typeAnnotation = node.thisOrAncestorOfType<TypeAnnotation>();
+ if (typeAnnotation == null) {
+ return;
+ }
+ var type = typeAnnotation.type;
+ if (type == null || type.isDynamic || type.isDartCoreIterable) {
+ return;
+ }
+ _typeArgument = utils.getNodeText(typeAnnotation);
+
+ await builder.addDartFileEdit(file, (builder) {
+ builder.addReplacement(range.node(typeAnnotation), (builder) {
+ builder.writeType(typeProvider.iterableType(type));
+ });
+ });
+ }
+
+ /// Return an instance of this class. Used as a tear-off in `FixProcessor`.
+ static ReplaceReturnTypeIterable newInstance() => ReplaceReturnTypeIterable();
+}
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_stream.dart b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_stream.dart
new file mode 100644
index 0000000..829ebe6
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/correction/dart/replace_return_type_stream.dart
@@ -0,0 +1,44 @@
+// Copyright (c) 2020, 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_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 ReplaceReturnTypeStream extends CorrectionProducer {
+ /// The text for the type argument to 'Stream'.
+ String _typeArgument = '';
+
+ @override
+ List<Object>? get fixArguments => [_typeArgument];
+
+ @override
+ FixKind get fixKind => DartFixKind.REPLACE_RETURN_TYPE_STREAM;
+
+ @override
+ Future<void> compute(ChangeBuilder builder) async {
+ // prepare the existing type
+ var typeAnnotation = node.thisOrAncestorOfType<TypeAnnotation>();
+ if (typeAnnotation == null) {
+ return;
+ }
+ var type = typeAnnotation.type;
+ if (type == null || type.isDynamic || type.isDartAsyncStream) {
+ return;
+ }
+ _typeArgument = utils.getNodeText(typeAnnotation);
+
+ await builder.addDartFileEdit(file, (builder) {
+ builder.addReplacement(range.node(typeAnnotation), (builder) {
+ builder.writeType(typeProvider.streamType(type));
+ });
+ });
+ }
+
+ /// Return an instance of this class. Used as a tear-off in `FixProcessor`.
+ static ReplaceReturnTypeStream newInstance() => ReplaceReturnTypeStream();
+}
diff --git a/pkg/analysis_server/lib/src/services/correction/fix.dart b/pkg/analysis_server/lib/src/services/correction/fix.dart
index 59471b3..666ea13 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix.dart
@@ -1261,7 +1261,17 @@
static const REPLACE_RETURN_TYPE_FUTURE = FixKind(
'dart.fix.replace.returnTypeFuture',
DartFixKindPriority.DEFAULT,
- "Return 'Future' from 'async' function",
+ "Return 'Future<{0}>'",
+ );
+ static const REPLACE_RETURN_TYPE_ITERABLE = FixKind(
+ 'dart.fix.replace.returnTypeIterable',
+ DartFixKindPriority.DEFAULT,
+ "Return 'Iterable<{0}>'",
+ );
+ static const REPLACE_RETURN_TYPE_STREAM = FixKind(
+ 'dart.fix.replace.returnTypeStream',
+ DartFixKindPriority.DEFAULT,
+ "Return 'Stream<{0}>'",
);
static const REPLACE_CONTAINER_WITH_SIZED_BOX = FixKind(
'dart.fix.replace.containerWithSizedBox',
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 128e4eb..7abed7a 100644
--- a/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
+++ b/pkg/analysis_server/lib/src/services/correction/fix_internal.dart
@@ -151,6 +151,8 @@
import 'package:analysis_server/src/services/correction/dart/replace_null_with_closure.dart';
import 'package:analysis_server/src/services/correction/dart/replace_return_type.dart';
import 'package:analysis_server/src/services/correction/dart/replace_return_type_future.dart';
+import 'package:analysis_server/src/services/correction/dart/replace_return_type_iterable.dart';
+import 'package:analysis_server/src/services/correction/dart/replace_return_type_stream.dart';
import 'package:analysis_server/src/services/correction/dart/replace_var_with_dynamic.dart';
import 'package:analysis_server/src/services/correction/dart/replace_with_brackets.dart';
import 'package:analysis_server/src/services/correction/dart/replace_with_conditional_assignment.dart';
@@ -842,9 +844,15 @@
CompileTimeErrorCode.FINAL_NOT_INITIALIZED_CONSTRUCTOR_3_PLUS: [
AddFieldFormalParameters.newInstance,
],
+ CompileTimeErrorCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE: [
+ ReplaceReturnTypeStream.newInstance,
+ ],
CompileTimeErrorCode.ILLEGAL_ASYNC_RETURN_TYPE: [
ReplaceReturnTypeFuture.newInstance,
],
+ CompileTimeErrorCode.ILLEGAL_SYNC_GENERATOR_RETURN_TYPE: [
+ ReplaceReturnTypeIterable.newInstance,
+ ],
CompileTimeErrorCode.IMPLEMENTS_NON_CLASS: [
ChangeTo.classOrMixin,
CreateClass.newInstance,
diff --git a/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_future_test.dart b/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_future_test.dart
index 9cfafa7..818dad5 100644
--- a/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_future_test.dart
+++ b/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_future_test.dart
@@ -20,38 +20,14 @@
@override
FixKind get kind => DartFixKind.REPLACE_RETURN_TYPE_FUTURE;
- Future<void> test_adjacentNodes_withImport() async {
- await resolveTestCode('''
-import 'dart:async';
-var v;int main() async => 0;
-''');
- await assertHasFix('''
-import 'dart:async';
-var v;Future<int> main() async => 0;
-''', errorFilter: (error) {
- return error.errorCode == CompileTimeErrorCode.ILLEGAL_ASYNC_RETURN_TYPE;
- });
- }
-
- Future<void> test_adjacentNodes_withoutImport() async {
- await resolveTestCode('''
-var v;int main() async => 0;
-''');
- await assertHasFix('''
-var v;Future<int> main() async => 0;
-''');
- }
-
Future<void> test_complexTypeName_withImport() async {
await resolveTestCode('''
import 'dart:async';
-List<int> main() async {
-}
+List<int> f() async {}
''');
await assertHasFix('''
import 'dart:async';
-Future<List<int>> main() async {
-}
+Future<List<int>> f() async {}
''', errorFilter: (error) {
return error.errorCode == CompileTimeErrorCode.ILLEGAL_ASYNC_RETURN_TYPE;
});
@@ -59,25 +35,21 @@
Future<void> test_complexTypeName_withoutImport() async {
await resolveTestCode('''
-List<int> main() async {
-}
+List<int> f() async {}
''');
await assertHasFix('''
-Future<List<int>> main() async {
-}
+Future<List<int>> f() async {}
''');
}
Future<void> test_importedWithPrefix() async {
await resolveTestCode('''
import 'dart:async' as al;
-int main() async {
-}
+int f() async {}
''');
await assertHasFix('''
import 'dart:async' as al;
-al.Future<int> main() async {
-}
+al.Future<int> f() async {}
''', errorFilter: (error) {
return error.errorCode == CompileTimeErrorCode.ILLEGAL_ASYNC_RETURN_TYPE;
});
@@ -86,11 +58,11 @@
Future<void> test_simpleTypeName_withImport() async {
await resolveTestCode('''
import 'dart:async';
-int main() async => 0;
+int f() async {}
''');
await assertHasFix('''
import 'dart:async';
-Future<int> main() async => 0;
+Future<int> f() async {}
''', errorFilter: (error) {
return error.errorCode == CompileTimeErrorCode.ILLEGAL_ASYNC_RETURN_TYPE;
});
@@ -98,40 +70,10 @@
Future<void> test_simpleTypeName_withoutImport() async {
await resolveTestCode('''
-int main() async => 0;
+int f() async {}
''');
await assertHasFix('''
-Future<int> main() async => 0;
-''');
- }
-
- Future<void> test_withLibraryDirective_withImport() async {
- await resolveTestCode('''
-library main;
-import 'dart:async';
-int main() async {
-}
-''');
- await assertHasFix('''
-library main;
-import 'dart:async';
-Future<int> main() async {
-}
-''', errorFilter: (error) {
- return error.errorCode == CompileTimeErrorCode.ILLEGAL_ASYNC_RETURN_TYPE;
- });
- }
-
- Future<void> test_withLibraryDirective_withoutImport() async {
- await resolveTestCode('''
-library main;
-int main() async {
-}
-''');
- await assertHasFix('''
-library main;
-Future<int> main() async {
-}
+Future<int> f() async {}
''');
}
}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_iterable_test.dart b/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_iterable_test.dart
new file mode 100644
index 0000000..e83a01c
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_iterable_test.dart
@@ -0,0 +1,50 @@
+// Copyright (c) 2018, 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:analyzer_plugin/utilities/fixes/fixes.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+
+import 'fix_processor.dart';
+
+void main() {
+ defineReflectiveSuite(() {
+ defineReflectiveTests(ReplaceReturnTypeIterableTest);
+ });
+}
+
+@reflectiveTest
+class ReplaceReturnTypeIterableTest extends FixProcessorTest {
+ @override
+ FixKind get kind => DartFixKind.REPLACE_RETURN_TYPE_ITERABLE;
+
+ Future<void> test_complexTypeName() async {
+ await resolveTestCode('''
+List<int> f() sync* {}
+''');
+ await assertHasFix('''
+Iterable<List<int>> f() sync* {}
+''');
+ }
+
+ Future<void> test_importedWithPrefix() async {
+ await resolveTestCode('''
+import 'dart:core' as c;
+c.int f() sync* {}
+''');
+ await assertHasFix('''
+import 'dart:core' as c;
+c.Iterable<c.int> f() sync* {}
+''');
+ }
+
+ Future<void> test_simpleTypeName() async {
+ await resolveTestCode('''
+int f() sync* {}
+''');
+ await assertHasFix('''
+Iterable<int> f() sync* {}
+''');
+ }
+}
diff --git a/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_stream_test.dart b/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_stream_test.dart
new file mode 100644
index 0000000..e564385
--- /dev/null
+++ b/pkg/analysis_server/test/src/services/correction/fix/replace_return_type_stream_test.dart
@@ -0,0 +1,82 @@
+// Copyright (c) 2018, 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:analyzer/src/error/codes.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(ReplaceReturnTypeStreamTest);
+ });
+}
+
+@reflectiveTest
+class ReplaceReturnTypeStreamTest extends FixProcessorTest {
+ @override
+ FixKind get kind => DartFixKind.REPLACE_RETURN_TYPE_STREAM;
+
+ Future<void> test_complexTypeName_withImport() async {
+ await resolveTestCode('''
+import 'dart:async';
+List<int> f() async* {}
+''');
+ await assertHasFix('''
+import 'dart:async';
+Stream<List<int>> f() async* {}
+''', errorFilter: (error) {
+ return error.errorCode ==
+ CompileTimeErrorCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE;
+ });
+ }
+
+ Future<void> test_complexTypeName_withoutImport() async {
+ await resolveTestCode('''
+List<int> f() async* {}
+''');
+ await assertHasFix('''
+Stream<List<int>> f() async* {}
+''');
+ }
+
+ Future<void> test_importedWithPrefix() async {
+ await resolveTestCode('''
+import 'dart:async' as al;
+int f() async* {}
+''');
+ await assertHasFix('''
+import 'dart:async' as al;
+al.Stream<int> f() async* {}
+''', errorFilter: (error) {
+ return error.errorCode ==
+ CompileTimeErrorCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE;
+ });
+ }
+
+ Future<void> test_simpleTypeName_withImport() async {
+ await resolveTestCode('''
+import 'dart:async';
+int f() async* {}
+''');
+ await assertHasFix('''
+import 'dart:async';
+Stream<int> f() async* {}
+''', errorFilter: (error) {
+ return error.errorCode ==
+ CompileTimeErrorCode.ILLEGAL_ASYNC_GENERATOR_RETURN_TYPE;
+ });
+ }
+
+ Future<void> test_simpleTypeName_withoutImport() async {
+ await resolveTestCode('''
+int f() async* {}
+''');
+ await assertHasFix('''
+Stream<int> f() async* {}
+''');
+ }
+}
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 46e09ff..3174635 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
@@ -184,6 +184,8 @@
import 'replace_new_with_const_test.dart' as replace_new_with_const;
import 'replace_null_with_closure_test.dart' as replace_null_with_closure;
import 'replace_return_type_future_test.dart' as replace_return_type_future;
+import 'replace_return_type_iterable_test.dart' as replace_return_type_iterable;
+import 'replace_return_type_stream_test.dart' as replace_return_type_stream;
import 'replace_return_type_test.dart' as replace_return_type;
import 'replace_var_with_dynamic_test.dart' as replace_var_with_dynamic;
import 'replace_with_brackets_test.dart' as replace_with_brackets;
@@ -372,6 +374,8 @@
replace_null_with_void.main();
replace_return_type.main();
replace_return_type_future.main();
+ replace_return_type_iterable.main();
+ replace_return_type_stream.main();
replace_var_with_dynamic.main();
replace_with_brackets.main();
replace_with_conditional_assignment.main();
diff --git a/pkg/analyzer/lib/dart/element/type.dart b/pkg/analyzer/lib/dart/element/type.dart
index 923cc3f..e3f102e 100644
--- a/pkg/analyzer/lib/dart/element/type.dart
+++ b/pkg/analyzer/lib/dart/element/type.dart
@@ -57,6 +57,10 @@
/// the dart:async library.
bool get isDartAsyncFutureOr;
+ /// Return `true` if this type represents the type 'Stream' defined in the
+ /// dart:async library.
+ bool get isDartAsyncStream;
+
/// Return `true` if this type represents the type 'bool' defined in the
/// dart:core library.
bool get isDartCoreBool;
diff --git a/pkg/analyzer/lib/src/dart/element/type.dart b/pkg/analyzer/lib/src/dart/element/type.dart
index bbfa073..70f398c 100644
--- a/pkg/analyzer/lib/src/dart/element/type.dart
+++ b/pkg/analyzer/lib/src/dart/element/type.dart
@@ -517,6 +517,11 @@
}
@override
+ bool get isDartAsyncStream {
+ return element.name == "Stream" && element.library.isDartAsync;
+ }
+
+ @override
bool get isDartCoreBool {
return element.name == "bool" && element.library.isDartCore;
}
@@ -974,6 +979,9 @@
bool get isDartAsyncFutureOr => false;
@override
+ bool get isDartAsyncStream => false;
+
+ @override
bool get isDartCoreBool => false;
@override
diff --git a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
index 104fc79..23110a9 100644
--- a/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
+++ b/pkg/analyzer_plugin/lib/src/utilities/change_builder/change_builder_dart.dart
@@ -1486,9 +1486,9 @@
return;
}
- addReplacement(range.node(typeAnnotation!), (EditBuilder builder) {
+ addReplacement(range.node(typeAnnotation!), (builder) {
var futureType = typeProvider.futureType(type);
- if (!(builder as DartEditBuilder).writeType(futureType)) {
+ if (!builder.writeType(futureType)) {
builder.write('void');
}
});
diff --git a/runtime/tests/vm/dart/regress_36636_test.dart b/runtime/tests/vm/dart/regress_36636_test.dart
index 1daf616..2fee620 100644
--- a/runtime/tests/vm/dart/regress_36636_test.dart
+++ b/runtime/tests/vm/dart/regress_36636_test.dart
@@ -2,6 +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.
-// VMOptions=--intrinsify=false --no-use-vfp
+// VMOptions=--intrinsify=false
main() {}
diff --git a/runtime/tests/vm/dart/slow_path_shared_stub_test.dart b/runtime/tests/vm/dart/slow_path_shared_stub_test.dart
index fb4c4d1..6aabfed 100644
--- a/runtime/tests/vm/dart/slow_path_shared_stub_test.dart
+++ b/runtime/tests/vm/dart/slow_path_shared_stub_test.dart
@@ -3,7 +3,6 @@
// BSD-style license that can be found in the LICENSE file.
// VMOptions=--optimization_counter_threshold=10 --no-background-compilation --shared-slow-path-triggers-gc
-// VMOptions=--optimization_counter_threshold=10 --no-background-compilation --shared-slow-path-triggers-gc --no-use-vfp
// This tests the stackmaps and environments for safepoints corresponding to
// slow-path code which uses shared runtime stubs.
diff --git a/runtime/tests/vm/dart/typed_data_vfp_regress_42745_test.dart b/runtime/tests/vm/dart/typed_data_vfp_regress_42745_test.dart
index 294f0ea..f61edad 100644
--- a/runtime/tests/vm/dart/typed_data_vfp_regress_42745_test.dart
+++ b/runtime/tests/vm/dart/typed_data_vfp_regress_42745_test.dart
@@ -1,7 +1,6 @@
// Copyright (c) 2020, 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.
-// VMOptions=--no-use-vfp
import 'dart:typed_data';
diff --git a/runtime/tests/vm/dart_2/regress_36636_test.dart b/runtime/tests/vm/dart_2/regress_36636_test.dart
index 1c41d17..5040d1f 100644
--- a/runtime/tests/vm/dart_2/regress_36636_test.dart
+++ b/runtime/tests/vm/dart_2/regress_36636_test.dart
@@ -4,6 +4,6 @@
// @dart = 2.9
-// VMOptions=--intrinsify=false --no-use-vfp
+// VMOptions=--intrinsify=false
main() {}
diff --git a/runtime/tests/vm/dart_2/slow_path_shared_stub_test.dart b/runtime/tests/vm/dart_2/slow_path_shared_stub_test.dart
index be7b675..9f6cc16 100644
--- a/runtime/tests/vm/dart_2/slow_path_shared_stub_test.dart
+++ b/runtime/tests/vm/dart_2/slow_path_shared_stub_test.dart
@@ -5,7 +5,6 @@
// @dart = 2.9
// VMOptions=--optimization_counter_threshold=10 --no-background-compilation --shared-slow-path-triggers-gc
-// VMOptions=--optimization_counter_threshold=10 --no-background-compilation --shared-slow-path-triggers-gc --no-use-vfp
// This tests the stackmaps and environments for safepoints corresponding to
// slow-path code which uses shared runtime stubs.
diff --git a/runtime/tests/vm/dart_2/typed_data_vfp_regress_42745_test.dart b/runtime/tests/vm/dart_2/typed_data_vfp_regress_42745_test.dart
index 77ad067..27f1b23 100644
--- a/runtime/tests/vm/dart_2/typed_data_vfp_regress_42745_test.dart
+++ b/runtime/tests/vm/dart_2/typed_data_vfp_regress_42745_test.dart
@@ -1,7 +1,6 @@
// Copyright (c) 2020, 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.
-// VMOptions=--no-use-vfp
// @dart = 2.9
diff --git a/runtime/tools/dartfuzz/dartfuzz_test.dart b/runtime/tools/dartfuzz/dartfuzz_test.dart
index 7ba2f79..b6e32b7 100644
--- a/runtime/tools/dartfuzz/dartfuzz_test.dart
+++ b/runtime/tools/dartfuzz/dartfuzz_test.dart
@@ -78,11 +78,6 @@
extraFlags += ['--optimization_counter_threshold=1'];
}
}
- // Every once in a while, disable VFP on arm32.
- if (mode.contains('arm32') && rand.nextInt(4) == 0) {
- prefix += '-noVFP';
- extraFlags += ['--no-use-vfp'];
- }
// Every once in a while, use -O3 compiler.
if (!mode.startsWith('djs') && rand.nextInt(4) == 0) {
prefix += '-O3';
diff --git a/tools/VERSION b/tools/VERSION
index 0be7ec2..e95ca1b 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 16
PATCH 0
-PRERELEASE 131
+PRERELEASE 132
PRERELEASE_PATCH 0
\ No newline at end of file