distil 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (552) hide show
  1. data/Rakefile +28 -0
  2. data/VERSION +1 -0
  3. data/bin/distil +45 -0
  4. data/distil.gemspec +586 -0
  5. data/lib/bootstrap-template.js +56 -0
  6. data/lib/configurable.rb +125 -0
  7. data/lib/file-set.rb +42 -0
  8. data/lib/file-types/css-file.rb +75 -0
  9. data/lib/file-types/html-file.rb +11 -0
  10. data/lib/file-types/javascript-file.rb +98 -0
  11. data/lib/file-types/json-file.rb +14 -0
  12. data/lib/file-types/nib-file.rb +9 -0
  13. data/lib/jsdoc.conf +18 -0
  14. data/lib/jsl.conf +121 -0
  15. data/lib/project.rb +96 -0
  16. data/lib/source-file.rb +181 -0
  17. data/lib/target.rb +96 -0
  18. data/lib/task.rb +239 -0
  19. data/lib/tasks/copy-task.rb +21 -0
  20. data/lib/tasks/css-task.rb +18 -0
  21. data/lib/tasks/javascript-task.rb +125 -0
  22. data/lib/tasks/multiple-output-task.rb +134 -0
  23. data/lib/tasks/nib-task.rb +83 -0
  24. data/lib/tasks/output-task.rb +73 -0
  25. data/lib/tasks/single-output-task.rb +83 -0
  26. data/lib/tasks/test-task.rb +280 -0
  27. data/lib/test/HtmlTestReporter.js +127 -0
  28. data/lib/test/Test.js +248 -0
  29. data/lib/test/TestReporter.js +79 -0
  30. data/lib/test/TestRunner.js +132 -0
  31. data/lib/test/browser.rb +97 -0
  32. data/lib/test/scriptwrapper.html +10 -0
  33. data/lib/test/unittest.html +127 -0
  34. data/vendor/Makefile +35 -0
  35. data/vendor/extconf.rb +3 -0
  36. data/vendor/jsdoc-extras/plugins/distil-plugin.js +142 -0
  37. data/vendor/jsdoc-extras/plugins/interface-plugin.js +36 -0
  38. data/vendor/jsdoc-extras/templates/coherent/allclasses.tmpl +17 -0
  39. data/vendor/jsdoc-extras/templates/coherent/allfiles.tmpl +53 -0
  40. data/vendor/jsdoc-extras/templates/coherent/class.tmpl +803 -0
  41. data/vendor/jsdoc-extras/templates/coherent/index.tmpl +37 -0
  42. data/vendor/jsdoc-extras/templates/coherent/publish.js +242 -0
  43. data/vendor/jsdoc-extras/templates/coherent/showdown.js +421 -0
  44. data/vendor/jsdoc-extras/templates/coherent/static/code-footer.html +3 -0
  45. data/vendor/jsdoc-extras/templates/coherent/static/code-header.html +7 -0
  46. data/vendor/jsdoc-extras/templates/coherent/static/default.css +297 -0
  47. data/vendor/jsdoc-extras/templates/coherent/static/header.html +2 -0
  48. data/vendor/jsdoc-extras/templates/coherent/static/index.html +19 -0
  49. data/vendor/jsdoc-extras/templates/coherent/symbol.tmpl +35 -0
  50. data/vendor/jsdoc-toolkit/README.txt +183 -0
  51. data/vendor/jsdoc-toolkit/app/frame/Chain.js +102 -0
  52. data/vendor/jsdoc-toolkit/app/frame/Dumper.js +144 -0
  53. data/vendor/jsdoc-toolkit/app/frame/Hash.js +84 -0
  54. data/vendor/jsdoc-toolkit/app/frame/Link.js +171 -0
  55. data/vendor/jsdoc-toolkit/app/frame/Namespace.js +10 -0
  56. data/vendor/jsdoc-toolkit/app/frame/Opt.js +134 -0
  57. data/vendor/jsdoc-toolkit/app/frame/Reflection.js +26 -0
  58. data/vendor/jsdoc-toolkit/app/frame/String.js +93 -0
  59. data/vendor/jsdoc-toolkit/app/frame/Testrun.js +129 -0
  60. data/vendor/jsdoc-toolkit/app/frame.js +33 -0
  61. data/vendor/jsdoc-toolkit/app/handlers/FOODOC.js +26 -0
  62. data/vendor/jsdoc-toolkit/app/handlers/XMLDOC/DomReader.js +159 -0
  63. data/vendor/jsdoc-toolkit/app/handlers/XMLDOC/XMLDoc.js +16 -0
  64. data/vendor/jsdoc-toolkit/app/handlers/XMLDOC/XMLParse.js +292 -0
  65. data/vendor/jsdoc-toolkit/app/handlers/XMLDOC.js +26 -0
  66. data/vendor/jsdoc-toolkit/app/lib/JSDOC/DocComment.js +204 -0
  67. data/vendor/jsdoc-toolkit/app/lib/JSDOC/DocTag.js +300 -0
  68. data/vendor/jsdoc-toolkit/app/lib/JSDOC/JsDoc.js +126 -0
  69. data/vendor/jsdoc-toolkit/app/lib/JSDOC/JsPlate.js +109 -0
  70. data/vendor/jsdoc-toolkit/app/lib/JSDOC/Lang.js +144 -0
  71. data/vendor/jsdoc-toolkit/app/lib/JSDOC/Parser.js +144 -0
  72. data/vendor/jsdoc-toolkit/app/lib/JSDOC/PluginManager.js +33 -0
  73. data/vendor/jsdoc-toolkit/app/lib/JSDOC/Symbol.js +644 -0
  74. data/vendor/jsdoc-toolkit/app/lib/JSDOC/SymbolSet.js +241 -0
  75. data/vendor/jsdoc-toolkit/app/lib/JSDOC/TextStream.js +41 -0
  76. data/vendor/jsdoc-toolkit/app/lib/JSDOC/Token.js +18 -0
  77. data/vendor/jsdoc-toolkit/app/lib/JSDOC/TokenReader.js +332 -0
  78. data/vendor/jsdoc-toolkit/app/lib/JSDOC/TokenStream.js +133 -0
  79. data/vendor/jsdoc-toolkit/app/lib/JSDOC/Util.js +32 -0
  80. data/vendor/jsdoc-toolkit/app/lib/JSDOC/Walker.js +499 -0
  81. data/vendor/jsdoc-toolkit/app/lib/JSDOC.js +106 -0
  82. data/vendor/jsdoc-toolkit/app/main.js +129 -0
  83. data/vendor/jsdoc-toolkit/app/plugins/commentSrcJson.js +20 -0
  84. data/vendor/jsdoc-toolkit/app/plugins/frameworkPrototype.js +16 -0
  85. data/vendor/jsdoc-toolkit/app/plugins/functionCall.js +10 -0
  86. data/vendor/jsdoc-toolkit/app/plugins/publishSrcHilite.js +54 -0
  87. data/vendor/jsdoc-toolkit/app/plugins/symbolLink.js +10 -0
  88. data/vendor/jsdoc-toolkit/app/plugins/tagParamConfig.js +31 -0
  89. data/vendor/jsdoc-toolkit/app/plugins/tagSynonyms.js +43 -0
  90. data/vendor/jsdoc-toolkit/app/run.js +348 -0
  91. data/vendor/jsdoc-toolkit/app/t/TestDoc.js +144 -0
  92. data/vendor/jsdoc-toolkit/app/t/runner.js +13 -0
  93. data/vendor/jsdoc-toolkit/app/test/addon.js +24 -0
  94. data/vendor/jsdoc-toolkit/app/test/anon_inner.js +14 -0
  95. data/vendor/jsdoc-toolkit/app/test/augments.js +31 -0
  96. data/vendor/jsdoc-toolkit/app/test/augments2.js +26 -0
  97. data/vendor/jsdoc-toolkit/app/test/borrows.js +46 -0
  98. data/vendor/jsdoc-toolkit/app/test/borrows2.js +23 -0
  99. data/vendor/jsdoc-toolkit/app/test/config.js +22 -0
  100. data/vendor/jsdoc-toolkit/app/test/constructs.js +18 -0
  101. data/vendor/jsdoc-toolkit/app/test/encoding.js +10 -0
  102. data/vendor/jsdoc-toolkit/app/test/encoding_other.js +12 -0
  103. data/vendor/jsdoc-toolkit/app/test/event.js +54 -0
  104. data/vendor/jsdoc-toolkit/app/test/exports.js +14 -0
  105. data/vendor/jsdoc-toolkit/app/test/functions_anon.js +39 -0
  106. data/vendor/jsdoc-toolkit/app/test/functions_nested.js +33 -0
  107. data/vendor/jsdoc-toolkit/app/test/global.js +13 -0
  108. data/vendor/jsdoc-toolkit/app/test/globals.js +25 -0
  109. data/vendor/jsdoc-toolkit/app/test/ignore.js +10 -0
  110. data/vendor/jsdoc-toolkit/app/test/inner.js +16 -0
  111. data/vendor/jsdoc-toolkit/app/test/jsdoc_test.js +477 -0
  112. data/vendor/jsdoc-toolkit/app/test/lend.js +33 -0
  113. data/vendor/jsdoc-toolkit/app/test/memberof.js +19 -0
  114. data/vendor/jsdoc-toolkit/app/test/memberof2.js +38 -0
  115. data/vendor/jsdoc-toolkit/app/test/memberof3.js +33 -0
  116. data/vendor/jsdoc-toolkit/app/test/memberof_constructor.js +17 -0
  117. data/vendor/jsdoc-toolkit/app/test/module.js +17 -0
  118. data/vendor/jsdoc-toolkit/app/test/name.js +19 -0
  119. data/vendor/jsdoc-toolkit/app/test/namespace_nested.js +23 -0
  120. data/vendor/jsdoc-toolkit/app/test/nocode.js +13 -0
  121. data/vendor/jsdoc-toolkit/app/test/oblit_anon.js +20 -0
  122. data/vendor/jsdoc-toolkit/app/test/overview.js +20 -0
  123. data/vendor/jsdoc-toolkit/app/test/param_inline.js +37 -0
  124. data/vendor/jsdoc-toolkit/app/test/params_optional.js +8 -0
  125. data/vendor/jsdoc-toolkit/app/test/prototype.js +17 -0
  126. data/vendor/jsdoc-toolkit/app/test/prototype_nested.js +9 -0
  127. data/vendor/jsdoc-toolkit/app/test/prototype_oblit.js +13 -0
  128. data/vendor/jsdoc-toolkit/app/test/prototype_oblit_constructor.js +24 -0
  129. data/vendor/jsdoc-toolkit/app/test/public.js +10 -0
  130. data/vendor/jsdoc-toolkit/app/test/scripts/code.js +5 -0
  131. data/vendor/jsdoc-toolkit/app/test/scripts/notcode.txt +5 -0
  132. data/vendor/jsdoc-toolkit/app/test/shared.js +42 -0
  133. data/vendor/jsdoc-toolkit/app/test/shared2.js +2 -0
  134. data/vendor/jsdoc-toolkit/app/test/shortcuts.js +22 -0
  135. data/vendor/jsdoc-toolkit/app/test/static_this.js +13 -0
  136. data/vendor/jsdoc-toolkit/app/test/synonyms.js +31 -0
  137. data/vendor/jsdoc-toolkit/app/test/tosource.js +23 -0
  138. data/vendor/jsdoc-toolkit/app/test/variable_redefine.js +14 -0
  139. data/vendor/jsdoc-toolkit/app/test.js +342 -0
  140. data/vendor/jsdoc-toolkit/changes.txt +116 -0
  141. data/vendor/jsdoc-toolkit/conf/sample.conf +31 -0
  142. data/vendor/jsdoc-toolkit/java/build.xml +36 -0
  143. data/vendor/jsdoc-toolkit/java/build_1.4.xml +36 -0
  144. data/vendor/jsdoc-toolkit/java/classes/js.jar +0 -0
  145. data/vendor/jsdoc-toolkit/java/src/JsDebugRun.java +21 -0
  146. data/vendor/jsdoc-toolkit/java/src/JsRun.java +21 -0
  147. data/vendor/jsdoc-toolkit/jsdebug.jar +0 -0
  148. data/vendor/jsdoc-toolkit/jsrun.jar +0 -0
  149. data/vendor/jsdoc-toolkit/jsrun.sh +53 -0
  150. data/vendor/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl +17 -0
  151. data/vendor/jsdoc-toolkit/templates/jsdoc/allfiles.tmpl +56 -0
  152. data/vendor/jsdoc-toolkit/templates/jsdoc/class.tmpl +649 -0
  153. data/vendor/jsdoc-toolkit/templates/jsdoc/index.tmpl +39 -0
  154. data/vendor/jsdoc-toolkit/templates/jsdoc/publish.js +201 -0
  155. data/vendor/jsdoc-toolkit/templates/jsdoc/static/code-footer.html +3 -0
  156. data/vendor/jsdoc-toolkit/templates/jsdoc/static/code-header.html +14 -0
  157. data/vendor/jsdoc-toolkit/templates/jsdoc/static/default.css +162 -0
  158. data/vendor/jsdoc-toolkit/templates/jsdoc/static/header.html +2 -0
  159. data/vendor/jsdoc-toolkit/templates/jsdoc/static/index.html +19 -0
  160. data/vendor/jsdoc-toolkit/templates/jsdoc/symbol.tmpl +35 -0
  161. data/vendor/jsl-0.3.0/src/JavaScriptLintAPI.cpp +333 -0
  162. data/vendor/jsl-0.3.0/src/JavaScriptLintAPI.h +86 -0
  163. data/vendor/jsl-0.3.0/src/Makefile.in +375 -0
  164. data/vendor/jsl-0.3.0/src/Makefile.ref +372 -0
  165. data/vendor/jsl-0.3.0/src/README.html +826 -0
  166. data/vendor/jsl-0.3.0/src/SpiderMonkey.rsp +12 -0
  167. data/vendor/jsl-0.3.0/src/_jsl_online.php +223 -0
  168. data/vendor/jsl-0.3.0/src/config/AIX4.1.mk +65 -0
  169. data/vendor/jsl-0.3.0/src/config/AIX4.2.mk +64 -0
  170. data/vendor/jsl-0.3.0/src/config/AIX4.3.mk +65 -0
  171. data/vendor/jsl-0.3.0/src/config/Darwin.mk +81 -0
  172. data/vendor/jsl-0.3.0/src/config/Darwin1.3.mk +81 -0
  173. data/vendor/jsl-0.3.0/src/config/Darwin1.4.mk +41 -0
  174. data/vendor/jsl-0.3.0/src/config/Darwin5.2.mk +81 -0
  175. data/vendor/jsl-0.3.0/src/config/Darwin5.3.mk +81 -0
  176. data/vendor/jsl-0.3.0/src/config/HP-UXB.10.10.mk +77 -0
  177. data/vendor/jsl-0.3.0/src/config/HP-UXB.10.20.mk +77 -0
  178. data/vendor/jsl-0.3.0/src/config/HP-UXB.11.00.mk +80 -0
  179. data/vendor/jsl-0.3.0/src/config/IRIX.mk +87 -0
  180. data/vendor/jsl-0.3.0/src/config/IRIX5.3.mk +44 -0
  181. data/vendor/jsl-0.3.0/src/config/IRIX6.1.mk +44 -0
  182. data/vendor/jsl-0.3.0/src/config/IRIX6.2.mk +44 -0
  183. data/vendor/jsl-0.3.0/src/config/IRIX6.3.mk +44 -0
  184. data/vendor/jsl-0.3.0/src/config/IRIX6.5.mk +44 -0
  185. data/vendor/jsl-0.3.0/src/config/Linux_All.mk +103 -0
  186. data/vendor/jsl-0.3.0/src/config/Mac_OS10.0.mk +82 -0
  187. data/vendor/jsl-0.3.0/src/config/OSF1V4.0.mk +72 -0
  188. data/vendor/jsl-0.3.0/src/config/OSF1V5.0.mk +69 -0
  189. data/vendor/jsl-0.3.0/src/config/SunOS4.1.4.mk +101 -0
  190. data/vendor/jsl-0.3.0/src/config/SunOS5.3.mk +91 -0
  191. data/vendor/jsl-0.3.0/src/config/SunOS5.4.mk +92 -0
  192. data/vendor/jsl-0.3.0/src/config/SunOS5.5.1.mk +44 -0
  193. data/vendor/jsl-0.3.0/src/config/SunOS5.5.mk +87 -0
  194. data/vendor/jsl-0.3.0/src/config/SunOS5.6.mk +89 -0
  195. data/vendor/jsl-0.3.0/src/config/SunOS5.7.mk +44 -0
  196. data/vendor/jsl-0.3.0/src/config/SunOS5.8.mk +44 -0
  197. data/vendor/jsl-0.3.0/src/config/SunOS5.9.mk +44 -0
  198. data/vendor/jsl-0.3.0/src/config/WINNT4.0.mk +112 -0
  199. data/vendor/jsl-0.3.0/src/config/WINNT5.0.mk +112 -0
  200. data/vendor/jsl-0.3.0/src/config/WINNT5.1.mk +112 -0
  201. data/vendor/jsl-0.3.0/src/config/WINNT5.2.mk +112 -0
  202. data/vendor/jsl-0.3.0/src/config/dgux.mk +64 -0
  203. data/vendor/jsl-0.3.0/src/config.mk +166 -0
  204. data/vendor/jsl-0.3.0/src/editline/Makefile.ref +144 -0
  205. data/vendor/jsl-0.3.0/src/editline/README +83 -0
  206. data/vendor/jsl-0.3.0/src/editline/editline.3 +175 -0
  207. data/vendor/jsl-0.3.0/src/editline/editline.c +1369 -0
  208. data/vendor/jsl-0.3.0/src/editline/editline.h +135 -0
  209. data/vendor/jsl-0.3.0/src/editline/sysunix.c +182 -0
  210. data/vendor/jsl-0.3.0/src/editline/unix.h +82 -0
  211. data/vendor/jsl-0.3.0/src/fdlibm/Makefile.in +127 -0
  212. data/vendor/jsl-0.3.0/src/fdlibm/Makefile.ref +192 -0
  213. data/vendor/jsl-0.3.0/src/fdlibm/e_acos.c +147 -0
  214. data/vendor/jsl-0.3.0/src/fdlibm/e_acosh.c +105 -0
  215. data/vendor/jsl-0.3.0/src/fdlibm/e_asin.c +156 -0
  216. data/vendor/jsl-0.3.0/src/fdlibm/e_atan2.c +165 -0
  217. data/vendor/jsl-0.3.0/src/fdlibm/e_atanh.c +110 -0
  218. data/vendor/jsl-0.3.0/src/fdlibm/e_cosh.c +133 -0
  219. data/vendor/jsl-0.3.0/src/fdlibm/e_exp.c +202 -0
  220. data/vendor/jsl-0.3.0/src/fdlibm/e_fmod.c +184 -0
  221. data/vendor/jsl-0.3.0/src/fdlibm/e_gamma.c +71 -0
  222. data/vendor/jsl-0.3.0/src/fdlibm/e_gamma_r.c +70 -0
  223. data/vendor/jsl-0.3.0/src/fdlibm/e_hypot.c +173 -0
  224. data/vendor/jsl-0.3.0/src/fdlibm/e_j0.c +524 -0
  225. data/vendor/jsl-0.3.0/src/fdlibm/e_j1.c +523 -0
  226. data/vendor/jsl-0.3.0/src/fdlibm/e_jn.c +315 -0
  227. data/vendor/jsl-0.3.0/src/fdlibm/e_lgamma.c +71 -0
  228. data/vendor/jsl-0.3.0/src/fdlibm/e_lgamma_r.c +347 -0
  229. data/vendor/jsl-0.3.0/src/fdlibm/e_log.c +184 -0
  230. data/vendor/jsl-0.3.0/src/fdlibm/e_log10.c +134 -0
  231. data/vendor/jsl-0.3.0/src/fdlibm/e_pow.c +386 -0
  232. data/vendor/jsl-0.3.0/src/fdlibm/e_rem_pio2.c +221 -0
  233. data/vendor/jsl-0.3.0/src/fdlibm/e_remainder.c +120 -0
  234. data/vendor/jsl-0.3.0/src/fdlibm/e_scalb.c +89 -0
  235. data/vendor/jsl-0.3.0/src/fdlibm/e_sinh.c +122 -0
  236. data/vendor/jsl-0.3.0/src/fdlibm/e_sqrt.c +497 -0
  237. data/vendor/jsl-0.3.0/src/fdlibm/fdlibm.dsp +160 -0
  238. data/vendor/jsl-0.3.0/src/fdlibm/fdlibm.h +273 -0
  239. data/vendor/jsl-0.3.0/src/fdlibm/fdlibm.mak +1453 -0
  240. data/vendor/jsl-0.3.0/src/fdlibm/fdlibm.mdp +0 -0
  241. data/vendor/jsl-0.3.0/src/fdlibm/k_cos.c +134 -0
  242. data/vendor/jsl-0.3.0/src/fdlibm/k_rem_pio2.c +354 -0
  243. data/vendor/jsl-0.3.0/src/fdlibm/k_sin.c +114 -0
  244. data/vendor/jsl-0.3.0/src/fdlibm/k_standard.c +785 -0
  245. data/vendor/jsl-0.3.0/src/fdlibm/k_tan.c +170 -0
  246. data/vendor/jsl-0.3.0/src/fdlibm/s_asinh.c +101 -0
  247. data/vendor/jsl-0.3.0/src/fdlibm/s_atan.c +175 -0
  248. data/vendor/jsl-0.3.0/src/fdlibm/s_cbrt.c +133 -0
  249. data/vendor/jsl-0.3.0/src/fdlibm/s_ceil.c +120 -0
  250. data/vendor/jsl-0.3.0/src/fdlibm/s_copysign.c +72 -0
  251. data/vendor/jsl-0.3.0/src/fdlibm/s_cos.c +118 -0
  252. data/vendor/jsl-0.3.0/src/fdlibm/s_erf.c +356 -0
  253. data/vendor/jsl-0.3.0/src/fdlibm/s_expm1.c +267 -0
  254. data/vendor/jsl-0.3.0/src/fdlibm/s_fabs.c +70 -0
  255. data/vendor/jsl-0.3.0/src/fdlibm/s_finite.c +71 -0
  256. data/vendor/jsl-0.3.0/src/fdlibm/s_floor.c +121 -0
  257. data/vendor/jsl-0.3.0/src/fdlibm/s_frexp.c +99 -0
  258. data/vendor/jsl-0.3.0/src/fdlibm/s_ilogb.c +85 -0
  259. data/vendor/jsl-0.3.0/src/fdlibm/s_isnan.c +74 -0
  260. data/vendor/jsl-0.3.0/src/fdlibm/s_ldexp.c +66 -0
  261. data/vendor/jsl-0.3.0/src/fdlibm/s_lib_version.c +73 -0
  262. data/vendor/jsl-0.3.0/src/fdlibm/s_log1p.c +211 -0
  263. data/vendor/jsl-0.3.0/src/fdlibm/s_logb.c +79 -0
  264. data/vendor/jsl-0.3.0/src/fdlibm/s_matherr.c +64 -0
  265. data/vendor/jsl-0.3.0/src/fdlibm/s_modf.c +132 -0
  266. data/vendor/jsl-0.3.0/src/fdlibm/s_nextafter.c +124 -0
  267. data/vendor/jsl-0.3.0/src/fdlibm/s_rint.c +131 -0
  268. data/vendor/jsl-0.3.0/src/fdlibm/s_scalbn.c +107 -0
  269. data/vendor/jsl-0.3.0/src/fdlibm/s_signgam.c +40 -0
  270. data/vendor/jsl-0.3.0/src/fdlibm/s_significand.c +68 -0
  271. data/vendor/jsl-0.3.0/src/fdlibm/s_sin.c +118 -0
  272. data/vendor/jsl-0.3.0/src/fdlibm/s_tan.c +112 -0
  273. data/vendor/jsl-0.3.0/src/fdlibm/s_tanh.c +122 -0
  274. data/vendor/jsl-0.3.0/src/fdlibm/w_acos.c +78 -0
  275. data/vendor/jsl-0.3.0/src/fdlibm/w_acosh.c +78 -0
  276. data/vendor/jsl-0.3.0/src/fdlibm/w_asin.c +80 -0
  277. data/vendor/jsl-0.3.0/src/fdlibm/w_atan2.c +79 -0
  278. data/vendor/jsl-0.3.0/src/fdlibm/w_atanh.c +81 -0
  279. data/vendor/jsl-0.3.0/src/fdlibm/w_cosh.c +77 -0
  280. data/vendor/jsl-0.3.0/src/fdlibm/w_exp.c +88 -0
  281. data/vendor/jsl-0.3.0/src/fdlibm/w_fmod.c +78 -0
  282. data/vendor/jsl-0.3.0/src/fdlibm/w_gamma.c +85 -0
  283. data/vendor/jsl-0.3.0/src/fdlibm/w_gamma_r.c +81 -0
  284. data/vendor/jsl-0.3.0/src/fdlibm/w_hypot.c +78 -0
  285. data/vendor/jsl-0.3.0/src/fdlibm/w_j0.c +105 -0
  286. data/vendor/jsl-0.3.0/src/fdlibm/w_j1.c +106 -0
  287. data/vendor/jsl-0.3.0/src/fdlibm/w_jn.c +128 -0
  288. data/vendor/jsl-0.3.0/src/fdlibm/w_lgamma.c +85 -0
  289. data/vendor/jsl-0.3.0/src/fdlibm/w_lgamma_r.c +81 -0
  290. data/vendor/jsl-0.3.0/src/fdlibm/w_log.c +78 -0
  291. data/vendor/jsl-0.3.0/src/fdlibm/w_log10.c +81 -0
  292. data/vendor/jsl-0.3.0/src/fdlibm/w_pow.c +99 -0
  293. data/vendor/jsl-0.3.0/src/fdlibm/w_remainder.c +77 -0
  294. data/vendor/jsl-0.3.0/src/fdlibm/w_scalb.c +95 -0
  295. data/vendor/jsl-0.3.0/src/fdlibm/w_sinh.c +77 -0
  296. data/vendor/jsl-0.3.0/src/fdlibm/w_sqrt.c +77 -0
  297. data/vendor/jsl-0.3.0/src/js.c +2447 -0
  298. data/vendor/jsl-0.3.0/src/js.dsp +420 -0
  299. data/vendor/jsl-0.3.0/src/js.mak +4025 -0
  300. data/vendor/jsl-0.3.0/src/js.mdp +0 -0
  301. data/vendor/jsl-0.3.0/src/js.msg +291 -0
  302. data/vendor/jsl-0.3.0/src/js.pkg +2 -0
  303. data/vendor/jsl-0.3.0/src/js3240.rc +79 -0
  304. data/vendor/jsl-0.3.0/src/jsOS240.def +654 -0
  305. data/vendor/jsl-0.3.0/src/jsapi.c +4405 -0
  306. data/vendor/jsl-0.3.0/src/jsapi.h +1856 -0
  307. data/vendor/jsl-0.3.0/src/jsarena.c +567 -0
  308. data/vendor/jsl-0.3.0/src/jsarena.h +302 -0
  309. data/vendor/jsl-0.3.0/src/jsarray.c +1428 -0
  310. data/vendor/jsl-0.3.0/src/jsarray.h +77 -0
  311. data/vendor/jsl-0.3.0/src/jsatom.c +927 -0
  312. data/vendor/jsl-0.3.0/src/jsatom.h +426 -0
  313. data/vendor/jsl-0.3.0/src/jsbit.h +113 -0
  314. data/vendor/jsl-0.3.0/src/jsbool.c +220 -0
  315. data/vendor/jsl-0.3.0/src/jsbool.h +62 -0
  316. data/vendor/jsl-0.3.0/src/jsclist.h +139 -0
  317. data/vendor/jsl-0.3.0/src/jscntxt.c +1036 -0
  318. data/vendor/jsl-0.3.0/src/jscntxt.h +608 -0
  319. data/vendor/jsl-0.3.0/src/jscompat.h +57 -0
  320. data/vendor/jsl-0.3.0/src/jsconfig.h +489 -0
  321. data/vendor/jsl-0.3.0/src/jsconfig.mk +181 -0
  322. data/vendor/jsl-0.3.0/src/jscpucfg.c +377 -0
  323. data/vendor/jsl-0.3.0/src/jscpucfg.h +204 -0
  324. data/vendor/jsl-0.3.0/src/jsdate.c +2238 -0
  325. data/vendor/jsl-0.3.0/src/jsdate.h +118 -0
  326. data/vendor/jsl-0.3.0/src/jsdbgapi.c +1260 -0
  327. data/vendor/jsl-0.3.0/src/jsdbgapi.h +345 -0
  328. data/vendor/jsl-0.3.0/src/jsdhash.c +763 -0
  329. data/vendor/jsl-0.3.0/src/jsdhash.h +579 -0
  330. data/vendor/jsl-0.3.0/src/jsdtoa.c +3135 -0
  331. data/vendor/jsl-0.3.0/src/jsdtoa.h +130 -0
  332. data/vendor/jsl-0.3.0/src/jsemit.c +4851 -0
  333. data/vendor/jsl-0.3.0/src/jsemit.h +576 -0
  334. data/vendor/jsl-0.3.0/src/jsexn.c +1084 -0
  335. data/vendor/jsl-0.3.0/src/jsexn.h +102 -0
  336. data/vendor/jsl-0.3.0/src/jsfile.c +2610 -0
  337. data/vendor/jsl-0.3.0/src/jsfile.h +50 -0
  338. data/vendor/jsl-0.3.0/src/jsfile.msg +89 -0
  339. data/vendor/jsl-0.3.0/src/jsfun.c +2015 -0
  340. data/vendor/jsl-0.3.0/src/jsfun.h +158 -0
  341. data/vendor/jsl-0.3.0/src/jsgc.c +1441 -0
  342. data/vendor/jsl-0.3.0/src/jsgc.h +230 -0
  343. data/vendor/jsl-0.3.0/src/jshash.c +471 -0
  344. data/vendor/jsl-0.3.0/src/jshash.h +152 -0
  345. data/vendor/jsl-0.3.0/src/jsify.pl +485 -0
  346. data/vendor/jsl-0.3.0/src/jsinterp.c +4797 -0
  347. data/vendor/jsl-0.3.0/src/jsinterp.h +302 -0
  348. data/vendor/jsl-0.3.0/src/jsl-test.js +28 -0
  349. data/vendor/jsl-0.3.0/src/jsl.c +2371 -0
  350. data/vendor/jsl-0.3.0/src/jsl.conf +127 -0
  351. data/vendor/jsl-0.3.0/src/jsl.conf.old +124 -0
  352. data/vendor/jsl-0.3.0/src/jsl.dsp +242 -0
  353. data/vendor/jsl-0.3.0/src/jsl.dsw +59 -0
  354. data/vendor/jsl-0.3.0/src/jslibmath.h +290 -0
  355. data/vendor/jsl-0.3.0/src/jslock.c +1261 -0
  356. data/vendor/jsl-0.3.0/src/jslock.h +289 -0
  357. data/vendor/jsl-0.3.0/src/jslocko.asm +59 -0
  358. data/vendor/jsl-0.3.0/src/jslog2.c +83 -0
  359. data/vendor/jsl-0.3.0/src/jslong.c +281 -0
  360. data/vendor/jsl-0.3.0/src/jslong.h +437 -0
  361. data/vendor/jsl-0.3.0/src/jsmath.c +477 -0
  362. data/vendor/jsl-0.3.0/src/jsmath.h +55 -0
  363. data/vendor/jsl-0.3.0/src/jsnum.c +1148 -0
  364. data/vendor/jsl-0.3.0/src/jsnum.h +257 -0
  365. data/vendor/jsl-0.3.0/src/jsobj.c +4066 -0
  366. data/vendor/jsl-0.3.0/src/jsobj.h +475 -0
  367. data/vendor/jsl-0.3.0/src/jsopcode.c +2730 -0
  368. data/vendor/jsl-0.3.0/src/jsopcode.h +275 -0
  369. data/vendor/jsl-0.3.0/src/jsopcode.tbl +344 -0
  370. data/vendor/jsl-0.3.0/src/jsosdep.h +127 -0
  371. data/vendor/jsl-0.3.0/src/jsotypes.h +211 -0
  372. data/vendor/jsl-0.3.0/src/jsparse.c +4438 -0
  373. data/vendor/jsl-0.3.0/src/jsparse.h +345 -0
  374. data/vendor/jsl-0.3.0/src/jsprf.c +1212 -0
  375. data/vendor/jsl-0.3.0/src/jsprf.h +148 -0
  376. data/vendor/jsl-0.3.0/src/jsprvtd.h +174 -0
  377. data/vendor/jsl-0.3.0/src/jspubtd.h +586 -0
  378. data/vendor/jsl-0.3.0/src/jsregexp.c +3831 -0
  379. data/vendor/jsl-0.3.0/src/jsregexp.h +180 -0
  380. data/vendor/jsl-0.3.0/src/jsscan.c +1814 -0
  381. data/vendor/jsl-0.3.0/src/jsscan.h +267 -0
  382. data/vendor/jsl-0.3.0/src/jsscope.c +1639 -0
  383. data/vendor/jsl-0.3.0/src/jsscope.h +389 -0
  384. data/vendor/jsl-0.3.0/src/jsscript.c +1284 -0
  385. data/vendor/jsl-0.3.0/src/jsscript.h +179 -0
  386. data/vendor/jsl-0.3.0/src/jsshell.msg +50 -0
  387. data/vendor/jsl-0.3.0/src/jsstddef.h +83 -0
  388. data/vendor/jsl-0.3.0/src/jsstr.c +4502 -0
  389. data/vendor/jsl-0.3.0/src/jsstr.h +448 -0
  390. data/vendor/jsl-0.3.0/src/jstypes.h +391 -0
  391. data/vendor/jsl-0.3.0/src/jsutil.c +157 -0
  392. data/vendor/jsl-0.3.0/src/jsutil.h +75 -0
  393. data/vendor/jsl-0.3.0/src/jsxdrapi.c +686 -0
  394. data/vendor/jsl-0.3.0/src/jsxdrapi.h +193 -0
  395. data/vendor/jsl-0.3.0/src/liveconnect/LiveConnect.dsp +157 -0
  396. data/vendor/jsl-0.3.0/src/liveconnect/LiveConnectShell.dsp +120 -0
  397. data/vendor/jsl-0.3.0/src/liveconnect/LiveConnectShell.dsw +44 -0
  398. data/vendor/jsl-0.3.0/src/liveconnect/Makefile.in +106 -0
  399. data/vendor/jsl-0.3.0/src/liveconnect/Makefile.ref +169 -0
  400. data/vendor/jsl-0.3.0/src/liveconnect/README.html +719 -0
  401. data/vendor/jsl-0.3.0/src/liveconnect/_jni/netscape_javascript_JSException.h +14 -0
  402. data/vendor/jsl-0.3.0/src/liveconnect/_jni/netscape_javascript_JSObject.h +155 -0
  403. data/vendor/jsl-0.3.0/src/liveconnect/classes/Makefile.in +89 -0
  404. data/vendor/jsl-0.3.0/src/liveconnect/classes/Makefile.ref +57 -0
  405. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/Makefile.ref +47 -0
  406. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/javascript/JSException.java +140 -0
  407. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/javascript/JSObject.java +183 -0
  408. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/javascript/JSProxy.java +58 -0
  409. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/javascript/JSRunnable.java +70 -0
  410. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/javascript/JSUtil.java +59 -0
  411. data/vendor/jsl-0.3.0/src/liveconnect/classes/netscape/javascript/Makefile.ref +53 -0
  412. data/vendor/jsl-0.3.0/src/liveconnect/config/AIX4.1.mk +45 -0
  413. data/vendor/jsl-0.3.0/src/liveconnect/config/AIX4.2.mk +45 -0
  414. data/vendor/jsl-0.3.0/src/liveconnect/config/AIX4.3.mk +50 -0
  415. data/vendor/jsl-0.3.0/src/liveconnect/config/HP-UXB.10.10.mk +43 -0
  416. data/vendor/jsl-0.3.0/src/liveconnect/config/HP-UXB.10.20.mk +43 -0
  417. data/vendor/jsl-0.3.0/src/liveconnect/config/HP-UXB.11.00.mk +43 -0
  418. data/vendor/jsl-0.3.0/src/liveconnect/config/IRIX6.2.mk +43 -0
  419. data/vendor/jsl-0.3.0/src/liveconnect/config/IRIX6.3.mk +43 -0
  420. data/vendor/jsl-0.3.0/src/liveconnect/config/IRIX6.5.mk +43 -0
  421. data/vendor/jsl-0.3.0/src/liveconnect/config/Linux_All.mk +73 -0
  422. data/vendor/jsl-0.3.0/src/liveconnect/config/OSF1V4.0.mk +65 -0
  423. data/vendor/jsl-0.3.0/src/liveconnect/config/OSF1V5.0.mk +62 -0
  424. data/vendor/jsl-0.3.0/src/liveconnect/config/SunOS5.5.1.mk +55 -0
  425. data/vendor/jsl-0.3.0/src/liveconnect/config/SunOS5.6.mk +39 -0
  426. data/vendor/jsl-0.3.0/src/liveconnect/config/SunOS5.7.mk +39 -0
  427. data/vendor/jsl-0.3.0/src/liveconnect/config/SunOS5.8.mk +39 -0
  428. data/vendor/jsl-0.3.0/src/liveconnect/config/WINNT4.0.mk +53 -0
  429. data/vendor/jsl-0.3.0/src/liveconnect/jsj.c +884 -0
  430. data/vendor/jsl-0.3.0/src/liveconnect/jsj.msg +98 -0
  431. data/vendor/jsl-0.3.0/src/liveconnect/jsj_JSObject.c +1379 -0
  432. data/vendor/jsl-0.3.0/src/liveconnect/jsj_JavaArray.c +481 -0
  433. data/vendor/jsl-0.3.0/src/liveconnect/jsj_JavaClass.c +749 -0
  434. data/vendor/jsl-0.3.0/src/liveconnect/jsj_JavaMember.c +186 -0
  435. data/vendor/jsl-0.3.0/src/liveconnect/jsj_JavaObject.c +1099 -0
  436. data/vendor/jsl-0.3.0/src/liveconnect/jsj_JavaPackage.c +548 -0
  437. data/vendor/jsl-0.3.0/src/liveconnect/jsj_array.c +207 -0
  438. data/vendor/jsl-0.3.0/src/liveconnect/jsj_class.c +765 -0
  439. data/vendor/jsl-0.3.0/src/liveconnect/jsj_convert.c +954 -0
  440. data/vendor/jsl-0.3.0/src/liveconnect/jsj_field.c +421 -0
  441. data/vendor/jsl-0.3.0/src/liveconnect/jsj_hash.c +504 -0
  442. data/vendor/jsl-0.3.0/src/liveconnect/jsj_hash.h +161 -0
  443. data/vendor/jsl-0.3.0/src/liveconnect/jsj_method.c +1823 -0
  444. data/vendor/jsl-0.3.0/src/liveconnect/jsj_nodl.c +1 -0
  445. data/vendor/jsl-0.3.0/src/liveconnect/jsj_private.h +689 -0
  446. data/vendor/jsl-0.3.0/src/liveconnect/jsj_simpleapi.c +219 -0
  447. data/vendor/jsl-0.3.0/src/liveconnect/jsj_utils.c +513 -0
  448. data/vendor/jsl-0.3.0/src/liveconnect/jsjava.h +313 -0
  449. data/vendor/jsl-0.3.0/src/liveconnect/liveconnect.pkg +3 -0
  450. data/vendor/jsl-0.3.0/src/liveconnect/netscape_javascript_JSObject.h +155 -0
  451. data/vendor/jsl-0.3.0/src/liveconnect/nsCLiveconnect.cpp +785 -0
  452. data/vendor/jsl-0.3.0/src/liveconnect/nsCLiveconnect.h +197 -0
  453. data/vendor/jsl-0.3.0/src/liveconnect/nsCLiveconnectFactory.cpp +163 -0
  454. data/vendor/jsl-0.3.0/src/liveconnect/nsCLiveconnectFactory.h +76 -0
  455. data/vendor/jsl-0.3.0/src/liveconnect/nsILiveconnect.h +195 -0
  456. data/vendor/jsl-0.3.0/src/liveconnect/nsISecureLiveconnect.h +84 -0
  457. data/vendor/jsl-0.3.0/src/liveconnect/nsISecurityContext.h +135 -0
  458. data/vendor/jsl-0.3.0/src/liveconnect/win32.order +6 -0
  459. data/vendor/jsl-0.3.0/src/lock_SunOS.s +114 -0
  460. data/vendor/jsl-0.3.0/src/perfect.js +39 -0
  461. data/vendor/jsl-0.3.0/src/perlconnect/JS.def +6 -0
  462. data/vendor/jsl-0.3.0/src/perlconnect/JS.dsp +107 -0
  463. data/vendor/jsl-0.3.0/src/perlconnect/JS.pm +318 -0
  464. data/vendor/jsl-0.3.0/src/perlconnect/JS.xs +1050 -0
  465. data/vendor/jsl-0.3.0/src/perlconnect/Makefile.PL +67 -0
  466. data/vendor/jsl-0.3.0/src/perlconnect/Makefile.ref +152 -0
  467. data/vendor/jsl-0.3.0/src/perlconnect/PerlConnect.dsp +103 -0
  468. data/vendor/jsl-0.3.0/src/perlconnect/PerlConnect.dsw +59 -0
  469. data/vendor/jsl-0.3.0/src/perlconnect/PerlConnect.pm +126 -0
  470. data/vendor/jsl-0.3.0/src/perlconnect/PerlConnectShell.dsp +89 -0
  471. data/vendor/jsl-0.3.0/src/perlconnect/README.html +345 -0
  472. data/vendor/jsl-0.3.0/src/perlconnect/bg.jpg +0 -0
  473. data/vendor/jsl-0.3.0/src/perlconnect/jsperl.c +1100 -0
  474. data/vendor/jsl-0.3.0/src/perlconnect/jsperl.h +52 -0
  475. data/vendor/jsl-0.3.0/src/perlconnect/jsperlbuild.pl +81 -0
  476. data/vendor/jsl-0.3.0/src/perlconnect/jsperlpvt.h +57 -0
  477. data/vendor/jsl-0.3.0/src/perlconnect/test.js +73 -0
  478. data/vendor/jsl-0.3.0/src/perlconnect/test.pl +244 -0
  479. data/vendor/jsl-0.3.0/src/perlconnect/typemap +121 -0
  480. data/vendor/jsl-0.3.0/src/plify_jsdhash.sed +31 -0
  481. data/vendor/jsl-0.3.0/src/prmjtime.c +646 -0
  482. data/vendor/jsl-0.3.0/src/prmjtime.h +95 -0
  483. data/vendor/jsl-0.3.0/src/resource.h +15 -0
  484. data/vendor/jsl-0.3.0/src/rules.mk +193 -0
  485. data/vendor/jsl-0.3.0/src/win32.order +391 -0
  486. data/vendor/jsl-0.3.0/tests/conf/always_use_option_explicit.js +4 -0
  487. data/vendor/jsl-0.3.0/tests/conf/define.js +8 -0
  488. data/vendor/jsl-0.3.0/tests/conf/jscript_function_extensions-1.js +7 -0
  489. data/vendor/jsl-0.3.0/tests/conf/jscript_function_extensions-2.js +8 -0
  490. data/vendor/jsl-0.3.0/tests/conf/jscript_function_extensions-3.js +27 -0
  491. data/vendor/jsl-0.3.0/tests/conf/jscript_function_extensions-4.js +4 -0
  492. data/vendor/jsl-0.3.0/tests/conf/lambda_assign_requires_semicolon.js +24 -0
  493. data/vendor/jsl-0.3.0/tests/conf/legacy_control_comments.js +8 -0
  494. data/vendor/jsl-0.3.0/tests/control_comments/control_comments.js +33 -0
  495. data/vendor/jsl-0.3.0/tests/control_comments/declare.js +26 -0
  496. data/vendor/jsl-0.3.0/tests/control_comments/import-overflow.js +9 -0
  497. data/vendor/jsl-0.3.0/tests/control_comments/import.js +5 -0
  498. data/vendor/jsl-0.3.0/tests/control_comments/import2.js +2 -0
  499. data/vendor/jsl-0.3.0/tests/control_comments/invalid_fallthru.js +13 -0
  500. data/vendor/jsl-0.3.0/tests/control_comments/option_explicit-with.js +12 -0
  501. data/vendor/jsl-0.3.0/tests/control_comments/option_explicit.js +64 -0
  502. data/vendor/jsl-0.3.0/tests/errors/unterminated_comment.js +8 -0
  503. data/vendor/jsl-0.3.0/tests/html/script_tag_in_js_literal.html +14 -0
  504. data/vendor/jsl-0.3.0/tests/run_tests.pl +71 -0
  505. data/vendor/jsl-0.3.0/tests/warnings/ambiguous_else_stmt.js +21 -0
  506. data/vendor/jsl-0.3.0/tests/warnings/ambiguous_nested_stmt.js +66 -0
  507. data/vendor/jsl-0.3.0/tests/warnings/ambiguous_newline.js +261 -0
  508. data/vendor/jsl-0.3.0/tests/warnings/anon_no_return_value.js +26 -0
  509. data/vendor/jsl-0.3.0/tests/warnings/assign_to_function_call.js +16 -0
  510. data/vendor/jsl-0.3.0/tests/warnings/block_without_braces.js +13 -0
  511. data/vendor/jsl-0.3.0/tests/warnings/comma_separated_stmts.js +17 -0
  512. data/vendor/jsl-0.3.0/tests/warnings/comparison_type_conv.js +44 -0
  513. data/vendor/jsl-0.3.0/tests/warnings/default_not_at_end.js +15 -0
  514. data/vendor/jsl-0.3.0/tests/warnings/dup_option_explicit.js +5 -0
  515. data/vendor/jsl-0.3.0/tests/warnings/duplicate_case_in_switch.js +62 -0
  516. data/vendor/jsl-0.3.0/tests/warnings/duplicate_formal.js +5 -0
  517. data/vendor/jsl-0.3.0/tests/warnings/empty_statement.js +29 -0
  518. data/vendor/jsl-0.3.0/tests/warnings/equal_as_assign.js +7 -0
  519. data/vendor/jsl-0.3.0/tests/warnings/inc_dec_within_stmt-ignore.js +21 -0
  520. data/vendor/jsl-0.3.0/tests/warnings/inc_dec_within_stmt.js +63 -0
  521. data/vendor/jsl-0.3.0/tests/warnings/jsl_cc_not_understood.js +5 -0
  522. data/vendor/jsl-0.3.0/tests/warnings/leading_decimal_point.js +7 -0
  523. data/vendor/jsl-0.3.0/tests/warnings/legacy_cc_not_understood.js +9 -0
  524. data/vendor/jsl-0.3.0/tests/warnings/meaningless_block.js +12 -0
  525. data/vendor/jsl-0.3.0/tests/warnings/misplaced_regex.js +20 -0
  526. data/vendor/jsl-0.3.0/tests/warnings/missing_break.js +87 -0
  527. data/vendor/jsl-0.3.0/tests/warnings/missing_break_for_last_case.js +19 -0
  528. data/vendor/jsl-0.3.0/tests/warnings/missing_default_case.js +51 -0
  529. data/vendor/jsl-0.3.0/tests/warnings/missing_option_explicit.js +5 -0
  530. data/vendor/jsl-0.3.0/tests/warnings/missing_semicolon.js +19 -0
  531. data/vendor/jsl-0.3.0/tests/warnings/multiple_plus_minus.js +10 -0
  532. data/vendor/jsl-0.3.0/tests/warnings/nested_comment.js +6 -0
  533. data/vendor/jsl-0.3.0/tests/warnings/no_return_value.js +25 -0
  534. data/vendor/jsl-0.3.0/tests/warnings/octal_number.js +5 -0
  535. data/vendor/jsl-0.3.0/tests/warnings/parseint_missing_radix.js +15 -0
  536. data/vendor/jsl-0.3.0/tests/warnings/partial_option_explicit.js +5 -0
  537. data/vendor/jsl-0.3.0/tests/warnings/redeclared_var.js +10 -0
  538. data/vendor/jsl-0.3.0/tests/warnings/spidermonkey/bad_backref.js +5 -0
  539. data/vendor/jsl-0.3.0/tests/warnings/spidermonkey/deprecated_usage.js +11 -0
  540. data/vendor/jsl-0.3.0/tests/warnings/spidermonkey/invalid_backref.js +5 -0
  541. data/vendor/jsl-0.3.0/tests/warnings/spidermonkey/trailing_comma.js +5 -0
  542. data/vendor/jsl-0.3.0/tests/warnings/trailing_comma_in_array.js +8 -0
  543. data/vendor/jsl-0.3.0/tests/warnings/trailing_decimal_point.js +7 -0
  544. data/vendor/jsl-0.3.0/tests/warnings/unreachable_code.js +29 -0
  545. data/vendor/jsl-0.3.0/tests/warnings/use_of_label.js +19 -0
  546. data/vendor/jsl-0.3.0/tests/warnings/useless_assign.js +20 -0
  547. data/vendor/jsl-0.3.0/tests/warnings/useless_comparison.js +55 -0
  548. data/vendor/jsl-0.3.0/tests/warnings/useless_void.js +6 -0
  549. data/vendor/jsl-0.3.0/tests/warnings/var_hides_arg.js +4 -0
  550. data/vendor/jsl-0.3.0/tests/warnings/with_statement.js +7 -0
  551. data/vendor/yuicompressor-2.4.2.jar +0 -0
  552. metadata +605 -0
