| 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 dart2js.js_emitter.full_emitter; | 5 library dart2js.js_emitter.full_emitter; |
| 6 | 6 |
| 7 import 'dart:collection' show HashMap; | 7 import 'dart:collection' show HashMap; |
| 8 import 'dart:convert'; | 8 import 'dart:convert'; |
| 9 | 9 |
| 10 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; | 10 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; |
| 11 import 'package:js_runtime/shared/embedded_names.dart' | 11 import 'package:js_runtime/shared/embedded_names.dart' |
| 12 show JsBuiltin, JsGetName; | 12 show JsBuiltin, JsGetName; |
| 13 | 13 |
| 14 import '../../common.dart'; | 14 import '../../common.dart'; |
| 15 import '../../compiler.dart' show Compiler; | 15 import '../../compiler.dart' show Compiler; |
| 16 import '../../constants/values.dart'; | 16 import '../../constants/values.dart'; |
| 17 import '../../core_types.dart' show CommonElements; | 17 import '../../core_types.dart' show CommonElements; |
| 18 import '../../elements/resolution_types.dart' show ResolutionDartType; | 18 import '../../elements/resolution_types.dart' show ResolutionDartType; |
| 19 import '../../deferred_load.dart' show OutputUnit; | 19 import '../../deferred_load.dart' show OutputUnit; |
| 20 import '../../elements/elements.dart' | 20 import '../../elements/elements.dart' |
| 21 show | 21 show |
| 22 ClassElement, | 22 ClassElement, |
| 23 Element, | 23 Element, |
| 24 Elements, | 24 Elements, |
| 25 Entity, |
| 25 FieldElement, | 26 FieldElement, |
| 26 FunctionElement, | 27 FunctionElement, |
| 27 FunctionSignature, | 28 FunctionSignature, |
| 28 LibraryElement, | 29 LibraryElement, |
| 29 MethodElement, | 30 MethodElement, |
| 30 TypedefElement, | 31 TypedefElement, |
| 31 VariableElement; | 32 VariableElement; |
| 32 import '../../hash/sha1.dart' show Hasher; | 33 import '../../hash/sha1.dart' show Hasher; |
| 33 import '../../io/code_output.dart'; | 34 import '../../io/code_output.dart'; |
| 34 import '../../io/line_column_provider.dart' | 35 import '../../io/line_column_provider.dart' |
| (...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 351 ClassElement element, bool hasBeenInstantiated) { | 352 ClassElement element, bool hasBeenInstantiated) { |
| 352 return jsAst.js('#.prototype', constructorAccess(element)); | 353 return jsAst.js('#.prototype', constructorAccess(element)); |
| 353 } | 354 } |
| 354 | 355 |
| 355 @override | 356 @override |
| 356 jsAst.PropertyAccess interceptorClassAccess(ClassElement element) { | 357 jsAst.PropertyAccess interceptorClassAccess(ClassElement element) { |
| 357 return globalPropertyAccess(element); | 358 return globalPropertyAccess(element); |
| 358 } | 359 } |
| 359 | 360 |
| 360 @override | 361 @override |
| 361 jsAst.PropertyAccess typeAccess(Element element) { | 362 jsAst.PropertyAccess typeAccess(Entity element) { |
| 362 return globalPropertyAccess(element); | 363 return globalPropertyAccess(element); |
| 363 } | 364 } |
| 364 | 365 |
| 365 @override | 366 @override |
| 366 jsAst.Template templateForBuiltin(JsBuiltin builtin) { | 367 jsAst.Template templateForBuiltin(JsBuiltin builtin) { |
| 367 switch (builtin) { | 368 switch (builtin) { |
| 368 case JsBuiltin.dartObjectConstructor: | 369 case JsBuiltin.dartObjectConstructor: |
| 369 return jsAst.js | 370 return jsAst.js |
| 370 .expressionTemplateYielding(typeAccess(commonElements.objectClass)); | 371 .expressionTemplateYielding(typeAccess(commonElements.objectClass)); |
| 371 | 372 |
| (...skipping 1809 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2181 void invalidateCaches() { | 2182 void invalidateCaches() { |
| 2182 if (!compiler.options.hasIncrementalSupport) return; | 2183 if (!compiler.options.hasIncrementalSupport) return; |
| 2183 if (cachedElements.isEmpty) return; | 2184 if (cachedElements.isEmpty) return; |
| 2184 for (Element element in backend.codegenEnqueuer.newlyEnqueuedElements) { | 2185 for (Element element in backend.codegenEnqueuer.newlyEnqueuedElements) { |
| 2185 if (element.isInstanceMember) { | 2186 if (element.isInstanceMember) { |
| 2186 cachedClassBuilders.remove(element.enclosingClass); | 2187 cachedClassBuilders.remove(element.enclosingClass); |
| 2187 } | 2188 } |
| 2188 } | 2189 } |
| 2189 } | 2190 } |
| 2190 } | 2191 } |
| OLD | NEW |