Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: pkg/analyzer_cli/lib/src/build_mode.dart

Issue 1974323003: Add '--dart-sdk-summary' option to analyzer-cli and use SummaryBasedDartSdk. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer_cli/lib/src/build_mode.dart
diff --git a/pkg/analyzer_cli/lib/src/build_mode.dart b/pkg/analyzer_cli/lib/src/build_mode.dart
index d49a5198c88de8fc4c4442b4cd939db9ee60df54..f01502e134412c07a2a90f4361f982509a67206f 100644
--- a/pkg/analyzer_cli/lib/src/build_mode.dart
+++ b/pkg/analyzer_cli/lib/src/build_mode.dart
@@ -14,6 +14,7 @@ import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_io.dart';
+import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/sdk_io.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
@@ -23,6 +24,7 @@ import 'package:analyzer/src/summary/link.dart';
import 'package:analyzer/src/summary/package_bundle_reader.dart';
import 'package:analyzer/src/summary/summarize_ast.dart';
import 'package:analyzer/src/summary/summarize_elements.dart';
+import 'package:analyzer/src/summary/summary_sdk.dart' show SummaryBasedDartSdk;
import 'package:analyzer/task/dart.dart';
import 'package:analyzer_cli/src/analyzer_impl.dart';
import 'package:analyzer_cli/src/driver.dart';
@@ -237,18 +239,29 @@ class BuildMode {
}
void _createContext() {
- DirectoryBasedDartSdk sdk =
- new DirectoryBasedDartSdk(new JavaFile(options.dartSdkPath));
- sdk.analysisOptions =
- Driver.createAnalysisOptionsForCommandLineOptions(options);
- sdk.useSummary = !options.buildSummaryOnlyAst;
-
// Read the summaries.
summaryDataStore = new SummaryDataStore(options.buildSummaryInputs);
+ DartSdk sdk;
+ PackageBundle sdkBundle;
+ if (options.dartSdkSummaryPath != null) {
+ SummaryBasedDartSdk summarySdk =
+ new SummaryBasedDartSdk(options.dartSdkSummaryPath);
+ sdk = summarySdk;
+ sdkBundle = summarySdk.bundle;
+ } else {
+ DirectoryBasedDartSdk directorySdk =
+ new DirectoryBasedDartSdk(new JavaFile(options.dartSdkPath));
+ directorySdk.analysisOptions =
+ Driver.createAnalysisOptionsForCommandLineOptions(options);
+ directorySdk.useSummary = !options.buildSummaryOnlyAst;
+ sdk = directorySdk;
+ sdkBundle = directorySdk.getSummarySdkBundle();
+ }
+
// In AST mode include SDK bundle to avoid parsing SDK sources.
if (options.buildSummaryOnlyAst) {
- summaryDataStore.addBundle(null, sdk.getSummarySdkBundle());
+ summaryDataStore.addBundle(null, sdkBundle);
}
// Create the context.

Powered by Google App Engine
This is Rietveld 408576698