Function: semantic-analyze-current-symbol-default

semantic-analyze-current-symbol-default is a byte-compiled function defined in analyze.el.gz.

Signature

(semantic-analyze-current-symbol-default ANALYZEHOOKFCN POSITION)

Documentation

Call ANALYZEHOOKFCN on the analyzed symbol at POSITION.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/semantic/analyze.el.gz
(defun semantic-analyze-current-symbol-default (analyzehookfcn position)
  "Call ANALYZEHOOKFCN on the analyzed symbol at POSITION."
  (let* ((semantic-analyze-error-stack nil)
	 ;; (LLstart (current-time))
	 (prefixandbounds (semantic-ctxt-current-symbol-and-bounds (or position (point))))
	 (prefix (car prefixandbounds))
	 (bounds (nth 2 prefixandbounds))
	 (scope (semantic-calculate-scope position))
	 )
        ;; Only do work if we have bounds (meaning a prefix to complete)
    (when bounds

      (if debug-on-error
	  (catch 'unfindable
	    ;; If debug on error is on, allow debugging in this fcn.
	    (setq prefix (semantic-analyze-find-tag-sequence
			  prefix scope 'semantic--prefixtypes 'unfindable)))
	;; Debug on error is off.  Capture errors and move on
	(condition-case err
	    ;; NOTE: This line is duplicated in
	    ;;       semantic-analyzer-debug-global-symbol
	    ;;       You will need to update both places.
	    (setq prefix (semantic-analyze-find-tag-sequence
			  prefix scope 'semantic--prefixtypes))
	  (error (semantic-analyze-push-error err))))

      ;;(message "Analysis took %.2f sec" (semantic-elapsed-time LLstart nil))

      )
    (when prefix
      (prog1
	  (funcall analyzehookfcn (car bounds) (cdr bounds) prefix)
	;;(message "hookfcn took %.5f sec" (semantic-elapsed-time LLstart nil))
	)

	)))