diff --git a/analyzer_plugin/lib/src/angular_driver.dart b/analyzer_plugin/lib/src/angular_driver.dart index f4cefb05..e7a14a35 100644 --- a/analyzer_plugin/lib/src/angular_driver.dart +++ b/analyzer_plugin/lib/src/angular_driver.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'dart:async'; import 'dart:collection'; import 'package:analysis_server/src/analysis_server.dart'; +import 'package:analyzer/context/context_root.dart'; import 'package:analyzer/src/dart/analysis/byte_store.dart'; import 'package:analyzer/error/listener.dart'; import 'package:analyzer/src/generated/sdk.dart'; @@ -58,6 +59,8 @@ class AngularDriver _fileTracker = new FileTracker(this); } + ContextRoot get contextRoot => dartDriver.contextRoot; + ApiSignature getUnitElementHash(String path) { return dartDriver.getUnitKeyByPath(path); } diff --git a/analyzer_plugin/lib/src/converter.dart b/analyzer_plugin/lib/src/converter.dart index 69ce168f..229f9949 100644 --- a/analyzer_plugin/lib/src/converter.dart +++ b/analyzer_plugin/lib/src/converter.dart @@ -628,7 +628,7 @@ class EmbeddedDartParser { } static bool _tokenMatchesBuiltInIdentifier(Token token) => - token is KeywordToken && token.keyword.isPseudoKeyword; + token is KeywordToken && token.keyword.isBuiltInOrPseudo; static bool _tokenMatchesIdentifier(Token token) => token.type == TokenType.IDENTIFIER || diff --git a/analyzer_plugin/lib/src/directive_linking.dart b/analyzer_plugin/lib/src/directive_linking.dart index f9e459b0..ca5263b7 100644 --- a/analyzer_plugin/lib/src/directive_linking.dart +++ b/analyzer_plugin/lib/src/directive_linking.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'package:analyzer/error/listener.dart'; import 'package:analyzer/dart/element/element.dart'; import 'package:analyzer/src/generated/source.dart'; -import 'package:analyzer/src/dart/element/element.dart'; import 'package:angular_analyzer_plugin/tasks.dart'; import 'package:angular_analyzer_plugin/src/directive_extraction.dart'; import 'package:angular_analyzer_plugin/src/model.dart'; diff --git a/analyzer_plugin/lib/src/view_extraction.dart b/analyzer_plugin/lib/src/view_extraction.dart index 36e807c3..59995db5 100644 --- a/analyzer_plugin/lib/src/view_extraction.dart +++ b/analyzer_plugin/lib/src/view_extraction.dart @@ -6,11 +6,7 @@ import 'package:analyzer/src/generated/source.dart'; import 'package:angular_analyzer_plugin/src/model.dart'; import 'package:angular_analyzer_plugin/tasks.dart'; import 'tasks.dart'; -import 'package:analyzer/src/generated/constant.dart'; -import 'package:analyzer/dart/constant/value.dart'; -import 'package:analyzer/dart/element/type.dart'; import 'package:analyzer/error/error.dart'; -import 'package:angular_analyzer_plugin/src/selector.dart'; import 'package:html/dom.dart' as html; import 'package:html/parser.dart' as html; import 'package:angular_analyzer_plugin/src/angular_html_parser.dart'; diff --git a/analyzer_plugin/test/abstract_angular.dart b/analyzer_plugin/test/abstract_angular.dart index d4d505e1..a1b070f6 100644 --- a/analyzer_plugin/test/abstract_angular.dart +++ b/analyzer_plugin/test/abstract_angular.dart @@ -1,6 +1,7 @@ library angular2.src.analysis.analyzer_plugin.src.angular_base; import 'package:analyzer/file_system/file_system.dart' as fs; +import 'package:analyzer/context/context_root.dart'; import 'package:analyzer/source/package_map_resolver.dart'; import 'package:analyzer/file_system/memory_file_system.dart'; import 'package:analyzer/dart/element/element.dart'; @@ -128,13 +129,16 @@ class AbstractAngularTest { packageResolver, new ResourceUriResolver(resourceProvider) ]); + var testPath = resourceProvider.convertPath('/test'); + var contextRoot = new ContextRoot(testPath, []); + dartDriver = new AnalysisDriver( scheduler, logger, resourceProvider, byteStore, new FileContentOverlay(), - "test", + contextRoot, sf, new AnalysisOptionsImpl()); angularDriver = new AngularDriver(new MockAnalysisServer(), dartDriver, diff --git a/server_plugin/lib/src/embedded_dart_completion_request.dart b/server_plugin/lib/src/embedded_dart_completion_request.dart index 1047b7b0..8c847134 100644 --- a/server_plugin/lib/src/embedded_dart_completion_request.dart +++ b/server_plugin/lib/src/embedded_dart_completion_request.dart @@ -5,6 +5,7 @@ import 'package:analysis_server/src/provisional/completion/dart/completion_dart. import 'package:analysis_server/src/services/completion/dart/optype.dart'; import 'package:analysis_server/src/provisional/completion/dart/completion_target.dart'; import 'package:analysis_server/src/services/search/search_engine.dart'; +import 'package:analysis_server/src/ide_options.dart'; import 'package:analyzer/src/generated/engine.dart' show AnalysisContext; import 'package:analyzer/src/dart/analysis/driver.dart'; import 'package:analyzer/src/generated/source.dart'; @@ -161,6 +162,9 @@ class EmbeddedDartCompletionRequest implements DartCompletionRequest { return opType.includeIdentifiers; } + @override + IdeOptions get ideOptions => null; + /** * We have to return non null or much code will view this as an isolated part * file. We will use our template's libraryElement. diff --git a/server_plugin/test/completion_contributor_test_util.dart b/server_plugin/test/completion_contributor_test_util.dart index 80b2d4e9..f1713505 100644 --- a/server_plugin/test/completion_contributor_test_util.dart +++ b/server_plugin/test/completion_contributor_test_util.dart @@ -47,13 +47,15 @@ abstract class AbstractDartCompletionContributorTest Future computeSuggestions([int times = 200]) async { context.analysisPriorityOrder = [testSource]; CompletionRequestImpl baseRequest = new CompletionRequestImpl( - null, - context, - null, - searchEngine, - testSource, - completionOffset, - new CompletionPerformance()); + null, + context, + null, + searchEngine, + testSource, + completionOffset, + new CompletionPerformance(), + null, + ); // Build the request Completer requestCompleter = @@ -100,13 +102,15 @@ abstract class AbstractCompletionContributorTest Future computeSuggestions([int times = 200]) async { context.analysisPriorityOrder = [testSource]; CompletionRequestImpl request = new CompletionRequestImpl( - null, - context, - null, - searchEngine, - testSource, - completionOffset, - new CompletionPerformance()); + null, + context, + null, + searchEngine, + testSource, + completionOffset, + new CompletionPerformance(), + null, + ); // Build the request Completer requestCompleter =