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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b09a872fd6a13a55bddf21b2c9cd562cf7cd850
4
- data.tar.gz: f2672a6c1bbd725f8055bafa27cbf66a89132556
3
+ metadata.gz: 181feca16579cd81a27a95e1b4629bd10132f254
4
+ data.tar.gz: 1e6eb945f3687890c029af3df0e0d09b1f9fb86b
5
5
  SHA512:
6
- metadata.gz: 35aacd22274d93ffe8c638c1127e5020c748eaee52d0a62a2b5e9331223dcd8ae54e9efd4d0b56a7d1863428771db9aa8978dadff02ab0f4d7123ec0c1a9c129
7
- data.tar.gz: c2ab1da22ffd154089b2c1eeb6ccb0de207764aa251b5762b9b88ed0dae97ed85647aa4ad24d63f0cf5f3a72bbaed368d8a31556d49f50c8da955021db85be7a
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.4
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.22',
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.11',
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#38e7ee5654d38afd5ec20e7f52bf9849903e2597',
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.8',
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('[\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]') };
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 \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;
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 '\x1b[' + inspect.colors[style][0] + 'm' + str + '\x1b[' + inspect.colors[style][1] + 'm';
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 = expr(expression);
11532
+ e = expression;
11510
11533
  if (valueUsed || assignee.elements.length > 1) {
11511
11534
  e = genSym('cache');
11512
- assignments.push(new JS.AssignmentExpression('=', e, expr(expression)));
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
- return new JS.CallExpression(memberAccess(new JS.FunctionExpression(null, [], new JS.BlockStatement(body)), 'apply'), [
12169
- new JS.ThisExpression,
12170
- new JS.Identifier('arguments')
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
- paramName = parameters[numParams - 1] = parameters[numParams - 1].expression;
12343
- test = new JS.BinaryExpression('<=', new JS.Literal(numParams), memberAccess(new JS.Identifier('arguments'), 'length'));
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
- e = needsCaching(this.left) ? genSym('cache') : expr(left);
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, expr(right));
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.g(), fn, inScope, ancestry);
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
- }), alreadyDeclared = union(declaredSymbols, concatMap(this.params, collectIdentifiers)), declNames = nub(difference(undeclared, alreadyDeclared)), decls = map(declNames, function (name) {
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 nub(beingDeclared(this.assignee));
15131
+ return concat([
15132
+ beingDeclared(this.assignee),
15133
+ envEnrichments(this.expression)
15134
+ ]);
15082
15135
  case !this['instanceof'](CS.Mixin):
15083
- return nub(concat([
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 nub(concat([
15141
+ return concat([
15089
15142
  beingDeclared(this.nameAssignee),
15090
- envEnrichments(this.parent),
15091
- 'undefined' !== typeof name && null != name ? [name] : []
15092
- ]));
15143
+ envEnrichments(this.parent)
15144
+ ]);
15093
15145
  case !this['instanceof'](CS.ForIn, CS.ForOf):
15094
- return nub(concat([
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 nub(concatMap(this.childNodes, function (this$) {
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 = parse_expression();
26574
+ r0 = parse_singleLineImplicitObjectLiteral();
26523
26575
  if (r0 === null) {
26524
- r1 = pos;
26525
- r2 = pos;
26526
- r3 = parse_TERMINDENT();
26527
- if (r3 !== null) {
26528
- r4 = parse_implicitObjectLiteral();
26529
- if (r4 !== null) {
26530
- r5 = parse_DEDENT();
26531
- if (r5 !== null) {
26532
- r0 = [
26533
- r3,
26534
- r4,
26535
- r5
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
- } else {
26546
- r0 = null;
26547
- pos = r2;
26548
- }
26549
- if (r0 !== null) {
26550
- reportedPos = r1;
26551
- r0 = function (o) {
26552
- return o;
26553
- }(r4);
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 = '\uefef';
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 = '\ueffe';
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 = '\uefff';
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
- r0 = parse_StandardPredefinedMacros();
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 = '\ud82c';
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 = '\ud808';
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 = '\ud869';
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 = '\ud809';
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 = '\ud835';
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 = '\ud804';
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 = '\ud800';
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 = '\ud80c';
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 = '\ud801';
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 = '\ud86e';
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 = '\ud803';
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 = '\ud840';
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 = '\ud87e';
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 = '\ud86d';
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 = '\ud81a';
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 = '\ud802';
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 = '\ud80d';
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 = '\udb40';
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 = '\ud834';
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 = '\ud804';
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 = '\ud800';
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 = '\ud802';
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 = '\ud835';
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 = '\ud804';
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 = '\ud801';
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 = '\u200c';
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 = '\u200d';
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 (ctors) {
37697
- var ctor, superclasses;
37698
- ctors = 1 <= arguments.length ? [].slice.call(arguments, 0) : [];
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, primitives) {
37726
- primitives = 2 <= arguments.length ? [].slice.call(arguments, 1) : [];
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, listProps) {
37752
- listProps = 2 <= arguments.length ? [].slice.call(arguments, 1) : [];
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).concat());
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 = '\uefef';
44217
- DEDENT = '\ueffe';
44218
- TERM = '\uefff';
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 context, impliedRegexp, indent, indentIndex, lastChar, lineLen, lines, message, pos, spaceBefore, tok;
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
- if (this.ss.bol() || this.scan(new RegExp('(?:[' + ws + ']*\\n)+'))) {
44350
- this.scan(new RegExp('(?:[' + ws + ']*(\\#\\#?(?!\\#)[^\\n]*)?\\n)+'));
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
- continue;
44422
+ } else {
44423
+ this.consumeIndentation();
44424
+ this.introduceContext();
44405
44425
  }
44406
- if (tok = this.scan(/"""|'''|\/\/\/|###|["'`#[({\\]/)) {
44426
+ break;
44427
+ case '[':
44428
+ this.scan(/[^\n'"\\\/#`[({\]]+/);
44429
+ if (tok = this.scan(/\]/)) {
44407
44430
  this.observe(tok);
44408
- } else if (tok = this.scan(/\//)) {
44409
- pos = this.ss.position();
44410
- if (pos > 1) {
44411
- lastChar = this.ss.string()[pos - 2];
44412
- spaceBefore = new RegExp('[' + ws + ']').test(lastChar);
44413
- impliedRegexp = /[;,=><*%^&|[(+!~-]/.test(lastChar);
44414
- }
44415
- if (pos === 1 || impliedRegexp || spaceBefore && !this.ss.check(new RegExp('[' + ws + '=]')) && this.ss.check(/[^\r\n]*\//))
44416
- this.observe('/');
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');