OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library dev_compiler.src.analysis_context; | 5 library dev_compiler.src.analysis_context; |
6 | 6 |
7 import 'package:analyzer/file_system/file_system.dart'; | 7 import 'package:analyzer/file_system/file_system.dart'; |
8 import 'package:analyzer/file_system/memory_file_system.dart'; | 8 import 'package:analyzer/file_system/memory_file_system.dart'; |
9 import 'package:analyzer/src/generated/engine.dart'; | 9 import 'package:analyzer/src/generated/engine.dart'; |
10 import 'package:analyzer/src/generated/java_io.dart' show JavaFile; | 10 import 'package:analyzer/src/generated/java_io.dart' show JavaFile; |
(...skipping 16 matching lines...) Expand all Loading... |
27 /// `package:` URI resolvers. | 27 /// `package:` URI resolvers. |
28 /// | 28 /// |
29 AnalysisContext createAnalysisContext(CompilerOptions options, | 29 AnalysisContext createAnalysisContext(CompilerOptions options, |
30 {DartUriResolver sdkResolver, List fileResolvers}) { | 30 {DartUriResolver sdkResolver, List fileResolvers}) { |
31 var context = _initContext(options); | 31 var context = _initContext(options); |
32 | 32 |
33 var sdkResolver = options.useMockSdk | 33 var sdkResolver = options.useMockSdk |
34 ? createMockSdkResolver(mockSdkSources) | 34 ? createMockSdkResolver(mockSdkSources) |
35 : createSdkPathResolver(options.dartSdkPath); | 35 : createSdkPathResolver(options.dartSdkPath); |
36 | 36 |
37 var resolvers = [sdkResolver]; | 37 var resolvers = []; |
| 38 if (options.customUrlMappings.isNotEmpty) { |
| 39 resolvers.add(new CustomUriResolver(options.customUrlMappings)); |
| 40 } |
| 41 resolvers.add(sdkResolver); |
38 if (options.useImplicitHtml) { | 42 if (options.useImplicitHtml) { |
39 resolvers.add(_createImplicitEntryResolver(options)); | 43 resolvers.add(_createImplicitEntryResolver(options)); |
40 } | 44 } |
41 if (fileResolvers == null) { | 45 if (fileResolvers == null) { |
42 fileResolvers = [new FileUriResolver()]; | 46 fileResolvers = [new FileUriResolver()]; |
43 fileResolvers.add(options.useMultiPackage | 47 fileResolvers.add(options.useMultiPackage |
44 ? new MultiPackageResolver(options.packagePaths) | 48 ? new MultiPackageResolver(options.packagePaths) |
45 : new PackageUriResolver([new JavaFile(options.packageRoot)])); | 49 : new PackageUriResolver([new JavaFile(options.packageRoot)])); |
46 } | 50 } |
47 resolvers.addAll(fileResolvers); | 51 resolvers.addAll(fileResolvers); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 86 |
83 /// Creates an analysis context that contains our restricted typing rules. | 87 /// Creates an analysis context that contains our restricted typing rules. |
84 AnalysisContext _initContext(ResolverOptions options) { | 88 AnalysisContext _initContext(ResolverOptions options) { |
85 var analysisOptions = new AnalysisOptionsImpl()..cacheSize = 512; | 89 var analysisOptions = new AnalysisOptionsImpl()..cacheSize = 512; |
86 AnalysisContextImpl res = AnalysisEngine.instance.createAnalysisContext(); | 90 AnalysisContextImpl res = AnalysisEngine.instance.createAnalysisContext(); |
87 res.analysisOptions = analysisOptions; | 91 res.analysisOptions = analysisOptions; |
88 res.libraryResolverFactory = | 92 res.libraryResolverFactory = |
89 (context) => new LibraryResolverWithInference(context, options); | 93 (context) => new LibraryResolverWithInference(context, options); |
90 return res; | 94 return res; |
91 } | 95 } |
OLD | NEW |