Closed
Bug 381197
Opened 18 years ago
Closed 12 years ago
Incorrect decompilation for "a.@this::b"
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jruderman, Unassigned)
References
Details
(Keywords: testcase)
js> f = function() { j = (a.@this::b); }
function () {
j = a.@[this::b];
}
js> eval("" + f)
typein:3: SyntaxError: missing ] after attribute expression:
typein:3: j = a.@[this::b];
typein:3: ................^
Reporter | ||
Comment 1•17 years ago
|
||
This is one of the bugs jsfunfuzz hits most frequently.
Reporter | ||
Comment 2•16 years ago
|
||
Not just "this". "true", "false", and "null" trigger similar problems:
js> (function() { 2 .@ null :: a })
function () {
(2).@[null::a];
}
Reporter | ||
Comment 3•16 years ago
|
||
(In reply to comment #1)
> This is one of the bugs jsfunfuzz hits most frequently.
Never mind, this is easy to ignore with a regexp.
(In reply to comment #2)
> Not just "this". "true", "false", and "null" trigger similar problems:
actually when there is any namespace for attributes
a = function(){
y=x.@ns::attr;
y=x.(@ns::attr);
y=x.(@ns::attr==5);
y=x.ns::y.(@attr==5);
}
gives ==>
function () {
y = x.@[ns::attr];
y = x.(@[ns::attr]);
y = x.((@[ns::attr] == 5));
y = x.ns::y.((@attr == 5));
}
PS: Also please notice that extra parenthesis on last two cases
(In reply to comment #4)
> PS: Also please notice that extra parenthesis on last two cases
Bug 452729
another testcase
a=function(){
y = x.@ns::["attr-s"];
}
gives ==>
function () {
y = x.@[ns::["attr-s"]];
}
which is need to solve
http://groups.google.com/group/mozilla.dev.tech.js-engine/browse_thread/thread/1271260fc2e3f7b8
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•