@@ -0,0 +1,489 @@
1
+ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
+ *
3
+ * ***** BEGIN LICENSE BLOCK *****
4
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5
+ *
6
+ * The contents of this file are subject to the Mozilla Public License Version
7
+ * 1.1 (the "License"); you may not use this file except in compliance with
8
+ * the License. You may obtain a copy of the License at
9
+ * http://www.mozilla.org/MPL/
10
+ *
11
+ * Software distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13
+ * for the specific language governing rights and limitations under the
14
+ * License.
15
+ *
16
+ * The Original Code is Mozilla Communicator client code, released
17
+ * March 31, 1998.
18
+ *
19
+ * The Initial Developer of the Original Code is
20
+ * Netscape Communications Corporation.
21
+ * Portions created by the Initial Developer are Copyright (C) 1998
22
+ * the Initial Developer. All Rights Reserved.
23
+ *
24
+ * Contributor(s):
25
+ *
26
+ * Alternatively, the contents of this file may be used under the terms of
27
+ * either of the GNU General Public License Version 2 or later (the "GPL"),
28
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29
+ * in which case the provisions of the GPL or the LGPL are applicable instead
30
+ * of those above. If you wish to allow use of your version of this file only
31
+ * under the terms of either the GPL or the LGPL, and not to allow others to
32
+ * use your version of this file under the terms of the MPL, indicate your
33
+ * decision by deleting the provisions above and replace them with the notice
34
+ * and other provisions required by the GPL or the LGPL. If you do not delete
35
+ * the provisions above, a recipient may use your version of this file under
36
+ * the terms of any one of the MPL, the GPL or the LGPL.
37
+ *
38
+ * ***** END LICENSE BLOCK ***** */
39
+
40
+ /*
41
+ * JS configuration macros.
42
+ */
43
+ #ifndef JS_VERSION
44
+ #define JS_VERSION 150
45
+ #endif
46
+
47
+ /*
48
+ * Compile-time JS version configuration. The JS version numbers lie on the
49
+ * number line like so:
50
+ *
51
+ * 1.0 1.1 1.2 1.3 1.4 ECMAv3 1.5
52
+ * ^ ^
53
+ * | |
54
+ * basis for ECMAv1 close to ECMAv2
55
+ *
56
+ * where ECMAv3 stands for ECMA-262 Edition 3. See the runtime version enum
57
+ * JSVersion in jspubtd.h. Code in the engine can therefore count on version
58
+ * <= JSVERSION_1_4 to mean "before the Third Edition of ECMA-262" and version
59
+ * > JSVERSION_1_4 to mean "at or after the Third Edition".
60
+ *
61
+ * In the unlikely event that SpiderMonkey ever implements JavaScript 2.0, or
62
+ * ECMA-262 Edition 4 (JS2 without certain extensions), the version number to
63
+ * use would be near 200, or greater.
64
+ *
65
+ * The JS_VERSION_ECMA_3 version is the minimal configuration conforming to
66
+ * the ECMA-262 Edition 3 specification. Use it for minimal embeddings, where
67
+ * you're sure you don't need any of the extensions disabled in this version.
68
+ * In order to facilitate testing, JS_HAS_OBJ_PROTO_PROP is defined as part of
69
+ * the JS_VERSION_ECMA_3_TEST version.
70
+ */
71
+ #define JS_VERSION_ECMA_3 148
72
+ #define JS_VERSION_ECMA_3_TEST 149
73
+
74
+ #if JS_VERSION == JS_VERSION_ECMA_3 || \
75
+ JS_VERSION == JS_VERSION_ECMA_3_TEST
76
+
77
+ #define JS_BUG_NULL_INDEX_PROPS 0 /* o[0] defaults to null, not void */
78
+ #define JS_BUG_EMPTY_INDEX_ZERO 0 /* o[""] is equivalent to o[0] */
79
+ #define JS_BUG_EAGER_TOSTRING 0 /* o.toString() trumps o.valueOf() */
80
+ #define JS_BUG_VOID_TOSTRING 0 /* void 0 + 0 == "undefined0" */
81
+ #define JS_BUG_EVAL_THIS_FUN 0 /* eval('this') in function f is f */
82
+ #define JS_BUG_EVAL_THIS_SCOPE 0 /* Math.eval('sin(x)') vs. local x */
83
+ #define JS_BUG_FALLIBLE_EQOPS 0 /* fallible/intransitive equality ops */
84
+ #define JS_BUG_FALLIBLE_TONUM 0 /* fallible ValueToNumber primitive */
85
+ #define JS_BUG_WITH_CLOSURE 0 /* with(o)function f(){} sets o.f */
86
+
87
+ #define JS_HAS_PROP_DELETE 1 /* delete o.p removes p from o */
88
+ #define JS_HAS_CALL_OBJECT 1 /* fun.caller is stack frame obj */
89
+ #define JS_HAS_LABEL_STATEMENT 1 /* has break/continue to label: */
90
+ #define JS_HAS_DO_WHILE_LOOP 1 /* has do {...} while (b) */
91
+ #define JS_HAS_SWITCH_STATEMENT 1 /* has switch (v) {case c: ...} */
92
+ #define JS_HAS_SOME_PERL_FUN 1 /* has array.join/reverse/sort */
93
+ #define JS_HAS_MORE_PERL_FUN 1 /* has array.push, array.pop, etc */
94
+ #define JS_HAS_STR_HTML_HELPERS 0 /* has str.anchor, str.bold, etc. */
95
+ #define JS_HAS_PERL_SUBSTR 0 /* has str.substr */
96
+ #define JS_HAS_VALUEOF_HINT 1 /* valueOf(hint) where hint is typeof */
97
+ #define JS_HAS_LEXICAL_CLOSURE 1 /* nested functions, lexically closed */
98
+ #define JS_HAS_APPLY_FUNCTION 1 /* has fun.apply(obj, argArray) */
99
+ #define JS_HAS_CALL_FUNCTION 1 /* has fun.call(obj, arg1, ... argN) */
100
+ #if JS_VERSION == JS_VERSION_ECMA_3_TEST
101
+ #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */
102
+ #else
103
+ #define JS_HAS_OBJ_PROTO_PROP 0 /* has o.__proto__ etc. */
104
+ #endif
105
+ #define JS_HAS_REGEXPS 1 /* has perl r.e.s via RegExp, /pat/ */
106
+ #define JS_HAS_SEQUENCE_OPS 1 /* has array.slice, string.concat */
107
+ #define JS_HAS_INITIALIZERS 1 /* has var o = {'foo': 42, 'bar':3} */
108
+ #define JS_HAS_OBJ_WATCHPOINT 0 /* has o.watch and o.unwatch */
109
+ #define JS_HAS_EXPORT_IMPORT 0 /* has export fun; import obj.fun */
110
+ #define JS_HAS_EVAL_THIS_SCOPE 0 /* Math.eval is same as with (Math) */
111
+ #define JS_HAS_TRIPLE_EQOPS 1 /* has === and !== identity eqops */
112
+ #define JS_HAS_SHARP_VARS 0 /* has #n=, #n# for object literals */
113
+ #define JS_HAS_REPLACE_LAMBDA 1 /* has string.replace(re, lambda) */
114
+ #define JS_HAS_SCRIPT_OBJECT 0 /* has (new Script("x++")).exec() */
115
+ #define JS_HAS_XDR 0 /* has XDR API and internal support */
116
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
117
+ #define JS_HAS_EXCEPTIONS 1 /* has exception handling */
118
+ #define JS_HAS_UNDEFINED 1 /* has global "undefined" property */
119
+ #define JS_HAS_TOSOURCE 0 /* has Object/Array toSource method */
120
+ #define JS_HAS_IN_OPERATOR 1 /* has in operator ('p' in {p:1}) */
121
+ #define JS_HAS_INSTANCEOF 1 /* has {p:1} instanceof Object */
122
+ #define JS_HAS_ARGS_OBJECT 1 /* has minimal ECMA arguments object */
123
+ #define JS_HAS_DEBUGGER_KEYWORD 0 /* has hook for debugger keyword */
124
+ #define JS_HAS_ERROR_EXCEPTIONS 1 /* has error object hierarchy */
125
+ #define JS_HAS_CATCH_GUARD 0 /* has exception handling catch guard */
126
+ #define JS_HAS_NEW_OBJ_METHODS 1 /* has Object.prototype query methods */
127
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
128
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
129
+ #define JS_HAS_NUMBER_FORMATS 1 /* numbers have formatting methods */
130
+ #define JS_HAS_GETTER_SETTER 0 /* has JS2 getter/setter functions */
131
+ #define JS_HAS_UNEVAL 0 /* has uneval() top-level function */
132
+ #define JS_HAS_CONST 0 /* has JS2 const as alternative var */
133
+ #define JS_HAS_FUN_EXPR_STMT 0 /* has function expression statement */
134
+ #define JS_HAS_LVALUE_RETURN 1 /* has o.item(i) = j; for native item */
135
+ #define JS_HAS_NO_SUCH_METHOD 0 /* has o.__noSuchMethod__ handler */
136
+
137
+ #elif JS_VERSION == 100
138
+
139
+ #define JS_BUG_NULL_INDEX_PROPS 1 /* o[0] defaults to null, not void */
140
+ #define JS_BUG_EMPTY_INDEX_ZERO 1 /* o[""] is equivalent to o[0] */
141
+ #define JS_BUG_EAGER_TOSTRING 1 /* o.toString() trumps o.valueOf() */
142
+ #define JS_BUG_VOID_TOSTRING 0 /* void 0 + 0 == "undefined0" */
143
+ #define JS_BUG_EVAL_THIS_FUN 0 /* eval('this') in function f is f */
144
+ #define JS_BUG_EVAL_THIS_SCOPE 0 /* Math.eval('sin(x)') vs. local x */
145
+ #define JS_BUG_FALLIBLE_EQOPS 1 /* fallible/intransitive equality ops */
146
+ #define JS_BUG_FALLIBLE_TONUM 1 /* fallible ValueToNumber primitive */
147
+ #define JS_BUG_WITH_CLOSURE 0 /* with(o)function f(){} sets o.f */
148
+
149
+ #define JS_HAS_PROP_DELETE 0 /* delete o.p removes p from o */
150
+ #define JS_HAS_CALL_OBJECT 0 /* fun.caller is stack frame obj */
151
+ #define JS_HAS_LABEL_STATEMENT 0 /* has break/continue to label: */
152
+ #define JS_HAS_DO_WHILE_LOOP 0 /* has do {...} while (b) */
153
+ #define JS_HAS_SWITCH_STATEMENT 0 /* has switch (v) {case c: ...} */
154
+ #define JS_HAS_SOME_PERL_FUN 0 /* has array.join/reverse/sort */
155
+ #define JS_HAS_MORE_PERL_FUN 0 /* has array.push, str.substr, etc */
156
+ #define JS_HAS_STR_HTML_HELPERS 1 /* has str.anchor, str.bold, etc. */
157
+ #define JS_HAS_PERL_SUBSTR 0 /* has str.substr */
158
+ #define JS_HAS_VALUEOF_HINT 0 /* valueOf(hint) where hint is typeof */
159
+ #define JS_HAS_LEXICAL_CLOSURE 0 /* nested functions, lexically closed */
160
+ #define JS_HAS_APPLY_FUNCTION 0 /* has fun.apply(obj, argArray) */
161
+ #define JS_HAS_CALL_FUNCTION 0 /* has fun.call(obj, arg1, ... argN) */
162
+ #define JS_HAS_OBJ_PROTO_PROP 0 /* has o.__proto__ etc. */
163
+ #define JS_HAS_REGEXPS 0 /* has perl r.e.s via RegExp, /pat/ */
164
+ #define JS_HAS_SEQUENCE_OPS 0 /* has array.slice, string.concat */
165
+ #define JS_HAS_INITIALIZERS 0 /* has var o = {'foo': 42, 'bar':3} */
166
+ #define JS_HAS_OBJ_WATCHPOINT 0 /* has o.watch and o.unwatch */
167
+ #define JS_HAS_EXPORT_IMPORT 0 /* has export fun; import obj.fun */
168
+ #define JS_HAS_EVAL_THIS_SCOPE 0 /* Math.eval is same as with (Math) */
169
+ #define JS_HAS_TRIPLE_EQOPS 0 /* has === and !== identity eqops */
170
+ #define JS_HAS_SHARP_VARS 0 /* has #n=, #n# for object literals */
171
+ #define JS_HAS_REPLACE_LAMBDA 0 /* has string.replace(re, lambda) */
172
+ #define JS_HAS_SCRIPT_OBJECT 0 /* has (new Script("x++")).exec() */
173
+ #define JS_HAS_XDR 0 /* has XDR API and internal support */
174
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
175
+ #define JS_HAS_EXCEPTIONS 0 /* has exception handling */
176
+ #define JS_HAS_UNDEFINED 0 /* has global "undefined" property */
177
+ #define JS_HAS_TOSOURCE 0 /* has Object/Array toSource method */
178
+ #define JS_HAS_IN_OPERATOR 0 /* has in operator ('p' in {p:1}) */
179
+ #define JS_HAS_INSTANCEOF 0 /* has {p:1} instanceof Object */
180
+ #define JS_HAS_ARGS_OBJECT 0 /* has minimal ECMA arguments object */
181
+ #define JS_HAS_DEBUGGER_KEYWORD 0 /* has hook for debugger keyword */
182
+ #define JS_HAS_ERROR_EXCEPTIONS 0 /* has error object hierarchy */
183
+ #define JS_HAS_CATCH_GUARD 0 /* has exception handling catch guard */
184
+ #define JS_HAS_NEW_OBJ_METHODS 0 /* has Object.prototype query methods */
185
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
186
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
187
+ #define JS_HAS_NUMBER_FORMATS 0 /* numbers have formatting methods */
188
+ #define JS_HAS_GETTER_SETTER 0 /* has JS2 getter/setter functions */
189
+ #define JS_HAS_UNEVAL 0 /* has uneval() top-level function */
190
+ #define JS_HAS_CONST 0 /* has JS2 const as alternative var */
191
+ #define JS_HAS_FUN_EXPR_STMT 0 /* has function expression statement */
192
+ #define JS_HAS_LVALUE_RETURN 0 /* has o.item(i) = j; for native item */
193
+ #define JS_HAS_NO_SUCH_METHOD 0 /* has o.__noSuchMethod__ handler */
194
+
195
+ #elif JS_VERSION == 110
196
+
197
+ #define JS_BUG_NULL_INDEX_PROPS 1 /* o[0] defaults to null, not void */
198
+ #define JS_BUG_EMPTY_INDEX_ZERO 1 /* o[""] is equivalent to o[0] */
199
+ #define JS_BUG_EAGER_TOSTRING 1 /* o.toString() trumps o.valueOf() */
200
+ #define JS_BUG_VOID_TOSTRING 0 /* void 0 + 0 == "undefined0" */
201
+ #define JS_BUG_EVAL_THIS_FUN 1 /* eval('this') in function f is f */
202
+ #define JS_BUG_EVAL_THIS_SCOPE 1 /* Math.eval('sin(x)') vs. local x */
203
+ #define JS_BUG_FALLIBLE_EQOPS 1 /* fallible/intransitive equality ops */
204
+ #define JS_BUG_FALLIBLE_TONUM 1 /* fallible ValueToNumber primitive */
205
+ #define JS_BUG_WITH_CLOSURE 0 /* with(o)function f(){} sets o.f */
206
+
207
+ #define JS_HAS_PROP_DELETE 0 /* delete o.p removes p from o */
208
+ #define JS_HAS_CALL_OBJECT 0 /* fun.caller is stack frame obj */
209
+ #define JS_HAS_LABEL_STATEMENT 0 /* has break/continue to label: */
210
+ #define JS_HAS_DO_WHILE_LOOP 0 /* has do {...} while (b) */
211
+ #define JS_HAS_SWITCH_STATEMENT 0 /* has switch (v) {case c: ...} */
212
+ #define JS_HAS_SOME_PERL_FUN 1 /* has array.join/reverse/sort */
213
+ #define JS_HAS_MORE_PERL_FUN 0 /* has array.push, str.substr, etc */
214
+ #define JS_HAS_STR_HTML_HELPERS 1 /* has str.anchor, str.bold, etc. */
215
+ #define JS_HAS_PERL_SUBSTR 0 /* has str.substr */
216
+ #define JS_HAS_VALUEOF_HINT 0 /* valueOf(hint) where hint is typeof */
217
+ #define JS_HAS_LEXICAL_CLOSURE 0 /* nested functions, lexically closed */
218
+ #define JS_HAS_APPLY_FUNCTION 0 /* has apply(fun, arg1, ... argN) */
219
+ #define JS_HAS_CALL_FUNCTION 0 /* has fun.call(obj, arg1, ... argN) */
220
+ #define JS_HAS_OBJ_PROTO_PROP 0 /* has o.__proto__ etc. */
221
+ #define JS_HAS_REGEXPS 0 /* has perl r.e.s via RegExp, /pat/ */
222
+ #define JS_HAS_SEQUENCE_OPS 0 /* has array.slice, string.concat */
223
+ #define JS_HAS_INITIALIZERS 0 /* has var o = {'foo': 42, 'bar':3} */
224
+ #define JS_HAS_OBJ_WATCHPOINT 0 /* has o.watch and o.unwatch */
225
+ #define JS_HAS_EXPORT_IMPORT 0 /* has export fun; import obj.fun */
226
+ #define JS_HAS_EVAL_THIS_SCOPE 0 /* Math.eval is same as with (Math) */
227
+ #define JS_HAS_TRIPLE_EQOPS 0 /* has === and !== identity eqops */
228
+ #define JS_HAS_SHARP_VARS 0 /* has #n=, #n# for object literals */
229
+ #define JS_HAS_REPLACE_LAMBDA 0 /* has string.replace(re, lambda) */
230
+ #define JS_HAS_SCRIPT_OBJECT 0 /* has (new Script("x++")).exec() */
231
+ #define JS_HAS_XDR 0 /* has XDR API and internal support */
232
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
233
+ #define JS_HAS_EXCEPTIONS 0 /* has exception handling */
234
+ #define JS_HAS_UNDEFINED 0 /* has global "undefined" property */
235
+ #define JS_HAS_TOSOURCE 0 /* has Object/Array toSource method */
236
+ #define JS_HAS_IN_OPERATOR 0 /* has in operator ('p' in {p:1}) */
237
+ #define JS_HAS_INSTANCEOF 0 /* has {p:1} instanceof Object */
238
+ #define JS_HAS_ARGS_OBJECT 0 /* has minimal ECMA arguments object */
239
+ #define JS_HAS_DEBUGGER_KEYWORD 0 /* has hook for debugger keyword */
240
+ #define JS_HAS_ERROR_EXCEPTIONS 0 /* has error object hierarchy */
241
+ #define JS_HAS_CATCH_GUARD 0 /* has exception handling catch guard */
242
+ #define JS_HAS_NEW_OBJ_METHODS 0 /* has Object.prototype query methods */
243
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
244
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
245
+ #define JS_HAS_NUMBER_FORMATS 0 /* numbers have formatting methods */
246
+ #define JS_HAS_GETTER_SETTER 0 /* has JS2 getter/setter functions */
247
+ #define JS_HAS_UNEVAL 0 /* has uneval() top-level function */
248
+ #define JS_HAS_CONST 0 /* has JS2 const as alternative var */
249
+ #define JS_HAS_FUN_EXPR_STMT 0 /* has function expression statement */
250
+ #define JS_HAS_LVALUE_RETURN 0 /* has o.item(i) = j; for native item */
251
+ #define JS_HAS_NO_SUCH_METHOD 0 /* has o.__noSuchMethod__ handler */
252
+
253
+ #elif JS_VERSION == 120
254
+
255
+ #define JS_BUG_NULL_INDEX_PROPS 0 /* o[0] defaults to null, not void */
256
+ #define JS_BUG_EMPTY_INDEX_ZERO 0 /* o[""] is equivalent to o[0] */
257
+ #define JS_BUG_EAGER_TOSTRING 0 /* o.toString() trumps o.valueOf() */
258
+ #define JS_BUG_VOID_TOSTRING 1 /* void 0 + 0 == "undefined0" */
259
+ #define JS_BUG_EVAL_THIS_FUN 0 /* eval('this') in function f is f */
260
+ #define JS_BUG_EVAL_THIS_SCOPE 0 /* Math.eval('sin(x)') vs. local x */
261
+ #define JS_BUG_FALLIBLE_EQOPS 0 /* fallible/intransitive equality ops */
262
+ #define JS_BUG_FALLIBLE_TONUM 0 /* fallible ValueToNumber primitive */
263
+ #define JS_BUG_WITH_CLOSURE 1 /* with(o)function f(){} sets o.f */
264
+
265
+ #define JS_HAS_PROP_DELETE 1 /* delete o.p removes p from o */
266
+ #define JS_HAS_CALL_OBJECT 1 /* fun.caller is stack frame obj */
267
+ #define JS_HAS_LABEL_STATEMENT 1 /* has break/continue to label: */
268
+ #define JS_HAS_DO_WHILE_LOOP 1 /* has do {...} while (b) */
269
+ #define JS_HAS_SWITCH_STATEMENT 1 /* has switch (v) {case c: ...} */
270
+ #define JS_HAS_SOME_PERL_FUN 1 /* has array.join/reverse/sort */
271
+ #define JS_HAS_MORE_PERL_FUN 1 /* has array.push, str.substr, etc */
272
+ #define JS_HAS_STR_HTML_HELPERS 1 /* has str.anchor, str.bold, etc. */
273
+ #define JS_HAS_PERL_SUBSTR 1 /* has str.substr */
274
+ #define JS_HAS_VALUEOF_HINT 1 /* valueOf(hint) where hint is typeof */
275
+ #define JS_HAS_LEXICAL_CLOSURE 1 /* nested functions, lexically closed */
276
+ #define JS_HAS_APPLY_FUNCTION 1 /* has apply(fun, arg1, ... argN) */
277
+ #define JS_HAS_CALL_FUNCTION 0 /* has fun.call(obj, arg1, ... argN) */
278
+ #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */
279
+ #define JS_HAS_REGEXPS 1 /* has perl r.e.s via RegExp, /pat/ */
280
+ #define JS_HAS_SEQUENCE_OPS 1 /* has array.slice, string.concat */
281
+ #define JS_HAS_INITIALIZERS 1 /* has var o = {'foo': 42, 'bar':3} */
282
+ #define JS_HAS_OBJ_WATCHPOINT 1 /* has o.watch and o.unwatch */
283
+ #define JS_HAS_EXPORT_IMPORT 1 /* has export fun; import obj.fun */
284
+ #define JS_HAS_EVAL_THIS_SCOPE 1 /* Math.eval is same as with (Math) */
285
+ #define JS_HAS_TRIPLE_EQOPS 0 /* has === and !== identity eqops */
286
+ #define JS_HAS_SHARP_VARS 0 /* has #n=, #n# for object literals */
287
+ #define JS_HAS_REPLACE_LAMBDA 0 /* has string.replace(re, lambda) */
288
+ #define JS_HAS_SCRIPT_OBJECT 0 /* has (new Script("x++")).exec() */
289
+ #define JS_HAS_XDR 0 /* has XDR API and internal support */
290
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
291
+ #define JS_HAS_EXCEPTIONS 0 /* has exception handling */
292
+ #define JS_HAS_UNDEFINED 0 /* has global "undefined" property */
293
+ #define JS_HAS_TOSOURCE 0 /* has Object/Array toSource method */
294
+ #define JS_HAS_IN_OPERATOR 0 /* has in operator ('p' in {p:1}) */
295
+ #define JS_HAS_INSTANCEOF 0 /* has {p:1} instanceof Object */
296
+ #define JS_HAS_ARGS_OBJECT 0 /* has minimal ECMA arguments object */
297
+ #define JS_HAS_DEBUGGER_KEYWORD 0 /* has hook for debugger keyword */
298
+ #define JS_HAS_ERROR_EXCEPTIONS 0 /* has error object hierarchy */
299
+ #define JS_HAS_CATCH_GUARD 0 /* has exception handling catch guard */
300
+ #define JS_HAS_NEW_OBJ_METHODS 0 /* has Object.prototype query methods */
301
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
302
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
303
+ #define JS_HAS_NUMBER_FORMATS 0 /* numbers have formatting methods */
304
+ #define JS_HAS_GETTER_SETTER 0 /* has JS2 getter/setter functions */
305
+ #define JS_HAS_UNEVAL 0 /* has uneval() top-level function */
306
+ #define JS_HAS_CONST 0 /* has JS2 const as alternative var */
307
+ #define JS_HAS_FUN_EXPR_STMT 0 /* has function expression statement */
308
+ #define JS_HAS_LVALUE_RETURN 0 /* has o.item(i) = j; for native item */
309
+ #define JS_HAS_NO_SUCH_METHOD 0 /* has o.__noSuchMethod__ handler */
310
+
311
+ #elif JS_VERSION == 130
312
+
313
+ #define JS_BUG_NULL_INDEX_PROPS 0 /* o[0] defaults to null, not void */
314
+ #define JS_BUG_EMPTY_INDEX_ZERO 0 /* o[""] is equivalent to o[0] */
315
+ #define JS_BUG_EAGER_TOSTRING 0 /* o.toString() trumps o.valueOf() */
316
+ #define JS_BUG_VOID_TOSTRING 0 /* void 0 + 0 == "undefined0" */
317
+ #define JS_BUG_EVAL_THIS_FUN 0 /* eval('this') in function f is f */
318
+ #define JS_BUG_EVAL_THIS_SCOPE 0 /* Math.eval('sin(x)') vs. local x */
319
+ #define JS_BUG_FALLIBLE_EQOPS 0 /* fallible/intransitive equality ops */
320
+ #define JS_BUG_FALLIBLE_TONUM 0 /* fallible ValueToNumber primitive */
321
+ #define JS_BUG_WITH_CLOSURE 1 /* with(o)function f(){} sets o.f */
322
+
323
+ #define JS_HAS_PROP_DELETE 1 /* delete o.p removes p from o */
324
+ #define JS_HAS_CALL_OBJECT 1 /* fun.caller is stack frame obj */
325
+ #define JS_HAS_LABEL_STATEMENT 1 /* has break/continue to label: */
326
+ #define JS_HAS_DO_WHILE_LOOP 1 /* has do {...} while (b) */
327
+ #define JS_HAS_SWITCH_STATEMENT 1 /* has switch (v) {case c: ...} */
328
+ #define JS_HAS_SOME_PERL_FUN 1 /* has array.join/reverse/sort */
329
+ #define JS_HAS_MORE_PERL_FUN 1 /* has array.push, str.substr, etc */
330
+ #define JS_HAS_STR_HTML_HELPERS 1 /* has str.anchor, str.bold, etc. */
331
+ #define JS_HAS_PERL_SUBSTR 1 /* has str.substr */
332
+ #define JS_HAS_VALUEOF_HINT 1 /* valueOf(hint) where hint is typeof */
333
+ #define JS_HAS_LEXICAL_CLOSURE 1 /* nested functions, lexically closed */
334
+ #define JS_HAS_APPLY_FUNCTION 1 /* has apply(fun, arg1, ... argN) */
335
+ #define JS_HAS_CALL_FUNCTION 1 /* has fun.call(obj, arg1, ... argN) */
336
+ #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */
337
+ #define JS_HAS_REGEXPS 1 /* has perl r.e.s via RegExp, /pat/ */
338
+ #define JS_HAS_SEQUENCE_OPS 1 /* has array.slice, string.concat */
339
+ #define JS_HAS_INITIALIZERS 1 /* has var o = {'foo': 42, 'bar':3} */
340
+ #define JS_HAS_OBJ_WATCHPOINT 1 /* has o.watch and o.unwatch */
341
+ #define JS_HAS_EXPORT_IMPORT 1 /* has export fun; import obj.fun */
342
+ #define JS_HAS_EVAL_THIS_SCOPE 1 /* Math.eval is same as with (Math) */
343
+ #define JS_HAS_TRIPLE_EQOPS 1 /* has === and !== identity eqops */
344
+ #define JS_HAS_SHARP_VARS 1 /* has #n=, #n# for object literals */
345
+ #define JS_HAS_REPLACE_LAMBDA 1 /* has string.replace(re, lambda) */
346
+ #define JS_HAS_SCRIPT_OBJECT 1 /* has (new Script("x++")).exec() */
347
+ #define JS_HAS_XDR 1 /* has XDR API and internal support */
348
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
349
+ #define JS_HAS_EXCEPTIONS 0 /* has exception handling */
350
+ #define JS_HAS_UNDEFINED 1 /* has global "undefined" property */
351
+ #define JS_HAS_TOSOURCE 1 /* has Object/Array toSource method */
352
+ #define JS_HAS_IN_OPERATOR 0 /* has in operator ('p' in {p:1}) */
353
+ #define JS_HAS_INSTANCEOF 0 /* has {p:1} instanceof Object */
354
+ #define JS_HAS_ARGS_OBJECT 1 /* has minimal ECMA arguments object */
355
+ #define JS_HAS_DEBUGGER_KEYWORD 1 /* has hook for debugger keyword */
356
+ #define JS_HAS_ERROR_EXCEPTIONS 0 /* has error object hierarchy */
357
+ #define JS_HAS_CATCH_GUARD 0 /* has exception handling catch guard */
358
+ #define JS_HAS_NEW_OBJ_METHODS 0 /* has Object.prototype query methods */
359
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
360
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
361
+ #define JS_HAS_NUMBER_FORMATS 0 /* numbers have formatting methods */
362
+ #define JS_HAS_GETTER_SETTER 0 /* has JS2 getter/setter functions */
363
+ #define JS_HAS_UNEVAL 0 /* has uneval() top-level function */
364
+ #define JS_HAS_CONST 0 /* has JS2 const as alternative var */
365
+ #define JS_HAS_FUN_EXPR_STMT 0 /* has function expression statement */
366
+ #define JS_HAS_LVALUE_RETURN 0 /* has o.item(i) = j; for native item */
367
+ #define JS_HAS_NO_SUCH_METHOD 0 /* has o.__noSuchMethod__ handler */
368
+
369
+ #elif JS_VERSION == 140
370
+
371
+ #define JS_BUG_NULL_INDEX_PROPS 0 /* o[0] defaults to null, not void */
372
+ #define JS_BUG_EMPTY_INDEX_ZERO 0 /* o[""] is equivalent to o[0] */
373
+ #define JS_BUG_EAGER_TOSTRING 0 /* o.toString() trumps o.valueOf() */
374
+ #define JS_BUG_VOID_TOSTRING 0 /* void 0 + 0 == "undefined0" */
375
+ #define JS_BUG_EVAL_THIS_FUN 0 /* eval('this') in function f is f */
376
+ #define JS_BUG_EVAL_THIS_SCOPE 0 /* Math.eval('sin(x)') vs. local x */
377
+ #define JS_BUG_FALLIBLE_EQOPS 0 /* fallible/intransitive equality ops */
378
+ #define JS_BUG_FALLIBLE_TONUM 0 /* fallible ValueToNumber primitive */
379
+ #define JS_BUG_WITH_CLOSURE 1 /* with(o)function f(){} sets o.f */
380
+
381
+ #define JS_HAS_PROP_DELETE 1 /* delete o.p removes p from o */
382
+ #define JS_HAS_CALL_OBJECT 1 /* fun.caller is stack frame obj */
383
+ #define JS_HAS_LABEL_STATEMENT 1 /* has break/continue to label: */
384
+ #define JS_HAS_DO_WHILE_LOOP 1 /* has do {...} while (b) */
385
+ #define JS_HAS_SWITCH_STATEMENT 1 /* has switch (v) {case c: ...} */
386
+ #define JS_HAS_SOME_PERL_FUN 1 /* has array.join/reverse/sort */
387
+ #define JS_HAS_MORE_PERL_FUN 1 /* has array.push, str.substr, etc */
388
+ #define JS_HAS_STR_HTML_HELPERS 1 /* has str.anchor, str.bold, etc. */
389
+ #define JS_HAS_PERL_SUBSTR 1 /* has str.substr */
390
+ #define JS_HAS_VALUEOF_HINT 1 /* valueOf(hint) where hint is typeof */
391
+ #define JS_HAS_LEXICAL_CLOSURE 1 /* nested functions, lexically closed */
392
+ #define JS_HAS_APPLY_FUNCTION 1 /* has apply(fun, arg1, ... argN) */
393
+ #define JS_HAS_CALL_FUNCTION 1 /* has fun.call(obj, arg1, ... argN) */
394
+ #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */
395
+ #define JS_HAS_REGEXPS 1 /* has perl r.e.s via RegExp, /pat/ */
396
+ #define JS_HAS_SEQUENCE_OPS 1 /* has array.slice, string.concat */
397
+ #define JS_HAS_INITIALIZERS 1 /* has var o = {'foo': 42, 'bar':3} */
398
+ #define JS_HAS_OBJ_WATCHPOINT 1 /* has o.watch and o.unwatch */
399
+ #define JS_HAS_EXPORT_IMPORT 1 /* has export fun; import obj.fun */
400
+ #define JS_HAS_EVAL_THIS_SCOPE 1 /* Math.eval is same as with (Math) */
401
+ #define JS_HAS_TRIPLE_EQOPS 1 /* has === and !== identity eqops */
402
+ #define JS_HAS_SHARP_VARS 1 /* has #n=, #n# for object literals */
403
+ #define JS_HAS_REPLACE_LAMBDA 1 /* has string.replace(re, lambda) */
404
+ #define JS_HAS_SCRIPT_OBJECT 1 /* has (new Script("x++")).exec() */
405
+ #define JS_HAS_XDR 1 /* has XDR API and internal support */
406
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
407
+ #define JS_HAS_EXCEPTIONS 1 /* has exception handling */
408
+ #define JS_HAS_UNDEFINED 1 /* has global "undefined" property */
409
+ #define JS_HAS_TOSOURCE 1 /* has Object/Array toSource method */
410
+ #define JS_HAS_IN_OPERATOR 1 /* has in operator ('p' in {p:1}) */
411
+ #define JS_HAS_INSTANCEOF 1 /* has {p:1} instanceof Object */
412
+ #define JS_HAS_ARGS_OBJECT 1 /* has minimal ECMA arguments object */
413
+ #define JS_HAS_DEBUGGER_KEYWORD 1 /* has hook for debugger keyword */
414
+ #define JS_HAS_ERROR_EXCEPTIONS 0 /* rt errors reflected as exceptions */
415
+ #define JS_HAS_CATCH_GUARD 0 /* has exception handling catch guard */
416
+ #define JS_HAS_NEW_OBJ_METHODS 0 /* has Object.prototype query methods */
417
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
418
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
419
+ #define JS_HAS_NUMBER_FORMATS 0 /* numbers have formatting methods */
420
+ #define JS_HAS_GETTER_SETTER 0 /* has JS2 getter/setter functions */
421
+ #define JS_HAS_UNEVAL 0 /* has uneval() top-level function */
422
+ #define JS_HAS_CONST 0 /* has JS2 const as alternative var */
423
+ #define JS_HAS_FUN_EXPR_STMT 0 /* has function expression statement */
424
+ #define JS_HAS_LVALUE_RETURN 0 /* has o.item(i) = j; for native item */
425
+ #define JS_HAS_NO_SUCH_METHOD 0 /* has o.__noSuchMethod__ handler */
426
+
427
+ #elif JS_VERSION == 150
428
+
429
+ #define JS_BUG_NULL_INDEX_PROPS 0 /* o[0] defaults to null, not void */
430
+ #define JS_BUG_EMPTY_INDEX_ZERO 0 /* o[""] is equivalent to o[0] */
431
+ #define JS_BUG_EAGER_TOSTRING 0 /* o.toString() trumps o.valueOf() */
432
+ #define JS_BUG_VOID_TOSTRING 0 /* void 0 + 0 == "undefined0" */
433
+ #define JS_BUG_EVAL_THIS_FUN 0 /* eval('this') in function f is f */
434
+ #define JS_BUG_EVAL_THIS_SCOPE 0 /* Math.eval('sin(x)') vs. local x */
435
+ #define JS_BUG_FALLIBLE_EQOPS 0 /* fallible/intransitive equality ops */
436
+ #define JS_BUG_FALLIBLE_TONUM 0 /* fallible ValueToNumber primitive */
437
+ #define JS_BUG_WITH_CLOSURE 0 /* with(o)function f(){} sets o.f */
438
+
439
+ #define JS_HAS_PROP_DELETE 1 /* delete o.p removes p from o */
440
+ #define JS_HAS_CALL_OBJECT 1 /* fun.caller is stack frame obj */
441
+ #define JS_HAS_LABEL_STATEMENT 1 /* has break/continue to label: */
442
+ #define JS_HAS_DO_WHILE_LOOP 1 /* has do {...} while (b) */
443
+ #define JS_HAS_SWITCH_STATEMENT 1 /* has switch (v) {case c: ...} */
444
+ #define JS_HAS_SOME_PERL_FUN 1 /* has array.join/reverse/sort */
445
+ #define JS_HAS_MORE_PERL_FUN 1 /* has array.push, str.substr, etc */
446
+ #define JS_HAS_STR_HTML_HELPERS 1 /* has str.anchor, str.bold, etc. */
447
+ #define JS_HAS_PERL_SUBSTR 1 /* has str.substr */
448
+ #define JS_HAS_VALUEOF_HINT 1 /* valueOf(hint) where hint is typeof */
449
+ #define JS_HAS_LEXICAL_CLOSURE 1 /* nested functions, lexically closed */
450
+ #define JS_HAS_APPLY_FUNCTION 1 /* has apply(fun, arg1, ... argN) */
451
+ #define JS_HAS_CALL_FUNCTION 1 /* has fun.call(obj, arg1, ... argN) */
452
+ #define JS_HAS_OBJ_PROTO_PROP 1 /* has o.__proto__ etc. */
453
+ #define JS_HAS_REGEXPS 1 /* has perl r.e.s via RegExp, /pat/ */
454
+ #define JS_HAS_SEQUENCE_OPS 1 /* has array.slice, string.concat */
455
+ #define JS_HAS_INITIALIZERS 1 /* has var o = {'foo': 42, 'bar':3} */
456
+ #define JS_HAS_OBJ_WATCHPOINT 1 /* has o.watch and o.unwatch */
457
+ #define JS_HAS_EXPORT_IMPORT 1 /* has export fun; import obj.fun */
458
+ #define JS_HAS_EVAL_THIS_SCOPE 1 /* Math.eval is same as with (Math) */
459
+ #define JS_HAS_TRIPLE_EQOPS 1 /* has === and !== identity eqops */
460
+ #define JS_HAS_SHARP_VARS 1 /* has #n=, #n# for object literals */
461
+ #define JS_HAS_REPLACE_LAMBDA 1 /* has string.replace(re, lambda) */
462
+ #define JS_HAS_SCRIPT_OBJECT 1 /* has (new Script("x++")).exec() */
463
+ #define JS_HAS_XDR 1 /* has XDR API and internal support */
464
+ #define JS_HAS_XDR_FREEZE_THAW 0 /* has XDR freeze/thaw script methods */
465
+ #define JS_HAS_EXCEPTIONS 1 /* has exception handling */
466
+ #define JS_HAS_UNDEFINED 1 /* has global "undefined" property */
467
+ #define JS_HAS_TOSOURCE 1 /* has Object/Array toSource method */
468
+ #define JS_HAS_IN_OPERATOR 1 /* has in operator ('p' in {p:1}) */
469
+ #define JS_HAS_INSTANCEOF 1 /* has {p:1} instanceof Object */
470
+ #define JS_HAS_ARGS_OBJECT 1 /* has minimal ECMA arguments object */
471
+ #define JS_HAS_DEBUGGER_KEYWORD 1 /* has hook for debugger keyword */
472
+ #define JS_HAS_ERROR_EXCEPTIONS 1 /* rt errors reflected as exceptions */
473
+ #define JS_HAS_CATCH_GUARD 1 /* has exception handling catch guard */
474
+ #define JS_HAS_NEW_OBJ_METHODS 1 /* has Object.prototype query methods */
475
+ #define JS_HAS_SPARSE_ARRAYS 0 /* array methods preserve empty elems */
476
+ #define JS_HAS_DFLT_MSG_STRINGS 1 /* provides English error messages */
477
+ #define JS_HAS_NUMBER_FORMATS 1 /* numbers have formatting methods */
478
+ #define JS_HAS_GETTER_SETTER 1 /* has JS2 getter/setter functions */
479
+ #define JS_HAS_UNEVAL 1 /* has uneval() top-level function */
480
+ #define JS_HAS_CONST 1 /* has JS2 const as alternative var */
481
+ #define JS_HAS_FUN_EXPR_STMT 1 /* has function expression statement */
482
+ #define JS_HAS_LVALUE_RETURN 1 /* has o.item(i) = j; for native item */
483
+ #define JS_HAS_NO_SUCH_METHOD 1 /* has o.__noSuchMethod__ handler */
484
+
485
+ #else
486
+
487
+ #error "unknown JS_VERSION"
488
+
489
+ #endif