Skip to content

Commit 33322cb

Browse files
author
John Messerly
committed
Smarter js temp naming, fixes #136
JSTemporary is now identified by instance, not its String name. This provides enough information to do renaming correctly and avoid the bug in #136. The namer now considers all scopes where the temporary is visible, and chooses a name that doesn't conflict with other identifiers. Because it only considers scopes where the temp appears, it does less renaming that the previous version.
1 parent da91435 commit 33322cb

17 files changed

+628
-507
lines changed

pkg/dev_compiler/lib/runtime/dart/_interceptors.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -854,8 +854,8 @@ var _interceptors;
854854
JSString[dart.implements] = () => [core.String, JSIndexable];
855855
let _string = Symbol('_string');
856856
class _CodeUnits extends _internal.UnmodifiableListBase$(core.int) {
857-
_CodeUnits(string$) {
858-
this[_string] = string$;
857+
_CodeUnits(string) {
858+
this[_string] = string;
859859
super.UnmodifiableListBase();
860860
}
861861
get [core.$length]() {

pkg/dev_compiler/lib/runtime/dart/_internal.js

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -229,9 +229,9 @@ var _internal;
229229
let _startIndex = dart.JsSymbol('_startIndex');
230230
let SubListIterable$ = dart.generic(function(E) {
231231
class SubListIterable extends ListIterable$(E) {
232-
SubListIterable(iterable$, start$, endOrLength) {
233-
this[_iterable] = iterable$;
234-
this[_start] = start$;
232+
SubListIterable(iterable, start, endOrLength) {
233+
this[_iterable] = iterable;
234+
this[_start] = start;
235235
this[_endOrLength] = endOrLength;
236236
super.ListIterable();
237237
core.RangeError.checkNotNegative(this[_start], "start");
@@ -361,9 +361,9 @@ var _internal;
361361
}
362362
return new MappedIterable$(S, T)[_](dart.as(iterable, core.Iterable$(S)), func);
363363
}
364-
[_](iterable$, f$) {
365-
this[_iterable] = iterable$;
366-
this[_f] = f$;
364+
[_](iterable, f) {
365+
this[_iterable] = iterable;
366+
this[_f] = f;
367367
super.IterableBase();
368368
}
369369
get [core.$iterator]() {
@@ -405,9 +405,9 @@ var _internal;
405405
let _iterator = dart.JsSymbol('_iterator');
406406
let MappedIterator$ = dart.generic(function(S, T) {
407407
class MappedIterator extends core.Iterator$(T) {
408-
MappedIterator(iterator$, f$) {
409-
this[_iterator] = iterator$;
410-
this[_f] = f$;
408+
MappedIterator(iterator, f) {
409+
this[_iterator] = iterator;
410+
this[_f] = f;
411411
this[_current] = null;
412412
super.Iterator();
413413
}
@@ -429,9 +429,9 @@ var _internal;
429429
let _source = dart.JsSymbol('_source');
430430
let MappedListIterable$ = dart.generic(function(S, T) {
431431
class MappedListIterable extends ListIterable$(T) {
432-
MappedListIterable(source, f$) {
432+
MappedListIterable(source, f) {
433433
this[_source] = source;
434-
this[_f] = f$;
434+
this[_f] = f;
435435
super.ListIterable();
436436
}
437437
get [core.$length]() {
@@ -452,9 +452,9 @@ var _internal;
452452
let _ElementPredicate = _ElementPredicate$();
453453
let WhereIterable$ = dart.generic(function(E) {
454454
class WhereIterable extends collection.IterableBase$(E) {
455-
WhereIterable(iterable$, f$) {
456-
this[_iterable] = iterable$;
457-
this[_f] = f$;
455+
WhereIterable(iterable, f) {
456+
this[_iterable] = iterable;
457+
this[_f] = f;
458458
super.IterableBase();
459459
}
460460
get [core.$iterator]() {
@@ -466,9 +466,9 @@ var _internal;
466466
let WhereIterable = WhereIterable$();
467467
let WhereIterator$ = dart.generic(function(E) {
468468
class WhereIterator extends core.Iterator$(E) {
469-
WhereIterator(iterator$, f$) {
470-
this[_iterator] = iterator$;
471-
this[_f] = f$;
469+
WhereIterator(iterator, f) {
470+
this[_iterator] = iterator;
471+
this[_f] = f;
472472
super.Iterator();
473473
}
474474
moveNext() {
@@ -493,9 +493,9 @@ var _internal;
493493
let _ExpandFunction = _ExpandFunction$();
494494
let ExpandIterable$ = dart.generic(function(S, T) {
495495
class ExpandIterable extends collection.IterableBase$(T) {
496-
ExpandIterable(iterable$, f$) {
497-
this[_iterable] = iterable$;
498-
this[_f] = f$;
496+
ExpandIterable(iterable, f) {
497+
this[_iterable] = iterable;
498+
this[_f] = f;
499499
super.IterableBase();
500500
}
501501
get [core.$iterator]() {
@@ -509,9 +509,9 @@ var _internal;
509509
let _nextExpansion = dart.JsSymbol('_nextExpansion');
510510
let ExpandIterator$ = dart.generic(function(S, T) {
511511
class ExpandIterator extends core.Object {
512-
ExpandIterator(iterator$, f$) {
513-
this[_iterator] = iterator$;
514-
this[_f] = f$;
512+
ExpandIterator(iterator, f) {
513+
this[_iterator] = iterator;
514+
this[_f] = f;
515515
this[_currentExpansion] = dart.as(new EmptyIterator(), core.Iterator$(T));
516516
this[_current] = null;
517517
}
@@ -551,9 +551,9 @@ var _internal;
551551
}
552552
return new TakeIterable$(E)[_](iterable, takeCount);
553553
}
554-
[_](iterable$, takeCount$) {
555-
this[_iterable] = iterable$;
556-
this[_takeCount] = takeCount$;
554+
[_](iterable, takeCount) {
555+
this[_iterable] = iterable;
556+
this[_takeCount] = takeCount;
557557
super.IterableBase();
558558
}
559559
get [core.$iterator]() {
@@ -583,8 +583,8 @@ var _internal;
583583
let _remaining = dart.JsSymbol('_remaining');
584584
let TakeIterator$ = dart.generic(function(E) {
585585
class TakeIterator extends core.Iterator$(E) {
586-
TakeIterator(iterator$, remaining) {
587-
this[_iterator] = iterator$;
586+
TakeIterator(iterator, remaining) {
587+
this[_iterator] = iterator;
588588
this[_remaining] = remaining;
589589
super.Iterator();
590590
dart.assert(typeof this[_remaining] == 'number' && dart.notNull(this[_remaining]) >= 0);
@@ -608,9 +608,9 @@ var _internal;
608608
let TakeIterator = TakeIterator$();
609609
let TakeWhileIterable$ = dart.generic(function(E) {
610610
class TakeWhileIterable extends collection.IterableBase$(E) {
611-
TakeWhileIterable(iterable$, f$) {
612-
this[_iterable] = iterable$;
613-
this[_f] = f$;
611+
TakeWhileIterable(iterable, f) {
612+
this[_iterable] = iterable;
613+
this[_f] = f;
614614
super.IterableBase();
615615
}
616616
get [core.$iterator]() {
@@ -623,9 +623,9 @@ var _internal;
623623
let _isFinished = dart.JsSymbol('_isFinished');
624624
let TakeWhileIterator$ = dart.generic(function(E) {
625625
class TakeWhileIterator extends core.Iterator$(E) {
626-
TakeWhileIterator(iterator$, f$) {
627-
this[_iterator] = iterator$;
628-
this[_f] = f$;
626+
TakeWhileIterator(iterator, f) {
627+
this[_iterator] = iterator;
628+
this[_f] = f;
629629
this[_isFinished] = false;
630630
super.Iterator();
631631
}
@@ -656,9 +656,9 @@ var _internal;
656656
}
657657
return new SkipIterable$(E)[_](iterable, count);
658658
}
659-
[_](iterable$, skipCount$) {
660-
this[_iterable] = iterable$;
661-
this[_skipCount] = skipCount$;
659+
[_](iterable, skipCount) {
660+
this[_iterable] = iterable;
661+
this[_skipCount] = skipCount;
662662
super.IterableBase();
663663
if (!(typeof this[_skipCount] == 'number')) {
664664
throw new core.ArgumentError.value(this[_skipCount], "count is not an integer");
@@ -698,9 +698,9 @@ var _internal;
698698
let EfficientLengthSkipIterable = EfficientLengthSkipIterable$();
699699
let SkipIterator$ = dart.generic(function(E) {
700700
class SkipIterator extends core.Iterator$(E) {
701-
SkipIterator(iterator$, skipCount$) {
702-
this[_iterator] = iterator$;
703-
this[_skipCount] = skipCount$;
701+
SkipIterator(iterator, skipCount) {
702+
this[_iterator] = iterator;
703+
this[_skipCount] = skipCount;
704704
super.Iterator();
705705
dart.assert(typeof this[_skipCount] == 'number' && dart.notNull(this[_skipCount]) >= 0);
706706
}
@@ -719,9 +719,9 @@ var _internal;
719719
let SkipIterator = SkipIterator$();
720720
let SkipWhileIterable$ = dart.generic(function(E) {
721721
class SkipWhileIterable extends collection.IterableBase$(E) {
722-
SkipWhileIterable(iterable$, f$) {
723-
this[_iterable] = iterable$;
724-
this[_f] = f$;
722+
SkipWhileIterable(iterable, f) {
723+
this[_iterable] = iterable;
724+
this[_f] = f;
725725
super.IterableBase();
726726
}
727727
get [core.$iterator]() {
@@ -734,9 +734,9 @@ var _internal;
734734
let _hasSkipped = dart.JsSymbol('_hasSkipped');
735735
let SkipWhileIterator$ = dart.generic(function(E) {
736736
class SkipWhileIterator extends core.Iterator$(E) {
737-
SkipWhileIterator(iterator$, f$) {
738-
this[_iterator] = iterator$;
739-
this[_f] = f$;
737+
SkipWhileIterator(iterator, f) {
738+
this[_iterator] = iterator;
739+
this[_f] = f;
740740
this[_hasSkipped] = false;
741741
super.Iterator();
742742
}
@@ -1839,8 +1839,8 @@ var _internal;
18391839
Symbol(name) {
18401840
this[_name] = name;
18411841
}
1842-
unvalidated(name$) {
1843-
this[_name] = name$;
1842+
unvalidated(name) {
1843+
this[_name] = name;
18441844
}
18451845
validated(name) {
18461846
this[_name] = Symbol.validatePublicSymbol(name);

pkg/dev_compiler/lib/runtime/dart/_isolate_helper.js

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -350,21 +350,21 @@ var _isolate_helper;
350350
}
351351
}
352352
// Function _callInIsolate: (_IsolateContext, Function) → dynamic
353-
function _callInIsolate(isolate, function$0) {
354-
let result = isolate.eval(function$0);
353+
function _callInIsolate(isolate, func) {
354+
let result = isolate.eval(func);
355355
exports._globalState.topEventLoop.run();
356356
return result;
357357
}
358358
let _activeJsAsyncCount = Symbol('_activeJsAsyncCount');
359359
// Function enterJsAsync: () → dynamic
360360
function enterJsAsync() {
361-
let o$ = exports._globalState.topEventLoop;
362-
o$[_activeJsAsyncCount] = dart.notNull(o$[_activeJsAsyncCount]) + 1;
361+
let o = exports._globalState.topEventLoop;
362+
o[_activeJsAsyncCount] = dart.notNull(o[_activeJsAsyncCount]) + 1;
363363
}
364364
// Function leaveJsAsync: () → dynamic
365365
function leaveJsAsync() {
366-
let o$ = exports._globalState.topEventLoop;
367-
o$[_activeJsAsyncCount] = dart.notNull(o$[_activeJsAsyncCount]) - 1;
366+
let o = exports._globalState.topEventLoop;
367+
o[_activeJsAsyncCount] = dart.notNull(o[_activeJsAsyncCount]) - 1;
368368
dart.assert(dart.notNull(exports._globalState.topEventLoop[_activeJsAsyncCount]) >= 0);
369369
}
370370
// Function isWorker: () → bool
@@ -449,12 +449,12 @@ var _isolate_helper;
449449
this.fromCommandLine = !dart.notNull(isWindowDefined) && !dart.notNull(this.isWorker);
450450
}
451451
[_nativeInitWorkerMessageHandler]() {
452-
let function$0 = function(f, a) {
452+
let func = function(f, a) {
453453
return function(e) {
454454
f(a, e);
455455
};
456456
}(_foreign_helper.DART_CLOSURE_TO_JS(IsolateNatives[_processWorkerMessage]), this.mainManager);
457-
self.onmessage = function$0;
457+
self.onmessage = func;
458458
self.dartPrint = self.dartPrint || function(serialize) {
459459
return function(object) {
460460
if (self.console && self.console.log) {
@@ -484,9 +484,9 @@ var _isolate_helper;
484484
class _IsolateContext extends core.Object {
485485
_IsolateContext() {
486486
this.id = (() => {
487-
let o$ = exports._globalState, x$ = o$.nextIsolateId;
488-
o$.nextIsolateId = dart.notNull(x$) + 1;
489-
return x$;
487+
let o = exports._globalState, x = o.nextIsolateId;
488+
o.nextIsolateId = dart.notNull(x) + 1;
489+
return x;
490490
})();
491491
this.ports = new (core.Map$(core.int, RawReceivePortImpl))();
492492
this.weakPorts = new (core.Set$(core.int))();
@@ -1098,9 +1098,9 @@ var _isolate_helper;
10981098
};
10991099
}(_foreign_helper.DART_CLOSURE_TO_JS(IsolateNatives[_processWorkerMessage]), worker);
11001100
worker.onmessage = processWorkerMessageTrampoline;
1101-
let o$ = exports._globalState;
1102-
let workerId = o$.nextManagerId;
1103-
o$.nextManagerId = dart.notNull(workerId) + 1;
1101+
let o = exports._globalState;
1102+
let workerId = o.nextManagerId;
1103+
o.nextManagerId = dart.notNull(workerId) + 1;
11041104
IsolateNatives.workerIds.set(worker, workerId);
11051105
exports._globalState.managers.set(workerId, worker);
11061106
worker.postMessage(_serializeMessage(dart.map({command: 'start', id: workerId, replyTo: _serializeMessage(replyPort), args: args, msg: _serializeMessage(message), isSpawnUri: isSpawnUri, startPaused: startPaused, functionName: functionName})));
@@ -1129,8 +1129,8 @@ var _isolate_helper;
11291129
});
11301130
let _checkReplyTo = Symbol('_checkReplyTo');
11311131
class _BaseSendPort extends core.Object {
1132-
_BaseSendPort(isolateId$) {
1133-
this[_isolateId] = isolateId$;
1132+
_BaseSendPort(isolateId) {
1133+
this[_isolateId] = isolateId;
11341134
}
11351135
[_checkReplyTo](replyTo) {
11361136
if (dart.notNull(replyTo != null) && !dart.is(replyTo, _NativeJsSendPort) && !dart.is(replyTo, _WorkerSendPort)) {
@@ -1142,8 +1142,8 @@ var _isolate_helper;
11421142
let _isClosed = Symbol('_isClosed');
11431143
let _add = Symbol('_add');
11441144
class _NativeJsSendPort extends _BaseSendPort {
1145-
_NativeJsSendPort(receivePort$, isolateId) {
1146-
this[_receivePort] = receivePort$;
1145+
_NativeJsSendPort(receivePort, isolateId) {
1146+
this[_receivePort] = receivePort;
11471147
super._BaseSendPort(isolateId);
11481148
}
11491149
send(message) {
@@ -1172,9 +1172,9 @@ var _isolate_helper;
11721172
}
11731173
_NativeJsSendPort[dart.implements] = () => [isolate.SendPort];
11741174
class _WorkerSendPort extends _BaseSendPort {
1175-
_WorkerSendPort(workerId$, isolateId, receivePortId$) {
1176-
this[_workerId] = workerId$;
1177-
this[_receivePortId] = receivePortId$;
1175+
_WorkerSendPort(workerId, isolateId, receivePortId) {
1176+
this[_workerId] = workerId;
1177+
this[_receivePortId] = receivePortId;
11781178
super._BaseSendPort(isolateId);
11791179
}
11801180
send(message) {
@@ -1202,19 +1202,19 @@ var _isolate_helper;
12021202
RawReceivePortImpl(handler) {
12031203
this[_handler] = handler;
12041204
this[_id] = (() => {
1205-
let x$ = RawReceivePortImpl[_nextFreeId];
1206-
RawReceivePortImpl[_nextFreeId] = dart.notNull(x$) + 1;
1207-
return x$;
1205+
let x = RawReceivePortImpl[_nextFreeId];
1206+
RawReceivePortImpl[_nextFreeId] = dart.notNull(x) + 1;
1207+
return x;
12081208
})();
12091209
this[_isClosed] = false;
12101210
exports._globalState.currentContext.register(this[_id], this);
12111211
}
12121212
weak(handler) {
12131213
this[_handler] = handler;
12141214
this[_id] = (() => {
1215-
let x$ = RawReceivePortImpl[_nextFreeId];
1216-
RawReceivePortImpl[_nextFreeId] = dart.notNull(x$) + 1;
1217-
return x$;
1215+
let x = RawReceivePortImpl[_nextFreeId];
1216+
RawReceivePortImpl[_nextFreeId] = dart.notNull(x) + 1;
1217+
return x;
12181218
})();
12191219
this[_isClosed] = false;
12201220
exports._globalState.currentContext.registerWeak(this[_id], this);

0 commit comments

Comments
 (0)