;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\301\302\"\203 \303\304!\210\303\305!\210\303\306!\210\303\307!\210\310\311\312\313\314\315%\207" [emacs-version version< "25.1" require cl cc-mode cc-langs compile custom-declare-group csharp nil "Major mode for editing C# code." :group prog-mode] 6) #@38 Regex describing an dentifier in C#. (defconst csharp--regex-identifier "[A-Za-z][A-Za-z0-9_]*" (#$ . 353)) #@37 Regex matching an identifier in C#. (defconst csharp--regex-identifier-matcher (concat "\\(" csharp--regex-identifier "\\)") (#$ . 467)) #@43 Regex describing a type identifier in C#. (defconst csharp--regex-type-name "[A-Z][A-Za-z0-9_]*" (#$ . 610)) #@41 Regex matching a type identifier in C#. (defconst csharp--regex-type-name-matcher (concat "\\(" csharp--regex-type-name "\\)") (#$ . 725)) #@72 Regex matching identifiers after a using or namespace declaration. (defconst csharp--regex-using-or-namespace (concat "^using\\|namespace\\s *" csharp--regex-type-name-matcher) (#$ . 870)) (byte-code "\300\301\302\"\210\303\304\305\306BC\307#\210\303\310\311\312BC\313#\210\303\314\315\316BC\317#\210\303\320\321\322BC\323#\210\303\324\325\326BC\327#\210\303\330\331\332BC\333#\210\303\334\335\336BC\337#\210\303\340\341\342BC\343#\210\303\344\345\346BC\347#\210\303\350\351\352BC\353#\210\303\354\355\356BC\357#\210\303\360\361\362BC\363#\210\303\364\365\366BC\367#\210\303\370\371\372BC\373#\210\303\374\375\376BC\377#\210\303\201@\201A\201BBC\201C#\210\303\201D\201E\201FBC\201G#\210\303\201H\201I\201JBC\201K#\210\303\201L\201M\201NBC\201O#\210\303\201P\201Q\201RBC\201S#\210\303\201T\201U\201VBC\201W#\210\303\201X\201Y\201ZBC\201[#\210\303\201\\\201]\201^BC\201_#\207" [c-add-language csharp-mode java-mode c-define-lang-constant c-make-mode-syntax-table (csharp-mode) #[0 "\300\207" [(lambda nil (let ((table (make-syntax-table))) (c-populate-syntax-table table) (modify-syntax-entry 64 "_" table) table))] 1] (cc-langs) c-identifier-syntax-modifications (csharp-mode) #[0 "\300\301\302\303\304\"\"\207" [append ((64 . "w")) c-get-lang-constant c-identifier-syntax-modifications (cc-langs)] 5] (cc-langs) c-symbol-start (csharp-mode) #[0 "\301\302Q\207" [c-alpha "[" "_@]"] 3] (cc-langs) c-opt-type-suffix-key (csharp-mode) #[0 "\300\301\302\303\"\304Q\207" ["\\(\\[" c-get-lang-constant c-simple-ws (cc-langs) "*\\]\\|\\?\\)"] 4] (cc-langs) c-identifier-ops (csharp-mode) #[0 "\300\207" [((left-assoc "."))] 1] (cc-langs) c-overloadable-operators (csharp-mode) #[0 "\300\207" [("+" "-" "*" "/" "%" "&" "|" "^" "<<" ">>" "==" "!=" ">" "<" ">=" "<=")] 1] (cc-langs) c-multiline-string-start-char (csharp-mode) #[0 "\300\207" [64] 1] (cc-langs) c-type-prefix-kwds (csharp-mode) #[0 "\300\207" [("class" "interface" "struct")] 1] (cc-langs) c-class-decl-kwds (csharp-mode) #[0 "\300\207" [("class" "interface" "struct")] 1] (cc-langs) c-primitive-type-kwds (csharp-mode) #[0 "\300\207" [("bool" "byte" "sbyte" "char" "decimal" "double" "float" "int" "uint" "long" "ulong" "short" "ushort" "void" "object" "string" "var")] 1] (cc-langs) c-other-decl-kwds (csharp-mode) #[0 "\300\207" [nil] 1] (cc-langs) c-type-list-kwds (csharp-mode) #[0 "\300\207" [nil] 1] (cc-langs) c-other-block-decl-kwds (csharp-mode) #[0 "\300\207" [nil] 1] (cc-langs) c-return-kwds (csharp-mode) #[0 "\300\207" [("return")] 1] (cc-langs) c-typedef-kwds (csharp-mode) #[0 "\300\207" [nil] 1] (cc-langs) c-typeof-kwds (csharp-mode) #[0 "\300\207" [("typeof" "is" "as")] 1] (cc-langs) c-type-modifier-prefix-kwds (csharp-mode) #[0 "\300\207" [("volatile")] 1] (cc-langs) c-type-modifier-kwds (csharp-mode) #[0 "\300\207" [("readonly" "new")] 1] (cc-langs) c-brace-list-decl-kwds (csharp-mode) #[0 "\300\207" [("enum" "new")] 1] (cc-langs) c-recognize-post-brace-list-type-p (csharp-mode) #[0 "\300\207" [t] 1] (cc-langs) c-ref-list-kwds (csharp-mode) #[0 "\300\207" [nil] 1] (cc-langs) c-using-kwds (csharp-mode) #[0 "\300\207" [("using")] 1] (cc-langs) c-equals-type-clause-kwds (csharp-mode) #[0 "\300\207" [("using")] 1] (cc-langs)] 4) #@22 (fn &optional POS) (defalias 'csharp-at-vsemi-p #[256 "\211\203\211b\210\212\300 \210\301 \210\302\303!)\207" [beginning-of-line c-forward-sws looking-at "using\\s *("] 3 (#$ . 4127)]) (byte-code "\300\301\302\303BC\304#\207" [c-define-lang-constant c-at-vsemi-p-fn (csharp-mode) #[0 "\300\207" [csharp-at-vsemi-p] 1] (cc-langs)] 4) (defalias 'csharp-vsemi-status-unknown #[0 "\300\207" [t] 1]) (byte-code "\301\302\303\304BC\305#\210\301\306\307\310BC\311#\210\301\312\313\314BC\315#\210\301\316\317\320BC\321#\210\301\322\323\324BC\325#\210\301\326\327\330BC\331#\210\301\332\333\334BC\335#\210\301\336\337\340BC\341#\210\301\342\343\344BC\345#\210\301\346\347\350BC\351#\210\301\352\353\354BC\355#\210\301\356\357\360BC\361#\210\301\362\363\364BC\365#\210\301\366\367\370BC\371#\210\301\372\373\374BC\375#\210\301\376\377\201@BC\201A#\210\301\201B\201C\201DBC\201E#\210\301\201F\201G\201HBC\201I#\210\301\201J\201K\201LBC\201M#\210\301\201N\201O\201PBC\201Q#\210\301\201R\201S\201TBC\201U#\210\301\201V\201W\201XBC\201Y#\210\301\201Z\201[\201\\BC\201]#\210\201^\201_\201`\"\210\201a\236\204$\201bB\301\207" [c-default-style c-define-lang-constant c-vsemi-status-unknown-p-fn (csharp-mode) #[0 "\300\207" [csharp-vsemi-status-unknown-p] 1] (cc-langs) c-modifier-kwds (csharp-mode) #[0 "\300\207" [("abstract" "default" "final" "native" "private" "protected" "public" "partial" "internal" "readonly" "static" "event" "transient" "volatile" "sealed" "ref" "out" "virtual" "implicit" "explicit" "fixed" "override" "params" "async" "await" "extern" "unsafe" "get" "set" "this" "const" "delegate")] 1] (cc-langs) c-other-kwds (csharp-mode) #[0 "\300\207" [("select" "from" "where" "join" "in" "on" "equals" "into" "orderby" "ascending" "descending" "group" "when" "let" "by" "namespace")] 1] (cc-langs) c-colon-type-list-kwds (csharp-mode) #[0 "\300\207" [("class" "struct" "interface")] 1] (cc-langs) c-block-stmt-1-kwds (csharp-mode) #[0 "\300\207" [("do" "else" "finally" "try")] 1] (cc-langs) c-block-stmt-1-2-kwds (csharp-mode) #[0 "\300\207" [("try")] 1] (cc-langs) c-block-stmt-2-kwds (csharp-mode) #[0 "\300\207" [("for" "if" "switch" "while" "catch" "foreach" "fixed" "checked" "unchecked" "using" "lock")] 1] (cc-langs) c-simple-stmt-kwds (csharp-mode) #[0 "\300\207" [("break" "continue" "goto" "throw" "return" "yield")] 1] (cc-langs) c-constant-kwds (csharp-mode) #[0 "\300\207" [("true" "false" "null" "value")] 1] (cc-langs) c-primary-expr-kwds (csharp-mode) #[0 "\300\207" [("this" "base" "operator")] 1] (cc-langs) c-inexpr-class-kwds (csharp-mode) #[0 "\300\207" [nil] 1] (cc-langs) c-class-decl-kwds (csharp-mode) #[0 "\300\207" [("class" "struct" "interface")] 1] (cc-langs) c-std-abbrev-keywords (csharp-mode) #[0 "\300\301\302\303\"\304\"\207" [append c-get-lang-constant c-std-abbrev-keywords (cc-langs) ("catch" "finally")] 4] (cc-langs) c-decl-prefix-re (csharp-mode) #[0 "\300\207" [#1="\\([{}(;,<]+\\)"] 1 #1#] (cc-langs) c-recognize-typeless-decls (csharp-mode) #[0 "\300\207" [t] 1] (cc-langs) c-recognize-<>-arglists (csharp-mode) #[0 "\300\207" [t] 1] (cc-langs) c-opt-cpp-prefix (csharp-mode) #[0 "\300\207" [#2="\\s *#\\s *"] 1 #2#] (cc-langs) c-opt-cpp-macro-define (csharp-mode) #[0 "\300\301\302\"\205\303\207" [c-get-lang-constant c-opt-cpp-prefix (cc-langs) "define"] 3] (cc-langs) c-cpp-message-directives (csharp-mode) #[0 "\300\207" [("error" "warning" "region")] 1] (cc-langs) c-cpp-expr-directives (csharp-mode) #[0 "\300\207" [("if" "elif")] 1] (cc-langs) c-other-op-syntax-tokens (csharp-mode) #[0 "\300\301\302\303\304\"\"\207" [append ("#") c-get-lang-constant c-other-op-syntax-tokens (cc-langs)] 5] (cc-langs) c-line-comment-starter (csharp-mode) #[0 "\300\207" [#3="//"] 1 #3#] (cc-langs) c-doc-comment-start-regexp (csharp-mode) #[0 "\300\207" [#4="///"] 1 #4#] (cc-langs) c-add-style "csharp" ("java" (c-basic-offset . 4) (c-comment-only-line-offset 0 . 0) (c-offsets-alist (inline-open . 0) (arglist-intro . +) (arglist-close . 0) (inexpr-class . 0) (case-label . +) (cpp-macro . c-lineup-dont-change) (substatement-open . 0))) csharp-mode (csharp-mode . "csharp")] 4) #@23 (fn FONT-LOCK-FACE) (defalias 'csharp--color-forwards #[257 "\300\301\224b\210\300v\210\300f\302=\206\300f\303=?\205@\300u\210\304 \210`\262\305\306\307\"\300w\301V\205@\310`\311\"?\205@\312`\311$\210\304 \210\202\207" [nil 0 59 123 c-forward-sws c-get-lang-constant c-symbol-chars (cc-langs) get-text-property face put-text-property] 7 (#$ . 8297)]) (byte-code "\300\301\302\303BC\304#\210\300\305\306\307BC\310#\210\311\312\313\314\315DD\316\317\320\321\322&\210\311\323\313\314\324DD\325\326\327\330#\317\331\321\332&\207" [c-define-lang-constant c-basic-matchers-before (csharp-mode) #[0 "\303\304\305\"\203\306\307 \310Q\311\"C\202\312\313\314\315\316\"\2050\317\320\314\315\321\"\"\322\323\324\325Q\326BBBC\262\327\314\330\331\"P\332B\306\n\333\"C\334BB$\207" [emacs-version c-string-limit-regexp csharp--regex-using-or-namespace append version< "27.0" c-make-font-lock-search-function ".\\(" "\\)" ((c-font-lock-invalid-string)) (("\\s|" 0 font-lock-warning-face t nil)) (c-font-lock-invalid-single-quotes) c-get-lang-constant c-constant-kwds (cc-langs) c-make-keywords-re nil (cc-langs) eval list "\\<\\(" "\\)\\>" (1 c-constant-face-name) "\\<" c-regular-keywords-regexp (cc-langs) (1 font-lock-keyword-face) ((csharp--color-forwards font-lock-variable-name-face) nil (goto-char (match-end 0))) ((eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list (concat "\\ *" csharp--regex-type-name-matcher) 1 font-lock-type-face) (eval list (concat "\\[" csharp--regex-type-name-matcher "\\][^;]") 1 font-lock-variable-name-face t) (eval list "\\([A-Za-z0-9_]+\\)\\(<[a-zA-Z0-9, ]+>\\)?(" 1 font-lock-function-name-face) (eval list (concat "\\(\\\\) *(") 1 font-lock-function-name-face) (eval list (concat "\\ *( *" csharp--regex-identifier-matcher " *) *") 1 font-lock-variable-name-face) (eval list (concat "\\ *( *" csharp--regex-type-name-matcher " *) *") 1 font-lock-type-face))] 9] (cc-fonts) c-basic-matchers-after (csharp-mode) #[0 "\300\301\302\303\"!\207" [append c-get-lang-constant c-basic-matchers-after (cc-fonts)] 4] (cc-fonts) custom-declare-variable csharp-codedoc-tag-face funcall function #[0 "\300\207" [c-doc-markup-face-name] 1] "Face to be used on the codedoc docstring tags.\n\nShould be one of the font lock faces, such as\n`font-lock-variable-name-face' and friends.\n\nNeeds to be set before `csharp-mode' is loaded, because of\ncompilation and evaluation time conflicts." :type symbol :group csharp csharp-font-lock-extra-types #[0 "C\207" [csharp--regex-type-name] 1] c-make-font-lock-extra-types-blurb "C#" "csharp-mode" "" c-extra-types-widget c] 8) #@35 Minimal font locking for C# mode. (defconst csharp-font-lock-keywords-1 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:error\\|region\\|warning\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\305\300!\306\307\310#\203p\311\224b\210\312!\204\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320 $\210)\210\313 \314\321\"\216\317\224\317\225S\211f\322=\203^\n^\316\211T\323 $\266\211\n^\316\211T\323\f$\266\202k\n^\324\211T\325#\266)\210\202)\326\207" [parse-sexp-lookup-properties font-lock-string-face c-syntax-table-hwm c-<-as-paren-syntax c->-as-paren-syntax boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 62 syntax-table remove-text-properties (syntax-table nil) nil] 10 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303\304\305#\203p\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313\224\203b\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321 !\203^\314\306\224\306\225\316\322$\210\306\225b\210\320 \210\323f\324=\203^\323u\210\2028)\202k\314\315\224\315\225\316\322$\210)\210\202)\323\207" [parse-sexp-lookup-properties c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300! \304=\203<\212\305 \210`)\306\307\310#\203;\311\224b\210\312!\204\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$\210)\210\202\210`W\203\306\321\310#\203\311\224b\210\312!\204<\311\225b\210\322\225b\210\313 \314\323\"\216\311\225\306\307\324#\203y\316\317\224\317\225\320\n$\210\202e\210)\210\202<)\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303\304\305#\203/\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313\314\224\314\225\315 $\210)\210\202)\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301\302\303#\211\262\203\304\224b\210\305!\204\304\225b\210\207" [nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) c-get-lang-constant c-matchers-1 (cc-fonts) csharp-mode] 4) (#$ . 10954)) #@39 Fast normal font locking for C# mode. (defconst csharp-font-lock-keywords-2 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:error\\|region\\|warning\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\305\300!\306\307\310#\203p\311\224b\210\312!\204\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320 $\210)\210\313 \314\321\"\216\317\224\317\225S\211f\322=\203^\n^\316\211T\323 $\266\211\n^\316\211T\323\f$\266\202k\n^\324\211T\325#\266)\210\202)\326\207" [parse-sexp-lookup-properties font-lock-string-face c-syntax-table-hwm c-<-as-paren-syntax c->-as-paren-syntax boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 62 syntax-table remove-text-properties (syntax-table nil) nil] 10 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303\304\305#\203p\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313\224\203b\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321 !\203^\314\306\224\306\225\316\322$\210\306\225b\210\320 \210\323f\324=\203^\323u\210\2028)\202k\314\315\224\315\225\316\322$\210)\210\202)\323\207" [parse-sexp-lookup-properties c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300! \304=\203<\212\305 \210`)\306\307\310#\203;\311\224b\210\312!\204\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$\210)\210\202\210`W\203\306\321\310#\203\311\224b\210\312!\204<\311\225b\210\322\225b\210\313 \314\323\"\216\311\225\306\307\324#\203y\316\317\224\317\225\320\n$\210\202e\210)\210\202<)\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303\304\305#\203/\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313\314\224\314\225\315 $\210)\210\202)\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301\302\303#\211\262\203\304\224b\210\305!\204\304\225b\210\207" [nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (eval list "\\<\\(\\(?:false\\|null\\|\\(?:tr\\|val\\)ue\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:ase\\|reak\\|y\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|hecked\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:fault\\|legate\\|scending\\)\\|o\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|n\\(?:stanceof\\|t\\(?:er\\(?:face\\|nal\\)\\|o\\)\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|ock\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|o\\(?:n\\|perator\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:e\\(?:aled\\|\\(?:lec\\)?t\\)\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\|ypeof\\)\\|u\\(?:n\\(?:checked\\|safe\\)\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[257 "\302\300!\303\304\305#\203.\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313 !\210)\210\306\225b\210\202)\314\207" [parse-sexp-lookup-properties font-lock-variable-name-face boundp re-search-forward "^using\\|namespace\\s *\\([A-Z][A-Za-z0-9_]*\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] csharp--color-forwards nil] 5 "\n\n(fn LIMIT)"]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list (concat "\\ *" csharp--regex-type-name-matcher) 1 font-lock-type-face) (eval list (concat "\\[" csharp--regex-type-name-matcher "\\][^;]") 1 font-lock-variable-name-face t) (eval list "\\([A-Za-z0-9_]+\\)\\(<[a-zA-Z0-9, ]+>\\)?(" 1 font-lock-function-name-face) (eval list (concat "\\(\\\\) *(") 1 font-lock-function-name-face) (eval list (concat "\\ *( *" csharp--regex-identifier-matcher " *) *") 1 font-lock-variable-name-face) (eval list (concat "\\ *( *" csharp--regex-type-name-matcher " *) *") 1 font-lock-type-face) (eval list #[257 "\302\300!\303 \304#\203S\305\224b\210\306!\204\305\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$\210)\210\307 \310\316\"\216\313\225b\210\317 \210)\210\307 \310\320\"\216\321\304\322\211$\210)\210\313\225b\210\202)\322\207" [parse-sexp-lookup-properties c-known-type-key boundp re-search-forward t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 1 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302\303\304#\203S\305\224b\210\306!\204\305\225b\210\307 \310\311\"\216\312\313\224\313\225\314\315$\210)\210\307 \310\316\"\216\313\225b\210\317 \210)\210\307 \310\320\"\216\321\304\322\211$\210)\210\313\225b\210\202)\322\207" [parse-sexp-lookup-properties boundp re-search-forward "\\<\\(\\(?:class\\|interface\\|struct\\)\\)\\(\\s \\|[\n ]\\)+\\([[:alpha:]_@][[:alnum:]_$]*\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 3 face font-lock-type-face #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) (#[257 "\301\300!\302\303\304#\203A\305\224b\210\306!\204\305\225b\210\307 \310\311\"\216\312\225b\210\313 \210)\210\307 \310\314\"\216\315\304\316\211$\210)\210\312\225b\210\202)\316\207" [parse-sexp-lookup-properties boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|interface\\|new\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 1 c-forward-sws #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] c-font-lock-declarators nil] 7 "\n\n(fn LIMIT)"]) c-font-lock-labels c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[257 "\304\300!\305\306!`\307!@\310=\203`\202\211\262b\210\311\312\313#\203S\314\224b\210\315!\204\314\225b\210\316 \317\320\"\216\313\321\313\322\323!\210`V\203Kb\210\324 \210,\210\202)\266\321\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|interface\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-2 (cc-fonts) csharp-mode] 4) (#$ . 14992)) #@43 Accurate normal font locking for C# mode. (defconst csharp-font-lock-keywords-3 (byte-code "\301=\203\302\207\303\304\305\306#\207" [c-version-sym 5\.35\.1 (c-maybe-font-lock-wrong-style-comments ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:error\\|region\\|warning\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) (#[257 "\305\300!\306\307\310#\203p\311\224b\210\312!\204\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320 $\210)\210\313 \314\321\"\216\317\224\317\225S\211f\322=\203^\n^\316\211T\323 $\266\211\n^\316\211T\323\f$\266\202k\n^\324\211T\325#\266)\210\202)\326\207" [parse-sexp-lookup-properties font-lock-string-face c-syntax-table-hwm c-<-as-paren-syntax c->-as-paren-syntax boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 8 face #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 62 syntax-table remove-text-properties (syntax-table nil) nil] 10 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303\304\305#\203p\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313\224\203b\214\314\315\224\315\225\316\317$\210\313\225b\210e}\210\320 \210\321 !\203^\314\306\224\306\225\316\322$\210\306\225b\210\320 \210\323f\324=\203^\323u\210\2028)\202k\314\315\224\315\225\316\322$\210)\210\202)\323\207" [parse-sexp-lookup-properties c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_@][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 7 "\n\n(fn LIMIT)"]) (#[257 "\303\300! \304=\203<\212\305 \210`)\306\307\310#\203;\311\224b\210\312!\204\311\225b\210\313 \314\315\"\216\316\317\224\317\225\320\n$\210)\210\202\210`W\203\306\321\310#\203\311\224b\210\312!\204<\311\225b\210\322\225b\210\313 \314\323\"\216\311\225\306\307\324#\203y\316\317\224\317\225\320\n$\210\202e\210)\210\202<)\325\207" [parse-sexp-lookup-properties c-font-lock-context c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] move nil] 8 "\n\n(fn LIMIT)"]) (#[257 "\302\300!\303\304\305#\203/\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313\314\224\314\225\315 $\210)\210\202)\316\207" [parse-sexp-lookup-properties c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] put-text-property 3 face nil] 7 "\n\n(fn LIMIT)"]) (eval list #[257 "\300\301\302\303#\211\262\203\304\224b\210\305!\204\304\225b\210\207" [nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 6 "\n\n(fn LIMIT)"] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (eval list "\\<\\(\\(?:false\\|null\\|\\(?:tr\\|val\\)ue\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:ase\\|reak\\|y\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|hecked\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:fault\\|legate\\|scending\\)\\|o\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|n\\(?:stanceof\\|t\\(?:er\\(?:face\\|nal\\)\\|o\\)\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|ock\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|o\\(?:n\\|perator\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:e\\(?:aled\\|\\(?:lec\\)?t\\)\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\|ypeof\\)\\|u\\(?:n\\(?:checked\\|safe\\)\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[257 "\302\300!\303\304\305#\203.\306\224b\210\307!\204\306\225b\210\310 \311\312\"\216\313 !\210)\210\306\225b\210\202)\314\207" [parse-sexp-lookup-properties font-lock-variable-name-face boundp re-search-forward "^using\\|namespace\\s *\\([A-Z][A-Za-z0-9_]*\\)" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] csharp--color-forwards nil] 5 "\n\n(fn LIMIT)"]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) (eval list (concat "\\ *" csharp--regex-type-name-matcher) 1 font-lock-type-face) (eval list (concat "\\[" csharp--regex-type-name-matcher "\\][^;]") 1 font-lock-variable-name-face t) (eval list "\\([A-Za-z0-9_]+\\)\\(<[a-zA-Z0-9, ]+>\\)?(" 1 font-lock-function-name-face) (eval list (concat "\\(\\\\) *(") 1 font-lock-function-name-face) (eval list (concat "\\ *( *" csharp--regex-identifier-matcher " *) *") 1 font-lock-variable-name-face) (eval list (concat "\\ *( *" csharp--regex-type-name-matcher " *) *") 1 font-lock-type-face) c-font-lock-complex-decl-prepare c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists c-font-lock-c++-using ("\\<\\(\\(?:b\\(?:ool\\|yte\\)\\|char\\|d\\(?:ecimal\\|ouble\\)\\|float\\|int\\|long\\|object\\|s\\(?:byte\\|hort\\|tring\\)\\|u\\(?:int\\|long\\|short\\)\\|v\\(?:ar\\|oid\\)\\)\\)\\>" 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock-enum-body (eval list "\\<\\(\\(?:break\\|continue\\|goto\\)\\)\\>\\s *\\([[:alpha:]_@][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[257 "\304\300!\305\306!`\307!@\310=\203`\202\211\262b\210\311\312\313#\203S\314\224b\210\315!\204\314\225b\210\316 \317\320\"\216\313\321\313\322\323!\210`V\203Kb\210\324 \210,\210\202)\266\321\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|interface\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 7 "\n\n(fn LIMIT)"]) (eval list "\\<\\(@[a-zA-Z0-9]+\\)\\>" 1 c-annotation-face)) c-get-lang-constant c-matchers-3 (cc-fonts) csharp-mode] 4) (#$ . 24153)) #@46 Default expressions to highlight in C# mode. (defvar csharp-font-lock-keywords csharp-font-lock-keywords-3 (#$ . 31692)) (defalias 'csharp-font-lock-keywords-2 #[0 "\301!\207" [csharp-font-lock-keywords-2 c-compose-keywords-list] 2]) (defalias 'csharp-font-lock-keywords-3 #[0 "\301!\207" [csharp-font-lock-keywords-3 c-compose-keywords-list] 2]) (defalias 'csharp-font-lock-keywords #[0 "\301!\207" [csharp-font-lock-keywords c-compose-keywords-list] 2]) #@63 Resolve an msbuild error to a (filename . dirname) cons cell. (defalias 'csharp--compilation-error-file-resolve #[0 "\300\301!\302\300\303!!B\207" [match-string 1 file-name-directory 4] 4 (#$ . 32157)]) #@49 Regexp to match compilation error from msbuild. (defconst csharp-compilation-re-msbuild-error "^[[:blank:]]*\\(?:[[:digit:]]+>\\)?\\([^( \n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?): error [[:alnum:]]+: [^ \n]+\\[\\([^] \n]+\\)\\]$" (#$ . 32366)) #@51 Regexp to match compilation warning from msbuild. (defconst csharp-compilation-re-msbuild-warning "^[[:blank:]]*\\(?:[[:digit:]]+>\\)?\\([^( \n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?): warning [[:alnum:]]+: [^ \n]+\\[\\([^] \n]+\\)\\]$" (#$ . 32619)) #@48 Regexp to match compilation error from xbuild. (defconst csharp-compilation-re-xbuild-error "^[[:blank:]]*\\(?:[[:digit:]]+>\\)?\\([^( \n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?\\(?:,\\([0-9]+\\)\\)*): error [[:alnum:]]+: .+$" (#$ . 32878)) #@50 Regexp to match compilation warning from xbuild. (defconst csharp-compilation-re-xbuild-warning "^[[:blank:]]*\\(?:[[:digit:]]+>\\)?\\([^( \n)]+\\)(\\([0-9]+\\)\\(?:,\\([0-9]+\\)\\)?\\(?:,\\([0-9]+\\)\\)?*): warning [[:alnum:]]+: .+$" (#$ . 33126)) (defconst csharp-compilation-re-dotnet-error "\\([^ \n]+\\) : error [A-Z]+[0-9]+:") (defconst csharp-compilation-re-dotnet-warning "\\([^ \n]+\\) : warning [A-Z]+[0-9]+:") (defconst csharp-compilation-re-dotnet-testfail "^[[:blank:]]+X \\(?:.+\n\\)[[:blank:]]+Error Message:\n[[:blank:]]+\\(?:.+\n\\)\\(?:^Expected: \\(?:.+\n\\)\\)?\\(?:^Actual: \\(?:.+\n\\)\\)?[[:blank:]]+Stack Trace:\n[[:blank:]]+at [^\n]+ in \\([^\n]+\\):line \\([0-9]+\\)") (eval-after-load 'compile #[0 "\306\307BB\310 \311BB\312\n\313BB\314 \315BB\316\f\317BB\320 \321BB\322\323BB\257\211\205>\211@\324\325\"\210\324\326@\"\210A\266\202\202&\207" [csharp-compilation-re-dotnet-testfail csharp-compilation-re-xbuild-error csharp-compilation-re-xbuild-warning csharp-compilation-re-msbuild-error csharp-compilation-re-msbuild-warning csharp-compilation-re-dotnet-error dotnet-testfail (1 2) xbuild-error (1 2 3 2) xbuild-warning (1 2 3 1) msbuild-error (csharp--compilation-error-file-resolve 2 3 2 nil (1 compilation-error-face) (4 compilation-error-face)) msbuild-warning (csharp--compilation-error-file-resolve 2 3 1 nil (1 compilation-warning-face) (4 compilation-warning-face)) dotnet-error (1) dotnet-warning (1 nil nil 1) add-to-list compilation-error-regexp-alist-alist compilation-error-regexp-alist csharp-compilation-re-dotnet-warning] 9]) (defconst codedoc-font-lock-doc-comments (byte-code "\301\302\303BBB\304\302\305BBBD\207" [csharp-codedoc-tag-face "" 0 (prepend nil) "&\\(\\sw\\|[.:]\\)+;" (prepend nil)] 5)) (defconst codedoc-font-lock-keywords (byte-code "\300CC\207" [#[257 "\301\302#\207" [codedoc-font-lock-doc-comments c-font-lock-doc-comments "///"] 5 "\n\n(fn LIMIT)"]] 1)) (advice-add 'c-looking-at-inexpr-block :around 'csharp-looking-at-inexpr-block) #@28 (fn ORIG-FUN &rest ARGS) (defalias 'csharp-looking-at-inexpr-block #[385 "\300 \211\203\207\301\"\207" [csharp-at-lambda-header apply] 6 (#$ . 35209)]) (defalias 'csharp-at-lambda-header #[0 "\212\300 \210o?\205*\301u\210\3021\303`\301\"b0\210\202\210\304\305!\204'\304\306!\205*\307`B)\207" [c-backward-sws -1 (error) scan-sexps looking-at "([[:alnum:][:space:]_,]*)[ \n]*=>[ \n]*{" "[[:alnum:]_]+[ \n]*=>[ \n]*{" inexpr] 3]) (advice-add 'c-guess-basic-syntax :around 'csharp-guess-basic-syntax) #@28 (fn ORIG-FUN &rest ARGS) (defalias 'csharp-guess-basic-syntax #[385 "\212\212\300y\210\301 \210`)b\210\302f\303=\2059\212\3041!\305`\306\307#0\202#\210\302\211\203*\211b\210\210`Sf\310=\2058\302f\311=?))\203J\312\212\300y\210\301 \210`)DC\207\212\212\301 \210`)b\210\302f)\313=\203\261\212\212\300y\210\301 \210`)b\210\314\315!)\203\261\212\316\307!b\210`Sf\311=?\206\203`Sf\313=?)\203\261\212\316\307!b\210`Sf)\313=\203\243\317\212\300y\210\301 \210`)DC\207\320\321\212\300y\210\301 \210`)DD\207\322\"\207" [-1 back-to-indentation nil 91 (error) scan-lists 1 0 93 59 annotation-top-cont 123 looking-at ".*\\s *new\\s *.*" line-end-position brace-list-intro (block-open) statement apply] 6 (#$ . 35729)]) (byte-code "\301\302\"\203\303\304\305\"\210\303\306\307\"\210\301\207" [emacs-version version= "27.1" defalias c-pps-to-string-delim #[257 "`\300\301\211\302\301\211\300\301\303BBBBBBBBB\300\301\211\304\301\211\300\301 \305BBBBBBBBB\301\211\306\301\211\307&\210`\262b\210\306`\301\211\307&\210o\204R\310`S!\210`\262`W\203d`Sf\302=\203=^b\210\301\207" [0 nil 34 (nil nil) t (nil nil) parse-partial-sexp syntax-table c-clear-syn-tab] 13 "\n\n(fn END)"] c-multiline-string-check-final-quote #[0 "\300\211\212db\210\301\300x\210o\204V\302 \262\303!\262\211\304>\203#@b\202L\212\305u\210\212`b\210\306\307\300x\310\"\311U*\204=\305u\210\202O\312`S!\210\302 \262\303!\262\300\203V\301\300x\210\202\no\206i\211\313=\203h\314`S\315\"\202i\300)\207" [nil "^\"" c-literal-limits c-literal-type (c c++) -1 logand "\\\\" 1 0 c-clear-syn-tab string c-put-syn-tab (15)] 5]] 3) #@43 Syntax table used in csharp-mode buffers. (defvar csharp-mode-syntax-table (byte-code "\301=\203\n\302\202\303\304\305\306# \207" [c-version-sym 5\.35\.1 (lambda nil (let ((table (make-syntax-table))) (c-populate-syntax-table table) (modify-syntax-entry 64 "_" table) table)) c-get-lang-constant c-make-mode-syntax-table (cc-langs) csharp-mode] 4) (#$ . 37363)) #@37 Keymap used in csharp-mode buffers. (defvar csharp-mode-map (c-make-inherited-keymap) (#$ . 37735)) #@18 C# Mode Commands (defvar csharp-mode-menu nil (#$ . 37841)) (byte-code "\302\303\304\305 \306=\203\307\202\310\311\312\313#B$\210\314\315\316\"\210\317\320\321\322\323DD\324\325\326\327\330&\207" [csharp-mode-map c-version-sym easy-menu-do-define csharp-mode-menu "C# Mode Commands" "C#" 5\.35\.1 (["Comment Out Region" comment-region (c-fn-region-is-active-p)] ["Uncomment Region" (comment-region (region-beginning) (region-end) '(4)) (c-fn-region-is-active-p)] ["Indent Expression" c-indent-exp (memq (char-after) '(40 91 123))] ["Indent Line or Region" c-indent-line-or-region t] ["Fill Comment Paragraph" c-fill-paragraph t] "----" ["Backward Statement" c-beginning-of-statement t] ["Forward Statement" c-end-of-statement t] ["Up Conditional" c-up-conditional t] ["Backward Conditional" c-backward-conditional t] ["Forward Conditional" c-forward-conditional t] "----" ["Macro Expand Region" c-macro-expand (c-fn-region-is-active-p)] ["Backslashify" c-backslash-region (c-fn-region-is-active-p)] "----" ("Style..." ["Set Style..." c-set-style t] ["Show Current Style Name" (message "Style Name: %s" c-indentation-style) t] ["Guess Style from this Buffer" c-guess-buffer-no-install t] ["Install the Last Guessed Style..." c-guess-install (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)] ["View the Last Guessed Style" c-guess-view (and c-guess-guessed-offsets-alist c-guess-guessed-basic-offset)]) "----" ("Toggle..." ["Syntactic indentation" c-toggle-syntactic-indentation :style toggle :selected c-syntactic-indentation] ["Electric mode" c-toggle-electric-state :style toggle :selected c-electric-flag] ["Auto newline" c-toggle-auto-newline :style toggle :selected c-auto-newline] ["Hungry delete" c-toggle-hungry-state :style toggle :selected c-hungry-delete-key] ["Subword mode" c-subword-mode :style toggle :selected (and (boundp 'c-subword-mode) c-subword-mode)])) c-get-lang-constant c-mode-menu (cc-langs) csharp-mode add-to-list auto-mode-alist ("\\.cs\\'" . csharp-mode) custom-declare-variable csharp-mode-hook funcall function #[0 "\300\207" [nil] 1] "*Hook called by `csharp-mode'." :type hook :group csharp] 9) (defvar csharp-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [csharp-mode-hook variable-documentation put "Hook run after entering C# mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp csharp-mode-map definition-name csharp-mode] 4) (defvar csharp-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [csharp-mode-abbrev-table csharp-mode-map variable-documentation put purecopy "Keymap for `csharp-mode'." boundp csharp-mode-syntax-table definition-name csharp-mode (lambda (def-tmp-var) (defvar csharp-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `csharp-mode'." (lambda (def-tmp-var) (defvar csharp-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `csharp-mode'." derived-mode-parent prog-mode] 5) #@241 Major mode for editing Csharp code. Key bindings: \{csharp-mode-map} In addition to any hooks its parent mode `prog-mode' might have run, this mode runs the hook `csharp-mode-hook', as the final or penultimate step during initialization. (defalias 'csharp-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R @=\204R\326 \325@C#\210\327 !\210\330\f!\210 @\331\307!\210\311\332\211A\306\333!\210\306\334!\210\306\335!\210\306\336!\210\306\337!\210\306\340!\210\306\341!\210\3421\263B\343=\203\211\333\262\344\334\262\345\335\262\346\336\262\347\337\262\332\340\262\350 \341\262\351!\352\262\353\354! *\355\262\356-\357\262\360\361\211A\204\326\362\363!\210A\364N\211\204\344\362\365A\"\210\366P!\266\202J\262!-\332\203 @\262A\262\367@A#\210\202\362\266\203/\370\262\371\211<\203\211\202\211C\2628\372\262\373\211<\203.\211\2020\211C\262:\374\262\375C<\376\262\377>\201C\262\201\363C\201D\262\332D\201E\262\332E\201F\262\201\364F\201G\262\332G\201H\262\332H\201I\262\332I\201J\262\201\365J\201K\262\201\366K\201L\262\201\367L\201M\262\201\370M\201N\262\201\371N\201O\262\201\372O\201P\262\201\373P\201Q\262\201\365Q\201R\262\201\374R\201S\262\332S\201T\262\201\375T\201U\262\201\376U\201V\262\332V\201W\262\201\377W\201X\262\332X\201Y\262\201Y\201Z\262\201Z\201[\262\201[\201\\\262\201\\\201]\262\201]\201^\262\201^\201_\262\201_\201`\262\201`\201a\262\201a\201b\262\332b\201c\262\332c\201d\262\201 d\201e\262\201\ne\201f\262\201 f\201g\262\201\fg\201h\262\201h\201i\262\201 i\201j\262\201j\201k\262\201k\201l\262\201l\201m\262\201m\201n\262\201n\201o\262\201o\201p\262\201p\201q\262\201q\201r\262\201r\201s\262\201s\201t\262\201t\201u\262\201u\201v\262\201v\201w\262\201 w\201x\262\201x\201y\262\201y\201z\262\201z\201{\262\201{\201|\262\201|\201}\262\201}\201~\262\201~\201\262\201\201\200\262\201\200\201\201\262\201\201\201\202\262\201\202\201\203\262\201\203\201\204\262\201 \204\201\205\262\201!\205\201\206\262\201\"\206\201\207\262\332\207\201\210\262\201#\210\201\211\262\201$\211\201\212\262\201%\212\201\213\262\201&\213\201\214\262\201'\214\201\215\262\201(\215\201\216\262\201)\216\201\217\262\201 \217\201\220\262\201*\220\201\221\262\201 \221\201\222\262\201+\222\201\223\262\201,\223\201\224\262\201-\224\201\225\262\201-\225\201\226\262\201 \226\201\227\262\201 \227\201\230\262\201+\230\201\231\262\201.\231\201\232\262\201 \232\201\233\262\307\233\201\234\262\201 \234\201\235\262\201/\2010\332\"\235\201\236\262\2011\236\201\237\262\2011\237\201\240\262\2012\240\201\241\262\201 \241\201\242\262\2012\242\201\243\262\201 \243\201\244\262\2013\244\201\245\262\2014\245\201\246\262\2015\246\201\247\262\2016\247\201\250\262\201 \250\201\251\262\332\251\201\252\262\332\252\201\253\262\2017\253\201\254\262\201 \254\201\255\262\2018\255\201\256\262\201 \256\201\257\262\201 \257\201\260\262\2019\260\201\261\262\201:\261\201\262\262\201;\262\201\263\262\201<\263\201\264\262\201 \264\201\265\262\201=\265\201\266\262\201>\266\201\267\262\201?\267\201\270\262\332\270\201\271\262\201@\271\201\272\262\201A\272\201\273\262\201B\273\201\274\262\201C\274\201\275\262\201D\275\201\276\262\201E\276\201\277\262\332\277\201\300\262\201F\300\201\301\262\201G\301\201\302\262\201H\302\201\304\262\201I\332\211\201JG\201K_\201\"\303\203n@@\262@A\262A\262\201L\366\303\"\201M\201N\201/\201O\"\"\"\210\202?\303)\266\203\304\201\305\262\201P\305\201\306\262\201Q\306\201\307\262\201\307\201\310\262\201R\310\201\311\262\201\365\311\201\312\262\201S\312\201\313\262\201K\313\201\314\262\201T\314\201\315\262\201U\315\201\316\262\201V\316\201\317\262\201\317\201\320\262\201W\320\201\321\262\201X\321\201\322\262\201Y\322\201\323\262\332\323\201\324\262\201Z\324\201\325\262\201[\201\\A\204'\362\363!\210A\364N\211\2045\362\365A\"\210\366P!\266\202!\205e\201\\\211A\204M\362\363!\210A\364N\211\204[\362\365A\"\210\366P!\266\202J\262\201]\332\201/\201^\"\"\201]\332\201/\201_\"\"\201`\201a\201b\201c\332\201b\201d\"\"C\"\201e\"\201fQ\266\203\325\201\326\262\332\326\201\327\262\332\327\201\330\262\201 \330\201\331\262\201\331\201\332\262\307\332\201\333\262\307\333\201\334\262\201g\334\201\335\262\201h\335\201\336\262\307\336\201\337\262\332\337\201\340\262\332\340\201\341\262\332\341\201\342\262\201i\342\201\343\262\201j\343\201\344\262\2017\344\201\345\262\307\345\201\346\262\201k\346\201\347\262\201l\347\201\350\262\201l\350\201\351\262\201\351\201\352\262\332\352\201\353\262\332\353\201\354\262\332\354\201\355\262\307\355\201\356\262\201m\211\356\202\256\307\262\201n\211\211\205\252\211@\211@\262\211@\353A@!L\210A\266\202\202\220\262\2620\210\202\344\203\332\201o\201p\203\322\201q\201r\311\201s\357$\202\323\346$\266\202\344\201t@A\"\266)\266\201u\311!\210\201v\360!\210\306\201\361!\210\201w\361\201x\201y\201z\"\210)\201{\362B\362\201x\201z!\207" [delay-mode-hooks major-mode mode-name csharp-mode-map csharp-mode-syntax-table csharp-mode-abbrev-table make-local-variable t prog-mode csharp-mode "C#" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table c-initialize-cc-mode nil font-lock-comment-end-skip comment-start comment-end comment-start-skip comment-end-can-be-escaped beginning-of-defun-function end-of-defun-function (error) 5\.35\.1 "[ ]*\\*/" "// " "" "\\(?://+\\|/\\*+\\)\\s *" c-beginning-of-defun c-end-of-defun c-no-parens-syntax-table eval (lambda nil (let ((table (funcall (lambda nil (let ((table (make-syntax-table))) (c-populate-syntax-table table) (modify-syntax-entry 64 "_" table) table))))) (modify-syntax-entry 40 "." table) (modify-syntax-entry 41 "." table) (modify-syntax-entry 91 "." table) (modify-syntax-entry 93 "." table) (modify-syntax-entry 123 "." table) (modify-syntax-entry 125 "." table) table)) c-identifier-syntax-modifications ((64 . "w") (64 . "w") (95 . "w") (36 . "w")) c-identifier-syntax-table copy-syntax-table #18="mode-syntax-table" error "Not inside a CC Mode based mode" c-mode-prefix "%S has no mode prefix known to `c-mode-symbol'" intern modify-syntax-entry c-get-state-before-change-functions (c-parse-quotes-before-change c-before-change-check-unbalanced-strings c-before-change-check-<>-operators) c-before-font-lock-functions (c-depropertize-new-text c-after-change-escape-NL-in-string c-parse-quotes-after-change c-after-change-mark-abnormal-strings c-restore-<>-properties c-change-expand-fl-region) c-before-context-fontification-functions c-context-expand-fl-region c-at-vsemi-p-fn csharp-at-vsemi-p local-abbrev-table c-buffer-is-cc-mode c-version-sym c-vsemi-status-unknown-p-fn c-has-bitfields c-single-quotes-quote-strings c-string-delims c-has-quoted-numbers c-has-compound-literals c-modified-constant c-symbol-start c-symbol-chars c-symbol-char-key c-symbol-key c-nonsymbol-chars c-nonsymbol-key c-opt-identifier-concat-key c-identifier-start c-identifier-key c-string-escaped-newlines c-multiline-string-start-char c-string-innards-re-alist c-opt-cpp-symbol c-opt-cpp-prefix c-anchored-cpp-prefix c-opt-cpp-start c-cpp-include-key c-opt-cpp-macro-define c-opt-cpp-macro-define-start c-opt-cpp-macro-define-id c-cpp-expr-intro-re c-cpp-expr-functions-key c-operator-re c-non-after-{}-ops-re c-overloadable-operators-regexp c-opt-op-identifier-prefix c-ambiguous-overloadable-or-identifier-prefix-re c-nonsymbol-token-regexp c-assignment-op-regexp c-arithmetic-op-regexp c-:$-multichar-token-regexp c-<>-multichar-token-regexp c-<-op-cont-regexp c-<-pseudo-digraph-cont-regexp c-<-pseudo-digraph-cont-len c->-op-cont-regexp c->-op-without->-cont-regexp c-multichar->-op-not->>->>>-regexp c-:-op-cont-regexp c-stmt-delim-chars c-stmt-boundary-skip-chars c-stmt-boundary-skip-list c-stmt-delim-chars-with-comma c-stmt-boundary-skip-chars-with-comma c-stmt-boundary-skip-list-with-comma c-pack-key c-auto-ops-re c-haskell-op-re c-pre-start-tokens c-pre-lambda-tokens-re c-line-comment-starter c-block-comment-starter c-block-comment-ender c-block-comment-ender-regexp c-block-comment-awkward-chars c-comment-start-regexp c-block-comment-start-regexp c-line-comment-start-regexp c-last-c-comment-end-on-line-re c-literal-start-regexp c-doc-comment-start-regexp c-block-comment-is-default c-syntactic-ws-start c-syntactic-ws-end c-syntactic-eol c-paragraph-start c-paragraph-separate c-return-key c-primitive-type-key c-typedef-key c-typeof-key c-template-typename-key c-type-prefix-key c-opt-type-modifier-prefix-key c-opt-type-modifier-key c-opt-type-component-key c-type-decl-suffix-ws-ids-key c-class-id-suffix-ws-ids-key c-class-key c-brace-list-key c-after-brace-list-key c-recognize-post-brace-list-type-p c-other-decl-block-key c-other-decl-block-key-in-symbols-alist c-defun-type-name-decl-key c-typedef-decl-key c-using-key c-no-type-key c-equals-type-clause-key c-decl-hangon-key c-prefix-spec-kwds-re c-specifier-key c-not-decl-init-keywords c-not-primitive-type-keywords-regexp c-protection-key c-post-protection-token c-opt-block-decls-with-vars-key c-postfix-decl-spec-key c-make-top-level-key c-colon-type-list-re c-paren-nontype-key c-opt-<>-sexp-key c-inside-<>-type-key c-block-stmt-1-key c-block-stmt-1-2-key c-block-stmt-2-key c-block-stmt-hangon-key c-opt-block-stmt-key c-simple-stmt-key c-paren-stmt-key c-opt-asm-stmt-key c-case-kwds-regexp c-label-kwds-regexp c-opt-inexpr-brace-list-key c-brace-stack-thing-key c-brace-stack-no-semi-key c-decl-block-key c-opt-bitfield-key c-std-abbrev-keywords c-keywords-regexp c-stmt-block-only-keywords-regexp obarray c-keywords-obarray c-regular-keywords-regexp c-primary-expr-regexp c-decl-start-colon-kwd-re c-decl-prefix-re c-decl-start-re c-decl-prefix-or-start-re c-dposr-cpp-macro-depth c-cast-parens c-block-prefix-charset c-type-decl-prefix-key c-type-decl-operator-prefix-key c-type-decl-suffix-key c-after-suffixed-type-decl-key c-after-suffixed-type-maybe-decl-key c-opt-type-concat-key c-opt-type-suffix-key c-known-type-key c-special-brace-lists c-recognize-knr-p c-pre-id-bracelist-key c-pre-brace-non-bracelist-key c-recognize-typeless-decls c-recognize-<>-arglists c-<>-notable-chars-re c-enum-clause-introduction-re c-enums-contain-decls c-recognize-paren-inits c-recognize-bare-brace-inits c-recognize-paren-inexpr-blocks c-opt-<>-arglist-start c-opt-<>-arglist-start-in-paren c-opt-postfix-decl-spec-key c-recognize-colon-labels c-label-prefix-re c-nonlabel-token-key c-nonlabel-nonparen-token-key c-nonlabel-token-2-key c-opt-extra-label-key c-opt-friend-key c-opt-method-key c-type-decl-end-used c-maybe-decl-faces c-version csharp-mode-menu c-doc-comment-style delayed-after-hook-functions csharp-vsemi-status-unknown-p (34) "[[:alpha:]_@]" "[:alnum:]_$" "[[:alnum:]_$]+" "[[:alpha:]_@][[:alnum:]_$]*" "^[:alnum:]_$" "[^[:alnum:]_$]" "\\(\\.\\)" "\\([[:alpha:]_@][[:alnum:]_$]*\\)\\(\\(\\s \\|[\n ]\\)*\\(\\.\\)\\(\\s \\|[\n ]\\)*\\(\\(\\*\\)\\(\\(\\s \\|[\n ]\\)*\\([[:alpha:]_@][[:alnum:]_$]*\\)\\)?\\|\\([[:alpha:]_@][[:alnum:]_$]*\\)\\)\\)*" 64 ((34 . "\\(\\\\\\(.\\|\n\\)\\|[^\\\n \"]\\)*")) "\\s *#\\s *" "\\s *#\\s *\\([[:alnum:]]+\\)" "\\`a\\`" "define" "\\s *#\\s *define[ ]+\\(\\(\\sw\\|_\\)+\\)\\(([^)]*)\\)?\\([ ]\\|\\\\\n\\)*" "\\s *#\\s *define[ ]+\\(\\sw\\|_\\)+" "\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(?:!=\\|##\\|%=\\|&[&=]\\|\\*=\\|\\+[+=]\\|-[=-]\\|/=\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\|instanceof\\|new\\||[=|]\\|[]!#%&(-,./:<-?[|~^-]\\)" "\\(?:!=\\|##\\|%=\\|&[&=]\\|\\*=\\|\\+=\\|-=\\|/=\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\|instanceof\\||[=|]\\|[%&*,./:=?|^]\\)" "\\(\\`a\\`\\)" "\\(?:!=\\|##\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\||[=|]\\|[!#%&*+,./:-?|~^-]\\)" "=\\([^=]\\|$\\)\\|\\(?:\\(?:<<\\|>>>?\\|[%&*+/|^-]\\)=\\)" "\\(?:!=\\|%=\\|&[&=]\\|\\*=\\|\\+=\\|-=\\|/=\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>?=\\)\\|[=>]\\)\\|\\^=\\||[=|]\\|[%&*+/<=>|^-]\\)" "\\(?:<\\(?:<=\\|[<=]\\)\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\)" "\\(?:<=\\|[<=]\\)" 0 "\\(?:>?=\\)" "=" "\\(?:>\\(?:\\(?:>>?\\)?=\\)\\)" "^;{}?:" (59 123 125 63 58) "^;,{}?:" (59 44 123 125 63 58) (";" "{" "}") "\\(\\(?:!=\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\|instanceof\\||[=|]\\|[!%&(*+,/:-?[{-~^-]\\)\\)\\([^[:alnum:]_$]\\|$\\)" "//" "/*" "*/" "\\*/" (42) "\\(?:/[*/]\\)\\|\\s!" "/\\*" "\\(\\*/\\)\\([^*]\\|\\*+\\([^*/]\\|$\\)\\)*$" "\\(?:/[*/]\\)\\|\\s!\\|\"\\|\\s|" "///" "\\s \\|\\(?:/[*/]\\|[\n #]\\)\\|\\\\[\n ]\\|\\s!" "\\s \\|[\n /]\\|\\s!" "\\s *\\(/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\s *\\)*\\(//\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*$\\|\\\\$\\|$\\)" "\\(@[a-zA-Z]+\\>\\|$\\)" "$" "\\(\\(?:return\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:b\\(?:ool\\|yte\\)\\|char\\|d\\(?:ecimal\\|ouble\\)\\|float\\|int\\|long\\|object\\|s\\(?:byte\\|hort\\|tring\\)\\|u\\(?:int\\|long\\|short\\)\\|v\\(?:ar\\|oid\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:as\\|is\\|typeof\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:class\\|interface\\|struct\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:volatile\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:new\\|readonly\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:enum\\|new\\)\\)\\([^[:alnum:]_$]\\|$\\)" mapcar #[257 "\211\300\230\203 \301\202\302\303P!B\207" [#19="extern" inextern-lang intern #20="in"] 5 "\n\n(fn ELT)"] "\\(\\(?:class\\|enum\\|interface\\|new\\|struct\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:using\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:a\\(?:bstract\\|sync\\|wait\\)\\|c\\(?:lass\\|onst\\)\\|de\\(?:fault\\|legate\\)\\|e\\(?:num\\|vent\\|x\\(?:plicit\\|tern\\)\\)\\|fi\\(?:nal\\|xed\\)\\|get\\|i\\(?:mplicit\\|nter\\(?:face\\|nal\\)\\)\\|n\\(?:ative\\|ew\\)\\|o\\(?:ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\)\\|s\\(?:e\\(?:aled\\|t\\)\\|t\\(?:atic\\|ruct\\)\\)\\|t\\(?:his\\|ransient\\)\\|unsafe\\|v\\(?:irtual\\|olatile\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:a\\(?:bstract\\|sync\\|wait\\)\\|const\\|de\\(?:fault\\|legate\\)\\|e\\(?:num\\|vent\\|x\\(?:plicit\\|tern\\)\\)\\|fi\\(?:nal\\|xed\\)\\|get\\|i\\(?:mplicit\\|nternal\\)\\|native\\|o\\(?:ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|ref\\|s\\(?:e\\(?:aled\\|t\\)\\|tatic\\)\\|t\\(?:his\\|ransient\\)\\|unsafe\\|v\\(?:irtual\\|olatile\\)\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:ascending\\|b\\(?:ase\\|reak\\|y\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|hecked\\|ontinue\\)\\|d\\(?:escending\\|o\\)\\|e\\(?:lse\\|\\(?:qual\\|xtend\\)s\\)\\|f\\(?:alse\\|inally\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:oto\\|roup\\)\\|i\\(?:mplements\\|n\\(?:stanceof\\|to\\)\\|[fn]\\)\\|join\\|l\\(?:et\\|ock\\)\\|n\\(?:amespace\\|ull\\)\\|o\\(?:n\\|perator\\|rderby\\)\\|return\\|s\\(?:elect\\|uper\\|witch\\)\\|t\\(?:hrows?\\|r\\(?:ue\\|y\\)\\)\\|u\\(?:nchecked\\|sing\\)\\|value\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:ase\\|reak\\|y\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|hecked\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:fault\\|legate\\|scending\\)\\|o\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:alse\\|i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|n\\(?:stanceof\\|t\\(?:er\\(?:face\\|nal\\)\\|o\\)\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|ock\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\|ull\\)\\|o\\(?:n\\|perator\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:e\\(?:aled\\|\\(?:lec\\)?t\\)\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|ue\\|y\\)\\|ypeof\\)\\|u\\(?:n\\(?:checked\\|safe\\)\\|sing\\)\\|v\\(?:alue\\|irtual\\|olatile\\)\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:\\(?:extend\\|implement\\|throw\\)s\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\([^][{}();,/#=:]\\|\\(\\.\\)\\)*:" "\\(\\(?:extends\\|super\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:do\\|else\\|\\(?:finall\\|tr\\)y\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:try\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:c\\(?:atch\\|hecked\\)\\|f\\(?:ixed\\|or\\(?:each\\)?\\)\\|if\\|lock\\|switch\\|u\\(?:nchecked\\|sing\\)\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:c\\(?:atch\\|hecked\\)\\|do\\|else\\|f\\(?:i\\(?:nally\\|xed\\)\\|or\\(?:each\\)?\\)\\|if\\|lock\\|switch\\|try\\|u\\(?:nchecked\\|sing\\)\\|while\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:break\\|continue\\|goto\\|return\\|throw\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:for\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:case\\|default\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:new\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(?:class\\|interface\\|struct\\|[),:;<{}]\\)\\)" "\\(\\(?:class\\|interface\\|struct\\|[<{}]\\)\\)" "\\(\\`a\\`\\)\\|\\(\\(?:class\\|interface\\|struct\\)\\)\\([^[:alnum:]_$]\\|$\\)" ("else" "while" "catch" "finally" "catch" "finally") "\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:ase\\|ool\\|reak\\|y\\(?:te\\)?\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|h\\(?:ar\\|ecked\\)\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:cimal\\|fault\\|legate\\|scending\\)\\|o\\(?:uble\\)?\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:alse\\|i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|loat\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|n\\(?:stanceof\\|t\\(?:er\\(?:face\\|nal\\)\\|o\\)?\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|o\\(?:ck\\|ng\\)\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\|ull\\)\\|o\\(?:bject\\|n\\|perator\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:byte\\|e\\(?:aled\\|\\(?:lec\\)?t\\)\\|hort\\|t\\(?:atic\\|r\\(?:ing\\|uct\\)\\)\\|uper\\|witch\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|ue\\|y\\)\\|ypeof\\)\\|u\\(?:int\\|long\\|n\\(?:checked\\|safe\\)\\|s\\(?:hort\\|ing\\)\\)\\|v\\(?:a\\(?:lue\\|r\\)\\|irtual\\|o\\(?:id\\|latile\\)\\)\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(^\\|\\=\\|[^[:alnum:]_$]\\)\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:reak\\|y\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|hecked\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:fault\\|legate\\|scending\\)\\|o\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|nt\\(?:er\\(?:face\\|nal\\)\\|o\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|ock\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|o\\(?:n\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:e\\(?:aled\\|\\(?:lec\\)?t\\)\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|t\\(?:hrows?\\|r\\(?:ansient\\|y\\)\\|ypeof\\)\\|u\\(?:n\\(?:checked\\|safe\\)\\|sing\\)\\|virtual\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" (("super" c-inside-<>-type-kwds) ("throws" c-postfix-spec-kwds c-postfix-decl-spec-kwds) ("implements" c-postfix-spec-kwds c-postfix-decl-spec-kwds) ("extends" c-inside-<>-type-kwds c-postfix-spec-kwds c-postfix-decl-spec-kwds) ("instanceof" c-expr-kwds) ("operator" c-primary-expr-kwds c-expr-kwds) ("base" c-primary-expr-kwds c-expr-kwds) ("case" c-case-kwds c-label-kwds) ("as" c-typeof-kwds) ("is" c-typeof-kwds) ("typeof" c-typeof-kwds) ("lock" c-block-stmt-2-kwds c-block-stmt-kwds) ("using" c-block-stmt-2-kwds c-equals-type-clause-kwds c-using-kwds c-block-stmt-kwds) ("unchecked" c-block-stmt-2-kwds c-block-stmt-kwds) ("checked" c-block-stmt-2-kwds c-block-stmt-kwds) ("foreach" c-block-stmt-2-kwds c-block-stmt-kwds) ("catch" c-block-stmt-2-kwds c-block-stmt-kwds) ("while" c-block-stmt-2-kwds c-block-stmt-kwds) ("switch" c-block-stmt-2-kwds c-block-stmt-kwds) ("if" c-block-stmt-2-kwds c-block-stmt-kwds) ("for" c-block-stmt-2-kwds c-paren-stmt-kwds c-block-stmt-kwds) ("try" c-block-stmt-1-2-kwds c-block-stmt-1-kwds c-block-stmt-kwds) ("finally" c-block-stmt-1-kwds c-block-stmt-kwds) ("else" c-block-stmt-1-kwds c-block-stmt-kwds) ("do" c-block-stmt-1-kwds c-block-stmt-kwds) ("value" c-constant-kwds) ("null" c-constant-kwds) ("false" c-constant-kwds) ("true" c-constant-kwds) ("yield" c-simple-stmt-kwds) ("return" c-return-kwds c-simple-stmt-kwds) ("throw" c-simple-stmt-kwds) (#17="var" c-type-start-kwds c-primitive-type-kwds) (#16="string" c-type-start-kwds c-primitive-type-kwds) (#15="object" c-type-start-kwds c-primitive-type-kwds) (#14="void" c-type-start-kwds c-primitive-type-kwds) (#13="ushort" c-type-start-kwds c-primitive-type-kwds) (#12="short" c-type-start-kwds c-primitive-type-kwds) (#11="ulong" c-type-start-kwds c-primitive-type-kwds) (#10="long" c-type-start-kwds c-primitive-type-kwds) (#9="uint" c-type-start-kwds c-primitive-type-kwds) (#8="int" c-type-start-kwds c-primitive-type-kwds) (#7="float" c-type-start-kwds c-primitive-type-kwds) (#6="double" c-type-start-kwds c-primitive-type-kwds) (#5="decimal" c-type-start-kwds c-primitive-type-kwds) (#4="char" c-type-start-kwds c-primitive-type-kwds) (#3="sbyte" c-type-start-kwds c-primitive-type-kwds) (#2="byte" c-type-start-kwds c-primitive-type-kwds) (#1="bool" c-type-start-kwds c-primitive-type-kwds) ("namespace" c-other-kwds) ("by" c-other-kwds) ("let" c-other-kwds) ("when" c-other-kwds) ("group" c-other-kwds) ("descending" c-other-kwds) ("ascending" c-other-kwds) ("orderby" c-other-kwds) ("into" c-other-kwds) ("equals" c-other-kwds) ("on" c-other-kwds) ("in" c-other-kwds) ("join" c-other-kwds) ("where" c-other-kwds) ("from" c-other-kwds) ("select" c-other-kwds) ("goto" c-simple-stmt-kwds c-before-label-kwds) ("continue" c-simple-stmt-kwds c-before-label-kwds) ("break" c-simple-stmt-kwds c-before-label-kwds) ("delegate" c-modifier-kwds c-prefix-spec-kwds) ("const" c-modifier-kwds c-prefix-spec-kwds) ("this" c-primary-expr-kwds c-expr-kwds c-modifier-kwds c-prefix-spec-kwds) ("set" c-modifier-kwds c-prefix-spec-kwds) ("get" c-modifier-kwds c-prefix-spec-kwds) ("unsafe" c-modifier-kwds c-prefix-spec-kwds) ("extern" c-modifier-kwds c-prefix-spec-kwds) ("await" c-modifier-kwds c-prefix-spec-kwds) ("async" c-modifier-kwds c-prefix-spec-kwds) ("params" c-modifier-kwds c-prefix-spec-kwds) ("override" c-modifier-kwds c-prefix-spec-kwds) ("fixed" c-block-stmt-2-kwds c-modifier-kwds c-block-stmt-kwds c-prefix-spec-kwds) ("explicit" c-modifier-kwds c-prefix-spec-kwds) ("implicit" c-modifier-kwds c-prefix-spec-kwds) ("virtual" c-modifier-kwds c-prefix-spec-kwds) ("out" c-modifier-kwds c-prefix-spec-kwds) ("ref" c-modifier-kwds c-prefix-spec-kwds) ("sealed" c-modifier-kwds c-prefix-spec-kwds) ("volatile" c-modifier-kwds c-type-modifier-prefix-kwds c-prefix-spec-kwds) ("transient" c-modifier-kwds c-prefix-spec-kwds) ("event" c-modifier-kwds c-prefix-spec-kwds) ("static" c-modifier-kwds c-prefix-spec-kwds) ("readonly" c-type-modifier-kwds c-type-start-kwds c-modifier-kwds c-prefix-spec-kwds) ("internal" c-modifier-kwds c-prefix-spec-kwds) ("partial" c-modifier-kwds c-prefix-spec-kwds) ("public" c-modifier-kwds c-prefix-spec-kwds) ("protected" c-modifier-kwds c-prefix-spec-kwds) ("private" c-modifier-kwds c-prefix-spec-kwds) ("native" c-modifier-kwds c-prefix-spec-kwds) ("final" c-modifier-kwds c-prefix-spec-kwds) ("default" c-label-kwds c-modifier-kwds c-prefix-spec-kwds) ("abstract" c-modifier-kwds c-prefix-spec-kwds) ("new" c-type-modifier-kwds c-brace-id-list-kwds c-typeless-decl-kwds c-brace-list-decl-kwds c-type-start-kwds c-expr-kwds c-defun-type-name-decl-kwds c-typedef-decl-kwds c-inexpr-brace-list-kwds c-prefix-spec-kwds) ("enum" c-brace-id-list-kwds c-typeless-decl-kwds c-brace-list-decl-kwds c-defun-type-name-decl-kwds c-typedef-decl-kwds c-prefix-spec-kwds) ("interface" c-type-prefix-kwds c-class-decl-kwds c-colon-type-list-kwds c-typeless-decl-kwds c-type-start-kwds c-defun-type-name-decl-kwds c-typedef-decl-kwds c-flat-decl-block-kwds c-prefix-spec-kwds) ("struct" c-type-prefix-kwds c-class-decl-kwds c-colon-type-list-kwds c-typeless-decl-kwds c-type-start-kwds c-defun-type-name-decl-kwds c-typedef-decl-kwds c-flat-decl-block-kwds c-prefix-spec-kwds) ("class" c-type-prefix-kwds c-class-decl-kwds c-colon-type-list-kwds c-typeless-decl-kwds c-type-start-kwds c-defun-type-name-decl-kwds c-typedef-decl-kwds c-flat-decl-block-kwds c-prefix-spec-kwds)) make-vector 2 setplist apply nconc #[257 "\211\300D\207" [t] 3 "\n\n(fn LANG-CONST)"] "\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:ase\\|reak\\|y\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|hecked\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:fault\\|legate\\|scending\\)\\|o\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|n\\(?:stanceof\\|t\\(?:er\\(?:face\\|nal\\)\\|o\\)\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|ock\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\)\\|o\\(?:n\\|perator\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:e\\(?:aled\\|\\(?:lec\\)?t\\)\\|t\\(?:atic\\|ruct\\)\\|uper\\|witch\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|y\\)\\|ypeof\\)\\|u\\(?:n\\(?:checked\\|safe\\)\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\(\\(\\(?:base\\|new\\|operator\\|this\\)\\)\\([^[:alnum:]_$]\\|$\\)\\|\\(?:\\+\\+\\|--\\|[(+-]\\)\\)\\|[[:alpha:]_@]\\|\\.?[0-9]\\|[!#~]\\|\\s\"\\|\\s|" "\\([{}(;,<]+\\)" "\\([{}(;,<]+\\)\\|define[ ]+\\(\\sw\\|_\\)+\\([^(a-zA-Z0-9_]\\|$\\)" (40) "^!\"%-'+\\-/:-?[-^`{-~" "\\(\\`a\\`\\)\\|\\(a\\(?:bstract\\|sync\\|wait\\)\\|const\\|de\\(?:fault\\|legate\\)\\|e\\(?:vent\\|x\\(?:plicit\\|tern\\)\\)\\|fi\\(?:nal\\|xed\\)\\|get\\|i\\(?:mplicit\\|nternal\\)\\|n\\(?:ative\\|ew\\)\\|o\\(?:ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\)\\|s\\(?:e\\(?:aled\\|t\\)\\|tatic\\)\\|t\\(?:his\\|ransient\\)\\|unsafe\\|v\\(?:irtual\\|olatile\\)\\)\\>\\([^_]\\|$\\)" "\\([[()]\\)" "{\\|\\(\\(?:\\(?:extend\\|implement\\|throw\\)s\\)\\)\\([^[:alnum:]_$]\\|$\\)" "\\({\\|\\(\\(?:\\(?:extend\\|implement\\|throw\\)s\\)\\)\\([^[:alnum:]_$]\\|$\\)\\)\\|[;,]" "\\(\\[\\(\\s \\|[\n ]\\)*\\]\\|\\?\\)" boundp #21="font-lock-extra-types" delq #[257 "\300\301\"\205\211\207" [string-match #22="[][.*+?^$\\]"] 4 "\n\n(fn RE)"] #[257 "\300\301\"?\205 \211\207" [string-match #23="[][.*+?^$\\]"] 4 "\n\n(fn RE)"] #24="\\<\\(" c-concat-separated append c-make-keywords-re (#1# #2# #3# #4# #5# #6# #7# #8# #9# #10# #11# #12# #13# #14# #15# #16# #17#) #25="\\|" #26="\\)\\>" "[<;{},|+&>)-]" "\\<\\(\\(?:enum\\|new\\)\\)\\>[^][{};/#=]*{" "\\([[:alpha:]_@][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*<" "\\(\\([[:alpha:]_@][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*<\\)\\|\\s)" "\\([{};]+\\)" "\\(\\(?:a\\(?:bstract\\|s\\(?:cending\\|ync\\)?\\|wait\\)\\|b\\(?:ase\\|ool\\|reak\\|y\\(?:te\\)?\\)\\|c\\(?:atch\\|h\\(?:ar\\|ecked\\)\\|lass\\|on\\(?:st\\|tinue\\)\\)\\|d\\(?:e\\(?:cimal\\|legate\\|scending\\)\\|o\\(?:uble\\)?\\)\\|e\\(?:lse\\|num\\|quals\\|vent\\|x\\(?:plicit\\|te\\(?:nds\\|rn\\)\\)\\)\\|f\\(?:alse\\|i\\(?:nal\\(?:ly\\)?\\|xed\\)\\|loat\\|or\\(?:each\\)?\\|rom\\)\\|g\\(?:et\\|oto\\|roup\\)\\|i\\(?:mpl\\(?:ements\\|icit\\)\\|n\\(?:stanceof\\|t\\(?:er\\(?:face\\|nal\\)\\|o\\)?\\)\\|[fns]\\)\\|join\\|l\\(?:et\\|o\\(?:ck\\|ng\\)\\)\\|n\\(?:a\\(?:\\(?:mespac\\|tiv\\)e\\)\\|ew\\|ull\\)\\|o\\(?:bject\\|n\\|perator\\|rderby\\|ut\\|verride\\)\\|p\\(?:ar\\(?:ams\\|tial\\)\\|r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:adonly\\|f\\|turn\\)\\|s\\(?:byte\\|e\\(?:aled\\|\\(?:lec\\)?t\\)\\|hort\\|t\\(?:atic\\|r\\(?:ing\\|uct\\)\\)\\|uper\\|witch\\)\\|t\\(?:h\\(?:is\\|rows?\\)\\|r\\(?:ansient\\|ue\\|y\\)\\|ypeof\\)\\|u\\(?:int\\|long\\|n\\(?:checked\\|safe\\)\\|s\\(?:hort\\|ing\\)\\)\\|v\\(?:a\\(?:lue\\|r\\)\\|irtual\\|o\\(?:id\\|latile\\)\\)\\|wh\\(?:e\\(?:n\\|re\\)\\|ile\\)\\|yield\\)\\)\\([^[:alnum:]_$]\\|$\\)" (list nil font-lock-type-face c-reference-face-name font-lock-keyword-face font-lock-preprocessor-face) ((font-lock-comment-end-skip (c-lang-const c-font-lock-comment-end-skip)) (comment-start (c-lang-const comment-start)) (comment-end (c-lang-const comment-end)) (comment-start-skip (c-lang-const comment-start-skip)) (comment-end-can-be-escaped (c-lang-const comment-end-can-be-escaped)) (beginning-of-defun-function (c-lang-const beginning-of-defun-function)) (end-of-defun-function (c-lang-const end-of-defun-function)) (c-no-parens-syntax-table (and (c-lang-const c-make-no-parens-syntax-table) (funcall (eval (c-lang-const c-make-no-parens-syntax-table)))) nil) (c-identifier-syntax-modifications (c-lang-const c-identifier-syntax-modifications) "A list that describes the modifications that should be done to the\nmode syntax table to get a syntax table that matches all identifiers\nand keywords as words.\n\nThe list is just like the one used in `font-lock-defaults': Each\nelement is a cons where the car is the character to modify and the cdr\nthe new syntax, as accepted by `modify-syntax-entry'.") (c-identifier-syntax-table (let ((table (copy-syntax-table (c-mode-var #18#))) (mods c-identifier-syntax-modifications) mod) (while mods (setq mod (car mods) mods (cdr mods)) (modify-syntax-entry (car mod) (cdr mod) table)) table) "Syntax table built on the mode syntax table but additionally\nclassifies symbol constituents like `_' and `$' as word constituents,\nso that all identifiers are recognized as words.") (c-get-state-before-change-functions (let ((fs (c-lang-const c-get-state-before-change-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called from c-before-change-hook.\nTypically these will record enough state to allow\n`c-before-font-lock-functions' to extend the region to fontify,\nand may do such things as removing text-properties which must be\nrecalculated.\n\nThese functions will be run in the order given. Each of them\ntakes 2 parameters, the BEG and END supplied to every\nbefore-change function; on entry, the buffer will have been\nwidened and match-data will have been saved; point is undefined\non both entry and exit; the return value is ignored.\n\nThe functions are called even when font locking isn't enabled.\n\nWhen the mode is initialized, the functions are called with\nparameters (point-min) and (point-max).") (c-before-font-lock-functions (let ((fs (c-lang-const c-before-font-lock-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before font locking.\nTypically they will extend the region about to be fontified (see\nbelow) and will set `syntax-table' text properties on the region.\n\nThese functions will be run in the order given. Each of them\ntakes 3 parameters, the BEG, END, and OLD-LEN supplied to every\nafter-change function; point is undefined on both entry and exit;\non entry, the buffer will have been widened and match-data will\nhave been saved; the return value is ignored.\n\nThe functions may extend the region to be fontified by setting the\nbuffer local variables c-new-BEG and c-new-END.\n\nThe functions are called even when font locking is disabled.\n\nWhen the mode is initialized, these functions are called with\nparameters (point-min), (point-max) and .") (c-before-context-fontification-functions (let ((fs (c-lang-const c-before-context-fontification-functions))) (if (listp fs) fs (list fs))) "If non-nil, a list of functions called just before context (or\nother non-change) fontification is done. Typically they will\nextend the region.\n\nThese functions will be run in the order given. Each of them\ntakes 2 parameters, the BEG and END of the region to be\nfontified. Point is undefined on both entry and exit. On entry,\nthe buffer will have been widened and match-data will have been\nsaved; the return value is a cons of the adjusted\nregion, (NEW-BEG . NEW-END).") (c-at-vsemi-p-fn (c-lang-const c-at-vsemi-p-fn) "Contains a function \"Is there a virtual semicolon at POS or point?\".\nSuch a function takes one optional parameter, a buffer position (defaults to\npoint), and returns nil or t. This variable contains nil for languages which\ndon't have EOL terminated statements. ") (c-vsemi-status-unknown-p-fn (c-lang-const c-vsemi-status-unknown-p-fn) "A function \"are we unsure whether there is a virtual semicolon on this line?\".\nThe (admittedly kludgy) purpose of such a function is to prevent an infinite\nrecursion in c-beginning-of-statement-1 when point starts at a `while' token.\nThe function MUST NOT UNDER ANY CIRCUMSTANCES call `c-beginning-of-statement-1',\neven indirectly. This variable contains nil for languages which don't have\nEOL terminated statements.") (c-has-bitfields (c-lang-const c-has-bitfields) "Whether the language has bitfield declarations.") (c-single-quotes-quote-strings (c-lang-const c-single-quotes-quote-strings) "Whether the language uses single quotes for multi-char strings.\n\nNote that to set up a language to use this, additionally:\n(i) the syntax of \"'\" must be \"string quote\" (7);\n(ii) the language's value of `c-has-quoted-numbers' must be nil;\n(iii) the language's value of `c-get-state-before-change-functions' may not\n contain `c-parse-quotes-before-change';\n(iv) the language's value of `c-before-font-lock-functions' may not contain\n `c-parse-quotes-after-change'.") (c-string-delims (c-lang-const c-string-delims) nil) (c-has-quoted-numbers (c-lang-const c-has-quoted-numbers) "Whether the language has numbers quoted like 4'294'967'295.") (c-has-compound-literals (c-lang-const c-has-compound-literals) "Whether literal initializers {...} are used other than in initializations.") (c-modified-constant (c-lang-const c-modified-constant) "Regexp that matches a “modified” constant literal such as \"L\\='a\\='\",\na “long character”. In particular, this recognizes forms of constant\nwhich `c-backward-sexp' needs to be called twice to move backwards over.") (c-symbol-start (c-lang-const c-symbol-start) "Regexp that matches the start of a symbol, i.e. any identifier or\nkeyword. It's unspecified how far it matches. Does not contain a \\|\noperator at the top level.") (c-symbol-chars (c-lang-const c-symbol-chars) "Set of characters that can be part of a symbol.\nThis is of the form that fits inside [ ] in a regexp.") (c-symbol-char-key (c-lang-const c-symbol-char-key) "Regexp matching a sequence of at least one identifier character.") (c-symbol-key (c-lang-const c-symbol-key) "Regexp matching identifiers and keywords (with submatch 0). Assumed\nto match if `c-symbol-start' matches on the same position.") (c-nonsymbol-chars (c-lang-const c-nonsymbol-chars) "This is the set of chars that can't be part of a symbol, i.e. the\nnegation of `c-symbol-chars'.") (c-nonsymbol-key (c-lang-const c-nonsymbol-key) "Regexp that matches any character that can't be part of a symbol.\nIt's usually appended to other regexps to avoid matching a prefix.\nIt's assumed to not contain any submatchers.") (c-opt-identifier-concat-key (c-lang-const c-opt-identifier-concat-key) nil) (c-identifier-start (c-lang-const c-identifier-start) "Regexp that matches the start of an (optionally qualified) identifier.\nIt should also match all keywords. It's unspecified how far it\nmatches.") (c-identifier-key (c-lang-const c-identifier-key) "Regexp matching a fully qualified identifier, like \"A::B::c\" in\nC++. It does not recognize the full range of syntactic whitespace\nbetween the tokens; `c-forward-name' has to be used for that. It\nshould also not match identifiers containing parenthesis groupings,\ne.g. identifiers with template arguments such as \"A\" in C++.") (c-string-escaped-newlines (c-lang-const c-string-escaped-newlines) "Set if the language support backslash escaped newlines inside string\nliterals.") (c-multiline-string-start-char (c-lang-const c-multiline-string-start-char) "Set if the language supports multiline string literals without escaped\nnewlines. If t, all string literals are multiline. If a character,\nonly literals where the open quote is immediately preceded by that\nliteral are multiline.") (c-string-innards-re-alist (c-lang-const c-string-innards-re-alist) nil) (c-opt-cpp-symbol (c-lang-const c-opt-cpp-symbol) "The symbol which starts preprocessor constructs when in the margin.") (c-opt-cpp-prefix (c-lang-const c-opt-cpp-prefix) "Regexp matching the prefix of a cpp directive in the languages that\nnormally use that macro preprocessor. Tested at bol or at boi.\nAssumed to not contain any submatches or \\| operators.") (c-anchored-cpp-prefix (c-lang-const c-anchored-cpp-prefix) "Regexp matching the prefix of a cpp directive anchored to BOL,\nin the languages that have a macro preprocessor.") (c-opt-cpp-start (c-lang-const c-opt-cpp-start) "Regexp matching the prefix of a cpp directive including the directive\nname, or nil in languages without preprocessor support. The first\nsubmatch surrounds the directive name.") (c-cpp-include-key (c-lang-const c-cpp-include-key) nil) (c-opt-cpp-macro-define (c-lang-const c-opt-cpp-macro-define) "Cpp directive (without the prefix) that is followed by a macro\ndefinition, or nil if the language doesn't have any.") (c-opt-cpp-macro-define-start (c-lang-const c-opt-cpp-macro-define-start) nil) (c-opt-cpp-macro-define-id (c-lang-const c-opt-cpp-macro-define-id) nil) (c-cpp-expr-intro-re (c-lang-const c-cpp-expr-intro-re) "Regexp which matches the start of a CPP directive which contains an\nexpression, or nil if there aren't any in the language.") (c-cpp-expr-functions-key (c-lang-const c-cpp-expr-functions-key) nil) (c-operator-re (c-lang-const c-operator-re) nil) (c-non-after-{}-ops-re (c-lang-const c-non-after-{}-ops-re) nil) (c-overloadable-operators-regexp (c-lang-const c-overloadable-operators-regexp) nil) (c-opt-op-identifier-prefix (c-lang-const c-opt-op-identifier-prefix) "Regexp matching the token before the ones in\n`c-overloadable-operators' when operators are specified in their\n\"identifier form\". This typically matches \"operator\" in C++ where\noperator functions are specified as e.g. \"operator +\". It's nil in\nlanguages without operator functions or where the complete operator\nidentifier is listed in `c-overloadable-operators'.\n\nThis regexp is assumed to not match any non-operator identifier.") (c-ambiguous-overloadable-or-identifier-prefix-re (c-lang-const c-ambiguous-overloadable-or-identifier-prefix-re) nil) (c-nonsymbol-token-regexp (c-lang-const c-nonsymbol-token-regexp) nil) (c-assignment-op-regexp (c-lang-const c-assignment-op-regexp) nil) (c-arithmetic-op-regexp (c-lang-const c-arithmetic-op-regexp) nil) (c-:$-multichar-token-regexp (c-lang-const c-:$-multichar-token-regexp) nil) (c-<>-multichar-token-regexp (c-lang-const c-<>-multichar-token-regexp) nil) (c-<-op-cont-regexp (c-lang-const c-<-op-cont-regexp) nil) (c-<-pseudo-digraph-cont-regexp (c-lang-const c-<-pseudo-digraph-cont-regexp) "Regexp matching the continuation of a pseudo digraph starting \"<\".\nThis is used only in C++ Mode, where \"<::\" is handled as a\ntemplate opener followed by the \"::\" operator - usually.") (c-<-pseudo-digraph-cont-len (c-lang-const c-<-pseudo-digraph-cont-len) "The maximum length of the main bit of a `c-<-pseudo-digraph-cont-regexp' match.\nThis doesn't count the merely contextual bits of the regexp match.") (c->-op-cont-regexp (c-lang-const c->-op-cont-regexp) nil) (c->-op-without->-cont-regexp (c-lang-const c->-op-without->-cont-regexp) nil) (c-multichar->-op-not->>->>>-regexp (c-lang-const c-multichar->-op-not->>->>>-regexp) nil) (c-:-op-cont-regexp (c-lang-const c-:-op-cont-regexp) nil) (c-stmt-delim-chars (c-lang-const c-stmt-delim-chars) nil) (c-stmt-boundary-skip-chars (c-lang-const c-stmt-boundary-skip-chars) nil) (c-stmt-boundary-skip-list (c-lang-const c-stmt-boundary-skip-list) nil) (c-stmt-delim-chars-with-comma (c-lang-const c-stmt-delim-chars-with-comma) nil) (c-stmt-boundary-skip-chars-with-comma (c-lang-const c-stmt-boundary-skip-chars-with-comma) nil) (c-stmt-boundary-skip-list-with-comma (c-lang-const c-stmt-boundary-skip-list-with-comma) nil) (c-pack-key (c-lang-const c-pack-key) nil) (c-auto-ops-re (c-lang-const c-auto-ops-re) nil) (c-haskell-op-re (c-lang-const c-haskell-op-re) nil) (c-pre-start-tokens (c-lang-const c-pre-start-tokens) "List of operators following which an apparent declaration (e.g.\n\"t1 *fn (t2 *b);\") is most likely to be an actual declaration\n(as opposed to an arithmetic expression).") (c-pre-lambda-tokens-re (c-lang-const c-pre-lambda-tokens-re) nil) (c-line-comment-starter (c-lang-const c-line-comment-starter) "String that starts line comments, or nil if such don't exist.\nLine comments are always terminated by newlines. At least one of\n`c-block-comment-starter' and this one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style. Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-starter (c-lang-const c-block-comment-starter) "String that starts block comments, or nil if such don't exist.\nBlock comments are ended by `c-block-comment-ender', which is assumed\nto be set if this is. At least one of `c-line-comment-starter' and\nthis one is assumed to be set.\n\nNote that it's currently not enough to set this to support a new\ncomment style. Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-ender (c-lang-const c-block-comment-ender) "String that ends block comments, or nil if such don't exist.\n\nNote that it's currently not enough to set this to support a new\ncomment style. Other stuff like the syntax table must also be set up\nproperly.") (c-block-comment-ender-regexp (c-lang-const c-block-comment-ender-regexp) nil) (c-block-comment-awkward-chars (c-lang-const c-block-comment-awkward-chars) "List of characters which, inside a block comment, could be the first\ncharacter of a double character construct. This doesn't include\nbackslash.") (c-comment-start-regexp (c-lang-const c-comment-start-regexp) nil) (c-block-comment-start-regexp (c-lang-const c-block-comment-start-regexp) nil) (c-line-comment-start-regexp (c-lang-const c-line-comment-start-regexp) nil) (c-last-c-comment-end-on-line-re (c-lang-const c-last-c-comment-end-on-line-re) "Regexp which matches the last block comment ender on the\ncurrent line, if any, or nil in those languages without block\ncomments. When a match is found, submatch 1 contains the comment\nender.") (c-literal-start-regexp (c-lang-const c-literal-start-regexp) nil) (c-doc-comment-start-regexp (c-lang-const c-doc-comment-start-regexp) "Regexp to match the start of documentation comments.") (c-block-comment-is-default (c-lang-const c-block-comment-is-default) "Non-nil when the default comment style is block comment.") (c-syntactic-ws-start (c-lang-const c-syntactic-ws-start) nil) (c-syntactic-ws-end (c-lang-const c-syntactic-ws-end) nil) (c-syntactic-eol (c-lang-const c-syntactic-eol) nil) (c-paragraph-start (c-lang-const c-paragraph-start) "Regexp to append to `paragraph-start'.") (c-paragraph-separate (c-lang-const c-paragraph-separate) "Regexp to append to `paragraph-separate'.") (c-return-key (c-lang-const c-return-key) nil) (c-primitive-type-key (c-lang-const c-primitive-type-key) nil) (c-typedef-key (c-lang-const c-typedef-key) nil) (c-typeof-key (c-lang-const c-typeof-key) nil) (c-template-typename-key (c-lang-const c-template-typename-key) nil) (c-type-prefix-key (c-lang-const c-type-prefix-key) nil) (c-opt-type-modifier-prefix-key (c-lang-const c-opt-type-modifier-prefix-key) nil) (c-opt-type-modifier-key (c-lang-const c-opt-type-modifier-key) nil) (c-opt-type-component-key (c-lang-const c-opt-type-component-key) nil) (c-type-decl-suffix-ws-ids-key (c-lang-const c-type-decl-suffix-ws-ids-key) nil) (c-class-id-suffix-ws-ids-key (c-lang-const c-class-id-suffix-ws-ids-key) nil) (c-class-key (c-lang-const c-class-key) nil) (c-brace-list-key (c-lang-const c-brace-list-key) nil) (c-after-brace-list-key (c-lang-const c-after-brace-list-key) nil) (c-recognize-post-brace-list-type-p (c-lang-const c-recognize-post-brace-list-type-p) "Set to t when we recognize a colon and then a type after an enum,\ne.g., enum foo : int { A, B, C };") (c-other-decl-block-key (c-lang-const c-other-decl-block-key) nil) (c-other-decl-block-key-in-symbols-alist (mapcar (lambda (elt) (cons elt (if (string= elt #19#) 'inextern-lang (intern (concat #20# elt))))) (c-lang-const c-other-block-decl-kwds)) "Alist associating keywords in c-other-decl-block-decl-kwds with\ntheir matching \"in\" syntactic symbols.") (c-defun-type-name-decl-key (c-lang-const c-defun-type-name-decl-key) nil) (c-typedef-decl-key (c-lang-const c-typedef-decl-key) nil) (c-using-key (c-lang-const c-using-key) nil) (c-no-type-key (c-lang-const c-no-type-key) nil) (c-equals-type-clause-key (c-lang-const c-equals-type-clause-key) nil) (c-decl-hangon-key (c-lang-const c-decl-hangon-key) nil) (c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re) nil) (c-specifier-key (c-lang-const c-specifier-key) nil) (c-not-decl-init-keywords (c-lang-const c-not-decl-init-keywords) nil) (c-not-primitive-type-keywords-regexp (c-lang-const c-not-primitive-type-keywords-regexp) nil) (c-protection-key (c-lang-const c-protection-key) nil) (c-post-protection-token (c-lang-const c-post-protection-token) "The token which (may) follow a protection keyword,\ne.g. the \":\" in C++ Mode's \"public:\". nil if there is no such token.") (c-opt-block-decls-with-vars-key (c-lang-const c-opt-block-decls-with-vars-key) nil) (c-postfix-decl-spec-key (c-lang-const c-postfix-decl-spec-key) nil) (c-make-top-level-key (c-lang-const c-make-top-level-key) nil) (c-colon-type-list-re (c-lang-const c-colon-type-list-re) "Regexp matched after the keywords in `c-colon-type-list-kwds' to skip\nforward to the colon. The end of the match is assumed to be directly\nafter the colon, so the regexp should end with \":\". Must be a\nregexp if `c-colon-type-list-kwds' isn't nil.") (c-paren-nontype-key (c-lang-const c-paren-nontype-key) nil) (c-opt-<>-sexp-key (c-lang-const c-opt-<>-sexp-key) nil) (c-inside-<>-type-key (c-lang-const c-inside-<>-type-key) nil) (c-block-stmt-1-key (c-lang-const c-block-stmt-1-key) nil) (c-block-stmt-1-2-key (c-lang-const c-block-stmt-1-2-key) nil) (c-block-stmt-2-key (c-lang-const c-block-stmt-2-key) nil) (c-block-stmt-hangon-key (c-lang-const c-block-stmt-hangon-key) nil) (c-opt-block-stmt-key (c-lang-const c-opt-block-stmt-key) nil) (c-simple-stmt-key (c-lang-const c-simple-stmt-key) nil) (c-paren-stmt-key (c-lang-const c-paren-stmt-key) nil) (c-opt-asm-stmt-key (c-lang-const c-opt-asm-stmt-key) nil) (c-case-kwds-regexp (c-lang-const c-case-kwds-regexp) nil) (c-label-kwds-regexp (c-lang-const c-label-kwds-regexp) nil) (c-opt-inexpr-brace-list-key (c-lang-const c-opt-inexpr-brace-list-key) nil) (c-brace-stack-thing-key (c-lang-const c-brace-stack-thing-key) nil) (c-brace-stack-no-semi-key (c-lang-const c-brace-stack-no-semi-key) nil) (c-decl-block-key (c-lang-const c-decl-block-key) nil) (c-opt-bitfield-key (c-lang-const c-opt-bitfield-key) nil) (c-std-abbrev-keywords (c-lang-const c-std-abbrev-keywords) "List of keywords which may need to cause electric indentation.") (c-keywords-regexp (c-lang-const c-keywords-regexp) nil) (c-stmt-block-only-keywords-regexp (c-lang-const c-stmt-block-only-keywords-regexp) nil) (c-keywords-obarray (let* ((alist (c-lang-const c-keyword-member-alist)) kwd lang-const-list (obarray (make-vector (* (length alist) 2) 0))) (while alist (setq kwd (caar alist) lang-const-list (cdar alist) alist (cdr alist)) (setplist (intern kwd obarray) (apply 'nconc (mapcar (lambda (lang-const) (list lang-const t)) lang-const-list)))) obarray) nil) (c-regular-keywords-regexp (c-lang-const c-regular-keywords-regexp) nil) (c-primary-expr-regexp (c-lang-const c-primary-expr-regexp) nil) (c-decl-start-colon-kwd-re (c-lang-const c-decl-start-colon-kwd-re) "Regexp matching a keyword that is followed by a colon, where\n the whole construct can precede a declaration.\n E.g. \"public:\" in C++.") (c-decl-prefix-re (c-lang-const c-decl-prefix-re) nil) (c-decl-start-re (c-lang-const c-decl-start-re) "Regexp matching the start of any declaration, cast or label.\nIt's used on the token after the one `c-decl-prefix-re' matched. This\nregexp should not try to match those constructs accurately as it's\nonly used as a sieve to avoid spending more time checking other\nconstructs.") (c-decl-prefix-or-start-re (c-lang-const c-decl-prefix-or-start-re) nil) (c-dposr-cpp-macro-depth (c-lang-const c-dposr-cpp-macro-depth) nil) (c-cast-parens (c-lang-const c-cast-parens) nil) (c-block-prefix-charset (c-lang-const c-block-prefix-charset) nil) (c-type-decl-prefix-key (c-lang-const c-type-decl-prefix-key) nil) (c-type-decl-operator-prefix-key (c-lang-const c-type-decl-operator-prefix-key) "Regexp matching any declarator operator which isn't a keyword,\nthat might precede the identifier in a declaration, e.g. the\n\"*\" in \"char *argv\". The end of the first submatch is taken\nas the end of the operator. Identifier syntax is in effect when\nthis is matched (see `c-identifier-syntax-table').") (c-type-decl-suffix-key (c-lang-const c-type-decl-suffix-key) nil) (c-after-suffixed-type-decl-key (c-lang-const c-after-suffixed-type-decl-key) nil) (c-after-suffixed-type-maybe-decl-key (c-lang-const c-after-suffixed-type-maybe-decl-key) nil) (c-opt-type-concat-key (c-lang-const c-opt-type-concat-key) nil) (c-opt-type-suffix-key (c-lang-const c-opt-type-suffix-key) "Regexp matching operators that might follow after a type, or nil in\nlanguages that don't have such operators. The end of the first\nsubmatch is taken as the end of the operator. This should not match\nthings like C++ template arglists if `c-recognize-<>-arglists' is set.\nIt's undefined whether identifier syntax (see `c-identifier-syntax-table')\nis in effect or not.") (c-known-type-key (let* ((extra-types (when (boundp (c-mode-symbol #21#)) (c-mode-var "font-lock-extra-types"))) (regexp-strings (delq nil (mapcar (lambda (re) (when (string-match #22# re) re)) extra-types))) (plain-strings (delq nil (mapcar (lambda (re) (unless (string-match #23# re) re)) extra-types)))) (concat #24# (c-concat-separated (append (list (c-make-keywords-re nil (append (c-lang-const c-primitive-type-kwds) plain-strings))) regexp-strings) #25#) #26#)) nil) (c-special-brace-lists (c-lang-const c-special-brace-lists) "List of open- and close-chars that makes up a pike-style brace list,\ni.e., for a ([ ]) list there should be a cons (?\\[ . ?\\]) in this\nlist.") (c-recognize-knr-p (c-lang-const c-recognize-knr-p) "Non-nil means K&R style argument declarations are valid.") (c-pre-id-bracelist-key (c-lang-const c-pre-id-bracelist-key) nil) (c-pre-brace-non-bracelist-key (c-lang-const c-pre-brace-non-bracelist-key) "A regexp matching tokens which, preceding a brace, make it a non-bracelist.") (c-recognize-typeless-decls (c-lang-const c-recognize-typeless-decls) "Non-nil means function declarations without return type should be\nrecognized. That can introduce an ambiguity with parenthesized macro\ncalls before a brace block. This setting does not affect declarations\nthat are preceded by a declaration starting keyword, so\ne.g. `c-typeless-decl-kwds' may still be used when it's set to nil.") (c-recognize-<>-arglists (c-lang-const c-recognize-<>-arglists) "Non-nil means C++ style template arglists should be handled. More\nspecifically, this means a comma separated list of types or\nexpressions surrounded by \"<\" and \">\". It's always preceded by an\nidentifier or one of the keywords on `c-<>-type-kwds' or\n`c-<>-arglist-kwds'. If there's an identifier before then the whole\nexpression is considered to be a type.") (c-<>-notable-chars-re (c-lang-const c-<>-notable-chars-re) "A regexp matching any single character notable inside a <...> construct.\nThis must include \"<\" and \">\", and should include \",\", and\nany character which cannot be valid inside such a construct.\nThis is used in `c-forward-<>-arglist-recur' to try to detect\nsequences of tokens which cannot be a template/generic construct.\nWhen \"(\" is present, that defun will attempt to parse a\nparenthesized expression inside the template. When \")\" is\npresent it will treat an unbalanced closing paren as a sign of\nthe invalidity of the putative template construct.") (c-enum-clause-introduction-re (c-lang-const c-enum-clause-introduction-re) nil) (c-enums-contain-decls (c-lang-const c-enums-contain-decls) "Non-nil means that an enum structure can contain declarations.") (c-recognize-paren-inits (c-lang-const c-recognize-paren-inits) "Non-nil means that parenthesis style initializers exist,\ni.e. constructs like\n\nFoo bar (gnu);\n\nin addition to the more classic\n\nFoo bar = gnu;") (c-recognize-bare-brace-inits (c-lang-const c-recognize-bare-brace-inits) "Non-nil means that brace initializers without \"=\" exist,\ni.e. constructs like\n\nint foo[] {1, 2, 3};\n\nin addition to the more classic\n\nint foo[] = {1, 2, 3};") (c-recognize-paren-inexpr-blocks (c-lang-const c-recognize-paren-inexpr-blocks) "Non-nil to recognize gcc style in-expression blocks,\ni.e. compound statements surrounded by parentheses inside expressions.") (c-opt-<>-arglist-start (c-lang-const c-opt-<>-arglist-start) nil) (c-opt-<>-arglist-start-in-paren (c-lang-const c-opt-<>-arglist-start-in-paren) nil) (c-opt-postfix-decl-spec-key (c-lang-const c-opt-postfix-decl-spec-key) nil) (c-recognize-colon-labels (c-lang-const c-recognize-colon-labels) "Non-nil if generic labels ending with \":\" should be recognized.\nThat includes labels in code and access keys in classes. This does\nnot apply to labels recognized by `c-label-kwds' and\n`c-opt-extra-label-key'.") (c-label-prefix-re (c-lang-const c-label-prefix-re) "Regexp like `c-decl-prefix-re' that matches any token that can precede\na generic colon label. Not used if `c-recognize-colon-labels' is\nnil.") (c-nonlabel-token-key (c-lang-const c-nonlabel-token-key) "Regexp matching things that can't occur in generic colon labels,\nneither in a statement nor in a declaration context. The regexp is\ntested at the beginning of every sexp in a suspected label,\ni.e. before \":\". Only used if `c-recognize-colon-labels' is set.") (c-nonlabel-nonparen-token-key (c-lang-const c-nonlabel-nonparen-token-key) "Regexp matching things that can't occur in generic colon labels,\nneither in a statement nor in a declaration context, with the\nexception of an open parenthesis. The regexp is tested at the\nbeginning of every sexp in a suspected label, i.e. before \":\".\nOnly used if `c-recognize-colon-labels' is set.") (c-nonlabel-token-2-key (c-lang-const c-nonlabel-token-2-key) "Regexp matching things that can't occur two symbols before a colon in\na label construct. This catches C++'s inheritance construct \"class foo\n: bar\". Only used if `c-recognize-colon-labels' is set.") (c-opt-extra-label-key (c-lang-const c-opt-extra-label-key) "Optional regexp matching labels.\nNormally, labels are detected according to `c-nonlabel-token-key',\n`c-decl-prefix-re' and `c-nonlabel-decl-prefix-re'. This regexp can\nbe used if there are additional labels that aren't recognized that\nway.") (c-opt-friend-key (c-lang-const c-opt-friend-key) nil) (c-opt-method-key (c-lang-const c-opt-method-key) nil) (c-type-decl-end-used (c-lang-const c-type-decl-end-used) nil) (c-maybe-decl-faces (c-lang-const c-maybe-decl-faces) "List of faces that might be put at the start of a type when\n`c-font-lock-declarations' runs. This must be evaluated (with `eval') at\nruntime to get the actual list of faces. This ensures that face name\naliases in Emacs are resolved.")) message "Eval error in the `c-lang-defvar' or `c-lang-setvar' for `%s'%s: %S" format " (fallback source eval - %s compiled with CC Mode %s but loaded with %s)" "5.35.1" signal c-common-init easy-menu-add ((csharp-mode . codedoc)) run-mode-hooks c-mode-common-hook csharp-mode-hook #[0 "\300 \207" [c-update-modeline] 1]] 14 (#$ . 41151) nil]) (provide 'csharp-mode)