| 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 analyzer.test.generated.resolver_test; | 5 library analyzer.test.generated.resolver_test; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import 'package:analyzer/dart/ast/ast.dart'; | 10 import 'package:analyzer/dart/ast/ast.dart'; |
| (...skipping 2407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2418 // We cannot use either ElementFactory or TestTypeProvider (which uses | 2418 // We cannot use either ElementFactory or TestTypeProvider (which uses |
| 2419 // ElementFactory) because we side-effect the elements in ways that would | 2419 // ElementFactory) because we side-effect the elements in ways that would |
| 2420 // break other tests. | 2420 // break other tests. |
| 2421 // | 2421 // |
| 2422 InterfaceType objectType = _classElement("Object", null).type; | 2422 InterfaceType objectType = _classElement("Object", null).type; |
| 2423 InterfaceType boolType = _classElement("bool", objectType).type; | 2423 InterfaceType boolType = _classElement("bool", objectType).type; |
| 2424 InterfaceType numType = _classElement("num", objectType).type; | 2424 InterfaceType numType = _classElement("num", objectType).type; |
| 2425 InterfaceType doubleType = _classElement("double", numType).type; | 2425 InterfaceType doubleType = _classElement("double", numType).type; |
| 2426 InterfaceType functionType = _classElement("Function", objectType).type; | 2426 InterfaceType functionType = _classElement("Function", objectType).type; |
| 2427 InterfaceType futureType = _classElement("Future", objectType, ["T"]).type; | 2427 InterfaceType futureType = _classElement("Future", objectType, ["T"]).type; |
| 2428 InterfaceType futureOrType = _classElement("FutureOr", objectType, ["T"]).ty
pe; |
| 2428 InterfaceType intType = _classElement("int", numType).type; | 2429 InterfaceType intType = _classElement("int", numType).type; |
| 2429 InterfaceType iterableType = | 2430 InterfaceType iterableType = |
| 2430 _classElement("Iterable", objectType, ["T"]).type; | 2431 _classElement("Iterable", objectType, ["T"]).type; |
| 2431 InterfaceType listType = _classElement("List", objectType, ["E"]).type; | 2432 InterfaceType listType = _classElement("List", objectType, ["E"]).type; |
| 2432 InterfaceType mapType = _classElement("Map", objectType, ["K", "V"]).type; | 2433 InterfaceType mapType = _classElement("Map", objectType, ["K", "V"]).type; |
| 2433 InterfaceType stackTraceType = _classElement("StackTrace", objectType).type; | 2434 InterfaceType stackTraceType = _classElement("StackTrace", objectType).type; |
| 2434 InterfaceType streamType = _classElement("Stream", objectType, ["T"]).type; | 2435 InterfaceType streamType = _classElement("Stream", objectType, ["T"]).type; |
| 2435 InterfaceType stringType = _classElement("String", objectType).type; | 2436 InterfaceType stringType = _classElement("String", objectType).type; |
| 2436 InterfaceType symbolType = _classElement("Symbol", objectType).type; | 2437 InterfaceType symbolType = _classElement("Symbol", objectType).type; |
| 2437 InterfaceType typeType = _classElement("Type", objectType).type; | 2438 InterfaceType typeType = _classElement("Type", objectType).type; |
| 2438 CompilationUnitElementImpl coreUnit = | 2439 CompilationUnitElementImpl coreUnit = |
| 2439 new CompilationUnitElementImpl("core.dart"); | 2440 new CompilationUnitElementImpl("core.dart"); |
| 2440 coreUnit.types = <ClassElement>[ | 2441 coreUnit.types = <ClassElement>[ |
| 2441 boolType.element, | 2442 boolType.element, |
| 2442 doubleType.element, | 2443 doubleType.element, |
| 2443 functionType.element, | 2444 functionType.element, |
| 2444 intType.element, | 2445 intType.element, |
| 2445 iterableType.element, | 2446 iterableType.element, |
| 2446 listType.element, | 2447 listType.element, |
| 2447 mapType.element, | 2448 mapType.element, |
| 2448 objectType.element, | 2449 objectType.element, |
| 2449 stackTraceType.element, | 2450 stackTraceType.element, |
| 2450 stringType.element, | 2451 stringType.element, |
| 2451 symbolType.element, | 2452 symbolType.element, |
| 2452 typeType.element | 2453 typeType.element |
| 2453 ]; | 2454 ]; |
| 2454 CompilationUnitElementImpl asyncUnit = | 2455 CompilationUnitElementImpl asyncUnit = |
| 2455 new CompilationUnitElementImpl("async.dart"); | 2456 new CompilationUnitElementImpl("async.dart"); |
| 2456 asyncUnit.types = <ClassElement>[futureType.element, streamType.element]; | 2457 asyncUnit.types = <ClassElement>[futureType.element, futureOrType.element, s
treamType.element]; |
| 2457 AnalysisContext context = AnalysisEngine.instance.createAnalysisContext(); | 2458 AnalysisContext context = AnalysisEngine.instance.createAnalysisContext(); |
| 2458 LibraryElementImpl coreLibrary = new LibraryElementImpl.forNode( | 2459 LibraryElementImpl coreLibrary = new LibraryElementImpl.forNode( |
| 2459 context, AstTestFactory.libraryIdentifier2(["dart.core"])); | 2460 context, AstTestFactory.libraryIdentifier2(["dart.core"])); |
| 2460 coreLibrary.definingCompilationUnit = coreUnit; | 2461 coreLibrary.definingCompilationUnit = coreUnit; |
| 2461 LibraryElementImpl asyncLibrary = new LibraryElementImpl.forNode( | 2462 LibraryElementImpl asyncLibrary = new LibraryElementImpl.forNode( |
| 2462 context, AstTestFactory.libraryIdentifier2(["dart.async"])); | 2463 context, AstTestFactory.libraryIdentifier2(["dart.async"])); |
| 2463 asyncLibrary.definingCompilationUnit = asyncUnit; | 2464 asyncLibrary.definingCompilationUnit = asyncUnit; |
| 2464 // | 2465 // |
| 2465 // Create a type provider and ensure that it can return the expected types. | 2466 // Create a type provider and ensure that it can return the expected types. |
| 2466 // | 2467 // |
| 2467 TypeProviderImpl provider = new TypeProviderImpl(coreLibrary, asyncLibrary); | 2468 TypeProviderImpl provider = new TypeProviderImpl(coreLibrary, asyncLibrary); |
| 2468 expect(provider.boolType, same(boolType)); | 2469 expect(provider.boolType, same(boolType)); |
| 2469 expect(provider.bottomType, isNotNull); | 2470 expect(provider.bottomType, isNotNull); |
| 2470 expect(provider.doubleType, same(doubleType)); | 2471 expect(provider.doubleType, same(doubleType)); |
| 2471 expect(provider.dynamicType, isNotNull); | 2472 expect(provider.dynamicType, isNotNull); |
| 2472 expect(provider.functionType, same(functionType)); | 2473 expect(provider.functionType, same(functionType)); |
| 2473 expect(provider.futureType, same(futureType)); | 2474 expect(provider.futureType, same(futureType)); |
| 2475 expect(provider.futureOrType, same(futureOrType)); |
| 2474 expect(provider.intType, same(intType)); | 2476 expect(provider.intType, same(intType)); |
| 2475 expect(provider.listType, same(listType)); | 2477 expect(provider.listType, same(listType)); |
| 2476 expect(provider.mapType, same(mapType)); | 2478 expect(provider.mapType, same(mapType)); |
| 2477 expect(provider.objectType, same(objectType)); | 2479 expect(provider.objectType, same(objectType)); |
| 2478 expect(provider.stackTraceType, same(stackTraceType)); | 2480 expect(provider.stackTraceType, same(stackTraceType)); |
| 2479 expect(provider.streamType, same(streamType)); | 2481 expect(provider.streamType, same(streamType)); |
| 2480 expect(provider.stringType, same(stringType)); | 2482 expect(provider.stringType, same(stringType)); |
| 2481 expect(provider.symbolType, same(symbolType)); | 2483 expect(provider.symbolType, same(symbolType)); |
| 2482 expect(provider.typeType, same(typeType)); | 2484 expect(provider.typeType, same(typeType)); |
| 2483 } | 2485 } |
| (...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3614 */ | 3616 */ |
| 3615 class _StaleElement extends ElementImpl { | 3617 class _StaleElement extends ElementImpl { |
| 3616 _StaleElement() : super("_StaleElement", -1); | 3618 _StaleElement() : super("_StaleElement", -1); |
| 3617 | 3619 |
| 3618 @override | 3620 @override |
| 3619 get kind => throw "_StaleElement's kind shouldn't be accessed"; | 3621 get kind => throw "_StaleElement's kind shouldn't be accessed"; |
| 3620 | 3622 |
| 3621 @override | 3623 @override |
| 3622 /*=T*/ accept/*<T>*/(_) => throw "_StaleElement shouldn't be visited"; | 3624 /*=T*/ accept/*<T>*/(_) => throw "_StaleElement shouldn't be visited"; |
| 3623 } | 3625 } |
| OLD | NEW |