Function: semantic-get-local-arguments-srecode-template-mode

semantic-get-local-arguments-srecode-template-mode is a byte-compiled function defined in srt-mode.el.gz.

Signature

(semantic-get-local-arguments-srecode-template-mode &optional POINT)

Documentation

Get local arguments from an SRecode template.

Override semantic-get-local-arguments in srecode-template-mode buffers.

Source Code

;; Defined in /usr/src/emacs/lisp/cedet/srecode/srt-mode.el.gz
(define-mode-local-override semantic-get-local-arguments
  srecode-template-mode (&optional point)
  "Get local arguments from an SRecode template."
  (require 'srecode/insert)
  (save-excursion
    (when point (goto-char (point)))
    (let* ((tag (semantic-current-tag))
	   (args (semantic-tag-function-arguments tag))
	   (argsym (mapcar #'intern args))
	   (argvars nil)
	   ;; Create a temporary dictionary in which the
	   ;; arguments can be resolved so we can extract
	   ;; the results.
	   (dict (srecode-create-dictionary t))
	   )
      ;; Resolve args into our temp dictionary
      (srecode-resolve-argument-list argsym dict)

      (maphash
       (lambda (key entry)
	 (setq argvars
	       (cons (semantic-tag-new-variable key nil entry)
		     argvars)))
       (oref dict namehash))

      argvars)))