| Index: pkg/analysis_server/lib/src/context_manager.dart
|
| diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
|
| index 21a7fccaba43e0e89a802eae3a831cd973b00961..7b1f87e8421fd6e898351c017a0621553a7d93b1 100644
|
| --- a/pkg/analysis_server/lib/src/context_manager.dart
|
| +++ b/pkg/analysis_server/lib/src/context_manager.dart
|
| @@ -10,10 +10,8 @@ import 'dart:convert';
|
| import 'dart:core';
|
|
|
| import 'package:analysis_server/src/analysis_server.dart';
|
| -import 'package:analyzer/exception/exception.dart';
|
| import 'package:analyzer/file_system/file_system.dart';
|
| import 'package:analyzer/instrumentation/instrumentation.dart';
|
| -import 'package:analyzer/plugin/options.dart';
|
| import 'package:analyzer/plugin/resolver_provider.dart';
|
| import 'package:analyzer/source/analysis_options_provider.dart';
|
| import 'package:analyzer/source/package_map_provider.dart';
|
| @@ -30,9 +28,6 @@ import 'package:analyzer/src/generated/java_io.dart';
|
| import 'package:analyzer/src/generated/sdk.dart';
|
| import 'package:analyzer/src/generated/source.dart';
|
| import 'package:analyzer/src/generated/source_io.dart';
|
| -import 'package:analyzer/src/lint/config.dart';
|
| -import 'package:analyzer/src/lint/linter.dart';
|
| -import 'package:analyzer/src/lint/registry.dart';
|
| import 'package:analyzer/src/task/options.dart';
|
| import 'package:analyzer/src/util/absolute_path.dart';
|
| import 'package:analyzer/src/util/glob.dart';
|
| @@ -346,11 +341,6 @@ abstract class ContextManagerCallbacks {
|
| AnalysisContext addContext(Folder folder, AnalysisOptions options);
|
|
|
| /**
|
| - * The given [file] was removed from the folder analyzed in the [driver].
|
| - */
|
| - void applyFileRemoved(AnalysisDriver driver, String file);
|
| -
|
| - /**
|
| * Called when the set of files associated with a context have changed (or
|
| * some of those files have been modified). [changeSet] is the set of
|
| * changes that need to be applied to the context.
|
| @@ -358,6 +348,11 @@ abstract class ContextManagerCallbacks {
|
| void applyChangesToContext(Folder contextFolder, ChangeSet changeSet);
|
|
|
| /**
|
| + * The given [file] was removed from the folder analyzed in the [driver].
|
| + */
|
| + void applyFileRemoved(AnalysisDriver driver, String file);
|
| +
|
| + /**
|
| * Signals that the context manager has started to compute a package map (if
|
| * [computing] is `true`) or has finished (if [computing] is `false`).
|
| */
|
| @@ -635,37 +630,25 @@ class ContextManagerImpl implements ContextManager {
|
| return;
|
| }
|
|
|
| - // In case options files are removed, revert to defaults.
|
| + AnalysisOptionsImpl analysisOptions;
|
| if (optionsRemoved) {
|
| - // Start with defaults.
|
| - info.context.analysisOptions = new AnalysisOptionsImpl();
|
| -
|
| + // In case options files are removed, revert to defaults.
|
| + analysisOptions = new AnalysisOptionsImpl.from(defaultContextOptions);
|
| // Apply inherited options.
|
| options = _toStringMap(_getEmbeddedOptions(info));
|
| - if (options != null) {
|
| - configureContextOptions(info.context, options);
|
| - }
|
| } else {
|
| + analysisOptions =
|
| + new AnalysisOptionsImpl.from(info.context.analysisOptions);
|
| // Check for embedded options.
|
| Map embeddedOptions = _getEmbeddedOptions(info);
|
| if (embeddedOptions != null) {
|
| options = _toStringMap(new Merger().merge(embeddedOptions, options));
|
| }
|
| }
|
| -
|
| - // Notify options processors.
|
| - AnalysisEngine.instance.optionsPlugin.optionsProcessors
|
| - .forEach((OptionsProcessor p) {
|
| - try {
|
| - p.optionsProcessed(info.context, options);
|
| - } catch (e, stacktrace) {
|
| - AnalysisEngine.instance.logger.logError(
|
| - 'Error processing analysis options',
|
| - new CaughtException(e, stacktrace));
|
| - }
|
| - });
|
| -
|
| - configureContextOptions(info.context, options);
|
| + if (options != null) {
|
| + applyToAnalysisOptions(analysisOptions, options);
|
| + }
|
| + info.context.analysisOptions = analysisOptions;
|
|
|
| // Nothing more to do.
|
| if (options == null) {
|
| @@ -711,16 +694,6 @@ class ContextManagerImpl implements ContextManager {
|
| }
|
| }
|
|
|
| - var lintOptions = options['linter'];
|
| - if (lintOptions != null) {
|
| - LintConfig config = new LintConfig.parseMap(lintOptions);
|
| - Iterable<LintRule> lintRules = Registry.ruleRegistry.enabled(config);
|
| - if (lintRules.isNotEmpty) {
|
| - analysisOptions.lint = true;
|
| - analysisOptions.lintRules = lintRules.toList();
|
| - }
|
| - }
|
| -
|
| applyToAnalysisOptions(analysisOptions, options);
|
|
|
| // Nothing more to do.
|
| @@ -1004,8 +977,7 @@ class ContextManagerImpl implements ContextManager {
|
| String contextRoot = info.folder.path;
|
| ContextBuilder builder =
|
| callbacks.createContextBuilder(info.folder, defaultContextOptions);
|
| - AnalysisOptions options =
|
| - builder.getAnalysisOptions(info.context, contextRoot);
|
| + AnalysisOptions options = builder.getAnalysisOptions(contextRoot);
|
| SourceFactory factory = builder.createSourceFactory(contextRoot, options);
|
| info.context.analysisOptions = options;
|
| info.context.sourceFactory = factory;
|
|
|