Closed Bug 913301 Opened 8 years ago Closed 8 years ago

escodegen cannot handle some syntax (ArrowExpression, ForOfStatement, SpreadExpression, etc)

Categories

(DevTools :: General, defect)

26 Branch
x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: lp_, Unassigned)

References

Details

escodegen cannot handle some syntax (ArrowExpression, ForOfStatement, SpreadExpression, etc)

In Scratchpad of current Nightly, when "Pretty Print", any of the following lines will throw

  foo = (x) => x+1;
  for (x of [1,2,3]) console.log(x);
  y = [0, ...[1,2,3]];
Blocks: 906640, 908913
escodegen issue "Following esprima harmony branch" https://github.com/Constellation/escodegen/issues/12 has stalled for a year.

Maybe it's better to reactive bug 590755, and finish the AST Decompiler.
Related discussion about the differences between Parser API and Esprima's harmony AST: https://groups.google.com/d/msg/mozilla.dev.tech.js-engine.internals/viTrirW_Kjc/BnymHfNDPzEJ.
I think it is best to play nice-open-source-citizen and send patches to escodegen. The whole point of integrating escodegen was to avoid NIH and re-inventing the wheel. Better to make escodegen better for everyone than to fork or do our own thing.
We escodegen developers welcome contributions!
And we'd like to cooperate with SpiderMonkey & Firefox to make Parser API & js-tools more powerful :)
Status: UNCONFIRMED → NEW
Ever confirmed: true
escodegen was removed in bug 930141
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
acorn still cannot handle these listed syntax.

filed Bug 938203
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.