jsx/JSX

$__jsx_ipdec is not defined

tuchida opened this issue · 3 comments

  1. install oktavia git clone https://github.com/shibukawa/oktavia.git
  2. grunt test
  3. failed.
/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:4670
            SA[$__jsx_ipdec(bkt, s.get$I((i | 0)), 1)] = (i | 0);
               ^
ReferenceError: $__jsx_ipdec is not defined
    at SAIS$_make$LOArray$AIII (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:4670:7)
    at SAIS$make$S (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:4632:2)
    at Object.BurrowsWheelerTransform (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:4379:22)
    at Object.FMIndex.build$IUI (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:2295:8)
    at Object.Oktavia.build$UI (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:1184:16)
    at Object.Oktavia.build$ (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:1159:7)
    at Object._Test.setUp$ (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:603:15)
    at Object.TestCase.run$SF$V$ (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:244:7)
    at /home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:5054:14
    at Object.JSX.runTests (/home/uchida/tmp/oktavia/.jsx.test-oktavia-block.jsx.13135.1455e306d5f.js:5059:4)

Like this.
shibukawa/oktavia#20

$__jsx_ipdec been used only here.

_Util.emitFusedIntOpWithSideEffects(this._emitter, opToken.getValue() == "++" ? "$__jsx_ipadd" : "$__jsx_ipdec", this._expr.getExpr(), function (outerPred) {

Elsewhere used $__jsx_ipsub

"-": "$__jsx_ipsub",

function $__jsx_ipsub(o, p, r) {

Is this the JSX's problem?

Thank you for pointing this out. It was a degrade introduced in #294. Will release a fix soon.

Thanks!

fixed in 41e9558 and released as v0.9.87.