Closed Bug 425115 Opened 17 years ago Closed 17 years ago

Treehydra: Allow setting properties on lazy objects

Categories

(Developer Infrastructure :: Source Code Analysis, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dmandelin, Unassigned)

Details

Test case: function process_tree(t) { t.foo = "bar"; print(t.foo); } I want it to print "bar". Currently it produces an unhandledLazyProperty error. The reason for this request is so I can annotate basic blocks and CFGs with states during analysis, bookkeeping information, and analysis results to pass to other analysis passes. All of this is intraprocedural, so it should not be affected by GCC object lifetimes. Per shaver, the error is actually caused by the property set line of code, because resolve is called on new property creation. The JSNewResolveOp API [1] should give Treehydra the ability to figure this out, via the JSRESOLVE_ASSIGNING flag. [1] http://developer.mozilla.org/en/docs/JSNewResolveOp
This testcase works here.
(In reply to comment #1) > This testcase works here. Sorry, there's a subtlety in the resolve function, so when I hand-reduced my test, I took out something necessary. The following test case should show the error: function process_tree(t) { let x = t.function_decl; t.foo = "bar"; print(t.foo); }
Fixed, thanks.
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Product: Core → Firefox Build System
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.