[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] scratch/last-cedet-merge 05d6b4b 03/50: semantic: Apply en
From: |
David Engster |
Subject: |
[Emacs-diffs] scratch/last-cedet-merge 05d6b4b 03/50: semantic: Apply enum-type to all members |
Date: |
Wed, 25 Jan 2017 22:15:20 +0000 (UTC) |
branch: scratch/last-cedet-merge
commit 05d6b4be45cbef29b9f1eed745825071a67f1bb8
Author: David Engster <address@hidden>
Commit: David Engster <address@hidden>
semantic: Apply enum-type to all members
* lisp/cedet/semantic/bovine/c.el (semantic-expand-c-tag): For typed
enums, apply the :enum-type attribute as :type to all members.
---
lisp/cedet/semantic/bovine/c.el | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el
index c6a2ef9..5d7d5a6 100644
--- a/lisp/cedet/semantic/bovine/c.el
+++ b/lisp/cedet/semantic/bovine/c.el
@@ -1022,6 +1022,15 @@ now.
(setq return-list (car tag))
(setq tag (cdr tag)))
+ ;; Check if we have a typed enum, and if so, apply its type to all
+ ;; members.
+ (when (and (semantic-tag-of-type-p tag "enum")
+ (semantic-tag-get-attribute tag :enum-type))
+ (let ((enumtype (semantic-tag-get-attribute tag :enum-type))
+ (members (semantic-tag-get-attribute tag :members)))
+ (dolist (cur members)
+ (semantic-tag-put-attribute cur :type enumtype))))
+
;; Name of the tag is a list, so expand it. Tag lists occur
;; for variables like this: int var1, var2, var3;
;;
- [Emacs-diffs] branch scratch/last-cedet-merge created (now d2a57bd), David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge ca20c99 01/50: semantic: make semanticdb-default-find-index-class buffer-local, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 40dd3d9 02/50: semantic: Do not add enum-type for every type, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 5d6f4b8 05/50: EDE: Fix slot type in ede-proj-target-makefile, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 5776e7c 06/50: EDE: Fallback to project-linux-build-directory-default if necessary, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 05d6b4b 03/50: semantic: Apply enum-type to all members,
David Engster <=
- [Emacs-diffs] scratch/last-cedet-merge fa84466 07/50: semantic: Fix current symbol info, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge a7276f6 08/50: ; semantic: Add TODO comment regarding arg indexing, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 307b510 09/50: semantic: Deal with missing prefix when completing symbol, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge fdd5968 15/50: semantic: New function to calculate scope around tag, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge ebc59a5 19/50: semantic: Accept FLAGS parameter for srecode-template-mode, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 47471b9 12/50: EDE: Add missing require and silence byte compiler, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 7308eaf 18/50: semantic: Accept FLAGS parameter for makefile-mode for analyzing completions, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge b4d1399 14/50: EDE: Rework config file detection, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge 95f8a69 29/50: semantic: More C grammar optimizations, David Engster, 2017/01/25
- [Emacs-diffs] scratch/last-cedet-merge deaa8c9 24/50: semantic: New function to find library with macro definition, David Engster, 2017/01/25