Closed Bug 381197 Opened 18 years ago Closed 12 years ago

Incorrect decompilation for "a.@this::b"

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

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: ................^
This is one of the bugs jsfunfuzz hits most frequently.
Blocks: e4x
Not just "this". "true", "false", and "null" trigger similar problems: js> (function() { 2 .@ null :: a }) function () { (2).@[null::a]; }
(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
OS: Mac OS X → All
Hardware: x86 → All
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.