Summary: | [1.5] The return type is incompatible | ||
---|---|---|---|
Product: | [Eclipse Project] JDT | Reporter: | Johan Compagner <jcompagner> |
Component: | Core | Assignee: | Philipe Mulet <philippe_mulet> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | ||
Version: | 3.0 | ||
Target Milestone: | 3.1 M1 | ||
Hardware: | PC | ||
OS: | Windows XP | ||
Whiteboard: |
Description
Johan Compagner
2004-04-15 14:52:02 EDT
It probably has to do with the fact we don't yet support covariance. but it doesn't change if i compile agains 1.4.. and it gives the error on the class definition and not on a method.. But maybe it is, just wanted to report it. I think I was wrong. I am seeing a similar failure when compiling JDTCore from head with the Cheetah... will investigate. It seems related to using an array type as a return type for a method... Array types are supposed to be unique, however we seem to incorrectly record two instances of them and then they don't compare identical. This occurs in conjunction with the array denoting an (unresolved) binary leaf component type. Reproduced by compiling JDT Core sources using Cheetah, error shows up on JavaModelStatuts#getChildren() complaining about incompatible IStatus[] return type. Actually the problem comes from the fact that certain binaries are referencing themselves. When resolving the ref to IStatus, askForType is indirectly creating further array bindings of IStatus, before it has updated the array cache. This bug was introduced when adding support for lazy generic bindings. Fixed. forgot to assign fixed |