How feasible is it to get jde-complete-at-point to work on objects that are
instances of inner classes? Is this something that can be reasonably
resolved by the following combination of changes, or is there a likely
better solution. I'd like to avoid a lot of unexpected work and gotchas
that the few JDE experts would be aware of if this isn't the best way to go
about solving the problem.
1) Fix jde-parse-declared-type-of to return a possible qualifier for the
type so that if the following declaration is found:
Outer.Inner foo;
it returns (list "Inner" "Outer"). Or if this is encountered:
java.util.HashMap m;
then it will return (list "HashMap" "java.util"). For unqualified
typenames, such as
String s;
the result would be (list "String" nil). Other calls to
jde-parse-declared-type-of would have to be updated to handle the list
result instead of string.
2) Change jde-complete-eval-type-of to first attempt to find the class using
the possible qualifier plus the class name (using
jde-complete-class-exists), and only if that does not work, then call
jde-complete-get-qualified-name to find the class using imports using just
the unqualified classname.
ee