| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/progmodes/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304\305\306#\210\300\307!\210\300\310!\207" [require cc-mode newcomment imenu moz nil t json prog-mode] 4)
#@73 Regexp matching the start of a JavaScript identifier, without grouping.
(defconst js--name-start-re "[[:alpha:]_$]" (#$ . 247))
(defconst js--stmt-delim-chars "^;{}?:")
#@60 Regexp matching a JavaScript identifier, without grouping.
(defconst js--name-re (concat js--name-start-re "\\(?:\\s_\\|\\sw\\)*") (#$ . 422))
#@57 Regexp matching the start of a JavaScript object field.
(defconst js--objfield-re (concat js--name-re ":") (#$ . 571))
#@63 Regexp matching a dot-separated sequence of JavaScript names.
(defconst js--dotted-name-re (concat js--name-re "\\(?:\\." js--name-re "\\)*") (#$ . 696))
#@40 Regexp matching a C preprocessor name.
(defconst js--cpp-name-re js--name-re (#$ . 856))
#@182 Regexp matching the prefix of a cpp directive.
This includes the directive name, or nil in languages without
preprocessor support. The first submatch surrounds the directive
name.
(defconst js--opt-cpp-start "^\\s-*#\\s-*\\([[:alnum:]]+\\)" (#$ . 952))
#@180 Regexp matching an explicit JavaScript prototype "method" declaration.
Group 1 is a (possibly-dotted) class name, group 2 is a method name,
and group 3 is the `function' keyword.
(defconst js--plain-method-re (concat "^\\s-*?\\(" js--dotted-name-re "\\)\\.prototype\\.\\(" js--name-re "\\)\\s-*?=\\s-*?\\(function\\)\\_>") (#$ . 1213))
#@129 Regexp matching a JavaScript explicit prototype "class" declaration.
An example of this is "Class.prototype = { method1: ...}".
(defconst js--plain-class-re (concat "^\\s-*\\(" js--dotted-name-re "\\)\\.prototype\\s-*=\\s-*{") (#$ . 1556))
(defconst js--mp-class-decl-re (concat "^\\s-*var\\s-+\\(" js--name-re "\\)\\s-*=\\s-*\\(" js--dotted-name-re "\\)\\.extend\\(?:Final\\)?\\s-*(\\s-*{?\\s-*$"))
(defconst js--prototype-obsolete-class-decl-re (concat "^\\s-*\\(?:var\\s-+\\)?\\(" js--dotted-name-re "\\)\\s-*=\\s-*Class\\.create()"))
(defconst js--prototype-objextend-class-decl-re-1 (concat "^\\s-*Object\\.extend\\s-*(\\(" js--dotted-name-re "\\)\\s-*,\\s-*{"))
(defconst js--prototype-objextend-class-decl-re-2 (concat "^\\s-*\\(?:var\\s-+\\)?\\(" js--dotted-name-re "\\)\\s-*=\\s-*Object\\.extend\\s-*("))
(defconst js--prototype-class-decl-re (concat "^\\s-*\\(?:var\\s-+\\)?\\(" js--name-re "\\)\\s-*=\\s-*Class\\.create\\s-*(\\s-*\\(?:\\(" js--dotted-name-re "\\)\\s-*,\\s-*\\)?{?"))
(defconst js--dojo-class-decl-re (concat "^\\s-*dojo\\.declare\\s-*(\"\\(" js--dotted-name-re "\\)"))
#@55 Regexp matching an ExtJS class declaration (style 1).
(defconst js--extjs-class-decl-re-1 (concat "^\\s-*Ext\\.extend\\s-*(\\s-*\\(" js--dotted-name-re "\\)\\s-*,\\s-*\\(" js--dotted-name-re "\\)") (#$ . 2659))
#@55 Regexp matching an ExtJS class declaration (style 2).
(defconst js--extjs-class-decl-re-2 (concat "^\\s-*\\(?:var\\s-+\\)?\\(" js--name-re "\\)\\s-*=\\s-*Ext\\.extend\\s-*(\\s-*\\(" js--dotted-name-re "\\)") (#$ . 2876))
#@47 Regexp matching a MochiKit class declaration.
(defconst js--mochikit-class-re (concat "^\\s-*MochiKit\\.Base\\.update\\s-*(\\s-*\\(" js--dotted-name-re "\\)") (#$ . 3103))
(defconst js--dummy-class-style '(:name "[Automatically Generated Class]"))
#@774 List of JavaScript class definition styles.
A class definition style is a plist with the following keys:
:name is a human-readable name of the class type
:class-decl is a regular expression giving the start of the
class. Its first group must match the name of its class. If there
is a parent class, the second group should match, and it should be
the name of the class.
If :prototype is present and non-nil, the parser will merge
declarations for this constructs with others at the same lexical
level that have the same name. Otherwise, multiple definitions
will create multiple top-level entries. Don't use :prototype
unnecessarily: it has an associated cost in performance.
If :strip-prototype is present and non-nil, then if the class
name as matched contains.
(defconst js--class-styles (byte-code "\306\307\310\311BBBB\306\312\310 \313BBBB\306\314\310\n\315BBBB\306\316\310\317BBBB\306\320\310\f\321BBBB\306\322\310
\323BBBB\306\324\310\325BBBB\306\326\310\327BBBB\306\330\310\331BBBB\306\332\310\333BBBB\257\n\207" [js--plain-class-re js--mochikit-class-re js--prototype-obsolete-class-decl-re js--prototype-class-decl-re js--prototype-objextend-class-decl-re-1 js--prototype-objextend-class-decl-re-2 :name "Plain" :class-decl (:prototype t :contexts (toplevel) :framework javascript) "MochiKit" (:prototype t :contexts (toplevel) :framework mochikit) "Prototype (Obsolete)" (:contexts (toplevel) :framework prototype) "Prototype (Modern)" (:contexts (toplevel) :framework prototype) "Prototype (Object.extend)" (:prototype t :contexts (toplevel) :framework prototype) "Prototype (Object.extend) 2" (:prototype t :contexts (toplevel) :framework prototype) "Dojo" (:contexts (toplevel) :framework dojo) "ExtJS (style 1)" (:prototype t :contexts (toplevel) :framework extjs) "ExtJS (style 2)" (:contexts (toplevel) :framework extjs) "Merrill Press" (:contexts (toplevel) :framework merrillpress) js--dojo-class-decl-re js--extjs-class-decl-re-1 js--extjs-class-decl-re-2 js--mp-class-decl-re] 14) (#$ . 3358))
#@50 List of available JavaScript frameworks symbols.
(defconst js--available-frameworks (byte-code "\301\211\211\211:\203* @\262\302\303\"\262>\204 C\244\262A\262\301\262\202 \207" [js--class-styles nil plist-get :framework] 8) (#$ . 5398))
#@103 Regexp matching the start of a JavaScript function header.
Match group 1 is the name of the function.
(defconst js--function-heading-1-re (concat "^\\s-*function\\(?:\\s-\\|\\*\\)+\\(" js--name-re "\\)") (#$ . 5659))
#@115 Regexp matching the start of a function entry in an associative array.
Match group 1 is the name of the function.
(defconst js--function-heading-2-re (concat "^\\s-*\\(" js--name-re "\\)\\s-*:\\s-*function\\_>") (#$ . 5883))
#@97 Regexp matching a line in the JavaScript form "var MUMBLE = function".
Match group 1 is MUMBLE.
(defconst js--function-heading-3-re (concat "^\\s-*\\(?:var\\s-+\\)?\\(" js--dotted-name-re "\\)\\s-*=\\s-*function\\_>") (#$ . 6114))
#@112 Regexp matching a CPP macro definition, up to the opening parenthesis.
Match group 1 is the name of the macro.
(defconst js--macro-decl-re (concat "^\\s-*#\\s-*define\\s-+\\(" js--cpp-name-re "\\)\\s-*(") (#$ . 6352))
#@79 Like `regexp-opt', but surround the result with `\\_<' and `\\_>'.
(fn LIST)
(defalias 'js--regexp-opt-symbol #[257 "\300\301\302\"\303Q\207" ["\\_<" regexp-opt t "\\_>"] 5 (#$ . 6576)])
#@41 Regexp matching any JavaScript keyword.
(defconst js--keyword-re (js--regexp-opt-symbol '("abstract" "async" "await" "break" "case" "catch" "class" "const" "continue" "debugger" "default" "delete" "do" "else" "enum" "export" "extends" "final" "finally" "for" "function" "goto" "if" "implements" "import" "in" "instanceof" "interface" "native" "new" "of" "package" "private" "protected" "public" "return" "static" "super" "switch" "synchronized" "throw" "throws" "transient" "try" "typeof" "var" "void" "let" "yield" "volatile" "while" "with")) (#$ . 6771))
#@64 Regular expression matching any predefined type in JavaScript.
(defconst js--basic-type-re (js--regexp-opt-symbol '("boolean" "byte" "char" "double" "float" "int" "long" "short" "void")) (#$ . 7334))
#@70 Regular expression matching any future reserved words in JavaScript.
(defconst js--constant-re (js--regexp-opt-symbol '("false" "null" "undefined" "Infinity" "NaN" "true" "arguments" "this")) (#$ . 7540))
#@45 Level one font lock keywords for `js-mode'.
(defconst js--font-lock-keywords-1 (byte-code "\303\304 E\n\304 EE\207" [js--function-heading-1-re font-lock-function-name-face js--function-heading-2-re "\\_<import\\_>" 1] 5) (#$ . 7751))
#@45 Level two font lock keywords for `js-mode'.
(defconst js--font-lock-keywords-2 (byte-code "\306 \307\nE\310\311\312\211\307\302D\257\fB
BF\"\207" [js--font-lock-keywords-1 js--keyword-re font-lock-keyword-face js--basic-type-re font-lock-type-face js--constant-re append 1 "\\_<for\\_>" "\\s-+\\(each\\)\\_>" nil font-lock-constant-face] 9) (#$ . 7992))
#@75 compiler-macro for inlining `js--pitem-children'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'js--pitem-children--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block js--pitem-children (progn (car cl-x))) nil] 9 (#$ . 8357)])
(put 'js--pitem-children 'compiler-macro 'js--pitem-children--cmacro)
#@63 Access slot "children" of `js--pitem' struct CL-X.
(fn CL-X)
(defalias 'js--pitem-children #[257 "\211@\207" [] 2 (#$ . 8684)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put js--pitem-children side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" js--pitem-children] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@78 compiler-macro for inlining `js--pitem-paren-depth'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'js--pitem-paren-depth--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block js--pitem-paren-depth (progn (nth 1 cl-x))) nil] 9 (#$ . 9047)])
(put 'js--pitem-paren-depth 'compiler-macro 'js--pitem-paren-depth--cmacro)
#@66 Access slot "paren-depth" of `js--pitem' struct CL-X.
(fn CL-X)
(defalias 'js--pitem-paren-depth #[257 "\211A@\207" [] 2 (#$ . 9391)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put js--pitem-paren-depth side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" js--pitem-paren-depth] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@71 compiler-macro for inlining `js--pitem-type'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'js--pitem-type--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block js--pitem-type (progn (nth 2 cl-x))) nil] 9 (#$ . 9767)])
(put 'js--pitem-type 'compiler-macro 'js--pitem-type--cmacro)
#@59 Access slot "type" of `js--pitem' struct CL-X.
(fn CL-X)
(defalias 'js--pitem-type #[257 "\3008\207" [2] 3 (#$ . 10076)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put js--pitem-type side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" js--pitem-type] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@74 compiler-macro for inlining `js--pitem-h-begin'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'js--pitem-h-begin--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block js--pitem-h-begin (progn (nth 3 cl-x))) nil] 9 (#$ . 10426)])
(put 'js--pitem-h-begin 'compiler-macro 'js--pitem-h-begin--cmacro)
#@62 Access slot "h-begin" of `js--pitem' struct CL-X.
(fn CL-X)
(defalias 'js--pitem-h-begin #[257 "\3008\207" [3] 3 (#$ . 10751)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put js--pitem-h-begin side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" js--pitem-h-begin] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@71 compiler-macro for inlining `js--pitem-name'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'js--pitem-name--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block js--pitem-name (progn (nth 4 cl-x))) nil] 9 (#$ . 11113)])
(put 'js--pitem-name 'compiler-macro 'js--pitem-name--cmacro)
#@59 Access slot "name" of `js--pitem' struct CL-X.
(fn CL-X)
(defalias 'js--pitem-name #[257 "\3008\207" [4] 3 (#$ . 11423)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put js--pitem-name side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" js--pitem-name] 5 "\n\n(fn CL-DO CL-X)"]] 5)
#@72 compiler-macro for inlining `js--pitem-b-end'.
(fn CL-WHOLE-ARG CL-X)
(defalias 'js--pitem-b-end--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block js--pitem-b-end (progn (nth 5 cl-x))) nil] 9 (#$ . 11773)])
(put 'js--pitem-b-end 'compiler-macro 'js--pitem-b-end--cmacro)
#@60 Access slot "b-end" of `js--pitem' struct CL-X.
(fn CL-X)
(defalias 'js--pitem-b-end #[257 "\3008\207" [5] 3 (#$ . 12088)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put js--pitem-b-end side-effect-free t defalias copy-js--pitem copy-sequence] 4)
#@122 compiler-macro for inlining `make-js--pitem'.
(fn CL-WHOLE &cl-quote &key CHILDREN PAREN-DEPTH TYPE H-BEGIN NAME B-END)
(defalias 'make-js--pitem--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\211\203R \211@\307>\203: \211AA\262\202'