OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 dart2js.compiler_base; | 5 library dart2js.compiler_base; |
6 | 6 |
7 import 'dart:async' show | 7 import 'dart:async' show |
8 EventSink, | 8 EventSink, |
9 Future; | 9 Future; |
10 | 10 |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 LibraryElement mirrorsLibrary; | 289 LibraryElement mirrorsLibrary; |
290 | 290 |
291 /// Initialized when dart:typed_data is loaded. | 291 /// Initialized when dart:typed_data is loaded. |
292 LibraryElement typedDataLibrary; | 292 LibraryElement typedDataLibrary; |
293 | 293 |
294 ClassElement get objectClass => _coreTypes.objectClass; | 294 ClassElement get objectClass => _coreTypes.objectClass; |
295 ClassElement get boolClass => _coreTypes.boolClass; | 295 ClassElement get boolClass => _coreTypes.boolClass; |
296 ClassElement get numClass => _coreTypes.numClass; | 296 ClassElement get numClass => _coreTypes.numClass; |
297 ClassElement get intClass => _coreTypes.intClass; | 297 ClassElement get intClass => _coreTypes.intClass; |
298 ClassElement get doubleClass => _coreTypes.doubleClass; | 298 ClassElement get doubleClass => _coreTypes.doubleClass; |
| 299 ClassElement get resourceClass => _coreTypes.resourceClass; |
299 ClassElement get stringClass => _coreTypes.stringClass; | 300 ClassElement get stringClass => _coreTypes.stringClass; |
300 ClassElement get functionClass => _coreTypes.functionClass; | 301 ClassElement get functionClass => _coreTypes.functionClass; |
301 ClassElement get nullClass => _coreTypes.nullClass; | 302 ClassElement get nullClass => _coreTypes.nullClass; |
302 ClassElement get listClass => _coreTypes.listClass; | 303 ClassElement get listClass => _coreTypes.listClass; |
303 ClassElement get typeClass => _coreTypes.typeClass; | 304 ClassElement get typeClass => _coreTypes.typeClass; |
304 ClassElement get mapClass => _coreTypes.mapClass; | 305 ClassElement get mapClass => _coreTypes.mapClass; |
305 ClassElement get symbolClass => _coreTypes.symbolClass; | 306 ClassElement get symbolClass => _coreTypes.symbolClass; |
306 ClassElement get stackTraceClass => _coreTypes.stackTraceClass; | 307 ClassElement get stackTraceClass => _coreTypes.stackTraceClass; |
307 ClassElement get futureClass => _coreTypes.futureClass; | 308 ClassElement get futureClass => _coreTypes.futureClass; |
308 ClassElement get iterableClass => _coreTypes.iterableClass; | 309 ClassElement get iterableClass => _coreTypes.iterableClass; |
(...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 if (result == null) { | 905 if (result == null) { |
905 missingCoreClasses.add(name); | 906 missingCoreClasses.add(name); |
906 } | 907 } |
907 return result; | 908 return result; |
908 } | 909 } |
909 _coreTypes.objectClass = lookupCoreClass('Object'); | 910 _coreTypes.objectClass = lookupCoreClass('Object'); |
910 _coreTypes.boolClass = lookupCoreClass('bool'); | 911 _coreTypes.boolClass = lookupCoreClass('bool'); |
911 _coreTypes.numClass = lookupCoreClass('num'); | 912 _coreTypes.numClass = lookupCoreClass('num'); |
912 _coreTypes.intClass = lookupCoreClass('int'); | 913 _coreTypes.intClass = lookupCoreClass('int'); |
913 _coreTypes.doubleClass = lookupCoreClass('double'); | 914 _coreTypes.doubleClass = lookupCoreClass('double'); |
| 915 _coreTypes.resourceClass = lookupCoreClass('Resource'); |
914 _coreTypes.stringClass = lookupCoreClass('String'); | 916 _coreTypes.stringClass = lookupCoreClass('String'); |
915 _coreTypes.functionClass = lookupCoreClass('Function'); | 917 _coreTypes.functionClass = lookupCoreClass('Function'); |
916 _coreTypes.listClass = lookupCoreClass('List'); | 918 _coreTypes.listClass = lookupCoreClass('List'); |
917 _coreTypes.typeClass = lookupCoreClass('Type'); | 919 _coreTypes.typeClass = lookupCoreClass('Type'); |
918 _coreTypes.mapClass = lookupCoreClass('Map'); | 920 _coreTypes.mapClass = lookupCoreClass('Map'); |
919 _coreTypes.nullClass = lookupCoreClass('Null'); | 921 _coreTypes.nullClass = lookupCoreClass('Null'); |
920 _coreTypes.stackTraceClass = lookupCoreClass('StackTrace'); | 922 _coreTypes.stackTraceClass = lookupCoreClass('StackTrace'); |
921 _coreTypes.iterableClass = lookupCoreClass('Iterable'); | 923 _coreTypes.iterableClass = lookupCoreClass('Iterable'); |
922 _coreTypes.symbolClass = lookupCoreClass('Symbol'); | 924 _coreTypes.symbolClass = lookupCoreClass('Symbol'); |
923 if (!missingCoreClasses.isEmpty) { | 925 if (!missingCoreClasses.isEmpty) { |
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1670 ClassElement functionClass; | 1672 ClassElement functionClass; |
1671 ClassElement nullClass; | 1673 ClassElement nullClass; |
1672 ClassElement listClass; | 1674 ClassElement listClass; |
1673 ClassElement typeClass; | 1675 ClassElement typeClass; |
1674 ClassElement mapClass; | 1676 ClassElement mapClass; |
1675 ClassElement symbolClass; | 1677 ClassElement symbolClass; |
1676 ClassElement stackTraceClass; | 1678 ClassElement stackTraceClass; |
1677 ClassElement futureClass; | 1679 ClassElement futureClass; |
1678 ClassElement iterableClass; | 1680 ClassElement iterableClass; |
1679 ClassElement streamClass; | 1681 ClassElement streamClass; |
| 1682 ClassElement resourceClass; |
1680 | 1683 |
1681 _CompilerCoreTypes(this.compiler); | 1684 _CompilerCoreTypes(this.compiler); |
1682 | 1685 |
1683 @override | 1686 @override |
1684 InterfaceType get objectType => objectClass.computeType(compiler); | 1687 InterfaceType get objectType => objectClass.computeType(compiler); |
1685 | 1688 |
1686 @override | 1689 @override |
1687 InterfaceType get boolType => boolClass.computeType(compiler); | 1690 InterfaceType get boolType => boolClass.computeType(compiler); |
1688 | 1691 |
1689 @override | 1692 @override |
1690 InterfaceType get doubleType => doubleClass.computeType(compiler); | 1693 InterfaceType get doubleType => doubleClass.computeType(compiler); |
1691 | 1694 |
1692 @override | 1695 @override |
1693 InterfaceType get functionType => functionClass.computeType(compiler); | 1696 InterfaceType get functionType => functionClass.computeType(compiler); |
1694 | 1697 |
1695 @override | 1698 @override |
1696 InterfaceType get intType => intClass.computeType(compiler); | 1699 InterfaceType get intType => intClass.computeType(compiler); |
1697 | 1700 |
1698 @override | 1701 @override |
| 1702 InterfaceType get resourceType => resourceClass.computeType(compiler); |
| 1703 |
| 1704 @override |
1699 InterfaceType listType([DartType elementType]) { | 1705 InterfaceType listType([DartType elementType]) { |
1700 InterfaceType type = listClass.computeType(compiler); | 1706 InterfaceType type = listClass.computeType(compiler); |
1701 if (elementType == null) { | 1707 if (elementType == null) { |
1702 return listClass.rawType; | 1708 return listClass.rawType; |
1703 } | 1709 } |
1704 return type.createInstantiation([elementType]); | 1710 return type.createInstantiation([elementType]); |
1705 } | 1711 } |
1706 | 1712 |
1707 @override | 1713 @override |
1708 InterfaceType mapType([DartType keyType, | 1714 InterfaceType mapType([DartType keyType, |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1753 | 1759 |
1754 @override | 1760 @override |
1755 InterfaceType streamType([DartType elementType]) { | 1761 InterfaceType streamType([DartType elementType]) { |
1756 InterfaceType type = streamClass.computeType(compiler); | 1762 InterfaceType type = streamClass.computeType(compiler); |
1757 if (elementType == null) { | 1763 if (elementType == null) { |
1758 return streamClass.rawType; | 1764 return streamClass.rawType; |
1759 } | 1765 } |
1760 return type.createInstantiation([elementType]); | 1766 return type.createInstantiation([elementType]); |
1761 } | 1767 } |
1762 } | 1768 } |
OLD | NEW |