調査中なので推測や誤解があるものとして読んでください。
Rhinoで 1=1
を評価すると ParserException
が発生する
$ java -jar buildGradle/libs/rhino-1.7.14-SNAPSHOT.jar -version 200
Rhino 1.7.14-SNAPSHOT 2021 04 04
js> 1 = 1
diff --git a/_build/html/_static/searchtools.js b/_build/html/_static/searchtools.js | |
index 3499624..6843d3b 100644 | |
--- a/_build/html/_static/searchtools.js | |
+++ b/_build/html/_static/searchtools.js | |
@@ -81,7 +81,22 @@ var Search = { | |
}, | |
setIndex : function(index) { | |
+ function objToSortArray(terms) { | |
+ var res = []; |
<!DOCTYPE html> | |
<html> | |
<head> | |
<link rel="stylesheet" href="test.cjs"> | |
</head> | |
<body> | |
<script src="test.cjs"></script> | |
</body> | |
</html> |
// ref. http://qiita.com/edo_m18/items/7b3c70ed97bac52b2203 | |
(require => { | |
require("babel/polyfill"); | |
function Point(x, y) { | |
this.x = x; | |
this.y = y; | |
} | |
Object.assign(Point.prototype, { |
class MyClass { | |
constructor(a, b, c) { | |
this.sum_ = a + b + c; | |
} | |
sum() { | |
return this.sum_; | |
} | |
} | |
console.log(new MyClass(2, 3, 4).sum()); |
var props = [ | |
"constructor", | |
"toString", | |
"toSource", | |
"valueOf", | |
"charAt", | |
"charCodeAt", | |
"indexOf", | |
"lastIndexOf", | |
"split", |
diff --git a/src/org/mozilla/javascript/optimizer/Codegen.java b/src/org/mozilla/javascript/optimizer/Codegen.java | |
index 7e518cc3..99901b1f 100644 | |
--- a/src/org/mozilla/javascript/optimizer/Codegen.java | |
+++ b/src/org/mozilla/javascript/optimizer/Codegen.java | |
@@ -301,6 +301,11 @@ public class Codegen implements Evaluator { | |
emitTemplateLiteralInit(cfw); | |
emitConstantDudeInitializers(cfw); | |
+ try { | |
+ java.nio.file.Files.write(java.nio.file.Paths.get("try.class"), cfw.toByteArray()); |