ember_script-source 0.0.11 → 0.0.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/dist/ember-script.js +348 -322
- data/dist/ember-script.js.map +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 181feca16579cd81a27a95e1b4629bd10132f254
|
4
|
+
data.tar.gz: 1e6eb945f3687890c029af3df0e0d09b1f9fb86b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d62cfd0441b753e2a71825e7ba7fc8c2b0d67efa2ac8da0a212a4c2dc66a19835232eba5dfb2b21e251c761eced11683c848e294deb504ce5cbe0eaaed4a0905
|
7
|
+
data.tar.gz: b3f7bd0821de0125d8b0b47bfdc912fbd48c9d41968b73e846764bcc23d3d74b4bf2e854bde014a1654e26f5929b768c5d859895e773beb4d2acdd2533c0de6c
|
data/dist/ember-script.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// Generated by CommonJS Everywhere 0.9.
|
1
|
+
// Generated by CommonJS Everywhere 0.9.6
|
2
2
|
(function (global) {
|
3
3
|
function require(file, parentModule) {
|
4
4
|
if ({}.hasOwnProperty.call(require.cache, file))
|
@@ -35,7 +35,7 @@
|
|
35
35
|
var cwd = '/';
|
36
36
|
return {
|
37
37
|
title: 'browser',
|
38
|
-
version: 'v0.10.
|
38
|
+
version: 'v0.10.25',
|
39
39
|
browser: true,
|
40
40
|
env: {},
|
41
41
|
argv: [],
|
@@ -255,7 +255,7 @@
|
|
255
255
|
'ember.js'
|
256
256
|
],
|
257
257
|
'author': 'Gordon L. Hempton, Michael Ficarra',
|
258
|
-
'version': '0.0.
|
258
|
+
'version': '0.0.14',
|
259
259
|
'main': './lib/module',
|
260
260
|
'bin': { 'ember-script': './bin/ember-script' },
|
261
261
|
'homepage': 'https://github.com/ghempton/ember-script',
|
@@ -271,7 +271,7 @@
|
|
271
271
|
'devDependencies': {
|
272
272
|
'mocha': '~1.12.0',
|
273
273
|
'pegjs': 'git://github.com/dmajda/pegjs.git#bea6b1fde74c8aebf802f9bcc3380c65b241e1b7',
|
274
|
-
'coffee-script-redux': 'git://github.com/michaelficarra/CoffeeScriptRedux.git
|
274
|
+
'coffee-script-redux': 'git://github.com/michaelficarra/CoffeeScriptRedux.git',
|
275
275
|
'commonjs-everywhere': '~0.9.0',
|
276
276
|
'cluster': '~0.7.7',
|
277
277
|
'semver': '~2.1.0'
|
@@ -281,7 +281,7 @@
|
|
281
281
|
'nopt': '~2.1.2'
|
282
282
|
},
|
283
283
|
'optionalDependencies': {
|
284
|
-
'esmangle': '~0.0
|
284
|
+
'esmangle': '~1.0.0',
|
285
285
|
'source-map': '0.1.11',
|
286
286
|
'escodegen': '~0.0.24',
|
287
287
|
'cscodegen': 'git://github.com/michaelficarra/cscodegen.git#73fd7202ac086c26f18c9d56f025b18b3c6f5383'
|
@@ -396,7 +396,7 @@
|
|
396
396
|
'%': Precedence.Multiplicative,
|
397
397
|
'/': Precedence.Multiplicative
|
398
398
|
};
|
399
|
-
Regex = { NonAsciiIdentifierPart: new RegExp('[\
|
399
|
+
Regex = { NonAsciiIdentifierPart: new RegExp('[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0\u08A2-\u08AC\u08E4-\u08FE\u0900-\u0963\u0966-\u096F\u0971-\u0977\u0979-\u097F\u0981-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C82\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D02\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191C\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1D00-\u1DE6\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA697\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7B\uAA80-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE26\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]') };
|
400
400
|
function getDefaultOptions() {
|
401
401
|
return {
|
402
402
|
indent: null,
|
@@ -735,7 +735,7 @@
|
|
735
735
|
return result + (single ? "'" : '"');
|
736
736
|
}
|
737
737
|
function isWhiteSpace(ch) {
|
738
|
-
return '\t\x0B\f \
|
738
|
+
return '\t\x0B\f \xA0'.indexOf(ch) >= 0 || ch.charCodeAt(0) >= 5760 && '\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFF'.indexOf(ch) >= 0;
|
739
739
|
}
|
740
740
|
function isLineTerminator(ch) {
|
741
741
|
return '\n\r\u2028\u2029'.indexOf(ch) >= 0;
|
@@ -3162,7 +3162,7 @@
|
|
3162
3162
|
function stylizeWithColor(str, styleType) {
|
3163
3163
|
var style = inspect.styles[styleType];
|
3164
3164
|
if (style) {
|
3165
|
-
return '\
|
3165
|
+
return '\x1B[' + inspect.colors[style][0] + 'm' + str + '\x1B[' + inspect.colors[style][1] + 'm';
|
3166
3166
|
} else {
|
3167
3167
|
return str;
|
3168
3168
|
}
|
@@ -11175,7 +11175,7 @@
|
|
11175
11175
|
}());
|
11176
11176
|
});
|
11177
11177
|
require.define('/src/compiler.coffee', function (module, exports, __dirname, __filename) {
|
11178
|
-
var any, assignment, beingDeclared, collectIdentifiers, concat, concatMap, CS, declarationsNeeded, declarationsNeededRecursive, difference, divMod, dynamicMemberAccess, emberComputedProperty, enabledHelpers, envEnrichments, exports, expr, fn, fn, foldl1, forceBlock, forceComputedProperty, generateMutatingWalker, generateSoak, genSym, h, h, hasSoak, helperNames, helpers, inlineHelpers, isIdentifierName, JS, jsReserved, makeReturn, makeVarDeclaration, map, memberAccess, needsCaching, nub, owns, partition, span, stmt, union, usedAsExpression;
|
11178
|
+
var any, assignment, beingDeclared, collectIdentifiers, concat, concatMap, CS, declarationsNeeded, declarationsNeededRecursive, difference, divMod, dynamicMemberAccess, emberComputedProperty, enabledHelpers, envEnrichments, exports, expr, fn, fn, foldl1, forceBlock, forceComputedProperty, generateMutatingWalker, generateSoak, genSym, h, h, hasSoak, helperNames, helpers, inlineHelpers, intersect, isIdentifierName, JS, jsReserved, makeReturn, makeVarDeclaration, map, memberAccess, needsCaching, nub, owns, partition, span, stmt, union, usedAsExpression, variableDeclarations;
|
11179
11179
|
cache$ = require('/src/functional-helpers.coffee', module);
|
11180
11180
|
any = cache$.any;
|
11181
11181
|
concat = cache$.concat;
|
@@ -11183,6 +11183,7 @@
|
|
11183
11183
|
difference = cache$.difference;
|
11184
11184
|
divMod = cache$.divMod;
|
11185
11185
|
foldl1 = cache$.foldl1;
|
11186
|
+
intersect = cache$.intersect;
|
11186
11187
|
map = cache$.map;
|
11187
11188
|
nub = cache$.nub;
|
11188
11189
|
owns = cache$.owns;
|
@@ -11317,14 +11318,14 @@
|
|
11317
11318
|
new JS.ReturnStatement(accum)
|
11318
11319
|
]);
|
11319
11320
|
iife = new JS.FunctionExpression(null, [accum], block);
|
11320
|
-
return new JS.CallExpression(memberAccess(iife, 'call'), [
|
11321
|
+
return new JS.CallExpression(memberAccess(iife.g(), 'call'), [
|
11321
11322
|
new JS.ThisExpression,
|
11322
11323
|
new JS.ArrayExpression([])
|
11323
11324
|
]);
|
11324
11325
|
} else if (s['instanceof'](JS.SwitchStatement, JS.TryStatement)) {
|
11325
11326
|
block = new JS.BlockStatement([makeReturn(s)]);
|
11326
11327
|
iife = new JS.FunctionExpression(null, [], block);
|
11327
|
-
return new JS.CallExpression(memberAccess(iife, 'call'), [new JS.ThisExpression]);
|
11328
|
+
return new JS.CallExpression(memberAccess(iife.g(), 'call'), [new JS.ThisExpression]);
|
11328
11329
|
} else {
|
11329
11330
|
throw new Error('expr: Cannot use a ' + s.type + ' as a value');
|
11330
11331
|
}
|
@@ -11392,7 +11393,7 @@
|
|
11392
11393
|
declarationsNeededRecursive = function (node) {
|
11393
11394
|
if (!(null != node))
|
11394
11395
|
return [];
|
11395
|
-
if (node['instanceof'](JS.FunctionExpression, JS.FunctionDeclaration)) {
|
11396
|
+
if (node['instanceof'](JS.FunctionExpression, JS.FunctionDeclaration) && !node.generated) {
|
11396
11397
|
return [];
|
11397
11398
|
} else {
|
11398
11399
|
return union(declarationsNeeded(node), concatMap(node.childNodes, function (childName) {
|
@@ -11406,6 +11407,27 @@
|
|
11406
11407
|
}));
|
11407
11408
|
}
|
11408
11409
|
};
|
11410
|
+
variableDeclarations = function (node) {
|
11411
|
+
if (!(null != node))
|
11412
|
+
return [];
|
11413
|
+
if (node['instanceof'](JS.FunctionDeclaration)) {
|
11414
|
+
return [node.id];
|
11415
|
+
} else if (node['instanceof'](JS.FunctionExpression) && !node.generated) {
|
11416
|
+
return [];
|
11417
|
+
} else if (node['instanceof'](JS.VariableDeclarator)) {
|
11418
|
+
return [node.id];
|
11419
|
+
} else {
|
11420
|
+
return concatMap(node.childNodes, function (childName) {
|
11421
|
+
if (!(null != node[childName]))
|
11422
|
+
return [];
|
11423
|
+
if (in$(childName, node.listMembers)) {
|
11424
|
+
return concatMap(node[childName], variableDeclarations);
|
11425
|
+
} else {
|
11426
|
+
return variableDeclarations(node[childName]);
|
11427
|
+
}
|
11428
|
+
});
|
11429
|
+
}
|
11430
|
+
};
|
11409
11431
|
collectIdentifiers = function (node) {
|
11410
11432
|
return nub(function () {
|
11411
11433
|
switch (false) {
|
@@ -11503,13 +11525,14 @@
|
|
11503
11525
|
if (null == valueUsed)
|
11504
11526
|
valueUsed = false;
|
11505
11527
|
assignments = [];
|
11528
|
+
expression = expr(expression);
|
11506
11529
|
switch (false) {
|
11507
11530
|
case !assignee.rest:
|
11508
11531
|
case !assignee['instanceof'](JS.ArrayExpression):
|
11509
|
-
e =
|
11532
|
+
e = expression;
|
11510
11533
|
if (valueUsed || assignee.elements.length > 1) {
|
11511
11534
|
e = genSym('cache');
|
11512
|
-
assignments.push(new JS.AssignmentExpression('=', e,
|
11535
|
+
assignments.push(new JS.AssignmentExpression('=', e, expression));
|
11513
11536
|
}
|
11514
11537
|
elements = assignee.elements;
|
11515
11538
|
for (var i$ = 0, length$ = elements.length; i$ < length$; ++i$) {
|
@@ -11834,7 +11857,7 @@
|
|
11834
11857
|
Compiler.compile = function (this$) {
|
11835
11858
|
return function () {
|
11836
11859
|
var cache$2;
|
11837
|
-
return (cache$2 = new this$).compile.apply(cache$2, [].slice.call(arguments));
|
11860
|
+
return (cache$2 = new this$).compile.apply(cache$2, [].slice.call(arguments).concat());
|
11838
11861
|
};
|
11839
11862
|
}(Compiler);
|
11840
11863
|
defaultRules = [
|
@@ -12110,11 +12133,12 @@
|
|
12110
12133
|
[
|
12111
12134
|
CS.Range,
|
12112
12135
|
function (param$) {
|
12113
|
-
var accum, body, cache$2, condition, conditionAlternate, conditionConsequent, conditionTest, i, left, left_, range, rawLeft, rawRight, right, right_, update, vars;
|
12136
|
+
var accum, ancestry, body, cache$2, condition, conditionAlternate, conditionConsequent, conditionTest, i, left, left_, range, rawLeft, rawRight, right, right_, update, vars;
|
12114
12137
|
{
|
12115
12138
|
cache$2 = param$;
|
12116
12139
|
left_ = cache$2.left;
|
12117
12140
|
right_ = cache$2.right;
|
12141
|
+
ancestry = cache$2.ancestry;
|
12118
12142
|
}
|
12119
12143
|
if ((this.left['instanceof'](CS.Int) || this.left['instanceof'](CS.UnaryNegateOp) && this.left.expression['instanceof'](CS.Int)) && (this.right['instanceof'](CS.Int) || this.right['instanceof'](CS.UnaryNegateOp) && this.right.expression['instanceof'](CS.Int))) {
|
12120
12144
|
rawLeft = this.left['instanceof'](CS.UnaryNegateOp) ? -this.left.expression.data : this.left.data;
|
@@ -12165,10 +12189,16 @@
|
|
12165
12189
|
update = new JS.ConditionalExpression(conditionTest, new JS.UpdateExpression('++', true, i), new JS.UpdateExpression('--', true, i));
|
12166
12190
|
body.push(new JS.ForStatement(vars, condition, update, stmt(new JS.CallExpression(memberAccess(accum, 'push'), [i]))));
|
12167
12191
|
body.push(new JS.ReturnStatement(accum));
|
12168
|
-
|
12169
|
-
|
12170
|
-
|
12171
|
-
|
12192
|
+
if (any(ancestry, function (ancestor) {
|
12193
|
+
return ancestor['instanceof'](CS.Functions);
|
12194
|
+
})) {
|
12195
|
+
return new JS.CallExpression(memberAccess(new JS.FunctionExpression(null, [], new JS.BlockStatement(body)), 'apply'), [
|
12196
|
+
new JS.ThisExpression,
|
12197
|
+
new JS.Identifier('arguments')
|
12198
|
+
]);
|
12199
|
+
} else {
|
12200
|
+
return new JS.CallExpression(memberAccess(new JS.FunctionExpression(null, [], new JS.BlockStatement(body)), 'call'), [new JS.ThisExpression]);
|
12201
|
+
}
|
12172
12202
|
}
|
12173
12203
|
],
|
12174
12204
|
[
|
@@ -12296,8 +12326,8 @@
|
|
12296
12326
|
CS.ComputedProperty,
|
12297
12327
|
function () {
|
12298
12328
|
var handleParam;
|
12299
|
-
handleParam = function (param, original, block) {
|
12300
|
-
var p;
|
12329
|
+
handleParam = function (param, original, block, inScope) {
|
12330
|
+
var decls, p;
|
12301
12331
|
switch (false) {
|
12302
12332
|
case !original['instanceof'](CS.Rest):
|
12303
12333
|
return param;
|
@@ -12305,10 +12335,15 @@
|
|
12305
12335
|
return param;
|
12306
12336
|
case !original['instanceof'](CS.MemberAccessOps, CS.ObjectInitialiser, CS.ArrayInitialiser):
|
12307
12337
|
p = genSym('param');
|
12338
|
+
decls = map(intersect(inScope, beingDeclared(original)), function (i) {
|
12339
|
+
return new JS.Identifier(i);
|
12340
|
+
});
|
12308
12341
|
block.body.unshift(stmt(assignment(param, p)));
|
12342
|
+
if (decls.length)
|
12343
|
+
block.body.unshift(makeVarDeclaration(decls));
|
12309
12344
|
return p;
|
12310
12345
|
case !original['instanceof'](CS.DefaultParam):
|
12311
|
-
p = handleParam.call(this, param.param, original.param, block);
|
12346
|
+
p = handleParam.call(this, param.param, original.param, block, inScope);
|
12312
12347
|
block.body.unshift(new JS.IfStatement(new JS.BinaryExpression('==', new JS.Literal(null), p), stmt(assignment(p, param['default']))));
|
12313
12348
|
return p;
|
12314
12349
|
default:
|
@@ -12316,12 +12351,13 @@
|
|
12316
12351
|
}
|
12317
12352
|
};
|
12318
12353
|
return function (param$) {
|
12319
|
-
var alternate, ancestry, block, body, cache$2, chains, consequent, i, index, last, newThis, numArgs, numParams, p, parameters, parameters_, paramName, performedRewrite, pIndex, reassignments, rewriteThis, test;
|
12354
|
+
var alternate, ancestry, block, body, cache$2, chains, consequent, i, index, inScope, last, newThis, numArgs, numParams, p, parameters, parameters_, paramName, performedRewrite, pIndex, reassignments, rewriteThis, test;
|
12320
12355
|
{
|
12321
12356
|
cache$2 = param$;
|
12322
12357
|
parameters = cache$2.parameters;
|
12323
12358
|
body = cache$2.body;
|
12324
12359
|
ancestry = cache$2.ancestry;
|
12360
|
+
inScope = cache$2.inScope;
|
12325
12361
|
}
|
12326
12362
|
if (!(null != ancestry[0] ? ancestry[0]['instanceof'](CS.Constructor) : void 0))
|
12327
12363
|
body = makeReturn(body);
|
@@ -12331,18 +12367,20 @@
|
|
12331
12367
|
block.body = block.body.slice(0, -1);
|
12332
12368
|
parameters_ = parameters.length === 0 ? [] : (pIndex = parameters.length, function (accum$) {
|
12333
12369
|
while (pIndex--) {
|
12334
|
-
accum$.push(handleParam.call(this, parameters[pIndex], this.parameters[pIndex], block));
|
12370
|
+
accum$.push(handleParam.call(this, parameters[pIndex], this.parameters[pIndex], block, inScope));
|
12335
12371
|
}
|
12336
12372
|
return accum$;
|
12337
12373
|
}.call(this, []));
|
12338
12374
|
parameters = parameters_.reverse();
|
12339
12375
|
if (parameters.length > 0) {
|
12340
12376
|
if (parameters.slice(-1)[0].rest) {
|
12377
|
+
paramName = parameters.pop().expression;
|
12341
12378
|
numParams = parameters.length;
|
12342
|
-
|
12343
|
-
|
12344
|
-
consequent = helpers.slice(new JS.Identifier('arguments'), new JS.Literal(numParams - 1));
|
12379
|
+
test = new JS.BinaryExpression('>', memberAccess(new JS.Identifier('arguments'), 'length'), new JS.Literal(numParams));
|
12380
|
+
consequent = helpers.slice(new JS.Identifier('arguments'), new JS.Literal(numParams));
|
12345
12381
|
alternate = new JS.ArrayExpression([]);
|
12382
|
+
if (paramName['instanceof'](JS.Identifier) && in$(paramName.name, inScope))
|
12383
|
+
block.body.unshift(makeVarDeclaration([paramName]));
|
12346
12384
|
block.body.unshift(stmt(new JS.AssignmentExpression('=', paramName, new JS.ConditionalExpression(test, consequent, alternate))));
|
12347
12385
|
} else if (any(parameters, function (p) {
|
12348
12386
|
return p.rest;
|
@@ -12366,6 +12404,8 @@
|
|
12366
12404
|
i = i$1;
|
12367
12405
|
reassignments.consequent.body.push(stmt(new JS.AssignmentExpression('=', p, new JS.MemberExpression(true, new JS.Identifier('arguments'), new JS.BinaryExpression('-', numArgs, new JS.Literal(numParams - index - i))))));
|
12368
12406
|
}
|
12407
|
+
if (paramName['instanceof'](JS.Identifier) && in$(paramName.name, inScope))
|
12408
|
+
block.body.unshift(makeVarDeclaration([paramName]));
|
12369
12409
|
block.body.unshift(reassignments);
|
12370
12410
|
}
|
12371
12411
|
if (any(parameters, function (p) {
|
@@ -12390,7 +12430,7 @@
|
|
12390
12430
|
}
|
12391
12431
|
fn = new JS.FunctionExpression(null, parameters, block);
|
12392
12432
|
if (performedRewrite)
|
12393
|
-
new JS.CallExpression(new JS.FunctionExpression(null, [newThis], new JS.BlockStatement([new JS.ReturnStatement(fn)])), [new JS.ThisExpression]);
|
12433
|
+
fn = new JS.CallExpression(new JS.FunctionExpression(null, [newThis], new JS.BlockStatement([new JS.ReturnStatement(fn)])), [new JS.ThisExpression]);
|
12394
12434
|
if (this['instanceof'](CS.ComputedProperty)) {
|
12395
12435
|
chains = Ember.A(this.dependentKeys().map(function (c) {
|
12396
12436
|
return c.join('.');
|
@@ -12841,18 +12881,21 @@
|
|
12841
12881
|
[
|
12842
12882
|
CS.ExistsOp,
|
12843
12883
|
function (param$) {
|
12844
|
-
var cache$2, condition, e, inScope, left, node, right;
|
12884
|
+
var ancestry, cache$2, condition, e, inScope, left, node, right;
|
12845
12885
|
{
|
12846
12886
|
cache$2 = param$;
|
12847
12887
|
left = cache$2.left;
|
12848
12888
|
right = cache$2.right;
|
12889
|
+
ancestry = cache$2.ancestry;
|
12849
12890
|
inScope = cache$2.inScope;
|
12850
12891
|
}
|
12851
|
-
|
12892
|
+
left = expr(left);
|
12893
|
+
right = expr(right);
|
12894
|
+
e = needsCaching(this.left) ? genSym('cache') : left;
|
12852
12895
|
condition = new JS.BinaryExpression('!=', new JS.Literal(null), e);
|
12853
12896
|
if (e['instanceof'](JS.Identifier) && !in$(e.name, inScope))
|
12854
12897
|
condition = new JS.LogicalExpression('&&', new JS.BinaryExpression('!==', new JS.Literal('undefined'), new JS.UnaryExpression('typeof', e)), condition);
|
12855
|
-
node = new JS.ConditionalExpression(condition, e,
|
12898
|
+
node = new JS.ConditionalExpression(condition, e, right);
|
12856
12899
|
if (e === left) {
|
12857
12900
|
return node;
|
12858
12901
|
} else {
|
@@ -13467,7 +13510,7 @@
|
|
13467
13510
|
children.ancestry = ancestry;
|
13468
13511
|
children.options = options;
|
13469
13512
|
children.compile = function (node) {
|
13470
|
-
return walk.call(node
|
13513
|
+
return walk.call(node, fn, inScope, ancestry);
|
13471
13514
|
};
|
13472
13515
|
ancestry.shift();
|
13473
13516
|
jsNode = fn.call(this, children);
|
@@ -13519,7 +13562,7 @@
|
|
13519
13562
|
declaredSymbols = cache$2.declaredSymbols;
|
13520
13563
|
usedSymbols = cache$2.usedSymbols;
|
13521
13564
|
nsCounters = cache$2.nsCounters;
|
13522
|
-
newNode = this['instanceof'](JS.GenSym) ? (newNode = new JS.Identifier(generateName(this, state)), usedSymbols.push(newNode.name), newNode) : this['instanceof'](JS.FunctionExpression, JS.FunctionDeclaration) ? (params = concatMap(this.params, collectIdentifiers), nsCounters_ = {}, function (accum$) {
|
13565
|
+
newNode = this['instanceof'](JS.GenSym) ? (newNode = new JS.Identifier(generateName(this, state)), usedSymbols.push(newNode.name), newNode) : this['instanceof'](JS.FunctionExpression, JS.FunctionDeclaration) && !this.generated ? (params = concatMap(this.params, collectIdentifiers), nsCounters_ = {}, function (accum$) {
|
13523
13566
|
var k, v;
|
13524
13567
|
for (k in nsCounters) {
|
13525
13568
|
if (!isOwn$(nsCounters, k))
|
@@ -13534,7 +13577,9 @@
|
|
13534
13577
|
nsCounters: nsCounters_
|
13535
13578
|
}), newNode.body = forceBlock(newNode.body), undeclared = map(declarationsNeededRecursive(this.body), function (id) {
|
13536
13579
|
return id.name;
|
13537
|
-
}),
|
13580
|
+
}), undeclared = difference(undeclared, map(variableDeclarations(this.body), function (id) {
|
13581
|
+
return id.name;
|
13582
|
+
})), alreadyDeclared = union(declaredSymbols, concatMap(this.params, collectIdentifiers)), declNames = nub(difference(undeclared, alreadyDeclared)), decls = map(declNames, function (name) {
|
13538
13583
|
return new JS.Identifier(name);
|
13539
13584
|
}), decls.length > 0 ? newNode.body.body.unshift(makeVarDeclaration(decls)) : void 0, newNode) : generateSymbols(this, state);
|
13540
13585
|
state.declaredSymbols = union(declaredSymbols, map(declarationsNeededRecursive(newNode), function (id) {
|
@@ -14030,6 +14075,11 @@
|
|
14030
14075
|
handleLists(SwitchStatement, ['cases']);
|
14031
14076
|
handleLists(TryStatement, ['handlers']);
|
14032
14077
|
handleLists(VariableDeclaration, ['declarations']);
|
14078
|
+
FunctionDeclaration.prototype.generated = FunctionExpression.prototype.generated = false;
|
14079
|
+
FunctionDeclaration.prototype.g = FunctionExpression.prototype.g = function () {
|
14080
|
+
this.generated = true;
|
14081
|
+
return this;
|
14082
|
+
};
|
14033
14083
|
function in$(member, list) {
|
14034
14084
|
for (var i = 0, length = list.length; i < length; ++i)
|
14035
14085
|
if (i in list && list[i] === member)
|
@@ -14095,7 +14145,7 @@
|
|
14095
14145
|
};
|
14096
14146
|
this.concat = concat = function (list) {
|
14097
14147
|
var cache$;
|
14098
|
-
return (cache$ = []).concat.apply(cache$, [].slice.call(list));
|
14148
|
+
return (cache$ = []).concat.apply(cache$, [].slice.call(list).concat());
|
14099
14149
|
};
|
14100
14150
|
this.concatMap = function (list, fn) {
|
14101
14151
|
return concat(map(list, fn));
|
@@ -15075,41 +15125,43 @@
|
|
15075
15125
|
var possibilities;
|
15076
15126
|
if (null == inScope)
|
15077
15127
|
inScope = [];
|
15078
|
-
possibilities = function () {
|
15128
|
+
possibilities = nub(function () {
|
15079
15129
|
switch (false) {
|
15080
15130
|
case !this['instanceof'](CS.AssignOp):
|
15081
|
-
return
|
15131
|
+
return concat([
|
15132
|
+
beingDeclared(this.assignee),
|
15133
|
+
envEnrichments(this.expression)
|
15134
|
+
]);
|
15082
15135
|
case !this['instanceof'](CS.Mixin):
|
15083
|
-
return
|
15136
|
+
return concat([
|
15084
15137
|
beingDeclared(this.nameAssignee),
|
15085
15138
|
'undefined' !== typeof name && null != name ? [name] : []
|
15086
|
-
])
|
15139
|
+
]);
|
15087
15140
|
case !this['instanceof'](CS.Class):
|
15088
|
-
return
|
15141
|
+
return concat([
|
15089
15142
|
beingDeclared(this.nameAssignee),
|
15090
|
-
envEnrichments(this.parent)
|
15091
|
-
|
15092
|
-
]));
|
15143
|
+
envEnrichments(this.parent)
|
15144
|
+
]);
|
15093
15145
|
case !this['instanceof'](CS.ForIn, CS.ForOf):
|
15094
|
-
return
|
15095
|
-
concatMap(this.childNodes, function (this$) {
|
15096
|
-
return function (child) {
|
15097
|
-
if (in$(child, this$.listMembers)) {
|
15098
|
-
return concatMap(this$[child], function (m) {
|
15099
|
-
return envEnrichments(m, inScope);
|
15100
|
-
});
|
15101
|
-
} else {
|
15102
|
-
return envEnrichments(this$[child], inScope);
|
15103
|
-
}
|
15104
|
-
};
|
15105
|
-
}(this)),
|
15146
|
+
return concat([
|
15106
15147
|
beingDeclared(this.keyAssignee),
|
15107
|
-
beingDeclared(this.valAssignee)
|
15108
|
-
|
15148
|
+
beingDeclared(this.valAssignee),
|
15149
|
+
envEnrichments(this.target),
|
15150
|
+
envEnrichments(this.step),
|
15151
|
+
envEnrichments(this.filter),
|
15152
|
+
envEnrichments(this.body)
|
15153
|
+
]);
|
15154
|
+
case !this['instanceof'](CS.Try):
|
15155
|
+
return concat([
|
15156
|
+
beingDeclared(this.catchAssignee),
|
15157
|
+
envEnrichments(this.body),
|
15158
|
+
envEnrichments(this.catchBody),
|
15159
|
+
envEnrichments(this.finallyBody)
|
15160
|
+
]);
|
15109
15161
|
case !this['instanceof'](CS.Functions):
|
15110
15162
|
return [];
|
15111
15163
|
default:
|
15112
|
-
return
|
15164
|
+
return concatMap(this.childNodes, function (this$) {
|
15113
15165
|
return function (child) {
|
15114
15166
|
if (in$(child, this$.listMembers)) {
|
15115
15167
|
return concatMap(this$[child], function (m) {
|
@@ -15119,9 +15171,9 @@
|
|
15119
15171
|
return envEnrichments(this$[child], inScope);
|
15120
15172
|
}
|
15121
15173
|
};
|
15122
|
-
}(this))
|
15174
|
+
}(this));
|
15123
15175
|
}
|
15124
|
-
}.call(this);
|
15176
|
+
}.call(this));
|
15125
15177
|
return difference(possibilities, inScope);
|
15126
15178
|
};
|
15127
15179
|
this.envEnrichments = envEnrichments = function (node, args) {
|
@@ -15548,7 +15600,7 @@
|
|
15548
15600
|
Optimiser.optimise = function (this$) {
|
15549
15601
|
return function () {
|
15550
15602
|
var cache$2;
|
15551
|
-
return (cache$2 = new this$).optimise.apply(cache$2, [].slice.call(arguments));
|
15603
|
+
return (cache$2 = new this$).optimise.apply(cache$2, [].slice.call(arguments).concat());
|
15552
15604
|
};
|
15553
15605
|
}(Optimiser);
|
15554
15606
|
Optimiser.isTruthy = isTruthy;
|
@@ -26519,21 +26571,27 @@
|
|
26519
26571
|
return cachedResult.result;
|
26520
26572
|
}
|
26521
26573
|
var r0, r1, r2, r3, r4, r5;
|
26522
|
-
r0 =
|
26574
|
+
r0 = parse_singleLineImplicitObjectLiteral();
|
26523
26575
|
if (r0 === null) {
|
26524
|
-
|
26525
|
-
|
26526
|
-
|
26527
|
-
|
26528
|
-
|
26529
|
-
if (
|
26530
|
-
|
26531
|
-
if (
|
26532
|
-
|
26533
|
-
|
26534
|
-
|
26535
|
-
|
26536
|
-
|
26576
|
+
r0 = parse_expression();
|
26577
|
+
if (r0 === null) {
|
26578
|
+
r1 = pos;
|
26579
|
+
r2 = pos;
|
26580
|
+
r3 = parse_TERMINDENT();
|
26581
|
+
if (r3 !== null) {
|
26582
|
+
r4 = parse_expression();
|
26583
|
+
if (r4 !== null) {
|
26584
|
+
r5 = parse_DEDENT();
|
26585
|
+
if (r5 !== null) {
|
26586
|
+
r0 = [
|
26587
|
+
r3,
|
26588
|
+
r4,
|
26589
|
+
r5
|
26590
|
+
];
|
26591
|
+
} else {
|
26592
|
+
r0 = null;
|
26593
|
+
pos = r2;
|
26594
|
+
}
|
26537
26595
|
} else {
|
26538
26596
|
r0 = null;
|
26539
26597
|
pos = r2;
|
@@ -26542,18 +26600,15 @@
|
|
26542
26600
|
r0 = null;
|
26543
26601
|
pos = r2;
|
26544
26602
|
}
|
26545
|
-
|
26546
|
-
|
26547
|
-
|
26548
|
-
|
26549
|
-
|
26550
|
-
|
26551
|
-
r0
|
26552
|
-
|
26553
|
-
}
|
26554
|
-
}
|
26555
|
-
if (r0 === null) {
|
26556
|
-
pos = r1;
|
26603
|
+
if (r0 !== null) {
|
26604
|
+
reportedPos = r1;
|
26605
|
+
r0 = function (o) {
|
26606
|
+
return o;
|
26607
|
+
}(r4);
|
26608
|
+
}
|
26609
|
+
if (r0 === null) {
|
26610
|
+
pos = r1;
|
26611
|
+
}
|
26557
26612
|
}
|
26558
26613
|
}
|
26559
26614
|
cache[cacheKey] = {
|
@@ -26820,6 +26875,27 @@
|
|
26820
26875
|
if (r0 === null) {
|
26821
26876
|
pos = r1;
|
26822
26877
|
}
|
26878
|
+
if (r0 === null) {
|
26879
|
+
r1 = pos;
|
26880
|
+
if (input.substr(pos, 18) === '__COFFEE_VERSION__') {
|
26881
|
+
r0 = '__COFFEE_VERSION__';
|
26882
|
+
pos += 18;
|
26883
|
+
} else {
|
26884
|
+
r0 = null;
|
26885
|
+
if (reportFailures === 0) {
|
26886
|
+
matchFailed('"__COFFEE_VERSION__"');
|
26887
|
+
}
|
26888
|
+
}
|
26889
|
+
if (r0 !== null) {
|
26890
|
+
reportedPos = r1;
|
26891
|
+
r0 = function () {
|
26892
|
+
return rp(new CS.String(require('/package.json', module).version));
|
26893
|
+
}();
|
26894
|
+
}
|
26895
|
+
if (r0 === null) {
|
26896
|
+
pos = r1;
|
26897
|
+
}
|
26898
|
+
}
|
26823
26899
|
}
|
26824
26900
|
}
|
26825
26901
|
}
|
@@ -32164,7 +32240,7 @@
|
|
32164
32240
|
r3 = parse___();
|
32165
32241
|
if (r3 !== null) {
|
32166
32242
|
if (input.charCodeAt(pos) === 61423) {
|
32167
|
-
r4 = '\
|
32243
|
+
r4 = '\uEFEF';
|
32168
32244
|
pos++;
|
32169
32245
|
} else {
|
32170
32246
|
r4 = null;
|
@@ -32234,7 +32310,7 @@
|
|
32234
32310
|
}
|
32235
32311
|
if (r3 !== null) {
|
32236
32312
|
if (input.charCodeAt(pos) === 61438) {
|
32237
|
-
r4 = '\
|
32313
|
+
r4 = '\uEFFE';
|
32238
32314
|
pos++;
|
32239
32315
|
} else {
|
32240
32316
|
r4 = null;
|
@@ -32319,7 +32395,7 @@
|
|
32319
32395
|
if (r0 === null) {
|
32320
32396
|
r1 = pos;
|
32321
32397
|
if (input.charCodeAt(pos) === 61439) {
|
32322
|
-
r0 = '\
|
32398
|
+
r0 = '\uEFFF';
|
32323
32399
|
pos++;
|
32324
32400
|
} else {
|
32325
32401
|
r0 = null;
|
@@ -35677,112 +35753,6 @@
|
|
35677
35753
|
};
|
35678
35754
|
return r0;
|
35679
35755
|
}
|
35680
|
-
function parse_StandardPredefinedMacros() {
|
35681
|
-
var cacheKey = 'StandardPredefinedMacros@' + pos;
|
35682
|
-
var cachedResult = cache[cacheKey];
|
35683
|
-
if (cachedResult) {
|
35684
|
-
pos = cachedResult.nextPos;
|
35685
|
-
return cachedResult.result;
|
35686
|
-
}
|
35687
|
-
var r0, r1, r2, r3, r4;
|
35688
|
-
r1 = pos;
|
35689
|
-
if (input.substr(pos, 2) === '__') {
|
35690
|
-
r2 = '__';
|
35691
|
-
pos += 2;
|
35692
|
-
} else {
|
35693
|
-
r2 = null;
|
35694
|
-
if (reportFailures === 0) {
|
35695
|
-
matchFailed('"__"');
|
35696
|
-
}
|
35697
|
-
}
|
35698
|
-
if (r2 !== null) {
|
35699
|
-
if (input.substr(pos, 8) === 'FILENAME') {
|
35700
|
-
r3 = 'FILENAME';
|
35701
|
-
pos += 8;
|
35702
|
-
} else {
|
35703
|
-
r3 = null;
|
35704
|
-
if (reportFailures === 0) {
|
35705
|
-
matchFailed('"FILENAME"');
|
35706
|
-
}
|
35707
|
-
}
|
35708
|
-
if (r3 === null) {
|
35709
|
-
if (input.substr(pos, 4) === 'LINE') {
|
35710
|
-
r3 = 'LINE';
|
35711
|
-
pos += 4;
|
35712
|
-
} else {
|
35713
|
-
r3 = null;
|
35714
|
-
if (reportFailures === 0) {
|
35715
|
-
matchFailed('"LINE"');
|
35716
|
-
}
|
35717
|
-
}
|
35718
|
-
if (r3 === null) {
|
35719
|
-
if (input.substr(pos, 10) === 'DATETIMEMS') {
|
35720
|
-
r3 = 'DATETIMEMS';
|
35721
|
-
pos += 10;
|
35722
|
-
} else {
|
35723
|
-
r3 = null;
|
35724
|
-
if (reportFailures === 0) {
|
35725
|
-
matchFailed('"DATETIMEMS"');
|
35726
|
-
}
|
35727
|
-
}
|
35728
|
-
if (r3 === null) {
|
35729
|
-
if (input.substr(pos, 4) === 'DATE') {
|
35730
|
-
r3 = 'DATE';
|
35731
|
-
pos += 4;
|
35732
|
-
} else {
|
35733
|
-
r3 = null;
|
35734
|
-
if (reportFailures === 0) {
|
35735
|
-
matchFailed('"DATE"');
|
35736
|
-
}
|
35737
|
-
}
|
35738
|
-
if (r3 === null) {
|
35739
|
-
if (input.substr(pos, 4) === 'TIME') {
|
35740
|
-
r3 = 'TIME';
|
35741
|
-
pos += 4;
|
35742
|
-
} else {
|
35743
|
-
r3 = null;
|
35744
|
-
if (reportFailures === 0) {
|
35745
|
-
matchFailed('"TIME"');
|
35746
|
-
}
|
35747
|
-
}
|
35748
|
-
}
|
35749
|
-
}
|
35750
|
-
}
|
35751
|
-
}
|
35752
|
-
if (r3 !== null) {
|
35753
|
-
if (input.substr(pos, 2) === '__') {
|
35754
|
-
r4 = '__';
|
35755
|
-
pos += 2;
|
35756
|
-
} else {
|
35757
|
-
r4 = null;
|
35758
|
-
if (reportFailures === 0) {
|
35759
|
-
matchFailed('"__"');
|
35760
|
-
}
|
35761
|
-
}
|
35762
|
-
if (r4 !== null) {
|
35763
|
-
r0 = [
|
35764
|
-
r2,
|
35765
|
-
r3,
|
35766
|
-
r4
|
35767
|
-
];
|
35768
|
-
} else {
|
35769
|
-
r0 = null;
|
35770
|
-
pos = r1;
|
35771
|
-
}
|
35772
|
-
} else {
|
35773
|
-
r0 = null;
|
35774
|
-
pos = r1;
|
35775
|
-
}
|
35776
|
-
} else {
|
35777
|
-
r0 = null;
|
35778
|
-
pos = r1;
|
35779
|
-
}
|
35780
|
-
cache[cacheKey] = {
|
35781
|
-
nextPos: pos,
|
35782
|
-
result: r0
|
35783
|
-
};
|
35784
|
-
return r0;
|
35785
|
-
}
|
35786
35756
|
function parse_reserved() {
|
35787
35757
|
var cacheKey = 'reserved@' + pos;
|
35788
35758
|
var cachedResult = cache[cacheKey];
|
@@ -35790,8 +35760,12 @@
|
|
35790
35760
|
pos = cachedResult.nextPos;
|
35791
35761
|
return cachedResult.result;
|
35792
35762
|
}
|
35793
|
-
var r0;
|
35794
|
-
|
35763
|
+
var r0, r1;
|
35764
|
+
r1 = pos;
|
35765
|
+
r0 = parse_macro();
|
35766
|
+
if (r0 !== null) {
|
35767
|
+
r0 = input.substring(pos, r1);
|
35768
|
+
}
|
35795
35769
|
if (r0 === null) {
|
35796
35770
|
r0 = parse_SharedKeywords();
|
35797
35771
|
if (r0 === null) {
|
@@ -35897,7 +35871,7 @@
|
|
35897
35871
|
if (r0 === null) {
|
35898
35872
|
r1 = pos;
|
35899
35873
|
if (input.charCodeAt(pos) === 55340) {
|
35900
|
-
r2 = '\
|
35874
|
+
r2 = '\uD82C';
|
35901
35875
|
pos++;
|
35902
35876
|
} else {
|
35903
35877
|
r2 = null;
|
@@ -35931,7 +35905,7 @@
|
|
35931
35905
|
if (r0 === null) {
|
35932
35906
|
r1 = pos;
|
35933
35907
|
if (input.charCodeAt(pos) === 55304) {
|
35934
|
-
r2 = '\
|
35908
|
+
r2 = '\uD808';
|
35935
35909
|
pos++;
|
35936
35910
|
} else {
|
35937
35911
|
r2 = null;
|
@@ -35965,7 +35939,7 @@
|
|
35965
35939
|
if (r0 === null) {
|
35966
35940
|
r1 = pos;
|
35967
35941
|
if (input.charCodeAt(pos) === 55401) {
|
35968
|
-
r2 = '\
|
35942
|
+
r2 = '\uD869';
|
35969
35943
|
pos++;
|
35970
35944
|
} else {
|
35971
35945
|
r2 = null;
|
@@ -35999,7 +35973,7 @@
|
|
35999
35973
|
if (r0 === null) {
|
36000
35974
|
r1 = pos;
|
36001
35975
|
if (input.charCodeAt(pos) === 55305) {
|
36002
|
-
r2 = '\
|
35976
|
+
r2 = '\uD809';
|
36003
35977
|
pos++;
|
36004
35978
|
} else {
|
36005
35979
|
r2 = null;
|
@@ -36033,7 +36007,7 @@
|
|
36033
36007
|
if (r0 === null) {
|
36034
36008
|
r1 = pos;
|
36035
36009
|
if (input.charCodeAt(pos) === 55349) {
|
36036
|
-
r2 = '\
|
36010
|
+
r2 = '\uD835';
|
36037
36011
|
pos++;
|
36038
36012
|
} else {
|
36039
36013
|
r2 = null;
|
@@ -36067,7 +36041,7 @@
|
|
36067
36041
|
if (r0 === null) {
|
36068
36042
|
r1 = pos;
|
36069
36043
|
if (input.charCodeAt(pos) === 55300) {
|
36070
|
-
r2 = '\
|
36044
|
+
r2 = '\uD804';
|
36071
36045
|
pos++;
|
36072
36046
|
} else {
|
36073
36047
|
r2 = null;
|
@@ -36101,7 +36075,7 @@
|
|
36101
36075
|
if (r0 === null) {
|
36102
36076
|
r1 = pos;
|
36103
36077
|
if (input.charCodeAt(pos) === 55296) {
|
36104
|
-
r2 = '\
|
36078
|
+
r2 = '\uD800';
|
36105
36079
|
pos++;
|
36106
36080
|
} else {
|
36107
36081
|
r2 = null;
|
@@ -36135,7 +36109,7 @@
|
|
36135
36109
|
if (r0 === null) {
|
36136
36110
|
r1 = pos;
|
36137
36111
|
if (input.charCodeAt(pos) === 55308) {
|
36138
|
-
r2 = '\
|
36112
|
+
r2 = '\uD80C';
|
36139
36113
|
pos++;
|
36140
36114
|
} else {
|
36141
36115
|
r2 = null;
|
@@ -36169,7 +36143,7 @@
|
|
36169
36143
|
if (r0 === null) {
|
36170
36144
|
r1 = pos;
|
36171
36145
|
if (input.charCodeAt(pos) === 55297) {
|
36172
|
-
r2 = '\
|
36146
|
+
r2 = '\uD801';
|
36173
36147
|
pos++;
|
36174
36148
|
} else {
|
36175
36149
|
r2 = null;
|
@@ -36203,7 +36177,7 @@
|
|
36203
36177
|
if (r0 === null) {
|
36204
36178
|
r1 = pos;
|
36205
36179
|
if (input.charCodeAt(pos) === 55406) {
|
36206
|
-
r2 = '\
|
36180
|
+
r2 = '\uD86E';
|
36207
36181
|
pos++;
|
36208
36182
|
} else {
|
36209
36183
|
r2 = null;
|
@@ -36237,7 +36211,7 @@
|
|
36237
36211
|
if (r0 === null) {
|
36238
36212
|
r1 = pos;
|
36239
36213
|
if (input.charCodeAt(pos) === 55299) {
|
36240
|
-
r2 = '\
|
36214
|
+
r2 = '\uD803';
|
36241
36215
|
pos++;
|
36242
36216
|
} else {
|
36243
36217
|
r2 = null;
|
@@ -36271,7 +36245,7 @@
|
|
36271
36245
|
if (r0 === null) {
|
36272
36246
|
r1 = pos;
|
36273
36247
|
if (input.charCodeAt(pos) === 55360) {
|
36274
|
-
r2 = '\
|
36248
|
+
r2 = '\uD840';
|
36275
36249
|
pos++;
|
36276
36250
|
} else {
|
36277
36251
|
r2 = null;
|
@@ -36305,7 +36279,7 @@
|
|
36305
36279
|
if (r0 === null) {
|
36306
36280
|
r1 = pos;
|
36307
36281
|
if (input.charCodeAt(pos) === 55422) {
|
36308
|
-
r2 = '\
|
36282
|
+
r2 = '\uD87E';
|
36309
36283
|
pos++;
|
36310
36284
|
} else {
|
36311
36285
|
r2 = null;
|
@@ -36339,7 +36313,7 @@
|
|
36339
36313
|
if (r0 === null) {
|
36340
36314
|
r1 = pos;
|
36341
36315
|
if (input.charCodeAt(pos) === 55405) {
|
36342
|
-
r2 = '\
|
36316
|
+
r2 = '\uD86D';
|
36343
36317
|
pos++;
|
36344
36318
|
} else {
|
36345
36319
|
r2 = null;
|
@@ -36373,7 +36347,7 @@
|
|
36373
36347
|
if (r0 === null) {
|
36374
36348
|
r1 = pos;
|
36375
36349
|
if (input.charCodeAt(pos) === 55322) {
|
36376
|
-
r2 = '\
|
36350
|
+
r2 = '\uD81A';
|
36377
36351
|
pos++;
|
36378
36352
|
} else {
|
36379
36353
|
r2 = null;
|
@@ -36407,7 +36381,7 @@
|
|
36407
36381
|
if (r0 === null) {
|
36408
36382
|
r1 = pos;
|
36409
36383
|
if (input.charCodeAt(pos) === 55298) {
|
36410
|
-
r2 = '\
|
36384
|
+
r2 = '\uD802';
|
36411
36385
|
pos++;
|
36412
36386
|
} else {
|
36413
36387
|
r2 = null;
|
@@ -36441,7 +36415,7 @@
|
|
36441
36415
|
if (r0 === null) {
|
36442
36416
|
r1 = pos;
|
36443
36417
|
if (input.charCodeAt(pos) === 55309) {
|
36444
|
-
r2 = '\
|
36418
|
+
r2 = '\uD80D';
|
36445
36419
|
pos++;
|
36446
36420
|
} else {
|
36447
36421
|
r2 = null;
|
@@ -36515,7 +36489,7 @@
|
|
36515
36489
|
if (r0 === null) {
|
36516
36490
|
r1 = pos;
|
36517
36491
|
if (input.charCodeAt(pos) === 56128) {
|
36518
|
-
r2 = '\
|
36492
|
+
r2 = '\uDB40';
|
36519
36493
|
pos++;
|
36520
36494
|
} else {
|
36521
36495
|
r2 = null;
|
@@ -36549,7 +36523,7 @@
|
|
36549
36523
|
if (r0 === null) {
|
36550
36524
|
r1 = pos;
|
36551
36525
|
if (input.charCodeAt(pos) === 55348) {
|
36552
|
-
r2 = '\
|
36526
|
+
r2 = '\uD834';
|
36553
36527
|
pos++;
|
36554
36528
|
} else {
|
36555
36529
|
r2 = null;
|
@@ -36583,7 +36557,7 @@
|
|
36583
36557
|
if (r0 === null) {
|
36584
36558
|
r1 = pos;
|
36585
36559
|
if (input.charCodeAt(pos) === 55300) {
|
36586
|
-
r2 = '\
|
36560
|
+
r2 = '\uD804';
|
36587
36561
|
pos++;
|
36588
36562
|
} else {
|
36589
36563
|
r2 = null;
|
@@ -36617,7 +36591,7 @@
|
|
36617
36591
|
if (r0 === null) {
|
36618
36592
|
r1 = pos;
|
36619
36593
|
if (input.charCodeAt(pos) === 55296) {
|
36620
|
-
r2 = '\
|
36594
|
+
r2 = '\uD800';
|
36621
36595
|
pos++;
|
36622
36596
|
} else {
|
36623
36597
|
r2 = null;
|
@@ -36651,7 +36625,7 @@
|
|
36651
36625
|
if (r0 === null) {
|
36652
36626
|
r1 = pos;
|
36653
36627
|
if (input.charCodeAt(pos) === 55298) {
|
36654
|
-
r2 = '\
|
36628
|
+
r2 = '\uD802';
|
36655
36629
|
pos++;
|
36656
36630
|
} else {
|
36657
36631
|
r2 = null;
|
@@ -36713,7 +36687,7 @@
|
|
36713
36687
|
if (r0 === null) {
|
36714
36688
|
r1 = pos;
|
36715
36689
|
if (input.charCodeAt(pos) === 55349) {
|
36716
|
-
r2 = '\
|
36690
|
+
r2 = '\uD835';
|
36717
36691
|
pos++;
|
36718
36692
|
} else {
|
36719
36693
|
r2 = null;
|
@@ -36747,7 +36721,7 @@
|
|
36747
36721
|
if (r0 === null) {
|
36748
36722
|
r1 = pos;
|
36749
36723
|
if (input.charCodeAt(pos) === 55300) {
|
36750
|
-
r2 = '\
|
36724
|
+
r2 = '\uD804';
|
36751
36725
|
pos++;
|
36752
36726
|
} else {
|
36753
36727
|
r2 = null;
|
@@ -36781,7 +36755,7 @@
|
|
36781
36755
|
if (r0 === null) {
|
36782
36756
|
r1 = pos;
|
36783
36757
|
if (input.charCodeAt(pos) === 55297) {
|
36784
|
-
r2 = '\
|
36758
|
+
r2 = '\uD801';
|
36785
36759
|
pos++;
|
36786
36760
|
} else {
|
36787
36761
|
r2 = null;
|
@@ -36853,7 +36827,7 @@
|
|
36853
36827
|
}
|
36854
36828
|
var r0;
|
36855
36829
|
if (input.charCodeAt(pos) === 8204) {
|
36856
|
-
r0 = '\
|
36830
|
+
r0 = '\u200C';
|
36857
36831
|
pos++;
|
36858
36832
|
} else {
|
36859
36833
|
r0 = null;
|
@@ -36876,7 +36850,7 @@
|
|
36876
36850
|
}
|
36877
36851
|
var r0;
|
36878
36852
|
if (input.charCodeAt(pos) === 8205) {
|
36879
|
-
r0 = '\
|
36853
|
+
r0 = '\u200D';
|
36880
36854
|
pos++;
|
36881
36855
|
} else {
|
36882
36856
|
r0 = null;
|
@@ -37178,7 +37152,7 @@
|
|
37178
37152
|
}, id = function (x) {
|
37179
37153
|
return x;
|
37180
37154
|
}, r = options.raw ? function (node) {
|
37181
|
-
node.raw = text();
|
37155
|
+
node.raw = text().replace(/[\uEFEF\uEFFE\uEFFF]/g, '');
|
37182
37156
|
return node;
|
37183
37157
|
} : id, p = options.raw ? function (node) {
|
37184
37158
|
node.line = line();
|
@@ -37193,6 +37167,40 @@
|
|
37193
37167
|
to.offset = from.offset;
|
37194
37168
|
return to;
|
37195
37169
|
} : id;
|
37170
|
+
function computeReportedPosDetails() {
|
37171
|
+
function advanceCachedReportedPos() {
|
37172
|
+
var ch;
|
37173
|
+
for (; cachedReportedPos < reportedPos; cachedReportedPos++) {
|
37174
|
+
ch = input.charAt(cachedReportedPos);
|
37175
|
+
if (ch === '\n') {
|
37176
|
+
if (!cachedReportedPosDetails.seenCR) {
|
37177
|
+
cachedReportedPosDetails.line++;
|
37178
|
+
}
|
37179
|
+
cachedReportedPosDetails.column = 1;
|
37180
|
+
cachedReportedPosDetails.seenCR = false;
|
37181
|
+
} else if (ch === '\r' || ch === '\u2028' || ch === '\u2029') {
|
37182
|
+
cachedReportedPosDetails.line++;
|
37183
|
+
cachedReportedPosDetails.column = 1;
|
37184
|
+
cachedReportedPosDetails.seenCR = true;
|
37185
|
+
} else if (!/[\uEFEF\uEFFE\uEFFF]/.test(ch)) {
|
37186
|
+
cachedReportedPosDetails.column++;
|
37187
|
+
cachedReportedPosDetails.seenCR = false;
|
37188
|
+
}
|
37189
|
+
}
|
37190
|
+
}
|
37191
|
+
if (cachedReportedPos !== reportedPos) {
|
37192
|
+
if (cachedReportedPos > reportedPos) {
|
37193
|
+
cachedReportedPos = 0;
|
37194
|
+
cachedReportedPosDetails = {
|
37195
|
+
line: 1,
|
37196
|
+
column: 1,
|
37197
|
+
seenCR: false
|
37198
|
+
};
|
37199
|
+
}
|
37200
|
+
advanceCachedReportedPos();
|
37201
|
+
}
|
37202
|
+
return cachedReportedPosDetails;
|
37203
|
+
}
|
37196
37204
|
var result = parseFunctions[startRule]();
|
37197
37205
|
if (result === null || pos !== input.length) {
|
37198
37206
|
reportedPos = Math.max(pos, rightmostFailuresPos);
|
@@ -37252,7 +37260,7 @@
|
|
37252
37260
|
continue;
|
37253
37261
|
specs = subclasses[className];
|
37254
37262
|
(function (className) {
|
37255
|
-
var isCategory, klass, params, superclass;
|
37263
|
+
var externalCtor$, isCategory, klass, params, superclass;
|
37256
37264
|
superclass = null != superclasses[0] ? superclasses[0] : function () {
|
37257
37265
|
};
|
37258
37266
|
isCategory = 'undefined' !== typeof specs && null != specs && specs.length === 2;
|
@@ -37270,7 +37278,6 @@
|
|
37270
37278
|
else
|
37271
37279
|
params = null != superclass.prototype.childNodes ? superclass.prototype.childNodes : [];
|
37272
37280
|
klass = function (super$) {
|
37273
|
-
var externalCtor$;
|
37274
37281
|
extends$(class$, super$);
|
37275
37282
|
externalCtor$ = isCategory ? function () {
|
37276
37283
|
} : function () {
|
@@ -37629,7 +37636,7 @@
|
|
37629
37636
|
};
|
37630
37637
|
Nodes.prototype.listMembers = [];
|
37631
37638
|
Nodes.prototype.toBasicObject = function () {
|
37632
|
-
var child, obj;
|
37639
|
+
var child, obj, p;
|
37633
37640
|
obj = { type: this.className };
|
37634
37641
|
if (null != this.line)
|
37635
37642
|
obj.line = this.line;
|
@@ -37647,7 +37654,6 @@
|
|
37647
37654
|
child = this.childNodes[i$];
|
37648
37655
|
if (in$(child, this.listMembers)) {
|
37649
37656
|
obj[child] = function (accum$) {
|
37650
|
-
var p;
|
37651
37657
|
for (var i$1 = 0, length$1 = this[child].length; i$1 < length$1; ++i$1) {
|
37652
37658
|
p = this[child][i$1];
|
37653
37659
|
accum$.push(p.toBasicObject());
|
@@ -37661,12 +37667,11 @@
|
|
37661
37667
|
return obj;
|
37662
37668
|
};
|
37663
37669
|
Nodes.prototype.fold = function (memo, fn) {
|
37664
|
-
var child;
|
37670
|
+
var child, p;
|
37665
37671
|
for (var i$ = 0, length$ = this.childNodes.length; i$ < length$; ++i$) {
|
37666
37672
|
child = this.childNodes[i$];
|
37667
37673
|
if (in$(child, this.listMembers)) {
|
37668
37674
|
memo = function (accum$) {
|
37669
|
-
var p;
|
37670
37675
|
for (var i$1 = 0, length$1 = this[child].length; i$1 < length$1; ++i$1) {
|
37671
37676
|
p = this[child][i$1];
|
37672
37677
|
accum$.push(p.fold(memo, fn));
|
@@ -37693,9 +37698,9 @@
|
|
37693
37698
|
}
|
37694
37699
|
return n;
|
37695
37700
|
};
|
37696
|
-
Nodes.prototype['instanceof'] = function (
|
37697
|
-
var ctor, superclasses;
|
37698
|
-
ctors =
|
37701
|
+
Nodes.prototype['instanceof'] = function () {
|
37702
|
+
var ctor, ctors, superclasses;
|
37703
|
+
ctors = arguments.length > 0 ? [].slice.call(arguments, 0) : [];
|
37699
37704
|
superclasses = map(this.constructor.superclasses, function (c) {
|
37700
37705
|
return c.prototype.className;
|
37701
37706
|
});
|
@@ -37722,8 +37727,9 @@
|
|
37722
37727
|
this.generated = true;
|
37723
37728
|
return this;
|
37724
37729
|
};
|
37725
|
-
handlePrimitives = function (ctor
|
37726
|
-
primitives
|
37730
|
+
handlePrimitives = function (ctor) {
|
37731
|
+
var primitives;
|
37732
|
+
primitives = arguments.length > 1 ? [].slice.call(arguments, 1) : [];
|
37727
37733
|
ctor.prototype.childNodes = difference(ctor.prototype.childNodes, primitives);
|
37728
37734
|
return ctor.prototype.toBasicObject = function () {
|
37729
37735
|
var obj, primitive;
|
@@ -37748,8 +37754,9 @@
|
|
37748
37754
|
handlePrimitives(ComputedProperty, 'chains');
|
37749
37755
|
handlePrimitives(ObjectInitialiserMember, 'annotations');
|
37750
37756
|
handlePrimitives(Annotations, 'parameters');
|
37751
|
-
handleLists = function (ctor
|
37752
|
-
listProps
|
37757
|
+
handleLists = function (ctor) {
|
37758
|
+
var listProps;
|
37759
|
+
listProps = arguments.length > 1 ? [].slice.call(arguments, 1) : [];
|
37753
37760
|
return ctor.prototype.listMembers = listProps;
|
37754
37761
|
};
|
37755
37762
|
handleLists(ArrayInitialiser, 'members');
|
@@ -37929,15 +37936,15 @@
|
|
37929
37936
|
}
|
37930
37937
|
return NegatedConditional;
|
37931
37938
|
}(Conditional);
|
37932
|
-
exports.NegatedWhile = function (super$) {
|
37933
|
-
extends$(NegatedWhile, super$);
|
37939
|
+
exports.NegatedWhile = function (super$1) {
|
37940
|
+
extends$(NegatedWhile, super$1);
|
37934
37941
|
function NegatedWhile() {
|
37935
37942
|
While.apply(this, arguments);
|
37936
37943
|
}
|
37937
37944
|
return NegatedWhile;
|
37938
37945
|
}(While);
|
37939
|
-
exports.Loop = function (super$) {
|
37940
|
-
extends$(Loop, super$);
|
37946
|
+
exports.Loop = function (super$2) {
|
37947
|
+
extends$(Loop, super$2);
|
37941
37948
|
function Loop(body) {
|
37942
37949
|
While.call(this, new Bool(true).g(), body);
|
37943
37950
|
}
|
@@ -44082,8 +44089,8 @@
|
|
44082
44089
|
return foldl(list[0], list.slice(1), fn);
|
44083
44090
|
};
|
44084
44091
|
this.map = map = function (list, fn) {
|
44092
|
+
var e;
|
44085
44093
|
return function (accum$) {
|
44086
|
-
var e;
|
44087
44094
|
for (var i$ = 0, length$ = list.length; i$ < length$; ++i$) {
|
44088
44095
|
e = list[i$];
|
44089
44096
|
accum$.push(fn(e));
|
@@ -44093,14 +44100,14 @@
|
|
44093
44100
|
};
|
44094
44101
|
this.concat = concat = function (list) {
|
44095
44102
|
var cache$;
|
44096
|
-
return (cache$ = []).concat.apply(cache$, [].slice.call(list)
|
44103
|
+
return (cache$ = []).concat.apply(cache$, [].slice.call(list));
|
44097
44104
|
};
|
44098
44105
|
this.concatMap = function (list, fn) {
|
44099
44106
|
return concat(map(list, fn));
|
44100
44107
|
};
|
44101
44108
|
this.intersect = function (listA, listB) {
|
44109
|
+
var a;
|
44102
44110
|
return function (accum$) {
|
44103
|
-
var a;
|
44104
44111
|
for (var i$ = 0, length$ = listA.length; i$ < length$; ++i$) {
|
44105
44112
|
a = listA[i$];
|
44106
44113
|
if (!in$(a, listB))
|
@@ -44111,8 +44118,8 @@
|
|
44111
44118
|
}.call(this, []);
|
44112
44119
|
};
|
44113
44120
|
this.difference = function (listA, listB) {
|
44121
|
+
var a;
|
44114
44122
|
return function (accum$) {
|
44115
|
-
var a;
|
44116
44123
|
for (var i$ = 0, length$ = listA.length; i$ < length$; ++i$) {
|
44117
44124
|
a = listA[i$];
|
44118
44125
|
if (!!in$(a, listB))
|
@@ -44134,8 +44141,8 @@
|
|
44134
44141
|
return result;
|
44135
44142
|
};
|
44136
44143
|
this.union = function (listA, listB) {
|
44144
|
+
var b;
|
44137
44145
|
return listA.concat(function (accum$) {
|
44138
|
-
var b;
|
44139
44146
|
for (var cache$ = nub(listB), i$ = 0, length$ = cache$.length; i$ < length$; ++i$) {
|
44140
44147
|
b = cache$[i$];
|
44141
44148
|
if (!!in$(b, listA))
|
@@ -44213,9 +44220,9 @@
|
|
44213
44220
|
this.Preprocessor = Preprocessor = function () {
|
44214
44221
|
var DEDENT, INDENT, TERM, ws;
|
44215
44222
|
ws = '\\t\\x0B\\f\\r \\xA0\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000\\uFEFF';
|
44216
|
-
INDENT = '\
|
44217
|
-
DEDENT = '\
|
44218
|
-
TERM = '\
|
44223
|
+
INDENT = '\uEFEF';
|
44224
|
+
DEDENT = '\uEFFE';
|
44225
|
+
TERM = '\uEFFF';
|
44219
44226
|
function Preprocessor(param$) {
|
44220
44227
|
if (null == param$)
|
44221
44228
|
param$ = {};
|
@@ -44293,6 +44300,7 @@
|
|
44293
44300
|
case DEDENT:
|
44294
44301
|
if (!(top === INDENT))
|
44295
44302
|
this.err(c);
|
44303
|
+
this.indents.pop();
|
44296
44304
|
this.context.pop();
|
44297
44305
|
break;
|
44298
44306
|
case '\n':
|
@@ -44333,8 +44341,60 @@
|
|
44333
44341
|
Preprocessor.prototype.scan = function (r) {
|
44334
44342
|
return this.p(this.ss.scan(r));
|
44335
44343
|
};
|
44344
|
+
Preprocessor.prototype.consumeIndentation = function () {
|
44345
|
+
var context, indent, indentIndex, lineLen, lines, message;
|
44346
|
+
if (this.ss.bol() || this.scan(new RegExp('(?:[' + ws + ']*\\n)+'))) {
|
44347
|
+
this.scan(new RegExp('(?:[' + ws + ']*(\\#\\#?(?!\\#)[^\\n]*)?\\n)+'));
|
44348
|
+
if (null != this.base) {
|
44349
|
+
if (!(this.ss.eos() || null != this.scan(this.base)))
|
44350
|
+
throw new Error('inconsistent base indentation');
|
44351
|
+
} else {
|
44352
|
+
this.base = new RegExp('' + this.scan(new RegExp('[' + ws + ']*')) + '');
|
44353
|
+
}
|
44354
|
+
indentIndex = 0;
|
44355
|
+
while (indentIndex < this.indents.length) {
|
44356
|
+
indent = this.indents[indentIndex];
|
44357
|
+
if (this.ss.check(new RegExp('' + indent + ''))) {
|
44358
|
+
this.scan(new RegExp('' + indent + ''));
|
44359
|
+
} else if (this.ss.eos() || this.ss.check(new RegExp('[^' + ws + ']'))) {
|
44360
|
+
--indentIndex;
|
44361
|
+
this.p('' + DEDENT + TERM);
|
44362
|
+
this.observe(DEDENT);
|
44363
|
+
} else {
|
44364
|
+
lines = this.ss.str.substr(0, this.ss.pos).split(/\n/) || [''];
|
44365
|
+
message = 'Syntax error on line ' + lines.length + ': indentation is ambiguous';
|
44366
|
+
lineLen = this.indents.reduce(function (l, r) {
|
44367
|
+
return l + r.length;
|
44368
|
+
}, 0);
|
44369
|
+
context = pointToErrorLocation(this.ss.str, lines.length, lineLen);
|
44370
|
+
throw new Error('' + message + '\n' + context);
|
44371
|
+
}
|
44372
|
+
++indentIndex;
|
44373
|
+
}
|
44374
|
+
if (this.ss.check(new RegExp('[' + ws + ']+[^' + ws + '#]'))) {
|
44375
|
+
this.indents.push(this.scan(new RegExp('[' + ws + ']+')));
|
44376
|
+
this.p(INDENT);
|
44377
|
+
return this.observe(INDENT);
|
44378
|
+
}
|
44379
|
+
}
|
44380
|
+
};
|
44381
|
+
Preprocessor.prototype.introduceContext = function () {
|
44382
|
+
var impliedRegexp, lastChar, pos, spaceBefore, tok;
|
44383
|
+
if (tok = this.scan(/"""|'''|\/\/\/|###|["'`#[({\\]/)) {
|
44384
|
+
return this.observe(tok);
|
44385
|
+
} else if (tok = this.scan(/\//)) {
|
44386
|
+
pos = this.ss.position();
|
44387
|
+
if (pos > 1) {
|
44388
|
+
lastChar = this.ss.string()[pos - 2];
|
44389
|
+
spaceBefore = new RegExp('[' + ws + ']').test(lastChar);
|
44390
|
+
impliedRegexp = /[;,=><*%^&|[(+!~-]/.test(lastChar);
|
44391
|
+
}
|
44392
|
+
if (pos === 1 || impliedRegexp || spaceBefore && !this.ss.check(new RegExp('[' + ws + '=]')) && this.ss.check(/[^\r\n]*\//))
|
44393
|
+
return this.observe('/');
|
44394
|
+
}
|
44395
|
+
};
|
44336
44396
|
Preprocessor.prototype.process = function (input) {
|
44337
|
-
var
|
44397
|
+
var tok;
|
44338
44398
|
if (this.options.literate)
|
44339
44399
|
input = input.replace(/^( {0,3}\S)/gm, ' #$1');
|
44340
44400
|
this.ss = new StringScanner(input);
|
@@ -44342,78 +44402,44 @@
|
|
44342
44402
|
switch (this.peek()) {
|
44343
44403
|
case null:
|
44344
44404
|
case INDENT:
|
44405
|
+
this.consumeIndentation();
|
44406
|
+
this.scan(/[^\n'"\\\/#`[(){}\]]+/);
|
44407
|
+
if (this.ss.check(/[})\]]/)) {
|
44408
|
+
while (this.peek() === INDENT) {
|
44409
|
+
this.p('' + DEDENT + TERM);
|
44410
|
+
this.observe(DEDENT);
|
44411
|
+
}
|
44412
|
+
this.observe(this.scan(/[})\]]/));
|
44413
|
+
} else {
|
44414
|
+
this.introduceContext();
|
44415
|
+
}
|
44416
|
+
break;
|
44345
44417
|
case '#{':
|
44346
|
-
case '[':
|
44347
|
-
case '(':
|
44348
44418
|
case '{':
|
44349
|
-
|
44350
|
-
|
44351
|
-
if (null != this.base) {
|
44352
|
-
if (!(this.ss.eos() || null != this.scan(this.base)))
|
44353
|
-
throw new Error('inconsistent base indentation');
|
44354
|
-
} else {
|
44355
|
-
this.base = new RegExp('' + this.scan(new RegExp('[' + ws + ']*')) + '');
|
44356
|
-
}
|
44357
|
-
indentIndex = 0;
|
44358
|
-
while (indentIndex < this.indents.length) {
|
44359
|
-
indent = this.indents[indentIndex];
|
44360
|
-
if (this.ss.check(new RegExp('' + indent + ''))) {
|
44361
|
-
this.scan(new RegExp('' + indent + ''));
|
44362
|
-
} else if (this.ss.eos() || this.ss.check(new RegExp('[^' + ws + ']'))) {
|
44363
|
-
this.indents.splice(indentIndex, 1);
|
44364
|
-
--indentIndex;
|
44365
|
-
this.observe(DEDENT);
|
44366
|
-
this.p('' + DEDENT + TERM);
|
44367
|
-
} else {
|
44368
|
-
lines = this.ss.str.substr(0, this.ss.pos).split(/\n/) || [''];
|
44369
|
-
message = 'Syntax error on line ' + lines.length + ': indentation is ambiguous';
|
44370
|
-
lineLen = this.indents.reduce(function (l, r) {
|
44371
|
-
return l + r.length;
|
44372
|
-
}, 0);
|
44373
|
-
context = pointToErrorLocation(this.ss.str, lines.length, lineLen);
|
44374
|
-
throw new Error('' + message + '\n' + context);
|
44375
|
-
}
|
44376
|
-
++indentIndex;
|
44377
|
-
}
|
44378
|
-
if (this.ss.check(new RegExp('[' + ws + ']+[^' + ws + '#]'))) {
|
44379
|
-
this.indents.push(this.scan(new RegExp('[' + ws + ']+')));
|
44380
|
-
this.observe(INDENT);
|
44381
|
-
this.p(INDENT);
|
44382
|
-
}
|
44383
|
-
}
|
44384
|
-
tok = function () {
|
44385
|
-
switch (this.peek()) {
|
44386
|
-
case '[':
|
44387
|
-
this.scan(/[^\n'"\\\/#`[({\]]+/);
|
44388
|
-
return this.scan(/\]/);
|
44389
|
-
case '(':
|
44390
|
-
this.scan(/[^\n'"\\\/#`[({)]+/);
|
44391
|
-
return this.scan(/\)/);
|
44392
|
-
case '#{':
|
44393
|
-
case '{':
|
44394
|
-
this.scan(/[^\n'"\\\/#`[({}]+/);
|
44395
|
-
return this.scan(/\}/);
|
44396
|
-
default: {
|
44397
|
-
this.scan(/[^\n'"\\\/#`[({]+/);
|
44398
|
-
return null;
|
44399
|
-
}
|
44400
|
-
}
|
44401
|
-
}.call(this);
|
44402
|
-
if (tok) {
|
44419
|
+
this.scan(/[^\n'"\\\/#`[({}]+/);
|
44420
|
+
if (tok = this.scan(/\}/)) {
|
44403
44421
|
this.observe(tok);
|
44404
|
-
|
44422
|
+
} else {
|
44423
|
+
this.consumeIndentation();
|
44424
|
+
this.introduceContext();
|
44405
44425
|
}
|
44406
|
-
|
44426
|
+
break;
|
44427
|
+
case '[':
|
44428
|
+
this.scan(/[^\n'"\\\/#`[({\]]+/);
|
44429
|
+
if (tok = this.scan(/\]/)) {
|
44407
44430
|
this.observe(tok);
|
44408
|
-
} else
|
44409
|
-
|
44410
|
-
|
44411
|
-
|
44412
|
-
|
44413
|
-
|
44414
|
-
|
44415
|
-
|
44416
|
-
|
44431
|
+
} else {
|
44432
|
+
this.consumeIndentation();
|
44433
|
+
this.introduceContext();
|
44434
|
+
}
|
44435
|
+
break;
|
44436
|
+
case '(':
|
44437
|
+
this.scan(/[^\n'"\\\/#`[({)]+/);
|
44438
|
+
if (tok = this.scan(/\)/)) {
|
44439
|
+
this.observe(tok);
|
44440
|
+
} else {
|
44441
|
+
this.consumeIndentation();
|
44442
|
+
this.introduceContext();
|
44417
44443
|
}
|
44418
44444
|
break;
|
44419
44445
|
case '\\':
|
@@ -44500,12 +44526,12 @@
|
|
44500
44526
|
while (this.context.length) {
|
44501
44527
|
switch (this.peek()) {
|
44502
44528
|
case INDENT:
|
44503
|
-
this.observe(DEDENT);
|
44504
44529
|
this.p('' + DEDENT + TERM);
|
44530
|
+
this.observe(DEDENT);
|
44505
44531
|
break;
|
44506
44532
|
case '#':
|
44507
|
-
this.observe('\n');
|
44508
44533
|
this.p('\n');
|
44534
|
+
this.observe('\n');
|
44509
44535
|
break;
|
44510
44536
|
default:
|
44511
44537
|
throw new Error('Unclosed "' + this.peek().replace(/"/g, '\\"') + '" at EOF');
|