This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 8579 - Override Methods did not find all superclass methods
Summary: Override Methods did not find all superclass methods
Status: CLOSED FIXED
Alias: None
Product: java
Classification: Unclassified
Component: Unsupported (show other bugs)
Version: 3.x
Hardware: PC Linux
: P4 normal (vote)
Assignee: issues@java
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2000-11-27 16:54 UTC by Jesse Glick
Modified: 2007-09-26 09:14 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jesse Glick 2000-11-27 16:54:39 UTC
Observed in release31 as of Nov 25 '00.

Had a class extending org.apache.tools.ant.Task. Had already successfully
generated parser database for Ant library (it is normally in modules
classloader, modules/ext/ant.jar - NOT in Filesystems). Asked to override
methods, expecting to be offered e.g. execute() from Task, but in Override
Methods dialog, only Object had any methods; Task displayed none.
Comment 1 Tomas Hurka 2001-01-12 11:22:59 UTC
As far as I can tell information from parser database is used only in editor. To
see methods from org.apache.tools.ant.Task, ant.jar must be mounted.
Comment 2 Svata Dedic 2001-01-15 07:14:59 UTC
Tomas is right, Java module does not see Editor's parser database at all (which
is a pity anyway, we would be able to provide at least some cross-referencing
support :-( )
Comment 3 Jesse Glick 2001-01-17 14:29:59 UTC
Is it not a bug that the Task class was not recognized and its methods
displayed? As I said, it was present in the modules classloader--shouldn't that
suffice, even if not in Filesystems? E.g. ClassElement.forName hopefully would
have parsed it.
Comment 4 Svata Dedic 2001-01-17 14:40:59 UTC
It should, sorry - at least with Clazz module using reflection APIs. We'll
evaluate the bug again.
Comment 5 Svata Dedic 2001-01-22 08:34:59 UTC
Jesse, I think we have another classpath problem. The implementation of class
lookup is implemented in openide, which does not (and should not) use execution
class loader; the problem is that openide even does not find a class so it
cannot be passed to the class module to inspect & produce hierarchy data.
Comment 6 Jesse Glick 2001-01-22 17:02:59 UTC
ClassElement.java line 985 calls Class.forName(name)--should it be e.g.
Class.forName(name,true,TopManager.getDefault().systemClassLoader())? I don't
see what problem there would be with that...
Comment 7 Svata Dedic 2001-01-22 17:13:59 UTC
The problem is roughly the same as having NB modules on compiler's classpath --
the parser should not (IMHO) be allowed to see module classes unless it is
(somehow) configured so.
Comment 8 Jesse Glick 2001-01-22 17:29:59 UTC
It is an analogous question, although little harm is done if the IDE finds a
class in its own module list that you did not really care about--at worst, the
Inherit dialog works, or something like this. Compared to the compiler, where
someone's application could be screwed up because they did not realize what they
were compiling against.
Comment 9 Svata Dedic 2001-01-23 09:27:59 UTC
Done; ClassElement.forName() is now using TopManager.systemClassLoader() to
locate the Class object.
Comment 10 Jan Becicka 2001-02-22 14:26:00 UTC
[010221_2] Bug still lives
Comment 11 Jan Chalupa 2001-03-12 10:46:32 UTC
Version: 'Dev' -> 3.2
Comment 12 Svata Dedic 2001-03-27 08:27:25 UTC
It should work now - ClassElement.forName() uses 
TopManager.currentClassLoader(), so it should be able to find all classes in 
installed modules, at least.
Comment 13 Jan Becicka 2001-04-04 15:26:47 UTC
[release32-20] Verified
Comment 14 Jan Chalupa 2001-05-05 23:26:47 UTC
Target milestone -> 3.2
Comment 15 Quality Engineering 2003-07-01 13:21:41 UTC
Resolved for 3.4.x or earlier, no new info since then -> closing.