Mercurial > emacs
annotate lisp/cedet/semantic/java.el @ 112228:417b1e4d63cd
Merge from emacs-23
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 14 Jan 2011 12:18:41 -0500 |
parents | 376148b31b5e |
children | ef719132ddfa |
rev | line source |
---|---|
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
1 ;;; semantic/java.el --- Semantic functions for Java |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
2 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
3 ;;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
112218
376148b31b5e
Add 2011 to FSF/AIST copyright years.
Glenn Morris <rgm@gnu.org>
parents:
106815
diff
changeset
|
4 ;;; 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
5 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
6 ;; Author: David Ponce <david@dponce.com> |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
7 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
8 ;; This file is part of GNU Emacs. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
9 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
10 ;; GNU Emacs is free software: you can redistribute it and/or modify |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
11 ;; it under the terms of the GNU General Public License as published by |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
12 ;; the Free Software Foundation, either version 3 of the License, or |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
13 ;; (at your option) any later version. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
14 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
15 ;; GNU Emacs is distributed in the hope that it will be useful, |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
16 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
17 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
18 ;; GNU General Public License for more details. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
19 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
20 ;; You should have received a copy of the GNU General Public License |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
21 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
22 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
23 ;;; Commentary: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
24 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
25 ;; Common function for Java parsers. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
26 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
27 ;;; Code: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
28 (require 'semantic) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
29 (require 'semantic/ctxt) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
30 (require 'semantic/doc) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
31 (require 'semantic/format) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
32 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
33 (eval-when-compile |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
34 (require 'semantic/find) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
35 (require 'semantic/dep)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
36 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
37 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
38 ;;; Lexical analysis |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
39 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
40 (defconst semantic-java-number-regexp |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
41 (eval-when-compile |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
42 (concat "\\(" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
43 "\\<[0-9]+[.][0-9]+\\([eE][-+]?[0-9]+\\)?[fFdD]?\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
44 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
45 "\\<[0-9]+[.][eE][-+]?[0-9]+[fFdD]?\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
46 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
47 "\\<[0-9]+[.][fFdD]\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
48 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
49 "\\<[0-9]+[.]" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
50 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
51 "[.][0-9]+\\([eE][-+]?[0-9]+\\)?[fFdD]?\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
52 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
53 "\\<[0-9]+[eE][-+]?[0-9]+[fFdD]?\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
54 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
55 "\\<0[xX][0-9a-fA-F]+[lL]?\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
56 "\\|" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
57 "\\<[0-9]+[lLfFdD]?\\>" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
58 "\\)" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
59 )) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
60 "Lexer regexp to match Java number terminals. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
61 Following is the specification of Java number literals. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
62 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
63 DECIMAL_LITERAL: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
64 [1-9][0-9]* |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
65 ; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
66 HEX_LITERAL: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
67 0[xX][0-9a-fA-F]+ |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
68 ; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
69 OCTAL_LITERAL: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
70 0[0-7]* |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
71 ; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
72 INTEGER_LITERAL: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
73 <DECIMAL_LITERAL>[lL]? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
74 | <HEX_LITERAL>[lL]? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
75 | <OCTAL_LITERAL>[lL]? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
76 ; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
77 EXPONENT: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
78 [eE][+-]?[09]+ |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
79 ; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
80 FLOATING_POINT_LITERAL: |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
81 [0-9]+[.][0-9]*<EXPONENT>?[fFdD]? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
82 | [.][0-9]+<EXPONENT>?[fFdD]? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
83 | [0-9]+<EXPONENT>[fFdD]? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
84 | [0-9]+<EXPONENT>?[fFdD] |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
85 ;") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
86 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
87 ;;; Parsing |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
88 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
89 (defsubst semantic-java-dim (id) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
90 "Split ID string into a pair (NAME . DIM). |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
91 NAME is ID without trailing brackets: \"[]\". |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
92 DIM is the dimension of NAME deduced from the number of trailing |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
93 brackets, or 0 if there is no trailing brackets." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
94 (let ((dim (string-match "\\(\\[]\\)+\\'" id))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
95 (if dim |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
96 (cons (substring id 0 dim) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
97 (/ (length (match-string 0 id)) 2)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
98 (cons id 0)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
99 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
100 (defsubst semantic-java-type (tag) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
101 "Return the type of TAG, taking care of array notation." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
102 (let ((type (semantic-tag-type tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
103 (dim (semantic-tag-get-attribute tag :dereference))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
104 (when dim |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
105 (while (> dim 0) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
106 (setq type (concat type "[]") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
107 dim (1- dim)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
108 type)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
109 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
110 (defun semantic-java-expand-tag (tag) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
111 "Expand compound declarations found in TAG into separate tags. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
112 TAG contains compound declarations when its class is `variable', and |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
113 its name is a list of elements (NAME START . END), where NAME is a |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
114 compound variable name, and START/END are the bounds of the |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
115 corresponding compound declaration." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
116 (let* ((class (semantic-tag-class tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
117 (elts (semantic-tag-name tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
118 dim type dim0 elt clone start end xpand) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
119 (cond |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
120 ((and (eq class 'function) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
121 (> (cdr (setq dim (semantic-java-dim elts))) 0)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
122 (setq clone (semantic-tag-clone tag (car dim)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
123 xpand (cons clone xpand)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
124 (semantic-tag-put-attribute clone :dereference (cdr dim))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
125 ((eq class 'variable) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
126 (or (consp elts) (setq elts (list (list elts)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
127 (setq dim (semantic-java-dim (semantic-tag-get-attribute tag :type)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
128 type (car dim) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
129 dim0 (cdr dim)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
130 (while elts |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
131 ;; For each compound element, clone the initial tag with the |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
132 ;; name and bounds of the compound variable declaration. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
133 (setq elt (car elts) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
134 elts (cdr elts) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
135 start (if elts (cadr elt) (semantic-tag-start tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
136 end (if xpand (cddr elt) (semantic-tag-end tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
137 dim (semantic-java-dim (car elt)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
138 clone (semantic-tag-clone tag (car dim)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
139 xpand (cons clone xpand)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
140 (semantic-tag-put-attribute clone :type type) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
141 (semantic-tag-put-attribute clone :dereference (+ dim0 (cdr dim))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
142 (semantic-tag-set-bounds clone start end))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
143 ) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
144 xpand)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
145 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
146 ;;; Environment |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
147 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
148 (defcustom-mode-local-semantic-dependency-system-include-path |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
149 java-mode semantic-java-dependency-system-include-path |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
150 ;; @todo - Use JDEE to get at the include path, or something else? |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
151 nil |
106800
58365d44aeda
Fix typos in CEDET docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
105760
diff
changeset
|
152 "The system include path used by Java language.") |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
153 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
154 ;; Local context |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
155 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
156 (define-mode-local-override semantic-ctxt-scoped-types |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
157 java-mode (&optional point) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
158 "Return a list of type names currently in scope at POINT." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
159 (mapcar 'semantic-tag-name |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
160 (semantic-find-tags-by-class |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
161 'type (semantic-find-tag-by-overlay point)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
162 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
163 ;; Prototype handler |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
164 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
165 (defun semantic-java-prototype-function (tag &optional parent color) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
166 "Return a function (method) prototype for TAG. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
167 Optional argument PARENT is a parent (containing) item. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
168 Optional argument COLOR indicates that color should be mixed in. |
104489
25e047f7f6a2
Synch to Eric Ludlam's upstream CEDET repository.
Chong Yidong <cyd@stupidchicken.com>
parents:
104469
diff
changeset
|
169 See also `semantic-format-tag-prototype'." |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
170 (let ((name (semantic-tag-name tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
171 (type (semantic-java-type tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
172 (tmpl (semantic-tag-get-attribute tag :template-specifier)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
173 (args (semantic-tag-function-arguments tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
174 (argp "") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
175 arg argt) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
176 (while args |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
177 (setq arg (car args) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
178 args (cdr args)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
179 (if (semantic-tag-p arg) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
180 (setq argt (if color |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
181 (semantic--format-colorize-text |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
182 (semantic-java-type arg) 'type) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
183 (semantic-java-type arg)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
184 argp (concat argp argt (if args "," ""))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
185 (when color |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
186 (when type |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
187 (setq type (semantic--format-colorize-text type 'type))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
188 (setq name (semantic--format-colorize-text name 'function))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
189 (concat (or tmpl "") (if tmpl " " "") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
190 (or type "") (if type " " "") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
191 name "(" argp ")"))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
192 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
193 (defun semantic-java-prototype-variable (tag &optional parent color) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
194 "Return a variable (field) prototype for TAG. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
195 Optional argument PARENT is a parent (containing) item. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
196 Optional argument COLOR indicates that color should be mixed in. |
104489
25e047f7f6a2
Synch to Eric Ludlam's upstream CEDET repository.
Chong Yidong <cyd@stupidchicken.com>
parents:
104469
diff
changeset
|
197 See also `semantic-format-tag-prototype'." |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
198 (let ((name (semantic-tag-name tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
199 (type (semantic-java-type tag))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
200 (concat (if color |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
201 (semantic--format-colorize-text type 'type) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
202 type) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
203 " " |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
204 (if color |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
205 (semantic--format-colorize-text name 'variable) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
206 name)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
207 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
208 (defun semantic-java-prototype-type (tag &optional parent color) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
209 "Return a type (class/interface) prototype for TAG. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
210 Optional argument PARENT is a parent (containing) item. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
211 Optional argument COLOR indicates that color should be mixed in. |
104489
25e047f7f6a2
Synch to Eric Ludlam's upstream CEDET repository.
Chong Yidong <cyd@stupidchicken.com>
parents:
104469
diff
changeset
|
212 See also `semantic-format-tag-prototype'." |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
213 (let ((name (semantic-tag-name tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
214 (type (semantic-tag-type tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
215 (tmpl (semantic-tag-get-attribute tag :template-specifier))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
216 (concat type " " |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
217 (if color |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
218 (semantic--format-colorize-text name 'type) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
219 name) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
220 (or tmpl "")))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
221 |
104489
25e047f7f6a2
Synch to Eric Ludlam's upstream CEDET repository.
Chong Yidong <cyd@stupidchicken.com>
parents:
104469
diff
changeset
|
222 (define-mode-local-override semantic-format-tag-prototype |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
223 java-mode (tag &optional parent color) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
224 "Return a prototype for TOKEN. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
225 Optional argument PARENT is a parent (containing) item. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
226 Optional argument COLOR indicates that color should be mixed in." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
227 (let ((f (intern-soft (format "semantic-java-prototype-%s" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
228 (semantic-tag-class tag))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
229 (funcall (if (fboundp f) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
230 f |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
231 'semantic-format-tag-prototype-default) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
232 tag parent color))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
233 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
234 (semantic-alias-obsolete 'semantic-java-prototype-nonterminal |
105760
d0906291f75b
* cedet/semantic/fw.el (semantic-alias-obsolete)
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
105377
diff
changeset
|
235 'semantic-format-tag-prototype-java-mode "23.2") |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
236 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
237 ;; Include Tag Name |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
238 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
239 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
240 ;; Thanks Bruce Stephens |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
241 (define-mode-local-override semantic-tag-include-filename java-mode (tag) |
106800
58365d44aeda
Fix typos in CEDET docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
105760
diff
changeset
|
242 "Return a suitable path for (some) Java imports." |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
243 (let ((name (semantic-tag-name tag))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
244 (concat (mapconcat 'identity (split-string name "\\.") "/") ".java"))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
245 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
246 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
247 ;; Documentation handler |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
248 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
249 (defsubst semantic-java-skip-spaces-backward () |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
250 "Move point backward, skipping Java whitespaces." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
251 (skip-chars-backward " \n\r\t")) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
252 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
253 (defsubst semantic-java-skip-spaces-forward () |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
254 "Move point forward, skipping Java whitespaces." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
255 (skip-chars-forward " \n\r\t")) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
256 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
257 (define-mode-local-override semantic-documentation-for-tag |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
258 java-mode (&optional tag nosnarf) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
259 "Find documentation from TAG and return it as a clean string. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
260 Java have documentation set in a comment preceeding TAG's definition. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
261 Attempt to strip out comment syntactic sugar, unless optional argument |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
262 NOSNARF is non-nil. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
263 If NOSNARF is 'lex, then return the semantic lex token." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
264 (when (or tag (setq tag (semantic-current-tag))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
265 (with-current-buffer (semantic-tag-buffer tag) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
266 (save-excursion |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
267 ;; Move the point at token start |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
268 (goto-char (semantic-tag-start tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
269 (semantic-java-skip-spaces-forward) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
270 ;; If the point already at "/**" (this occurs after a doc fix) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
271 (if (looking-at "/\\*\\*") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
272 nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
273 ;; Skip previous spaces |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
274 (semantic-java-skip-spaces-backward) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
275 ;; Ensure point is after "*/" (javadoc block comment end) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
276 (condition-case nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
277 (backward-char 2) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
278 (error nil)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
279 (when (looking-at "\\*/") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
280 ;; Move the point backward across the comment |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
281 (forward-char 2) ; return just after "*/" |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
282 (forward-comment -1) ; to skip the entire block |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
283 )) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
284 ;; Verify the point is at "/**" (javadoc block comment start) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
285 (if (looking-at "/\\*\\*") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
286 (let ((p (point)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
287 (c (semantic-doc-snarf-comment-for-tag 'lex))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
288 (when c |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
289 ;; Verify that the token just following the doc |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
290 ;; comment is the current one! |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
291 (goto-char (semantic-lex-token-end c)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
292 (semantic-java-skip-spaces-forward) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
293 (when (eq tag (semantic-current-tag)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
294 (goto-char p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
295 (semantic-doc-snarf-comment-for-tag nosnarf))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
296 )))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
297 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
298 ;;; Javadoc facilities |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
299 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
300 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
301 ;; Javadoc elements |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
302 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
303 (defvar semantic-java-doc-line-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
304 "Valid javadoc line tags. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
305 Ordered following Sun's Tag Convention at |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
306 <http://java.sun.com/products/jdk/javadoc/writingdoccomments/index.html>") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
307 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
308 (defvar semantic-java-doc-with-name-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
309 "Javadoc tags which have a name.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
310 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
311 (defvar semantic-java-doc-with-ref-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
312 "Javadoc tags which have a reference.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
313 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
314 ;; Optional javadoc tags by classes of semantic tag |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
315 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
316 (defvar semantic-java-doc-extra-type-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
317 "Optional tags used in class/interface documentation. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
318 Ordered following Sun's Tag Convention.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
319 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
320 (defvar semantic-java-doc-extra-function-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
321 "Optional tags used in method/constructor documentation. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
322 Ordered following Sun's Tag Convention.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
323 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
324 (defvar semantic-java-doc-extra-variable-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
325 "Optional tags used in field documentation. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
326 Ordered following Sun's Tag Convention.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
327 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
328 ;; All javadoc tags by classes of semantic tag |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
329 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
330 (defvar semantic-java-doc-type-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
331 "Tags allowed in class/interface documentation. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
332 Ordered following Sun's Tag Convention.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
333 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
334 (defvar semantic-java-doc-function-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
335 "Tags allowed in method/constructor documentation. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
336 Ordered following Sun's Tag Convention.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
337 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
338 (defvar semantic-java-doc-variable-tags nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
339 "Tags allowed in field documentation. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
340 Ordered following Sun's Tag Convention.") |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
341 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
342 ;; Access to Javadoc elements |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
343 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
344 (defmacro semantic-java-doc-tag (name) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
345 "Return doc tag from NAME. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
346 That is @NAME." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
347 `(concat "@" ,name)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
348 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
349 (defsubst semantic-java-doc-tag-name (tag) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
350 "Return name of the doc TAG symbol. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
351 That is TAG `symbol-name' without the leading '@'." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
352 (substring (symbol-name tag) 1)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
353 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
354 (defun semantic-java-doc-keyword-before-p (k1 k2) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
355 "Return non-nil if javadoc keyword K1 is before K2." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
356 (let* ((t1 (semantic-java-doc-tag k1)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
357 (t2 (semantic-java-doc-tag k2)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
358 (seq1 (and (semantic-lex-keyword-p t1) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
359 (plist-get (semantic-lex-keyword-get t1 'javadoc) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
360 'seq))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
361 (seq2 (and (semantic-lex-keyword-p t2) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
362 (plist-get (semantic-lex-keyword-get t2 'javadoc) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
363 'seq)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
364 (if (and (numberp seq1) (numberp seq2)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
365 (<= seq1 seq2) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
366 ;; Unknown tags (probably custom ones) are always after official |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
367 ;; ones and are not themselves ordered. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
368 (or (numberp seq1) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
369 (and (not seq1) (not seq2)))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
370 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
371 (defun semantic-java-doc-keywords-map (fun &optional property) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
372 "Run function FUN for each javadoc keyword. |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
373 Return the list of FUN results. If optional PROPERTY is non nil only |
106800
58365d44aeda
Fix typos in CEDET docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
105760
diff
changeset
|
374 call FUN for javadoc keywords which have a value for PROPERTY. FUN |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
375 receives two arguments: the javadoc keyword and its associated |
106800
58365d44aeda
Fix typos in CEDET docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents:
105760
diff
changeset
|
376 'javadoc property list. It can return any value. All nil values are |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
377 removed from the result list." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
378 (delq nil |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
379 (mapcar |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
380 #'(lambda (k) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
381 (let* ((tag (semantic-java-doc-tag k)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
382 (plist (semantic-lex-keyword-get tag 'javadoc))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
383 (if (or (not property) (plist-get plist property)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
384 (funcall fun k plist)))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
385 semantic-java-doc-line-tags))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
386 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
387 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
388 ;;; Mode setup |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
389 ;; |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
390 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
391 (defun semantic-java-doc-setup () |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
392 "Lazy initialization of javadoc elements." |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
393 (or semantic-java-doc-line-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
394 (setq semantic-java-doc-line-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
395 (sort (mapcar #'semantic-java-doc-tag-name |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
396 (semantic-lex-keywords 'javadoc)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
397 #'semantic-java-doc-keyword-before-p))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
398 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
399 (or semantic-java-doc-with-name-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
400 (setq semantic-java-doc-with-name-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
401 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
402 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
403 k) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
404 'with-name))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
405 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
406 (or semantic-java-doc-with-ref-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
407 (setq semantic-java-doc-with-ref-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
408 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
409 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
410 k) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
411 'with-ref))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
412 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
413 (or semantic-java-doc-extra-type-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
414 (setq semantic-java-doc-extra-type-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
415 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
416 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
417 (if (memq 'type (plist-get p 'usage)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
418 k)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
419 'opt))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
420 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
421 (or semantic-java-doc-extra-function-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
422 (setq semantic-java-doc-extra-function-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
423 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
424 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
425 (if (memq 'function (plist-get p 'usage)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
426 k)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
427 'opt))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
428 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
429 (or semantic-java-doc-extra-variable-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
430 (setq semantic-java-doc-extra-variable-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
431 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
432 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
433 (if (memq 'variable (plist-get p 'usage)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
434 k)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
435 'opt))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
436 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
437 (or semantic-java-doc-type-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
438 (setq semantic-java-doc-type-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
439 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
440 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
441 (if (memq 'type (plist-get p 'usage)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
442 k))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
443 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
444 (or semantic-java-doc-function-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
445 (setq semantic-java-doc-function-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
446 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
447 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
448 (if (memq 'function (plist-get p 'usage)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
449 k))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
450 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
451 (or semantic-java-doc-variable-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
452 (setq semantic-java-doc-variable-tags |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
453 (semantic-java-doc-keywords-map |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
454 #'(lambda (k p) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
455 (if (memq 'variable (plist-get p 'usage)) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
456 k))))) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
457 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
458 ) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
459 |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
460 (provide 'semantic/java) |
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
461 |
105377 | 462 ;; arch-tag: ca14cb88-9343-48a9-9aa0-14d05be8d49f |
104469
ce081012a7d6
lisp/cedet/semantic/java.el: File moved here from bovine/ subdirectory.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
463 ;;; semantic/java.el ends here |