Version 2.14.0-317.0.dev
Merge commit 'de918b2a0c8cf0a7f09fdc4adb3ee7a704b15bcf' into 'dev'
diff --git a/pkg/analysis_server/lib/src/lsp/handlers/commands/fix_all.dart b/pkg/analysis_server/lib/src/lsp/handlers/commands/fix_all.dart
index 784e2fe..4d4f523 100644
--- a/pkg/analysis_server/lib/src/lsp/handlers/commands/fix_all.dart
+++ b/pkg/analysis_server/lib/src/lsp/handlers/commands/fix_all.dart
@@ -12,7 +12,6 @@
import 'package:analysis_server/src/lsp/progress.dart';
import 'package:analysis_server/src/services/correction/bulk_fix_processor.dart';
import 'package:analysis_server/src/services/correction/change_workspace.dart';
-import 'package:analyzer/src/dart/analysis/analysis_context_collection.dart';
class FixAllCommandHandler extends SimpleEditCommandHandler {
FixAllCommandHandler(LspAnalysisServer server) : super(server);
@@ -48,14 +47,13 @@
final processor =
BulkFixProcessor(server.instrumentationService, workspace);
- final collection = AnalysisContextCollectionImpl(
- includedPaths: [path],
- resourceProvider: server.resourceProvider,
- sdkPath: server.sdkManager.defaultSdkDirectory,
- );
- final changeBuilder = await processor.fixErrors(collection.contexts);
- final change = changeBuilder.sourceChange;
+ final context = server.contextManager.getContextFor(path);
+ if (context == null) {
+ return success(null);
+ }
+ final changeBuilder = await processor.fixErrorsForFile(context, path);
+ final change = changeBuilder.sourceChange;
if (change.edits.isEmpty) {
return success(null);
}
diff --git a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart
index e2539fa..7313659 100644
--- a/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart
+++ b/pkg/analysis_server/lib/src/services/correction/bulk_fix_processor.dart
@@ -182,6 +182,22 @@
return builder;
}
+ /// Return a change builder that has been used to create fixes for the
+ /// diagnostics in [file] in the given [context].
+ Future<ChangeBuilder> fixErrorsForFile(
+ AnalysisContext context, String path) async {
+ var pathContext = context.contextRoot.resourceProvider.pathContext;
+
+ if (file_paths.isDart(pathContext, path) && !file_paths.isGenerated(path)) {
+ var library = await context.currentSession.getResolvedLibrary(path);
+ if (library is ResolvedLibraryResult) {
+ await _fixErrorsInLibrary(library);
+ }
+ }
+
+ return builder;
+ }
+
/// Return a change builder that has been used to create all fixes for a
/// specific diagnostic code in the given [unit].
Future<ChangeBuilder> fixOfTypeInUnit(
diff --git a/pkg/vm/lib/transformations/ffi_native.dart b/pkg/vm/lib/transformations/ffi_native.dart
index ec120ac..7a85d36 100644
--- a/pkg/vm/lib/transformations/ffi_native.dart
+++ b/pkg/vm/lib/transformations/ffi_native.dart
@@ -143,7 +143,7 @@
final callFuncPtrInvocation = FunctionInvocation(
FunctionAccessKind.FunctionType,
StaticGet(funcPtrField),
- Arguments(params.map((p) => VariableGet(p)).toList()),
+ Arguments(params.map<Expression>((p) => VariableGet(p)).toList()),
functionType: dartType as FunctionType);
return ReturnStatement(callFuncPtrInvocation);
diff --git a/tools/VERSION b/tools/VERSION
index d31e737..f61b8cf 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 14
PATCH 0
-PRERELEASE 316
+PRERELEASE 317
PRERELEASE_PATCH 0
\ No newline at end of file