OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 code_transformers.src.dart_sdk; | 5 library code_transformers.src.dart_sdk; |
6 | 6 |
7 import 'dart:convert' as convert; | 7 import 'dart:convert' as convert; |
8 import 'dart:io' show File, Platform, Process; | 8 import 'dart:io' show File, Platform, Process; |
9 import 'package:path/path.dart' as path; | 9 import 'package:path/path.dart' as path; |
10 import 'package:analyzer/src/generated/engine.dart'; | 10 import 'package:analyzer/src/generated/engine.dart'; |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 final Source _proxy; | 101 final Source _proxy; |
102 | 102 |
103 DartSourceProxy(this._proxy, this.uri); | 103 DartSourceProxy(this._proxy, this.uri); |
104 | 104 |
105 /// Ensures that [source] is a DartSourceProxy. | 105 /// Ensures that [source] is a DartSourceProxy. |
106 static DartSourceProxy wrap(Source source, Uri uri) { | 106 static DartSourceProxy wrap(Source source, Uri uri) { |
107 if (source == null || source is DartSourceProxy) return source; | 107 if (source == null || source is DartSourceProxy) return source; |
108 return new DartSourceProxy(source, uri); | 108 return new DartSourceProxy(source, uri); |
109 } | 109 } |
110 | 110 |
111 Source resolveRelative(Uri relativeUri) { | 111 Uri resolveRelative(Uri relativeUri) => _proxy.resolveRelative(relativeUri); |
112 // Assume that the type can be accessed via this URI, since these | |
113 // should only be parts for dart core files. | |
114 return wrap(_proxy.resolveRelative(relativeUri), uri); | |
115 } | |
116 | 112 |
117 bool exists() => _proxy.exists(); | 113 bool exists() => _proxy.exists(); |
118 | 114 |
119 bool operator ==(Object other) => | 115 bool operator ==(Object other) => |
120 (other is DartSourceProxy && _proxy == other._proxy); | 116 (other is DartSourceProxy && _proxy == other._proxy); |
121 | 117 |
122 int get hashCode => _proxy.hashCode; | 118 int get hashCode => _proxy.hashCode; |
123 | 119 |
124 TimestampedData<String> get contents => _proxy.contents; | 120 TimestampedData<String> get contents => _proxy.contents; |
125 | 121 |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 | 170 |
175 Source _getSource(Uri uri) { | 171 Source _getSource(Uri uri) { |
176 var src = _sources[uri]; | 172 var src = _sources[uri]; |
177 if (src == null) { | 173 if (src == null) { |
178 if (reportMissing) print('warning: missing mock for $uri.'); | 174 if (reportMissing) print('warning: missing mock for $uri.'); |
179 _sources[uri] = src = | 175 _sources[uri] = src = |
180 new _MockSdkSource(uri, 'library dart.${uri.path};'); | 176 new _MockSdkSource(uri, 'library dart.${uri.path};'); |
181 } | 177 } |
182 return src; | 178 return src; |
183 } | 179 } |
| 180 |
| 181 @override |
| 182 Source fromFileUri(Uri uri) { |
| 183 throw new UnsupportedError('MockDartSdk.fromFileUri'); |
| 184 } |
184 } | 185 } |
185 | 186 |
186 class _MockSdkSource implements UriAnnotatedSource { | 187 class _MockSdkSource implements UriAnnotatedSource { |
187 /// Absolute URI which this source can be imported from. | 188 /// Absolute URI which this source can be imported from. |
188 final Uri uri; | 189 final Uri uri; |
189 final String _contents; | 190 final String _contents; |
190 | 191 |
191 _MockSdkSource(this.uri, this._contents); | 192 _MockSdkSource(this.uri, this._contents); |
192 | 193 |
193 bool exists() => true; | 194 bool exists() => true; |
194 | 195 |
195 int get hashCode => uri.hashCode; | 196 int get hashCode => uri.hashCode; |
196 | 197 |
197 final int modificationStamp = 1; | 198 final int modificationStamp = 1; |
198 | 199 |
199 TimestampedData<String> get contents => | 200 TimestampedData<String> get contents => |
200 new TimestampedData(modificationStamp, _contents); | 201 new TimestampedData(modificationStamp, _contents); |
201 | 202 |
202 String get encoding => "${uriKind.encoding}$uri"; | 203 String get encoding => "${uriKind.encoding}$uri"; |
203 | 204 |
204 String get fullName => shortName; | 205 String get fullName => shortName; |
205 | 206 |
206 String get shortName => uri.path; | 207 String get shortName => uri.path; |
207 | 208 |
208 UriKind get uriKind => UriKind.DART_URI; | 209 UriKind get uriKind => UriKind.DART_URI; |
209 | 210 |
210 bool get isInSystemLibrary => true; | 211 bool get isInSystemLibrary => true; |
211 | 212 |
212 Source resolveRelative(Uri relativeUri) => | 213 Uri resolveRelative(Uri relativeUri) => |
213 throw new UnsupportedError('not expecting relative urls in dart: mocks'); | 214 throw new UnsupportedError('not expecting relative urls in dart: mocks'); |
214 } | 215 } |
OLD | NEW |