* Retain comments on (and produce sourcemaps on) the equals token in initializers * Improved comments/sourcemaps for await, yield, while, and for * Retain comments on block curly-braces * Emit comments for if statements * Improved switch case comment emit * Improve comment and sourcemap emit for try/catch, throw, and continue statements * Improve sourcemap emit and comments for with statements * More accurate sourcemaps+comments emit for new, typeof, void, and delete * Improve comment emit for element access expressions * Preserve more comments on imports and exports * Make function a bit more defensive like other usages of emitTrailingCommentsOfPosition * Support preserving comments within empty lists * Handle leading comments of tokens, conditionally indent leading comments * Stop heuristically sourcemapping tokens When the transform was trivial it worked, but was unneeded, but when it was complex, it was brittle - best leave source mapping up to the transformers * Fix unneeded +1 * Tighten up element access comments * Handle comments on parenthesized expression tokens * Fix nit
43 lines
680 B
TypeScript
43 lines
680 B
TypeScript
//// [forIn.ts]
|
|
var arr = null;
|
|
for (var i:number in arr) { // error
|
|
var x1 = arr[i];
|
|
var y1 = arr[i];
|
|
}
|
|
|
|
for (var j in arr) { // ok
|
|
var x2 = arr[j];
|
|
var y2 = arr[j];
|
|
}
|
|
|
|
var arr2 = [];
|
|
for (j in arr2) { // ok
|
|
var x3 = arr2[j];
|
|
var y3 = arr2[j];
|
|
}
|
|
|
|
for (var l in arr) {
|
|
// error in the body
|
|
k[l] = 1;
|
|
}
|
|
|
|
//// [forIn.js]
|
|
var arr = null;
|
|
for (var i in arr) { // error
|
|
var x1 = arr[i];
|
|
var y1 = arr[i];
|
|
}
|
|
for (var j in arr) { // ok
|
|
var x2 = arr[j];
|
|
var y2 = arr[j];
|
|
}
|
|
var arr2 = [];
|
|
for (j in arr2) { // ok
|
|
var x3 = arr2[j];
|
|
var y3 = arr2[j];
|
|
}
|
|
for (var l in arr) {
|
|
// error in the body
|
|
k[l] = 1;
|
|
}
|