Function: semantic-tag-full-package

semantic-tag-full-package is a byte-compiled function defined in tag-ls.el.gz.

Signature

(semantic-tag-full-package TAG &optional STREAM-OR-BUFFER)

Documentation

Return the fully qualified package name of TAG in a 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 will just search the stream for a tag of class package, and return that.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/tag-ls.el.gz
;;; FULL NAMES
;;
;; For programmer convenience, a full name is not specified in source
;; code.  Instead some abbreviation is made, and the local environment
;; will contain the info needed to determine the full name.
(define-overloadable-function semantic-tag-full-package (tag &optional stream-or-buffer)
  "Return the fully qualified package name of TAG in a 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 will just search the
stream for a tag of class `package', and return that."
  (let ((stream (semantic-something-to-tag-table
                 (or stream-or-buffer tag))))
    (:override-with-args (tag stream))))