mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Implement "final" before C++ class inheritance lists.
* lisp/progmodes/cc-langs.el (c-class-id-suffix-ws-ids-kwds) (c-class-id-suffix-ws-ids-key): New lang const/var. * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 5D.4): Check for and skip over any matches for c-class-id-suffix-ws-ids-key (i.e. "final") before ":".
This commit is contained in:
parent
c2c9ef2c1e
commit
f9694a7138
2 changed files with 20 additions and 0 deletions
|
|
@ -12734,6 +12734,13 @@ comment at the start of cc-engine.el for more info."
|
|||
(if (eq (char-after) ?<)
|
||||
(zerop (c-forward-token-2 1 t indent-point))
|
||||
t)
|
||||
(progn
|
||||
(while
|
||||
(and
|
||||
(< (point) indent-point)
|
||||
(looking-at c-class-id-suffix-ws-ids-key)
|
||||
(zerop (c-forward-token-2 1 nil indent-point))))
|
||||
t)
|
||||
(eq (char-after) ?:))))
|
||||
(goto-char placeholder)
|
||||
(c-add-syntax 'inher-cont (c-point 'boi)))
|
||||
|
|
|
|||
|
|
@ -2049,6 +2049,19 @@ effect in the declaration, but are syntactically like whitespace."
|
|||
(c-lang-defvar c-type-decl-suffix-ws-ids-key
|
||||
(c-lang-const c-type-decl-suffix-ws-ids-key))
|
||||
|
||||
(c-lang-defconst c-class-id-suffix-ws-ids-kwds
|
||||
"\"Identifiers\" that when immediately following the identifier
|
||||
of a class declaration have semantic effect in the declaration,
|
||||
but are syntactially like whitespace."
|
||||
t nil
|
||||
c++ '("final"))
|
||||
|
||||
(c-lang-defconst c-class-id-suffix-ws-ids-key
|
||||
;; An adorned regexp matching `c-class-id-suffix-ws-ids-kwds'.
|
||||
t (c-make-keywords-re t (c-lang-const c-class-id-suffix-ws-ids-kwds)))
|
||||
(c-lang-defvar c-class-id-suffix-ws-ids-key
|
||||
(c-lang-const c-class-id-suffix-ws-ids-key))
|
||||
|
||||
(c-lang-defconst c-class-decl-kwds
|
||||
"Keywords introducing declarations where the following block (if any)
|
||||
contains another declaration level that should be considered a class.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue