Skip to content

Commit

Permalink
Always expose expressionValue in DirectiveLiteral nodes (#13960)
Browse files Browse the repository at this point in the history
* fix(babel-parser): Move storage of expressionValue in DirectiveLiteral to main parser so it is accessible to others.

Closes #13953.

Reviewed by @tolmasky.

* Add results from running `OVERWRITE=true yarn jest babel-parser`.

Reviewed by @tolmasky.
  • Loading branch information
tolmasky committed Nov 14, 2021
1 parent d3fffd9 commit 966387d
Show file tree
Hide file tree
Showing 285 changed files with 638 additions and 329 deletions.
4 changes: 4 additions & 0 deletions packages/babel-parser/src/parser/statement.js
Expand Up @@ -158,12 +158,16 @@ export default class StatementParser extends ExpressionParser {
delete directive.expression;

const directiveLiteral = directive.value;
const expressionValue = directiveLiteral.value;
const raw = this.input.slice(directiveLiteral.start, directiveLiteral.end);
const val = (directiveLiteral.value = raw.slice(1, -1)); // remove quotes

this.addExtra(directiveLiteral, "raw", raw);
this.addExtra(directiveLiteral, "rawValue", val);
this.addExtra(directiveLiteral, "expressionValue", expressionValue);

directiveLiteral.type = "DirectiveLiteral";

return directive;
}

Expand Down
12 changes: 0 additions & 12 deletions packages/babel-parser/src/plugins/estree.js
Expand Up @@ -130,18 +130,6 @@ export default (superClass: Class<Parser>): Class<Parser> =>
);
}

stmtToDirective(stmt: N.Statement): N.Directive {
const value = stmt.expression.value;
const directive = super.stmtToDirective(stmt);

// Record the expression value as in estree mode we want
// the stmt to have the real value e.g. ("use strict") and
// not the raw value e.g. ("use\\x20strict")
this.addExtra(directive.value, "expressionValue", value);

return directive;
}

parseBlockBody(
node: N.BlockStatementLike,
...args: [?boolean, boolean, TokenType, void | (boolean => void)]
Expand Down
Expand Up @@ -37,7 +37,8 @@
"start":26,"end":38,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":38}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down
Expand Up @@ -16,7 +16,8 @@
"start":7,"end":19,"loc":{"start":{"line":1,"column":7},"end":{"line":1,"column":19}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict",
"trailingComments": [
Expand Down
Expand Up @@ -39,7 +39,8 @@
"start":17,"end":21,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":6}},
"extra": {
"rawValue": "\\5",
"raw": "\"\\5\""
"raw": "\"\\5\"",
"expressionValue": "\u0005"
},
"value": "\\5"
}
Expand All @@ -52,7 +53,8 @@
"start":25,"end":37,"loc":{"start":{"line":3,"column":2},"end":{"line":3,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down Expand Up @@ -84,7 +86,8 @@
"start":59,"end":63,"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":6}},
"extra": {
"rawValue": "\\4",
"raw": "\"\\4\""
"raw": "\"\\4\"",
"expressionValue": "\u0004"
},
"value": "\\4"
}
Expand All @@ -97,7 +100,8 @@
"start":67,"end":71,"loc":{"start":{"line":8,"column":2},"end":{"line":8,"column":6}},
"extra": {
"rawValue": "\\5",
"raw": "\"\\5\""
"raw": "\"\\5\"",
"expressionValue": "\u0005"
},
"value": "\\5"
}
Expand All @@ -110,7 +114,8 @@
"start":75,"end":87,"loc":{"start":{"line":9,"column":2},"end":{"line":9,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down Expand Up @@ -142,7 +147,8 @@
"start":109,"end":121,"loc":{"start":{"line":13,"column":2},"end":{"line":13,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand All @@ -155,7 +161,8 @@
"start":125,"end":129,"loc":{"start":{"line":14,"column":2},"end":{"line":14,"column":6}},
"extra": {
"rawValue": "\\5",
"raw": "\"\\5\""
"raw": "\"\\5\"",
"expressionValue": "\u0005"
},
"value": "\\5"
}
Expand Down Expand Up @@ -187,7 +194,8 @@
"start":151,"end":163,"loc":{"start":{"line":18,"column":2},"end":{"line":18,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand All @@ -200,7 +208,8 @@
"start":167,"end":171,"loc":{"start":{"line":19,"column":2},"end":{"line":19,"column":6}},
"extra": {
"rawValue": "\\4",
"raw": "\"\\4\""
"raw": "\"\\4\"",
"expressionValue": "\u0004"
},
"value": "\\4"
}
Expand All @@ -213,7 +222,8 @@
"start":175,"end":179,"loc":{"start":{"line":20,"column":2},"end":{"line":20,"column":6}},
"extra": {
"rawValue": "\\5",
"raw": "\"\\5\""
"raw": "\"\\5\"",
"expressionValue": "\u0005"
},
"value": "\\5"
}
Expand Down
Expand Up @@ -28,7 +28,8 @@
"start":0,"end":21,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":21}},
"extra": {
"rawValue": "\\01 foo \\02 bar \\03",
"raw": "\"\\01 foo \\02 bar \\03\""
"raw": "\"\\01 foo \\02 bar \\03\"",
"expressionValue": "\u0001 foo \u0002 bar \u0003"
},
"value": "\\01 foo \\02 bar \\03"
}
Expand All @@ -41,7 +42,8 @@
"start":24,"end":28,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":4}},
"extra": {
"rawValue": "\\4",
"raw": "\"\\4\""
"raw": "\"\\4\"",
"expressionValue": "\u0004"
},
"value": "\\4"
}
Expand All @@ -54,7 +56,8 @@
"start":30,"end":34,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":4}},
"extra": {
"rawValue": "\\5",
"raw": "\"\\5\""
"raw": "\"\\5\"",
"expressionValue": "\u0005"
},
"value": "\\5"
}
Expand All @@ -67,7 +70,8 @@
"start":37,"end":49,"loc":{"start":{"line":6,"column":0},"end":{"line":6,"column":12}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand All @@ -80,7 +84,8 @@
"start":52,"end":56,"loc":{"start":{"line":8,"column":0},"end":{"line":8,"column":4}},
"extra": {
"rawValue": "\\4",
"raw": "\"\\4\""
"raw": "\"\\4\"",
"expressionValue": "\u0004"
},
"value": "\\4"
}
Expand All @@ -93,7 +98,8 @@
"start":58,"end":62,"loc":{"start":{"line":9,"column":0},"end":{"line":9,"column":4}},
"extra": {
"rawValue": "\\5",
"raw": "\"\\5\""
"raw": "\"\\5\"",
"expressionValue": "\u0005"
},
"value": "\\5"
}
Expand All @@ -106,7 +112,8 @@
"start":65,"end":86,"loc":{"start":{"line":11,"column":0},"end":{"line":11,"column":21}},
"extra": {
"rawValue": "\\04 foo \\05 bar \\06",
"raw": "\"\\04 foo \\05 bar \\06\""
"raw": "\"\\04 foo \\05 bar \\06\"",
"expressionValue": "\u0004 foo \u0005 bar \u0006"
},
"value": "\\04 foo \\05 bar \\06"
}
Expand Down
Expand Up @@ -36,7 +36,8 @@
"start":10,"end":14,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":6}},
"extra": {
"rawValue": "\\8",
"raw": "\"\\8\""
"raw": "\"\\8\"",
"expressionValue": "8"
},
"value": "\\8"
}
Expand All @@ -49,7 +50,8 @@
"start":15,"end":19,"loc":{"start":{"line":2,"column":7},"end":{"line":2,"column":11}},
"extra": {
"rawValue": "\\9",
"raw": "\"\\9\""
"raw": "\"\\9\"",
"expressionValue": "9"
},
"value": "\\9"
}
Expand All @@ -62,7 +64,8 @@
"start":23,"end":35,"loc":{"start":{"line":3,"column":2},"end":{"line":3,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand All @@ -75,7 +78,8 @@
"start":39,"end":43,"loc":{"start":{"line":4,"column":2},"end":{"line":4,"column":6}},
"extra": {
"rawValue": "\\8",
"raw": "\"\\8\""
"raw": "\"\\8\"",
"expressionValue": "8"
},
"value": "\\8"
}
Expand All @@ -88,7 +92,8 @@
"start":44,"end":48,"loc":{"start":{"line":4,"column":7},"end":{"line":4,"column":11}},
"extra": {
"rawValue": "\\9",
"raw": "\"\\9\""
"raw": "\"\\9\"",
"expressionValue": "9"
},
"value": "\\9"
}
Expand Down
Expand Up @@ -34,7 +34,8 @@
"start":21,"end":33,"loc":{"start":{"line":3,"column":2},"end":{"line":3,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand All @@ -47,7 +48,8 @@
"start":37,"end":41,"loc":{"start":{"line":4,"column":2},"end":{"line":4,"column":6}},
"extra": {
"rawValue": "\\8",
"raw": "\"\\8\""
"raw": "\"\\8\"",
"expressionValue": "8"
},
"value": "\\8"
}
Expand All @@ -60,7 +62,8 @@
"start":42,"end":46,"loc":{"start":{"line":4,"column":7},"end":{"line":4,"column":11}},
"extra": {
"rawValue": "\\9",
"raw": "\"\\9\""
"raw": "\"\\9\"",
"expressionValue": "9"
},
"value": "\\9"
}
Expand All @@ -79,7 +82,8 @@
"start":0,"end":4,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":4}},
"extra": {
"rawValue": "\\8",
"raw": "\"\\8\""
"raw": "\"\\8\"",
"expressionValue": "8"
},
"value": "\\8"
}
Expand All @@ -92,7 +96,8 @@
"start":5,"end":9,"loc":{"start":{"line":1,"column":5},"end":{"line":1,"column":9}},
"extra": {
"rawValue": "\\9",
"raw": "\"\\9\""
"raw": "\"\\9\"",
"expressionValue": "9"
},
"value": "\\9"
}
Expand Down
Expand Up @@ -49,7 +49,8 @@
"start":52,"end":71,"loc":{"start":{"line":1,"column":52},"end":{"line":1,"column":71}},
"extra": {
"rawValue": "octal directive\\1",
"raw": "\"octal directive\\1\""
"raw": "\"octal directive\\1\"",
"expressionValue": "octal directive\u0001"
},
"value": "octal directive\\1"
}
Expand All @@ -67,7 +68,8 @@
"start":19,"end":31,"loc":{"start":{"line":1,"column":19},"end":{"line":1,"column":31}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down
Expand Up @@ -74,7 +74,8 @@
"start":19,"end":31,"loc":{"start":{"line":1,"column":19},"end":{"line":1,"column":31}},
"extra": {
"rawValue": "use strict",
"raw": "'use strict'"
"raw": "'use strict'",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down
Expand Up @@ -50,7 +50,8 @@
"start":17,"end":29,"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down Expand Up @@ -109,7 +110,8 @@
"start":57,"end":69,"loc":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down
Expand Up @@ -47,7 +47,8 @@
"start":0,"end":12,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":12}},
"extra": {
"rawValue": "use strict",
"raw": "\"use strict\""
"raw": "\"use strict\"",
"expressionValue": "use strict"
},
"value": "use strict"
}
Expand Down
Expand Up @@ -16,7 +16,8 @@
"start":0,"end":14,"loc":{"start":{"line":1,"column":0},"end":{"line":2,"column":6}},
"extra": {
"rawValue": "Hello\\\nworld",
"raw": "\"Hello\\\nworld\""
"raw": "\"Hello\\\nworld\"",
"expressionValue": "Helloworld"
},
"value": "Hello\\\nworld"
}
Expand Down

0 comments on commit 966387d

Please sign in to comment.