* lisp/cedet: Use cl-generic instead of EIEIO's defgeneric/defmethod
* lisp/cedet/**/*.el: Mechanically replace all calls to defmethod/defgeneric by calls to cl-defmethod/cl-defgeneric. * lisp/cedet/srecode/table.el: * lisp/cedet/srecode/fields.el: * lisp/cedet/srecode/dictionary.el: * lisp/cedet/srecode/compile.el: * lisp/cedet/semantic/debug.el: * lisp/cedet/semantic/db-ref.el: * lisp/cedet/ede/base.el: * lisp/cedet/ede/auto.el: * lisp/cedet/ede.el: Require `cl-generic'.
This commit is contained in:
parent
102a21d689
commit
73b17f7c2b
64 changed files with 836 additions and 812 deletions
|
@ -111,7 +111,7 @@ the omniscience database.")
|
|||
|
||||
;;; Filename based methods
|
||||
;;
|
||||
(defmethod semanticdb-get-database-tables ((obj semanticdb-project-database-javascript))
|
||||
(cl-defmethod semanticdb-get-database-tables ((obj semanticdb-project-database-javascript))
|
||||
"For a javascript database, there are no explicit tables.
|
||||
Create one of our special tables that can act as an intermediary."
|
||||
;; NOTE: This method overrides an accessor for the `tables' slot in
|
||||
|
@ -126,23 +126,23 @@ Create one of our special tables that can act as an intermediary."
|
|||
(oset newtable parent-db obj)
|
||||
(oset newtable tags nil)
|
||||
))
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
)
|
||||
|
||||
(defmethod semanticdb-file-table ((obj semanticdb-project-database-javascript) filename)
|
||||
(cl-defmethod semanticdb-file-table ((obj semanticdb-project-database-javascript) filename)
|
||||
"From OBJ, return FILENAME's associated table object."
|
||||
;; NOTE: See not for `semanticdb-get-database-tables'.
|
||||
(car (semanticdb-get-database-tables obj))
|
||||
)
|
||||
|
||||
(defmethod semanticdb-get-tags ((table semanticdb-table-javascript ))
|
||||
(cl-defmethod semanticdb-get-tags ((table semanticdb-table-javascript ))
|
||||
"Return the list of tags belonging to TABLE."
|
||||
;; NOTE: Omniscient databases probably don't want to keep large tables
|
||||
;; lolly-gagging about. Keep internal Emacs tables empty and
|
||||
;; refer to alternate databases when you need something.
|
||||
semanticdb-javascript-tags)
|
||||
|
||||
(defmethod semanticdb-equivalent-mode ((table semanticdb-table-javascript) &optional buffer)
|
||||
(cl-defmethod semanticdb-equivalent-mode ((table semanticdb-table-javascript) &optional buffer)
|
||||
"Return non-nil if TABLE's mode is equivalent to BUFFER.
|
||||
Equivalent modes are specified by the `semantic-equivalent-major-modes'
|
||||
local variable."
|
||||
|
@ -192,43 +192,43 @@ database (if available.)"
|
|||
(setq tags (cdr tags)))
|
||||
result))
|
||||
|
||||
(defmethod semanticdb-find-tags-by-name-method
|
||||
(cl-defmethod semanticdb-find-tags-by-name-method
|
||||
((table semanticdb-table-javascript) name &optional tags)
|
||||
"Find all tags named NAME in TABLE.
|
||||
Return a list of tags."
|
||||
(if tags
|
||||
;; If TAGS are passed in, then we don't need to do work here.
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
(assoc-string name semanticdb-javascript-tags)
|
||||
))
|
||||
|
||||
(defmethod semanticdb-find-tags-by-name-regexp-method
|
||||
(cl-defmethod semanticdb-find-tags-by-name-regexp-method
|
||||
((table semanticdb-table-javascript) regex &optional tags)
|
||||
"Find all tags with name matching REGEX in TABLE.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
Return a list of tags."
|
||||
(if tags (call-next-method)
|
||||
(if tags (cl-call-next-method)
|
||||
;; YOUR IMPLEMENTATION HERE
|
||||
(semanticdb-javascript-regexp-search regex)
|
||||
|
||||
))
|
||||
|
||||
(defmethod semanticdb-find-tags-for-completion-method
|
||||
(cl-defmethod semanticdb-find-tags-for-completion-method
|
||||
((table semanticdb-table-javascript) prefix &optional tags)
|
||||
"In TABLE, find all occurrences of tags matching PREFIX.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
Returns a table of all matching tags."
|
||||
(if tags (call-next-method)
|
||||
(if tags (cl-call-next-method)
|
||||
;; YOUR IMPLEMENTATION HERE
|
||||
(semanticdb-javascript-regexp-search (concat "^" prefix ".*"))
|
||||
))
|
||||
|
||||
(defmethod semanticdb-find-tags-by-class-method
|
||||
(cl-defmethod semanticdb-find-tags-by-class-method
|
||||
((table semanticdb-table-javascript) class &optional tags)
|
||||
"In TABLE, find all occurrences of tags of CLASS.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
Returns a table of all matching tags."
|
||||
(if tags (call-next-method)
|
||||
(if tags (cl-call-next-method)
|
||||
;; YOUR IMPLEMENTATION HERE
|
||||
;;
|
||||
;; Note: This search method could be considered optional in an
|
||||
|
@ -244,21 +244,21 @@ Returns a table of all matching tags."
|
|||
;; alone, otherwise replace with implementations similar to those
|
||||
;; above.
|
||||
;;
|
||||
(defmethod semanticdb-deep-find-tags-by-name-method
|
||||
(cl-defmethod semanticdb-deep-find-tags-by-name-method
|
||||
((table semanticdb-table-javascript) name &optional tags)
|
||||
"Find all tags name NAME in TABLE.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
Like `semanticdb-find-tags-by-name-method' for javascript."
|
||||
(semanticdb-find-tags-by-name-method table name tags))
|
||||
|
||||
(defmethod semanticdb-deep-find-tags-by-name-regexp-method
|
||||
(cl-defmethod semanticdb-deep-find-tags-by-name-regexp-method
|
||||
((table semanticdb-table-javascript) regex &optional tags)
|
||||
"Find all tags with name matching REGEX in TABLE.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
Like `semanticdb-find-tags-by-name-method' for javascript."
|
||||
(semanticdb-find-tags-by-name-regexp-method table regex tags))
|
||||
|
||||
(defmethod semanticdb-deep-find-tags-for-completion-method
|
||||
(cl-defmethod semanticdb-deep-find-tags-for-completion-method
|
||||
((table semanticdb-table-javascript) prefix &optional tags)
|
||||
"In TABLE, find all occurrences of tags matching PREFIX.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
|
@ -267,12 +267,12 @@ Like `semanticdb-find-tags-for-completion-method' for javascript."
|
|||
|
||||
;;; Advanced Searches
|
||||
;;
|
||||
(defmethod semanticdb-find-tags-external-children-of-type-method
|
||||
(cl-defmethod semanticdb-find-tags-external-children-of-type-method
|
||||
((table semanticdb-table-javascript) type &optional tags)
|
||||
"Find all nonterminals which are child elements of TYPE.
|
||||
Optional argument TAGS is a list of tags to search.
|
||||
Return a list of tags."
|
||||
(if tags (call-next-method)
|
||||
(if tags (cl-call-next-method)
|
||||
;; YOUR IMPLEMENTATION HERE
|
||||
;;
|
||||
;; OPTIONAL: This could be considered an optional function. It is
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue