Bug 273914 - [plan] [itd] declare parents and implements/extends problem
Summary: [plan] [itd] declare parents and implements/extends problem
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 2.0.0   Edit
Assignee: AJDT-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-27 13:18 EDT by Andrew Eisenberg CLA
Modified: 2009-05-19 22:03 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Eisenberg CLA 2009-04-27 13:18:54 EDT
Currently, the AspectsConvertingParser uses the keyword implements or extends in the declare parents declaration to determine whether the introduced relationship is an implements or an extends relationship.  However, the compiler doesn't use these keywords for that purpose.  Apparently, they are not used at all.

Rather, the compiler applies the parent type in the declaration to the target type depending on whether parent and target are classes or interfaces.

Eg-  
parent:= interface  target:= inteface --> extends
parent:= interface  target:= class --> implements
parent:= class  target:= class --> extends
parent:= class  target:= inteface --> ERROR

So, the AspectsConvertingParser needs to look at what the parent and target types actually are.
Comment 1 Andrew Eisenberg CLA 2009-05-05 20:11:59 EDT
OK.  Fixed with regression tests.

Change in AspectsConvertingParser.  Now when generating the extends/implements clause, we convert the parentType String into an IType.  From here, we can compare the isClass() values of the parent IType and the target IType to determine if the declared parent should be implements or extends.
Comment 2 Andrew Eisenberg CLA 2009-05-19 22:03:55 EDT
Should have been resolved as fixed.