Bug 312409 - [language support] Regression: @extends and @base are no longer used to determine class inheritance
Summary: [language support] Regression: @extends and @base are no longer used to deter...
Status: RESOLVED FIXED
Alias: None
Product: JSDT
Classification: WebTools
Component: General (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal with 5 votes (vote)
Target Milestone: 3.2.1   Edit
Assignee: Chris Jaun CLA
QA Contact: Nitin Dahyabhai CLA
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2010-05-11 08:35 EDT by Dominic Chambers CLA
Modified: 2010-07-08 10:07 EDT (History)
1 user (show)

See Also:
thatnitind: review+


Attachments
test case 1 (311 bytes, application/x-javascript)
2010-06-11 13:03 EDT, Dominic Chambers CLA
no flags Details
test case 2 (289 bytes, application/x-javascript)
2010-06-11 13:03 EDT, Dominic Chambers CLA
no flags Details
test case 3 (413 bytes, application/x-javascript)
2010-06-11 13:04 EDT, Dominic Chambers CLA
no flags Details
patch (2.01 KB, patch)
2010-06-24 11:45 EDT, Chris Jaun CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dominic Chambers CLA 2010-05-11 08:35:56 EDT
Build Identifier: 

The @extends and @base jsdoc annotations allow developers to signal the class inheritance for code bases that perform the inheritance using some library methods, rather than direct javsascript prototype inheritance. These annotations were made use of in Eclipse Galileo, but no longer appear to work in Helios M7.

Reproducible: Always

Steps to Reproduce:
1. Create a Child class which extends a defined Parent class
2. use the @extends or @base annotations rather than doing direct javascript inheritance
3. proove that content assist starting with '(new Child()).' does not display the methods defined on Parent.
Comment 1 Dominic Chambers CLA 2010-05-11 08:37:22 EDT
Build Identifier: 20100506-2000
Comment 2 Dominic Chambers CLA 2010-06-11 06:34:49 EDT
Any news on this?
Comment 3 Chris Jaun CLA 2010-06-11 09:52:33 EDT
Can you provide some sample code you expect to work?
Comment 4 Nitin Dahyabhai CLA 2010-06-11 10:37:02 EDT
Seems to work as long as the @constructor tag is also present.
Comment 5 Dominic Chambers CLA 2010-06-11 13:03:07 EDT
Created attachment 171743 [details]
test case 1
Comment 6 Dominic Chambers CLA 2010-06-11 13:03:32 EDT
Created attachment 171744 [details]
test case 2
Comment 7 Dominic Chambers CLA 2010-06-11 13:04:02 EDT
Created attachment 171745 [details]
test case 3
Comment 8 Dominic Chambers CLA 2010-06-11 13:05:48 EDT
Okay, so this turns out to only go wrong when package names are being used to namespace your classes. Since all of our code is contained within packages that wasn't immediately obvious to me. Thanks for all your help everyone.
Comment 9 Dominic Chambers CLA 2010-06-14 05:00:26 EDT
It's been pointed out to me that my last comment may have made it sound like this was not an actual problem. To be clear here, this is a bug, and it's a regression from Galileo.

Our company and our clients (API users) are all very keen to start making use of Eclipse's new Javascript code completion features, but will be unable to do so unless this bug is fixed.

Thanks again, Dominic.
Comment 10 Chris Jaun CLA 2010-06-24 11:45:53 EDT
Created attachment 172631 [details]
patch

Uses the full type name instead of simple type name in the case where namespaces are being used.
Comment 11 Chris Jaun CLA 2010-06-24 11:47:01 EDT
Nitin, 

Please review. Simple fix to use the full type name pkg2.BaseClass instead of the simple name when creating the type hierarchy. 

I have marked for 3.2.1.

This fix solves the problems indicated by the test cases.
Comment 12 Chris Jaun CLA 2010-06-28 14:25:17 EDT
Patch checked in.
Comment 13 Dominic Chambers CLA 2010-07-08 05:30:52 EDT
Is there any way to test nightly builds of the JSDT component? Every few days I try to upgrade my JSDT component from within Eclipse but it seems to be stuck on '1.2.0.v201005270528-7C78FGDF9JgLWLMBWz-Ose6'.

Thanks again, Dominic.
Comment 14 Chris Jaun CLA 2010-07-08 10:07:12 EDT
(In reply to comment #13)
> Is there any way to test nightly builds of the JSDT component? Every few days I
> try to upgrade my JSDT component from within Eclipse but it seems to be stuck
> on '1.2.0.v201005270528-7C78FGDF9JgLWLMBWz-Ose6'.
> 
> Thanks again, Dominic.

Builds can be found here: http://build.eclipse.org/webtools/committers/