| 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_generator_dependencies; | 5 library code_generator_dependencies; |
| 6 | 6 |
| 7 import '../js_backend.dart'; | 7 import '../js_backend.dart'; |
| 8 import '../../dart2jslib.dart'; | 8 import '../../dart2jslib.dart'; |
| 9 import '../../js_emitter/js_emitter.dart'; | 9 import '../../js_emitter/js_emitter.dart'; |
| 10 import '../../js/js.dart' as js; | 10 import '../../js/js.dart' as js; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 ConstructorElement get mapLiteralConstructor { | 76 ConstructorElement get mapLiteralConstructor { |
| 77 return _backend.mapLiteralConstructor; | 77 return _backend.mapLiteralConstructor; |
| 78 } | 78 } |
| 79 | 79 |
| 80 ConstructorElement get mapLiteralConstructorEmpty { | 80 ConstructorElement get mapLiteralConstructorEmpty { |
| 81 return _backend.mapLiteralConstructorEmpty; | 81 return _backend.mapLiteralConstructorEmpty; |
| 82 } | 82 } |
| 83 | 83 |
| 84 FunctionElement get identicalFunction => _compiler.identicalFunction; | 84 FunctionElement get identicalFunction => _compiler.identicalFunction; |
| 85 | 85 |
| 86 String invocationName(Selector selector) { | 86 js.Name invocationName(Selector selector) { |
| 87 return _namer.invocationName(selector); | 87 return _namer.invocationName(selector); |
| 88 } | 88 } |
| 89 | 89 |
| 90 FunctionElement get createInvocationMirrorMethod { | 90 FunctionElement get createInvocationMirrorMethod { |
| 91 return _backend.getCreateInvocationMirror(); | 91 return _backend.getCreateInvocationMirror(); |
| 92 } | 92 } |
| 93 | 93 |
| 94 void registerUseInterceptorInCodegen() { | 94 void registerUseInterceptorInCodegen() { |
| 95 _backend.registerUseInterceptor(_enqueuer); | 95 _backend.registerUseInterceptor(_enqueuer); |
| 96 } | 96 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 108 } | 108 } |
| 109 | 109 |
| 110 void registerSpecializedGetInterceptor(Set<ClassElement> classes) { | 110 void registerSpecializedGetInterceptor(Set<ClassElement> classes) { |
| 111 _backend.registerSpecializedGetInterceptor(classes); | 111 _backend.registerSpecializedGetInterceptor(classes); |
| 112 } | 112 } |
| 113 | 113 |
| 114 js.Expression constructorAccess(ClassElement element) { | 114 js.Expression constructorAccess(ClassElement element) { |
| 115 return _backend.emitter.constructorAccess(element); | 115 return _backend.emitter.constructorAccess(element); |
| 116 } | 116 } |
| 117 | 117 |
| 118 String instanceFieldPropertyName(Element field) { | 118 js.Name instanceFieldPropertyName(Element field) { |
| 119 return _namer.instanceFieldPropertyName(field); | 119 return _namer.instanceFieldPropertyName(field); |
| 120 } | 120 } |
| 121 | 121 |
| 122 String instanceMethodName(FunctionElement element) { | 122 js.Name instanceMethodName(FunctionElement element) { |
| 123 return _namer.instanceMethodName(element); | 123 return _namer.instanceMethodName(element); |
| 124 } | 124 } |
| 125 | 125 |
| 126 js.Expression prototypeAccess(ClassElement e, | 126 js.Expression prototypeAccess(ClassElement e, |
| 127 {bool hasBeenInstantiated: false}) { | 127 {bool hasBeenInstantiated: false}) { |
| 128 return _emitter.prototypeAccess(e, | 128 return _emitter.prototypeAccess(e, |
| 129 hasBeenInstantiated: hasBeenInstantiated); | 129 hasBeenInstantiated: hasBeenInstantiated); |
| 130 } | 130 } |
| 131 | 131 |
| 132 String getInterceptorName(Set<ClassElement> interceptedClasses) { | 132 js.Name getInterceptorName(Set<ClassElement> interceptedClasses) { |
| 133 return _backend.namer.nameForGetInterceptor(interceptedClasses); | 133 return _backend.namer.nameForGetInterceptor(interceptedClasses); |
| 134 } | 134 } |
| 135 | 135 |
| 136 js.Expression getInterceptorLibrary() { | 136 js.Expression getInterceptorLibrary() { |
| 137 return new js.VariableUse( | 137 return new js.VariableUse( |
| 138 _backend.namer.globalObjectFor(_backend.interceptorsLibrary)); | 138 _backend.namer.globalObjectFor(_backend.interceptorsLibrary)); |
| 139 } | 139 } |
| 140 | 140 |
| 141 FunctionElement getWrapExceptionHelper() { | 141 FunctionElement getWrapExceptionHelper() { |
| 142 return _backend.getWrapExceptionHelper(); | 142 return _backend.getWrapExceptionHelper(); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 FunctionElement getCheckSubtypeOfRuntimeType() { | 184 FunctionElement getCheckSubtypeOfRuntimeType() { |
| 185 return _backend.getCheckSubtypeOfRuntimeType(); | 185 return _backend.getCheckSubtypeOfRuntimeType(); |
| 186 } | 186 } |
| 187 | 187 |
| 188 /// subtypeOfRuntimeTypeCast(value, runtimeType) | 188 /// subtypeOfRuntimeTypeCast(value, runtimeType) |
| 189 FunctionElement getSubtypeOfRuntimeTypeCast() { | 189 FunctionElement getSubtypeOfRuntimeTypeCast() { |
| 190 return _backend.getSubtypeOfRuntimeTypeCast(); | 190 return _backend.getSubtypeOfRuntimeTypeCast(); |
| 191 } | 191 } |
| 192 | 192 |
| 193 js.Expression getRuntimeTypeName(ClassElement cls) { | 193 js.Expression getRuntimeTypeName(ClassElement cls) { |
| 194 return js.string(_namer.runtimeTypeName(cls)); | 194 return js.quoteName(_namer.runtimeTypeName(cls)); |
| 195 } | 195 } |
| 196 | 196 |
| 197 int getTypeVariableIndex(TypeVariableType variable) { | 197 int getTypeVariableIndex(TypeVariableType variable) { |
| 198 return RuntimeTypes.getTypeVariableIndex(variable.element); | 198 return RuntimeTypes.getTypeVariableIndex(variable.element); |
| 199 } | 199 } |
| 200 | 200 |
| 201 bool needsSubstitutionForTypeVariableAccess(ClassElement cls) { | 201 bool needsSubstitutionForTypeVariableAccess(ClassElement cls) { |
| 202 ClassWorld classWorld = _compiler.world; | 202 ClassWorld classWorld = _compiler.world; |
| 203 if (classWorld.isUsedAsMixin(cls)) return true; | 203 if (classWorld.isUsedAsMixin(cls)) return true; |
| 204 | 204 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 216 (_) => arguments[variableIndex++]); | 216 (_) => arguments[variableIndex++]); |
| 217 assert(variableIndex == arguments.length); | 217 assert(variableIndex == arguments.length); |
| 218 return representation; | 218 return representation; |
| 219 } | 219 } |
| 220 | 220 |
| 221 void registerIsCheck(DartType type, Registry registry) { | 221 void registerIsCheck(DartType type, Registry registry) { |
| 222 _enqueuer.registerIsCheck(type); | 222 _enqueuer.registerIsCheck(type); |
| 223 _backend.registerIsCheckForCodegen(type, _enqueuer, registry); | 223 _backend.registerIsCheckForCodegen(type, _enqueuer, registry); |
| 224 } | 224 } |
| 225 | 225 |
| 226 String getTypeTestTag(DartType type) { | 226 js.Name getTypeTestTag(DartType type) { |
| 227 return _backend.namer.operatorIsType(type); | 227 return _backend.namer.operatorIsType(type); |
| 228 } | 228 } |
| 229 | 229 |
| 230 String getTypeSubstitutionTag(ClassElement element) { | 230 js.Name getTypeSubstitutionTag(ClassElement element) { |
| 231 return _backend.namer.substitutionName(element); | 231 return _backend.namer.substitutionName(element); |
| 232 } | 232 } |
| 233 | 233 |
| 234 bool operatorEqHandlesNullArgument(FunctionElement element) { | 234 bool operatorEqHandlesNullArgument(FunctionElement element) { |
| 235 return _backend.operatorEqHandlesNullArgument(element); | 235 return _backend.operatorEqHandlesNullArgument(element); |
| 236 } | 236 } |
| 237 | 237 |
| 238 bool hasStrictSubtype(ClassElement element) { | 238 bool hasStrictSubtype(ClassElement element) { |
| 239 return _compiler.world.hasAnyStrictSubtype(element); | 239 return _compiler.world.hasAnyStrictSubtype(element); |
| 240 } | 240 } |
| 241 } | 241 } |
| OLD | NEW |