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

Side by Side Diff: lib/src/analysis_context.dart

Issue 1179643005: first step for #168, adds dart:js impl to the build (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/js.js ('k') | tool/build_sdk.sh » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 } 67 }
68 resolvers.addAll(fileResolvers); 68 resolvers.addAll(fileResolvers);
69 return new SourceFactory(resolvers); 69 return new SourceFactory(resolvers);
70 } 70 }
71 71
72 /// Creates a [DartUriResolver] that uses a mock 'dart:' library contents. 72 /// Creates a [DartUriResolver] that uses a mock 'dart:' library contents.
73 DartUriResolver createMockSdkResolver(Map<String, String> mockSources) => 73 DartUriResolver createMockSdkResolver(Map<String, String> mockSources) =>
74 new MockDartSdk(mockSources, reportMissing: true).resolver; 74 new MockDartSdk(mockSources, reportMissing: true).resolver;
75 75
76 /// Creates a [DartUriResolver] that uses the SDK at the given [sdkPath]. 76 /// Creates a [DartUriResolver] that uses the SDK at the given [sdkPath].
77 DartUriResolver createSdkPathResolver(String sdkPath) => 77 DartUriResolver createSdkPathResolver(String sdkPath) => new DartUriResolver(
78 new DartUriResolver(new DirectoryBasedDartSdk(new JavaFile(sdkPath))); 78 new DirectoryBasedDartSdk(
79 new JavaFile(sdkPath), /*useDart2jsPaths:*/ true));
79 80
80 UriResolver _createImplicitEntryResolver(SourceResolverOptions options) { 81 UriResolver _createImplicitEntryResolver(SourceResolverOptions options) {
81 var entry = path.absolute(SourceResolverOptions.implicitHtmlFile); 82 var entry = path.absolute(SourceResolverOptions.implicitHtmlFile);
82 var src = path.absolute(options.entryPointFile); 83 var src = path.absolute(options.entryPointFile);
83 var provider = new MemoryResourceProvider(); 84 var provider = new MemoryResourceProvider();
84 provider.newFile( 85 provider.newFile(
85 entry, '<body><script type="application/dart" src="$src"></script>'); 86 entry, '<body><script type="application/dart" src="$src"></script>');
86 return new ExistingSourceUriResolver(new ResourceUriResolver(provider)); 87 return new ExistingSourceUriResolver(new ResourceUriResolver(provider));
87 } 88 }
88 89
89 /// A UriResolver that continues to the next one if it fails to find an existing 90 /// A UriResolver that continues to the next one if it fails to find an existing
90 /// source file. This is unlike normal URI resolvers, that always return 91 /// source file. This is unlike normal URI resolvers, that always return
91 /// something, even if it is a non-existing file. 92 /// something, even if it is a non-existing file.
92 class ExistingSourceUriResolver implements UriResolver { 93 class ExistingSourceUriResolver implements UriResolver {
93 final UriResolver resolver; 94 final UriResolver resolver;
94 ExistingSourceUriResolver(this.resolver); 95 ExistingSourceUriResolver(this.resolver);
95 96
96 Source resolveAbsolute(Uri uri) { 97 Source resolveAbsolute(Uri uri) {
97 var src = resolver.resolveAbsolute(uri); 98 var src = resolver.resolveAbsolute(uri);
98 return src.exists() ? src : null; 99 return src.exists() ? src : null;
99 } 100 }
100 Uri restoreAbsolute(Source source) => resolver.restoreAbsolute(source); 101 Uri restoreAbsolute(Source source) => resolver.restoreAbsolute(source);
101 } 102 }
OLDNEW
« no previous file with comments | « lib/runtime/dart/js.js ('k') | tool/build_sdk.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698