OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 import 'package:analyzer/file_system/file_system.dart' as resource; | 5 import 'package:analyzer/file_system/file_system.dart' as resource; |
6 import 'package:analyzer/file_system/memory_file_system.dart' as resource; | 6 import 'package:analyzer/file_system/memory_file_system.dart' as resource; |
7 import 'package:analyzer/src/context/context.dart'; | 7 import 'package:analyzer/src/context/context.dart'; |
8 import 'package:analyzer/src/generated/engine.dart'; | 8 import 'package:analyzer/src/generated/engine.dart'; |
9 import 'package:analyzer/src/generated/sdk.dart'; | 9 import 'package:analyzer/src/generated/sdk.dart'; |
10 import 'package:analyzer/src/generated/source.dart'; | 10 import 'package:analyzer/src/generated/source.dart'; |
11 import 'package:analyzer/src/summary/idl.dart' show PackageBundle; | 11 import 'package:analyzer/src/summary/idl.dart' show PackageBundle; |
12 import 'package:analyzer/src/summary/summary_file_builder.dart'; | 12 import 'package:analyzer/src/summary/summary_file_builder.dart'; |
13 | 13 |
14 /** | 14 /** |
15 * A utility class that will create a Mock SDK on the virtual disk managed by a | 15 * A utility class that will create a Mock SDK on the virtual disk managed by a |
16 * memory resource provider. | 16 * memory resource provider. |
17 */ | 17 */ |
18 class MockSdk implements DartSdk { | 18 class MockSdk implements DartSdk { |
19 static const MockSdkLibrary LIB_CORE = const MockSdkLibrary( | 19 static const MockSdkLibrary LIB_CORE = |
20 'dart:core', | 20 const MockSdkLibrary('dart:core', '/lib/core/core.dart', ''' |
21 '/lib/core/core.dart', | |
22 ''' | |
23 library dart.core; | 21 library dart.core; |
24 | 22 |
25 import 'dart:async'; | 23 import 'dart:async'; |
26 import 'dart:_internal'; | 24 import 'dart:_internal'; |
27 | 25 |
28 class Object { | 26 class Object { |
29 const Object() {} | 27 const Object() {} |
30 bool operator ==(other) => identical(this, other); | 28 bool operator ==(other) => identical(this, other); |
31 String toString() => 'a string'; | 29 String toString() => 'a string'; |
32 int get hashCode => 0; | 30 int get hashCode => 0; |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 class Uri { | 165 class Uri { |
168 static List<int> parseIPv6Address(String host, [int start = 0, int end]) { | 166 static List<int> parseIPv6Address(String host, [int start = 0, int end]) { |
169 int parseHex(int start, int end) { | 167 int parseHex(int start, int end) { |
170 return 0; | 168 return 0; |
171 } | 169 } |
172 return null; | 170 return null; |
173 } | 171 } |
174 } | 172 } |
175 '''); | 173 '''); |
176 | 174 |
177 static const MockSdkLibrary LIB_ASYNC = const MockSdkLibrary( | 175 static const MockSdkLibrary LIB_ASYNC = |
178 'dart:async', | 176 const MockSdkLibrary('dart:async', '/lib/async/async.dart', ''' |
179 '/lib/async/async.dart', | |
180 ''' | |
181 library dart.async; | 177 library dart.async; |
182 | 178 |
183 import 'dart:math'; | 179 import 'dart:math'; |
184 | 180 |
185 class Future<T> { | 181 class Future<T> { |
186 factory Future(computation()) => null; | 182 factory Future(computation()) => null; |
187 factory Future.delayed(Duration duration, [T computation()]) => null; | 183 factory Future.delayed(Duration duration, [T computation()]) => null; |
188 factory Future.value([value]) => null; | 184 factory Future.value([value]) => null; |
189 static Future wait(List<Future> futures) => null; | 185 static Future wait(List<Future> futures) => null; |
190 } | 186 } |
191 | 187 |
192 class FutureOr<T> {} | 188 class FutureOr<T> {} |
193 | 189 |
194 class Stream<T> {} | 190 class Stream<T> {} |
195 abstract class StreamTransformer<S, T> {} | 191 abstract class StreamTransformer<S, T> {} |
196 '''); | 192 '''); |
197 | 193 |
198 static const MockSdkLibrary LIB_COLLECTION = const MockSdkLibrary( | 194 static const MockSdkLibrary LIB_COLLECTION = const MockSdkLibrary( |
199 'dart:collection', | 195 'dart:collection', '/lib/collection/collection.dart', ''' |
200 '/lib/collection/collection.dart', | |
201 ''' | |
202 library dart.collection; | 196 library dart.collection; |
203 | 197 |
204 abstract class HashMap<K, V> implements Map<K, V> {} | 198 abstract class HashMap<K, V> implements Map<K, V> {} |
205 abstract class LinkedHashMap<K, V> implements Map<K, V> {} | 199 abstract class LinkedHashMap<K, V> implements Map<K, V> {} |
206 '''); | 200 '''); |
207 | 201 |
208 static const MockSdkLibrary LIB_CONVERT = const MockSdkLibrary( | 202 static const MockSdkLibrary LIB_CONVERT = |
209 'dart:convert', | 203 const MockSdkLibrary('dart:convert', '/lib/convert/convert.dart', ''' |
210 '/lib/convert/convert.dart', | |
211 ''' | |
212 library dart.convert; | 204 library dart.convert; |
213 | 205 |
214 import 'dart:async'; | 206 import 'dart:async'; |
215 | 207 |
216 abstract class Converter<S, T> implements StreamTransformer {} | 208 abstract class Converter<S, T> implements StreamTransformer {} |
217 class JsonDecoder extends Converter<String, Object> {} | 209 class JsonDecoder extends Converter<String, Object> {} |
218 '''); | 210 '''); |
219 | 211 |
220 static const MockSdkLibrary LIB_MATH = const MockSdkLibrary( | 212 static const MockSdkLibrary LIB_MATH = |
221 'dart:math', | 213 const MockSdkLibrary('dart:math', '/lib/math/math.dart', ''' |
222 '/lib/math/math.dart', | |
223 ''' | |
224 library dart.math; | 214 library dart.math; |
225 const double E = 2.718281828459045; | 215 const double E = 2.718281828459045; |
226 const double PI = 3.1415926535897932; | 216 const double PI = 3.1415926535897932; |
227 const double LN10 = 2.302585092994046; | 217 const double LN10 = 2.302585092994046; |
228 T min<T extends num>(T a, T b) => null; | 218 T min<T extends num>(T a, T b) => null; |
229 T max<T extends num>(T a, T b) => null; | 219 T max<T extends num>(T a, T b) => null; |
230 external double cos(num radians); | 220 external double cos(num radians); |
231 external num pow(num x, num exponent); | 221 external num pow(num x, num exponent); |
232 external double sin(num radians); | 222 external double sin(num radians); |
233 external double sqrt(num x); | 223 external double sqrt(num x); |
234 class Random { | 224 class Random { |
235 bool nextBool() => true; | 225 bool nextBool() => true; |
236 double nextDouble() => 2.0; | 226 double nextDouble() => 2.0; |
237 int nextInt() => 1; | 227 int nextInt() => 1; |
238 } | 228 } |
239 '''); | 229 '''); |
240 | 230 |
241 static const MockSdkLibrary LIB_HTML = const MockSdkLibrary( | 231 static const MockSdkLibrary LIB_HTML = const MockSdkLibrary( |
242 'dart:html', | 232 'dart:html', '/lib/html/dartium/html_dartium.dart', ''' |
243 '/lib/html/dartium/html_dartium.dart', | |
244 ''' | |
245 library dart.html; | 233 library dart.html; |
246 class HtmlElement {} | 234 class HtmlElement {} |
247 '''); | 235 '''); |
248 | 236 |
249 static const MockSdkLibrary LIB_INTERNAL = const MockSdkLibrary( | 237 static const MockSdkLibrary LIB_INTERNAL = |
250 'dart:_internal', | 238 const MockSdkLibrary('dart:_internal', '/lib/internal/internal.dart', ''' |
251 '/lib/internal/internal.dart', | |
252 ''' | |
253 library dart._internal; | 239 library dart._internal; |
254 external void printToConsole(String line); | 240 external void printToConsole(String line); |
255 '''); | 241 '''); |
256 | 242 |
257 static const List<SdkLibrary> LIBRARIES = const [ | 243 static const List<SdkLibrary> LIBRARIES = const [ |
258 LIB_CORE, | 244 LIB_CORE, |
259 LIB_ASYNC, | 245 LIB_ASYNC, |
260 LIB_COLLECTION, | 246 LIB_COLLECTION, |
261 LIB_CONVERT, | 247 LIB_CONVERT, |
262 LIB_MATH, | 248 LIB_MATH, |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 bool get isInternal => shortName.startsWith('dart:_'); | 440 bool get isInternal => shortName.startsWith('dart:_'); |
455 | 441 |
456 @override | 442 @override |
457 bool get isShared => throw unimplemented; | 443 bool get isShared => throw unimplemented; |
458 | 444 |
459 @override | 445 @override |
460 bool get isVmLibrary => throw unimplemented; | 446 bool get isVmLibrary => throw unimplemented; |
461 | 447 |
462 UnimplementedError get unimplemented => new UnimplementedError(); | 448 UnimplementedError get unimplemented => new UnimplementedError(); |
463 } | 449 } |
OLD | NEW |