Function: semantic-tag-full-name
semantic-tag-full-name is a byte-compiled function defined in
tag-ls.el.gz.
Signature
(semantic-tag-full-name TAG &optional STREAM-OR-BUFFER)
Documentation
Return the fully qualified name of TAG in the package hierarchy.
STREAM-OR-BUFFER can be anything convertible by
semantic-something-to-tag-table, but must be a toplevel
semantic tag stream that contains TAG.
A Package Hierarchy is defined in UML by the way classes and methods are organized on disk. Some languages use this concept such that a class can be accessed via it's fully qualified name, (such as Java.)
Other languages qualify names within a Namespace (such as C++) which result in a different package like structure.
Languages which do not override this function with
tag-full-name will combine semantic-tag-full-package and
semantic-tag-name, separated with language separator character.
Override functions only need to handle STREAM-OR-BUFFER with a
tag stream value, or nil.
TODO - this function should probably also take a PARENT to TAG to resolve issues where a method in a class in a package is present.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/tag-ls.el.gz
(define-overloadable-function semantic-tag-full-name (tag &optional stream-or-buffer)
"Return the fully qualified name of TAG in the package hierarchy.
STREAM-OR-BUFFER can be anything convertible by
`semantic-something-to-tag-table', but must be a toplevel
semantic tag stream that contains TAG.
A Package Hierarchy is defined in UML by the way classes and methods
are organized on disk. Some languages use this concept such that a
class can be accessed via it's fully qualified name, (such as Java.)
Other languages qualify names within a Namespace (such as C++) which
result in a different package like structure.
Languages which do not override this function with
`tag-full-name' will combine `semantic-tag-full-package' and
`semantic-tag-name', separated with language separator character.
Override functions only need to handle STREAM-OR-BUFFER with a
tag stream value, or nil.
TODO - this function should probably also take a PARENT to TAG to
resolve issues where a method in a class in a package is present."
(let ((stream (semantic-something-to-tag-table
(or stream-or-buffer tag))))
(:override-with-args (tag stream))))