# Functions
No description provided by the author
No description provided by the author
No description provided by the author
Returns "equal, ok".
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
Use this before calling "FollowSymbols" from separate threads to avoid concurrent map update hazards.
Returns the canonical ref that represents the ref for the provided symbol.
No description provided by the author
For readability, the names of certain automatically-generated symbols are derived from the file name.
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
"`a${'b'}c`" => "`abc`"
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This does "IsIdentifierES5AndESNext(UTF16ToString(text))" without any allocations.
No description provided by the author
No description provided by the author
This does "IsIdentifier(UTF16ToString(text))" without any allocations.
No description provided by the author
No description provided by the author
If this returns true, then calling this expression captures the target of the property access as "this" when calling the function in the property.
See the "White Space Code Points" table in the ECMAScript standard.
No description provided by the author
No description provided by the author
The goal of this function is to "rotate" the AST if it's possible to use the left-associative property of the operator to avoid unnecessary parentheses.
Note: This function does not say whether the expression is side-effect free or not.
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
The given "expr" argument should be the operand of a "!" prefix operator (i.e.
This can be used when the returned type is either one or the other.
Makes "old" point to "new" by joining the linked lists for the two symbols together.
No description provided by the author
Wraps the provided expression in the "!" prefix operator.
No description provided by the author
Simplify syntax when we know it's used inside a boolean context
This function intentionally avoids mutating the input AST so it can be called after the AST has been frozen (i.e.
This will return a nil expression if the expression can be totally removed.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Returns true if the result of the "typeof" operator on this expression is statically determined and this expression has no side effects (i.e.
No description provided by the author
# Constants
No description provided by the author
"a = b".
"a += b".
Left-associative.
If you add a new token, remember to add it to "OpTable" too.
Right-associative.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
Non-associative.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
If this is present, the symbol could potentially be overwritten.
If true, this symbol is the target of a "__name" helper function call.
This flag is to avoid warning about this symbol more than once.
No description provided by the author
No description provided by the author
The exports are stored on "module" and/or "exports".
All export names are known explicitly.
Some export names are known explicitly, but others fall back to a dynamic run-time object.
This file doesn't have any kind of export, so it's impossible to say what kind of file this is.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
The linker doesn't report import/export mismatch errors.
The printer will replace this import with "undefined".
No description provided by the author
No description provided by the author
This means the symbol is a normal function that has no body statements.
This means the symbol is a normal function that takes a single argument and returns that argument.
No description provided by the author
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence.
".cjs" or ".cts" or "type: commonjs" in package.json.
No description provided by the author
No description provided by the author
".mjs" or ".mts" or "type: module" in package.json.
No description provided by the author
No description provided by the author
No description provided by the author
Certain symbols must not be renamed or minified.
In React's version of JSX, lower-case names are strings while upper-case names are identifiers.
No description provided by the author
No description provided by the author
This is the index to the automatically-generated part containing code that calls "__export(exports, { ..
"a?.b.c" => ".c" is OptionalChainContinue "(a?.b).c" => ".c" is OptionalChainNone.
"a.b".
"a?.b".
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Sometimes we lower private symbols even if they are supported.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is used to remove the all but the last function re-declaration if a function is re-declared multiple times like this:
function foo() { console.log(1) } function foo() { console.log(2) }
.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is a module, TypeScript enum, or TypeScript namespace.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is the special "arguments" variable inside functions.
There's a weird special case where catch variables declared using a simple identifier (i.e.
Classes can merge with TypeScript namespaces.
Assigning to a "const" symbol will throw a TypeError at runtime.
Generator and async functions are not hoisted, but still have special properties such as being able to overwrite previous functions with the same name.
This has special merging behavior.
No description provided by the author
In TypeScript, imports are allowed to silently collide with symbols within the module.
Injected symbols can be overridden by provided defines.
Labels are in their own namespace.
Properties can optionally be renamed to shorter names.
This annotates all other symbols that don't have special behavior.
A class-private identifier (i.e.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TypeScript enums can merge with TypeScript namespaces and other TypeScript enums.
TypeScript namespaces can merge with classes, functions, TypeScript enums, and other TypeScript namespaces.
An unbound symbol is one that isn't declared in the file it's referenced in.
No description provided by the author
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
Prefix.
Postfix update.
If you add a new token, remember to add it to "OpTable" too.
Prefix update.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
If you add a new token, remember to add it to "OpTable" too.
This flags all symbols that were exported from the module using the ES6 "export" keyword, either directly on the declaration or using "export {}".
# Variables
These help reduce unnecessary memory allocations.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is similar to an EIdentifier but it represents a reference to an ES6 import item.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This represents an internal property name that can be mangled.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is similar to EIdentifier but it represents class-private fields and methods.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is used for both strings and no-substitution template literals to reduce the number of cases that need to be checked for string optimization code.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Each file is made up of multiple parts, and each part consists of one or more top-level statements.
No description provided by the author
No description provided by the author
Files are parsed in parallel for speed.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is an "export = value;" statement in TypeScript.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This object represents all of these types of import statements:
import 'path' import {item1, item2} from 'path' import * as ns from 'path' import defaultItem, {item1, item2} from 'path' import defaultItem, * as ns from 'path'
Many parts are optional and can be combined in different ways.
No description provided by the author
The decision of whether to export an expression using "module.exports" or "export default" is deferred until linking using this statement kind.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
This is a stand-in for a TypeScript type declaration.
No description provided by the author
No description provided by the author
Note: the order of values in this struct matters to reduce struct size.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
"enum ns { it }".
"enum ns { it = 'it' }".
"namespace ns { export namespace it {} }".
"namespace ns { export let it }".
This is for TypeScript "enum" and "namespace" blocks.
# Interfaces
This interface is never called.
This interface is never called.
This interface is never called.
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
This is a histogram of character frequencies for minification.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author