* admin/grammars/c.by (typedefname): Also parse optional reference
qualifier.
* lisp/cedet/semantic/bovine/c.el (semantic-expand-c-tag-namelist):
Add :reference attribute for typedefs.
;; TODO: Klaus Berndl: symbol -> namespace-symbol?! Answer: Probably
;; symbol is correct here!
typedefname
- : opt-stars symbol opt-bits opt-array
- ( $1 $2 )
+ : opt-stars opt-ref symbol opt-bits opt-array
+ ( $1 $2 $3 )
;
struct-or-class
(while names
(setq vl (cons (semantic-tag-new-type
- (nth 1 (car names)) ; name
+ (nth 2 (car names)) ; name
"typedef"
(semantic-tag-type-members tag)
nil
:pointer
(let ((stars (car (car (car names)))))
(if (= stars 0) nil stars))
+ :reference
+ (let ((refs (car (nth 1 (car names)))))
+ (when (> refs 0) refs))
;; This specifies what the typedef
;; is expanded out as. Just the
;; name shows up as a parent of this