Function: semantic-sb-insert-details
semantic-sb-insert-details is a byte-compiled function defined in
sb.el.gz.
Signature
(semantic-sb-insert-details TAG INDENT)
Documentation
Insert details about TAG at level INDENT.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/semantic/sb.el.gz
(defun semantic-sb-insert-details (tag indent)
"Insert details about TAG at level INDENT."
(let ((tt (semantic-tag-class tag))
(type (semantic-tag-type tag)))
(cond ((eq tt 'type)
(let ((parts (semantic-tag-type-members tag))
(newparts nil))
;; Lets expect PARTS to be a list of either strings,
;; or variable tokens.
(when (semantic-tag-p (car parts))
;; Bucketize into groups
(semantic-sb-with-tag-buffer (car parts)
(setq newparts (semantic-bucketize parts)))
(when (> (length newparts) semantic-sb-autoexpand-length)
;; More than one bucket, insert inline
(semantic-sb-insert-tag-table (1- indent) newparts)
(setq parts nil))
;; Dump the strings in.
(while parts
(semantic-sb-maybe-token-to-button (car parts) indent)
(setq parts (cdr parts))))))
((eq tt 'variable)
(if type
(semantic-sb-maybe-token-to-button type indent "@"))
(let ((default (semantic-tag-variable-default tag)))
(if default
(semantic-sb-maybe-token-to-button default indent "=")))
)
((eq tt 'function)
(if type
(semantic-sb-speedbar-data-line
indent "@"
(if (stringp type) type
(semantic-tag-name type))))
;; Arguments to the function
(let ((args (semantic-tag-function-arguments tag)))
(if (and args (car args))
(progn
(semantic-sb-maybe-token-to-button (car args) indent "(")
(setq args (cdr args))
(while (> (length args) 1)
(semantic-sb-maybe-token-to-button (car args)
indent
"|")
(setq args (cdr args)))
(if args
(semantic-sb-maybe-token-to-button
(car args) indent ")"))
))))
(t
(let ((components
(save-excursion
(when (and (semantic-tag-overlay tag)
(semantic-tag-buffer tag))
(set-buffer (semantic-tag-buffer tag)))
(semantic-sb-tag-children-to-expand tag))))
;; Well, it wasn't one of the many things we expect.
;; Lets just insert them in with no decoration.
(while components
(semantic-sb-one-button (car components) indent)
(setq components (cdr components)))
))
)
))