Closed
Bug 381197
Opened 17 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
•