Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(545)

Unified Diff: sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart

Issue 70073004: Revert "Retain types of toplevel and instance variables for reflection." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
diff --git a/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart b/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
index b0e42eb6ebde5f0f65fae5fa6dc011e9c3f9ccd5..dd2d29390f529dcf3bdaf78c304fe10420138d57 100644
--- a/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
+++ b/sdk/lib/_internal/compiler/implementation/js_emitter/code_emitter_task.dart
@@ -137,14 +137,16 @@ class CodeEmitterTask extends CompilerTask {
String reflectableField = namer.reflectableField;
// function generateAccessor(field, prototype, cls) {
- jsAst.Fun fun = js.fun(['fieldDescriptor', 'accessors', 'cls'], [
- js('var fieldInformation = fieldDescriptor.split(":")'),
- js('var field = fieldInformation[0]'),
+ jsAst.Fun fun = js.fun(['field', 'accessors', 'cls'], [
js('var len = field.length'),
js('var code = field.charCodeAt(len - 1)'),
- js('var reflectable'),
- js.if_('fieldInformation.length > 1', js('reflectable = true'),
- js('reflectable = false')),
+ js('var reflectable = false'),
+ js.if_('code == $REFLECTION_MARKER', [
+ js('len--'),
+ js('code = field.charCodeAt(len - 1)'),
+ js('field = field.substring(0, len)'),
+ js('reflectable = true')
+ ]),
js('code = ((code >= $RANGE1_FIRST) && (code <= $RANGE1_LAST))'
' ? code - $RANGE1_ADJUST'
' : ((code >= $RANGE2_FIRST) && (code <= $RANGE2_LAST))'

Powered by Google App Engine
This is Rietveld 408576698