parent
5771c8b4b2
commit
5c44c13465
2
acorn.js
2
acorn.js
@ -673,7 +673,7 @@
|
|||||||
|
|
||||||
function readInt(radix, len) {
|
function readInt(radix, len) {
|
||||||
var start = tokPos, total = 0;
|
var start = tokPos, total = 0;
|
||||||
for (;;) {
|
for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) {
|
||||||
var code = input.charCodeAt(tokPos), val;
|
var code = input.charCodeAt(tokPos), val;
|
||||||
if (code >= 97) val = code - 97 + 10; // a
|
if (code >= 97) val = code - 97 + 10; // a
|
||||||
else if (code >= 65) val = code - 65 + 10; // A
|
else if (code >= 65) val = code - 65 + 10; // A
|
||||||
|
|||||||
@ -451,7 +451,7 @@ here (don't ask).</p> </td> <td class="code">
|
|||||||
were read, the integer value otherwise. When <code>len</code> is given, this
|
were read, the integer value otherwise. When <code>len</code> is given, this
|
||||||
will return <code>null</code> unless the integer has exactly <code>len</code> digits.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">function</span> <span class="nx">readInt</span><span class="p">(</span><span class="nx">radix</span><span class="p">,</span> <span class="nx">len</span><span class="p">)</span> <span class="p">{</span>
|
will return <code>null</code> unless the integer has exactly <code>len</code> digits.</p> </td> <td class="code"> <div class="highlight"><pre> <span class="kd">function</span> <span class="nx">readInt</span><span class="p">(</span><span class="nx">radix</span><span class="p">,</span> <span class="nx">len</span><span class="p">)</span> <span class="p">{</span>
|
||||||
<span class="kd">var</span> <span class="nx">start</span> <span class="o">=</span> <span class="nx">tokPos</span><span class="p">,</span> <span class="nx">total</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
<span class="kd">var</span> <span class="nx">start</span> <span class="o">=</span> <span class="nx">tokPos</span><span class="p">,</span> <span class="nx">total</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
|
||||||
<span class="k">for</span> <span class="p">(;;)</span> <span class="p">{</span>
|
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="nx">e</span> <span class="o">=</span> <span class="nx">len</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">?</span> <span class="kc">Infinity</span> <span class="o">:</span> <span class="nx">len</span><span class="p">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">e</span><span class="p">;</span> <span class="o">++</span><span class="nx">i</span><span class="p">)</span> <span class="p">{</span>
|
||||||
<span class="kd">var</span> <span class="nx">code</span> <span class="o">=</span> <span class="nx">input</span><span class="p">.</span><span class="nx">charCodeAt</span><span class="p">(</span><span class="nx">tokPos</span><span class="p">),</span> <span class="nx">val</span><span class="p">;</span>
|
<span class="kd">var</span> <span class="nx">code</span> <span class="o">=</span> <span class="nx">input</span><span class="p">.</span><span class="nx">charCodeAt</span><span class="p">(</span><span class="nx">tokPos</span><span class="p">),</span> <span class="nx">val</span><span class="p">;</span>
|
||||||
<span class="k">if</span> <span class="p">(</span><span class="nx">code</span> <span class="o">>=</span> <span class="mi">97</span><span class="p">)</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">code</span> <span class="o">-</span> <span class="mi">97</span> <span class="o">+</span> <span class="mi">10</span><span class="p">;</span> <span class="c1">// a</span>
|
<span class="k">if</span> <span class="p">(</span><span class="nx">code</span> <span class="o">>=</span> <span class="mi">97</span><span class="p">)</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">code</span> <span class="o">-</span> <span class="mi">97</span> <span class="o">+</span> <span class="mi">10</span><span class="p">;</span> <span class="c1">// a</span>
|
||||||
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">code</span> <span class="o">>=</span> <span class="mi">65</span><span class="p">)</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">code</span> <span class="o">-</span> <span class="mi">65</span> <span class="o">+</span> <span class="mi">10</span><span class="p">;</span> <span class="c1">// A</span>
|
<span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">code</span> <span class="o">>=</span> <span class="mi">65</span><span class="p">)</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">code</span> <span class="o">-</span> <span class="mi">65</span> <span class="o">+</span> <span class="mi">10</span><span class="p">;</span> <span class="c1">// A</span>
|
||||||
|
|||||||
@ -26016,6 +26016,19 @@ test("a\u2028b", {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("'a\\u0026b'", {
|
||||||
|
type: "Program",
|
||||||
|
body: [
|
||||||
|
{
|
||||||
|
type: "ExpressionStatement",
|
||||||
|
expression: {
|
||||||
|
type: "Literal",
|
||||||
|
value: "a\u0026b"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
// Failure tests
|
// Failure tests
|
||||||
|
|
||||||
testFail("{",
|
testFail("{",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user