| Summary: | [exceptions] NPE in UnconditionalFlowInfo during Validation | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [WebTools] JSDT | Reporter: | Ian Tewksbury <itewksbu> | ||||
| Component: | General | Assignee: | Chris Jaun <cmjaun> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Nitin Dahyabhai <thatnitind> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | cmjaun | ||||
| Version: | 3.2.4 | Flags: | thatnitind:
review+
|
||||
| Target Milestone: | 3.2.5 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 351344 | ||||||
| Attachments: |
|
||||||
|
Description
Ian Tewksbury
If you can, attach the file that triggers the problem. How am I to know which file caused the issue? Created attachment 198134 [details]
patch
The same method argument was being resolved twice when the method was part of an assignment statement.
sameVar = function(arg) {}
It was being correctly resolved and having its declaringScope set when the "expression" part of the statement was resolved.
When it tried to resolve the left hand side, it attempts to find the method in the current source type binding and in the process tries to resolve the method again. This time it overwrites any existing binding on the argument, which is not necessary. The overwritten binding never gets its decalaringScope set.
Added a check to only recreate the bidning for the function argument if it does not already exist.
Checked into HEAD and 3.2.5. |