[Pkg-javascript-commits] [node-acorn-jsx] 216/484: Removed dirty hack in favor of fixed expected locations for arrow and method functions (node's location should include arguments).
Bastien Roucariès
rouca at moszumanska.debian.org
Sat Aug 19 14:20:31 UTC 2017
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository node-acorn-jsx.
commit 5d50be144738da70c25aeb9a73e0d775a51eef5f
Author: Ingvar Stepanyan <me at rreverser.com>
Date: Thu Jul 24 19:53:42 2014 +0300
Removed dirty hack in favor of fixed expected locations for arrow and method functions (node's location should include arguments).
---
acorn.js | 32 +++-------
test/tests-harmony.js | 164 ++++++++++++++++++++++++++------------------------
2 files changed, 93 insertions(+), 103 deletions(-)
diff --git a/acorn.js b/acorn.js
index 50a18dd..1ea2782 100644
--- a/acorn.js
+++ b/acorn.js
@@ -1060,20 +1060,6 @@
if (sourceFile !== null) this.source = sourceFile;
}
- function setLoc(node, other) {
- if (options.locations && other.loc) {
- node.loc.start = other.loc.start;
- node.loc.end = other.loc.end;
- }
- if (other.range) {
- node.start = other.range[0];
- node.end = other.range[1];
- if (options.ranges) {
- node.range = other.range;
- }
- }
- }
-
function startNode() {
var node = new Node();
if (options.locations)
@@ -1714,10 +1700,15 @@
if (!val) {
unexpected(tokPos - 1);
}
- setLoc(val, {
- range: [tokStart1, lastEnd],
- loc: {start: tokStartLoc1, end: lastEndLoc}
- });
+ val.start = tokStart1;
+ val.end = lastEnd;
+ if (options.locations) {
+ val.loc.start = tokStartLoc1;
+ val.loc.end = lastEndLoc;
+ }
+ if (options.ranges) {
+ val.range = [tokStart1, lastEnd];
+ }
return val;
case _bracketL:
@@ -1793,7 +1784,6 @@
kind = prop.kind = "init";
} else if (options.ecmaVersion >= 6 && tokType === _parenL) {
var func = parseFunction(startNode(), false, true);
- setLoc(func, func.body);
kind = prop.kind = "init";
prop.method = true;
prop.value = func;
@@ -1804,9 +1794,6 @@
parsePropertyName(prop);
if (tokType !== _parenL) unexpected();
var func = parseFunction(startNode(), false, options.ecmaVersion >= 6);
- if (func.body.type !== "BlockStatement") {
- setLoc(func, func.body);
- }
prop.value = func;
} else unexpected();
@@ -1990,7 +1977,6 @@
method.kind = "";
}
method.value = parseFunction(startNode());
- setLoc(method.value, method.value.body);
addProperty(classBody.body, finishNode(method, "MethodDefinition"), sawGetSet, "");
eat(_semi);
}
diff --git a/test/tests-harmony.js b/test/tests-harmony.js
index 1bec7b7..3ded3f4 100644
--- a/test/tests-harmony.js
+++ b/test/tests-harmony.js
@@ -36,7 +36,11 @@ if (typeof exports != "undefined") {
/*
Tests below were automatically converted from https://github.com/ariya/esprima/blob/2bb17ef9a45c88e82d72c2c61b7b7af93caef028/test/harmonytest.js.
- Locations for parenthesized expressions and expression statements were manually fixed.
+
+ Manually fixed locations for:
+ - parenthesized expressions (include brackets into expression's location)
+ - expression statements (excluded spaces after statement's semicolon)
+ - arrow and method functions (included arguments into function's location)
*/
// ES6 Unicode Code Point Escape Sequence
@@ -2724,9 +2728,9 @@ test("x = { method() { } }", {
rest: null,
generator: false,
expression: false,
- range: [15, 18],
+ range: [12, 18],
loc: {
- start: {line: 1, column: 15},
+ start: {line: 1, column: 12},
end: {line: 1, column: 18}
}
},
@@ -2823,9 +2827,9 @@ test("x = { method(test) { } }", {
rest: null,
generator: false,
expression: false,
- range: [19, 22],
+ range: [12, 22],
loc: {
- start: {line: 1, column: 19},
+ start: {line: 1, column: 12},
end: {line: 1, column: 22}
}
},
@@ -2915,9 +2919,9 @@ test("x = { 'method'() { } }", {
rest: null,
generator: false,
expression: false,
- range: [17, 20],
+ range: [14, 20],
loc: {
- start: {line: 1, column: 17},
+ start: {line: 1, column: 14},
end: {line: 1, column: 20}
}
},
@@ -3006,9 +3010,9 @@ test("x = { get() { } }", {
rest: null,
generator: false,
expression: false,
- range: [12, 15],
+ range: [9, 15],
loc: {
- start: {line: 1, column: 12},
+ start: {line: 1, column: 9},
end: {line: 1, column: 15}
}
},
@@ -3097,9 +3101,9 @@ test("x = { set() { } }", {
rest: null,
generator: false,
expression: false,
- range: [12, 15],
+ range: [9, 15],
loc: {
- start: {line: 1, column: 12},
+ start: {line: 1, column: 9},
end: {line: 1, column: 15}
}
},
@@ -3189,9 +3193,9 @@ test("x = { method() 42 }", {
rest: null,
generator: false,
expression: true,
- range: [15, 17],
+ range: [12, 17],
loc: {
- start: {line: 1, column: 15},
+ start: {line: 1, column: 12},
end: {line: 1, column: 17}
}
},
@@ -3281,9 +3285,9 @@ test("x = { get method() 42 }", {
rest: null,
generator: false,
expression: true,
- range: [19, 21],
+ range: [16, 21],
loc: {
- start: {line: 1, column: 19},
+ start: {line: 1, column: 16},
end: {line: 1, column: 21}
}
},
@@ -3398,9 +3402,9 @@ test("x = { set method(val) v = val }", {
rest: null,
generator: false,
expression: true,
- range: [22, 29],
+ range: [16, 29],
loc: {
- start: {line: 1, column: 22},
+ start: {line: 1, column: 16},
end: {line: 1, column: 29}
}
},
@@ -8250,9 +8254,9 @@ test("class A {get() {}}", {
rest: null,
generator: false,
expression: false,
- range: [15, 17],
+ range: [12, 17],
loc: {
- start: {line: 1, column: 15},
+ start: {line: 1, column: 12},
end: {line: 1, column: 17}
}
},
@@ -8331,9 +8335,9 @@ test("class A { static get() {}}", {
rest: null,
generator: false,
expression: false,
- range: [23, 25],
+ range: [20, 25],
loc: {
- start: {line: 1, column: 23},
+ start: {line: 1, column: 20},
end: {line: 1, column: 25}
}
},
@@ -8420,9 +8424,9 @@ test("class A extends B {get foo() {}}", {
rest: null,
generator: false,
expression: false,
- range: [29, 31],
+ range: [26, 31],
loc: {
- start: {line: 1, column: 29},
+ start: {line: 1, column: 26},
end: {line: 1, column: 31}
}
},
@@ -8509,9 +8513,9 @@ test("class A extends B { static get foo() {}}", {
rest: null,
generator: false,
expression: false,
- range: [37, 39],
+ range: [34, 39],
loc: {
- start: {line: 1, column: 37},
+ start: {line: 1, column: 34},
end: {line: 1, column: 39}
}
},
@@ -8598,9 +8602,9 @@ test("class A {set a(v) {}}", {
rest: null,
generator: false,
expression: false,
- range: [18, 20],
+ range: [14, 20],
loc: {
- start: {line: 1, column: 18},
+ start: {line: 1, column: 14},
end: {line: 1, column: 20}
}
},
@@ -8687,9 +8691,9 @@ test("class A { static set a(v) {}}", {
rest: null,
generator: false,
expression: false,
- range: [26, 28],
+ range: [22, 28],
loc: {
- start: {line: 1, column: 26},
+ start: {line: 1, column: 22},
end: {line: 1, column: 28}
}
},
@@ -8776,9 +8780,9 @@ test("class A {set(v) {};}", {
rest: null,
generator: false,
expression: false,
- range: [16, 18],
+ range: [12, 18],
loc: {
- start: {line: 1, column: 16},
+ start: {line: 1, column: 12},
end: {line: 1, column: 18}
}
},
@@ -8865,9 +8869,9 @@ test("class A { static set(v) {};}", {
rest: null,
generator: false,
expression: false,
- range: [24, 26],
+ range: [20, 26],
loc: {
- start: {line: 1, column: 24},
+ start: {line: 1, column: 20},
end: {line: 1, column: 26}
}
},
@@ -9220,9 +9224,9 @@ test("\"use strict\"; (class A {constructor() { super() }})", {
rest: null,
generator: false,
expression: false,
- range: [38, 49],
+ range: [35, 49],
loc: {
- start: {line: 1, column: 38},
+ start: {line: 1, column: 35},
end: {line: 1, column: 49}
}
},
@@ -9308,9 +9312,9 @@ test("class A {static foo() {}}", {
rest: null,
generator: false,
expression: false,
- range: [22, 24],
+ range: [19, 24],
loc: {
- start: {line: 1, column: 22},
+ start: {line: 1, column: 19},
end: {line: 1, column: 24}
}
},
@@ -9390,9 +9394,9 @@ test("class A {foo() {} static bar() {}}", {
rest: null,
generator: false,
expression: false,
- range: [15, 17],
+ range: [12, 17],
loc: {
- start: {line: 1, column: 15},
+ start: {line: 1, column: 12},
end: {line: 1, column: 17}
}
},
@@ -9432,9 +9436,9 @@ test("class A {foo() {} static bar() {}}", {
rest: null,
generator: false,
expression: false,
- range: [31, 33],
+ range: [28, 33],
loc: {
- start: {line: 1, column: 31},
+ start: {line: 1, column: 28},
end: {line: 1, column: 33}
}
},
@@ -9560,9 +9564,9 @@ test("\"use strict\"; (class A { static constructor() { super() }})", {
rest: null,
generator: false,
expression: false,
- range: [46, 57],
+ range: [43, 57],
loc: {
- start: {line: 1, column: 46},
+ start: {line: 1, column: 43},
end: {line: 1, column: 57}
}
},
@@ -9649,9 +9653,9 @@ test("class A { foo() {} bar() {}}", {
rest: null,
generator: false,
expression: false,
- range: [16, 18],
+ range: [13, 18],
loc: {
- start: {line: 1, column: 16},
+ start: {line: 1, column: 13},
end: {line: 1, column: 18}
}
},
@@ -9691,9 +9695,9 @@ test("class A { foo() {} bar() {}}", {
rest: null,
generator: false,
expression: false,
- range: [25, 27],
+ range: [22, 27],
loc: {
- start: {line: 1, column: 25},
+ start: {line: 1, column: 22},
end: {line: 1, column: 27}
}
},
@@ -9774,9 +9778,9 @@ test("class A { get foo() {} set foo(v) {}}", {
rest: null,
generator: false,
expression: false,
- range: [20, 22],
+ range: [17, 22],
loc: {
- start: {line: 1, column: 20},
+ start: {line: 1, column: 17},
end: {line: 1, column: 22}
}
},
@@ -9824,9 +9828,9 @@ test("class A { get foo() {} set foo(v) {}}", {
rest: null,
generator: false,
expression: false,
- range: [34, 36],
+ range: [30, 36],
loc: {
- start: {line: 1, column: 34},
+ start: {line: 1, column: 30},
end: {line: 1, column: 36}
}
},
@@ -9907,9 +9911,9 @@ test("class A { static get foo() {} get foo() {}}", {
rest: null,
generator: false,
expression: false,
- range: [27, 29],
+ range: [24, 29],
loc: {
- start: {line: 1, column: 27},
+ start: {line: 1, column: 24},
end: {line: 1, column: 29}
}
},
@@ -9949,9 +9953,9 @@ test("class A { static get foo() {} get foo() {}}", {
rest: null,
generator: false,
expression: false,
- range: [40, 42],
+ range: [37, 42],
loc: {
- start: {line: 1, column: 40},
+ start: {line: 1, column: 37},
end: {line: 1, column: 42}
}
},
@@ -10032,9 +10036,9 @@ test("class A { static get foo() {} static get bar() {} }", {
rest: null,
generator: false,
expression: false,
- range: [27, 29],
+ range: [24, 29],
loc: {
- start: {line: 1, column: 27},
+ start: {line: 1, column: 24},
end: {line: 1, column: 29}
}
},
@@ -10074,9 +10078,9 @@ test("class A { static get foo() {} static get bar() {} }", {
rest: null,
generator: false,
expression: false,
- range: [47, 49],
+ range: [44, 49],
loc: {
- start: {line: 1, column: 47},
+ start: {line: 1, column: 44},
end: {line: 1, column: 49}
}
},
@@ -10157,9 +10161,9 @@ test("class A { static get foo() {} static set foo(v) {} get foo() {} set foo(v)
rest: null,
generator: false,
expression: false,
- range: [27, 29],
+ range: [24, 29],
loc: {
- start: {line: 1, column: 27},
+ start: {line: 1, column: 24},
end: {line: 1, column: 29}
}
},
@@ -10207,9 +10211,9 @@ test("class A { static get foo() {} static set foo(v) {} get foo() {} set foo(v)
rest: null,
generator: false,
expression: false,
- range: [48, 50],
+ range: [44, 50],
loc: {
- start: {line: 1, column: 48},
+ start: {line: 1, column: 44},
end: {line: 1, column: 50}
}
},
@@ -10249,9 +10253,9 @@ test("class A { static get foo() {} static set foo(v) {} get foo() {} set foo(v)
rest: null,
generator: false,
expression: false,
- range: [61, 63],
+ range: [58, 63],
loc: {
- start: {line: 1, column: 61},
+ start: {line: 1, column: 58},
end: {line: 1, column: 63}
}
},
@@ -10299,9 +10303,9 @@ test("class A { static get foo() {} static set foo(v) {} get foo() {} set foo(v)
rest: null,
generator: false,
expression: false,
- range: [75, 77],
+ range: [71, 77],
loc: {
- start: {line: 1, column: 75},
+ start: {line: 1, column: 71},
end: {line: 1, column: 77}
}
},
@@ -10390,9 +10394,9 @@ test("class A { set foo(v) {} get foo() {} }", {
rest: null,
generator: false,
expression: false,
- range: [21, 23],
+ range: [17, 23],
loc: {
- start: {line: 1, column: 21},
+ start: {line: 1, column: 17},
end: {line: 1, column: 23}
}
},
@@ -10432,9 +10436,9 @@ test("class A { set foo(v) {} get foo() {} }", {
rest: null,
generator: false,
expression: false,
- range: [34, 36],
+ range: [31, 36],
loc: {
- start: {line: 1, column: 34},
+ start: {line: 1, column: 31},
end: {line: 1, column: 36}
}
},
@@ -10825,9 +10829,9 @@ test("({get [x]() {}, set [x](v) {}})", {
rest: null,
generator: false,
expression: false,
- range: [12, 14],
+ range: [9, 14],
loc: {
- start: {line: 1, column: 12},
+ start: {line: 1, column: 9},
end: {line: 1, column: 14}
}
},
@@ -10877,9 +10881,9 @@ test("({get [x]() {}, set [x](v) {}})", {
rest: null,
generator: false,
expression: false,
- range: [27, 29],
+ range: [23, 29],
loc: {
- start: {line: 1, column: 27},
+ start: {line: 1, column: 23},
end: {line: 1, column: 29}
}
},
@@ -10894,10 +10898,10 @@ test("({get [x]() {}, set [x](v) {}})", {
}
}
],
- range: [1, 30],
+ range: [0, 31],
loc: {
- start: {line: 1, column: 1},
- end: {line: 1, column: 30}
+ start: {line: 1, column: 0},
+ end: {line: 1, column: 31}
}
},
range: [0, 31],
@@ -10951,9 +10955,9 @@ test("({[x]() {}})", {
rest: null,
generator: false,
expression: false,
- range: [8, 10],
+ range: [5, 10],
loc: {
- start: {line: 1, column: 8},
+ start: {line: 1, column: 5},
end: {line: 1, column: 10}
}
},
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-acorn-jsx.git
More information about the Pkg-javascript-commits
mailing list