Function: semanticdb-ebrowse-strip-trees

semanticdb-ebrowse-strip-trees is a byte-compiled function defined in db-ebrowse.el.gz.

Signature

(semanticdb-ebrowse-strip-trees ARG &rest ARGS)

Implementations

(semanticdb-ebrowse-strip-trees (DBE semanticdb-project-database-ebrowse) DATA) in `semantic/db-ebrowse.el'.

For the ebrowse database DBE, strip all tables from DATA.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/db-ebrowse.el.gz
(cl-defmethod semanticdb-ebrowse-strip-trees  ((dbe semanticdb-project-database-ebrowse)
						    data)
  "For the ebrowse database DBE, strip all tables from DATA."
;JAVE what it actually seems to do is split the original tree in "tables" associated with files
; im not sure it actually works:
;   the filename slot sometimes gets to be nil,
;      apparently for classes which definition can't be found, yet needs to be included in the tree
;      like library baseclasses
;   a file can define several classes
  (let ((T (car (cdr data))));1st comes a header, then the tree
    (while T

      (let* ((tree (car T))
	     ;;(class (ebrowse-ts-class tree)); root class of tree
	     ;; Something funny going on with this file thing...
             ;; (filename (or (ebrowse-cs-source-file class)
	     ;;            (ebrowse-cs-file class)))
	     )
	(cond
	 ((ebrowse-globals-tree-p tree)
	  ;; We have the globals tree.. save this special.
	  (semanticdb-ebrowse-add-globals-to-table dbe tree)
	  )
	 (t
	  ;; ebrowse will collect all the info from multiple files
	  ;; into one tree.  Semantic wants all the bits to be tied
	  ;; into different files.  We need to do a full dissociation
	  ;; into semantic parsable tables.
	  (semanticdb-ebrowse-add-tree-to-table dbe tree)
	  ))
      (setq T (cdr T))))
    ))