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