Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 363220 - IRUtils.getReferencedPartsFor() returning references of references
Summary: IRUtils.getReferencedPartsFor() returning references of references
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: EDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-08 14:59 EST by Justin Spadea CLA
Modified: 2017-02-23 14:19 EST (History)
1 user (show)

See Also:


Attachments
Project to reproduce (11.85 KB, application/zip)
2011-11-08 14:59 EST, Justin Spadea CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Spadea CLA 2011-11-08 14:59:25 EST
This happens when I first load a workspace, but stops happening after an incremental build occurs. The references of references should not be included. To be specific: the RUIHandler invokes a service, the service uses a record. The RUIHandler does not reference the record but it gets included in the list returned by IRUtils.getReferencedFor() - and it shouldn't.

This causes a problem because the HTML for the RUI page tries to load the record.js file, but no such file exists. On some browsers, like Firefox, this prevents the page from loading.

I'll attach a project that demonstrates this. To reproduce: import the project, restart the workspace, then without letting an incremental build run, debug page1.egl with Firefox set as your external browser. You'll get an error in the browser: Could not open /defect/server/serviceRec.js
Comment 1 Justin Spadea CLA 2011-11-08 14:59:53 EST
Created attachment 206624 [details]
Project to reproduce
Comment 2 Paul Harmon CLA 2011-11-14 14:26:53 EST
I have updated the visitor in IRUtils to fix this. The problem occurred because a MemberAccess had already resolved to the function member in another part. Because of this, the visitor ended up visiting the function aand found part references in it.
Comment 3 Justin Spadea CLA 2011-11-22 16:19:20 EST
Verified