At 10:32 PM 2/7/00 +0200, Jari Aalto+mail.emacs wrote:
>* Sun 2000-01-30 Paul Kinnucan <[EMAIL PROTECTED]> list.emacs-jde
>* Message-Id: <[EMAIL PROTECTED]>
>| At 03:29 PM 1/30/00 +0200, Jari Aalto+mail.emacs wrote:
>| >| Place cursor at end of partially completed field or method name and type
>| >| C-c C-v C-.
>| >|
>| >| Note, due to a bug in the JDE "intellisense" code, the current source
file
>| >| must have an import statement for its own package, e.g.
>| >|
>| >| package mypackage;
>| >| import mypackage.*;
>| >|
>| >| in order to complete fields and methods for classes defined by the
current
>| >| package. Also, note that the completion facility is based on Java
>| >| reflection and hence works only for compiled classes.
>| >
>| >I tried to complete simple (in latest jde; Emacs 20.4)
>| >
>| >    import java.lang.*
>| >
>| >    System.out.<HERE>
>| >
>| >and the answer is: Can't find any declaration for ....
>| >What is the excat setup that is needed for completion to work? The
>| >ReleaseNotes.txt only mention that this function was added.
>| >
>|
>| Nothing special is required. The reason it doesn't work in your case is
>| that it requires the beanshell and the beanshell is not working in your
case.
>
>It seems that the jde.jar and bsh.jar must be xplicitedly defined in
CLASSPATH,
>not just the directory where they define. The (bsh) now starts but is
>is never called.
>
>       import java.lang.*
>       import java.lang.System.*;
>
>       System.out.<HERE>
>
>The jde-complete-declared-type-of does some back tracking 
>with  search-backward
>
>       jde-complete-at-point
>          (setq vtype (jde-complete-declared-type-of (car pair)))
>          --> nil
>
>    (defun jde-complete-declared-type-of (name)
>      (save-excursion
>        (let (found res pos orgpt resname)
>          (while (and (not found)
>>>                    (search-backward name nil t))
>            (setq pos (point))
>            (backward-word 1)
>            (setq resname 
>               (jde-complete-valid-java-declaration-at (point) name))
>            (goto-char pos)
>            (forward-char -1)
>            (if (not (null resname))
>                (progn (setq res resname)
>                       (setq found t))))
>        res)))
>
>But it can't find anything like "System.out". I don't quite understand how
>this completion code is supposed to work given these preconditions. There 
>must be something else that is needed in .java file than just the import
>clause.
>

Hi Jari,

I'm not sure what problem you are trying to report. But a few points:

- The requirement to include import statements for classes in the same package
  will be eliminated in the next release.

- Completion does not work for static members, such as System.out. I have 
  mentioned this repeatedly in the list and it is mentioned in the commentary
  to jde-complete.el

- The completion facility is a brand-new feature contributed by a JDE user.
It is
  not fully implemented at this point. I am currently working on fixing the
static
  class, supporting forward declarations, and other enhancements. Please be
patient.

- Paul

Reply via email to