Summary: | IMethodBinding.getJavaElement() returns an "unopen" IMethod | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Robert M. Fuhrer <rfuhrer> |
Component: | Core | Assignee: | Jerome Lanneluc <jerome_lanneluc> |
Status: | VERIFIED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | markus.kell.r |
Version: | 3.1 | ||
Target Milestone: | 3.1 M7 | ||
Hardware: | PC | ||
OS: | Windows 2000 | ||
Whiteboard: | |||
Bug Depends on: | |||
Bug Blocks: | 88860 |
Description
Robert M. Fuhrer
2005-04-14 15:26:00 EDT
The problem is that the parameterTypes in the returned IMethod unmodifiableList(..) are unresolved: [QList<+QT;>;]. The parameterTypes of the correct IMethod are [Ljava.util.List<TT;>;]. This is a problem for all reference-type method argument types, not just exotic cases. Jerome, it would be nice if you could bump up the priority of this PR a bit. It makes IMethodBinding.getJavaElement() unusable in most cases and thus prevents further testing of the feature. Changed MethodBinding#getJavaElement() to use the compiler binding instead of the ASTNode in case of a binary method. Added regression test ASTModelBridgeTests#testBinaryMethod() Seems the change to getJavaElement() is not quite compatible with the 3.1M6 source base, specifically, the line TypeBinding[] parameters = original.parameters; which gets a type error (two different kinds of TypeBinding's), and the call to TypeBinding.genericTypeSignature(), which apparently doesn't exist in M6. Any chance of getting a patch for 3.1M6, or any hints on what to do about these two issues? I'm trying to get something finished in the next few days before a hard deadline, before M7 will come out, and don't really have the time to switch to HEAD or the latest integration build... Try org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] parameters = original.parameters; Verified for 3.1 M7 using build I20050509-2010 + jdt.core HEAD. |