On this page

Source Code: lib/javascript/BasicEvaluatedExpression.js#L48

An instance is allocated for a large share of walked expressions, so the boolean facts live in one packed flags slot and the scalar/identifier fields in five slots shared by type, with accessors keeping every public field readable. This shrinks instances from 224 to 144 bytes on V8.

new BasicEvaluatedExpression(): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L291
Type:any[]
Source Code: lib/javascript/BasicEvaluatedExpression.js#L227
Type:bigint
Source Code: lib/javascript/BasicEvaluatedExpression.js#L195
Type:boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L54
Type:AssignmentProperty | Property | CatchClause | ClassDeclaration | ClassExpression | ClassBody | Identifier | SimpleLiteral | RegExpLiteral | BigIntLiteral | ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | SimpleCallExpression | NewExpression | ChainExpression | ConditionalExpression | FunctionExpression | ImportExpression | LogicalExpression | MemberExpression | MetaProperty | ObjectExpression | SequenceExpression | TaggedTemplateExpression | TemplateLiteral | ThisExpression | UnaryExpression | UpdateExpression | YieldExpression | FunctionDeclaration | MethodDefinition | ImportDeclaration | ExportNamedDeclaration | ExportDefaultDeclaration | ExportAllDeclaration | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | PrivateIdentifier | Program | PropertyDefinition | SpreadElement | ExpressionStatement | BlockStatement | StaticBlock | EmptyStatement | DebuggerStatement | WithStatement | ReturnStatement | LabeledStatement | BreakStatement | ContinueStatement | IfStatement | SwitchStatement | ThrowStatement | TryStatement | WhileStatement | DoWhileStatement | ForStatement | ForInStatement | ForOfStatement | VariableDeclaration | Super | SwitchCase | TemplateElement | VariableDeclarator
Source Code: lib/javascript/BasicEvaluatedExpression.js#L144
Type:boolean
basicEvaluatedExpression.getMemberRanges(): [number, number][]
Source Code: lib/javascript/BasicEvaluatedExpression.js#L371
Returns:[number, number][]
basicEvaluatedExpression.getMembers(): string[]
Source Code: lib/javascript/BasicEvaluatedExpression.js#L339
Returns:string[]
basicEvaluatedExpression.getMembersOptionals(): boolean[]
Source Code: lib/javascript/BasicEvaluatedExpression.js#L355
Returns:boolean[]
Source Code: lib/javascript/BasicEvaluatedExpression.js#L307
Source Code: lib/javascript/BasicEvaluatedExpression.js#L75
Source Code: lib/javascript/BasicEvaluatedExpression.js#L158
Type:boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L211
Type:number
Source Code: lib/javascript/BasicEvaluatedExpression.js#L77
Source Code: lib/javascript/BasicEvaluatedExpression.js#L73
Source Code: lib/javascript/BasicEvaluatedExpression.js#L81
Source Code: lib/javascript/BasicEvaluatedExpression.js#L79
Source Code: lib/javascript/BasicEvaluatedExpression.js#L71
Source Code: lib/javascript/BasicEvaluatedExpression.js#L93
Type:[number, number]

Served lazily from the attached expression when not set explicitly: evaluateExpression's plain results share the expression's range, and most evaluations never read it, so the node's range array is only materialized on demand.

Source Code: lib/javascript/BasicEvaluatedExpression.js#L243
Type:RegExp
Source Code: lib/javascript/BasicEvaluatedExpression.js#L323
Source Code: lib/javascript/BasicEvaluatedExpression.js#L179
Type:boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L259
Type:string
Source Code: lib/javascript/BasicEvaluatedExpression.js#L275
Type:"cooked" | "raw"
Source Code: lib/javascript/BasicEvaluatedExpression.js#L128
Type:boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L114
Type:number
Source Code: lib/javascript/BasicEvaluatedExpression.js#L83
basicEvaluatedExpression.addOptions(options): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L752
Attributes

Adds the provided basic evaluated expression to the basic evaluated expression.

basicEvaluatedExpression.asBool(): boolean | undefined
Source Code: lib/javascript/BasicEvaluatedExpression.js#L537
Returns:boolean | undefined

Creates a boolean representation of this evaluated expression.

basicEvaluatedExpression.asCompileTimeValue(): string | number | bigint | boolean | RegExp | any[] | null | undefined
Source Code: lib/javascript/BasicEvaluatedExpression.js#L488

As compile time value.

basicEvaluatedExpression.asNullish(): boolean | undefined
Source Code: lib/javascript/BasicEvaluatedExpression.js#L565
Returns:boolean | undefined

Creates a nullish coalescing representation of this evaluated expression.

basicEvaluatedExpression.asString(): string | undefined
Source Code: lib/javascript/BasicEvaluatedExpression.js#L587
Returns:string | undefined

Creates a string representation of this evaluated expression.

basicEvaluatedExpression.couldHaveSideEffects(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L529
Returns:boolean

Can this expression have side effects?

basicEvaluatedExpression.isArray(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L420
Returns:boolean
basicEvaluatedExpression.isBigInt(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L404
Returns:boolean
basicEvaluatedExpression.isBoolean(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L408
Returns:boolean
basicEvaluatedExpression.isCompileTimeValue(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L468
Returns:boolean

Is expression a runtime or compile-time value?

basicEvaluatedExpression.isConditional(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L416
Returns:boolean
basicEvaluatedExpression.isConstArray(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L424
Returns:boolean
basicEvaluatedExpression.isFalsy(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L517
Returns:boolean
basicEvaluatedExpression.isIdentifier(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L428
Returns:boolean
basicEvaluatedExpression.isNull(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L388
Returns:boolean
basicEvaluatedExpression.isNullish(): boolean | undefined
Source Code: lib/javascript/BasicEvaluatedExpression.js#L521
Returns:boolean | undefined
basicEvaluatedExpression.isNumber(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L400
Returns:boolean
basicEvaluatedExpression.isPrimitiveType(): boolean | undefined
Source Code: lib/javascript/BasicEvaluatedExpression.js#L444
Returns:boolean | undefined

Is expression a primitive or an object type value?

basicEvaluatedExpression.isRegExp(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L412
Returns:boolean
basicEvaluatedExpression.isString(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L396
Returns:boolean
basicEvaluatedExpression.isTemplateString(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L436
Returns:boolean
basicEvaluatedExpression.isTruthy(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L513
Returns:boolean
basicEvaluatedExpression.isUndefined(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L392
Returns:boolean
basicEvaluatedExpression.isUnknown(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L384
Returns:boolean
basicEvaluatedExpression.isWrapped(): boolean
Source Code: lib/javascript/BasicEvaluatedExpression.js#L432
Returns:boolean
basicEvaluatedExpression.setArray(array): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L781
Attributes

Set's the value of this expression to an array of strings.

basicEvaluatedExpression.setBigInt(bigint): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L662
Attributes

Set's the value of this expression to a BigInt

basicEvaluatedExpression.setBoolean(bool): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L674
Attributes

Set's the value of this expression to a boolean

basicEvaluatedExpression.setExpression(expression?): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L856
Attributes
expression:AssignmentProperty | Property | CatchClause | ClassDeclaration | ClassExpression | ClassBody | Identifier | SimpleLiteral | RegExpLiteral | BigIntLiteral | ArrayExpression | ArrowFunctionExpression | AssignmentExpression | AwaitExpression | BinaryExpression | SimpleCallExpression | NewExpression | ChainExpression | ConditionalExpression | FunctionExpression | ImportExpression | LogicalExpression | MemberExpression | MetaProperty | ObjectExpression | SequenceExpression | TaggedTemplateExpression | TemplateLiteral | ThisExpression | UnaryExpression | UpdateExpression | YieldExpression | FunctionDeclaration | MethodDefinition | ImportDeclaration | ExportNamedDeclaration | ExportDefaultDeclaration | ExportAllDeclaration | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ExportSpecifier | ObjectPattern | ArrayPattern | RestElement | AssignmentPattern | PrivateIdentifier | Program | PropertyDefinition | SpreadElement | ExpressionStatement | BlockStatement | StaticBlock | EmptyStatement | DebuggerStatement | WithStatement | ReturnStatement | LabeledStatement | BreakStatement | ContinueStatement | IfStatement | SwitchStatement | ThrowStatement | TryStatement | WhileStatement | DoWhileStatement | ForStatement | ForInStatement | ForOfStatement | VariableDeclaration | Super | SwitchCase | TemplateElement | VariableDeclarator

Set the expression node for the expression.

basicEvaluatedExpression.setFalsy(): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L812
basicEvaluatedExpression.setIdentifier(identifier, rootInfo, getMembers, getMembersOptionals?, getMemberRanges?): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L702
Attributes
identifier:string | VariableInfo
rootInfo:string | VariableInfo
getMembers:() => string[]
getMembersOptionals:() => boolean[]
getMemberRanges:() => [number, number][]

Set's the value of this expression to a particular identifier and its members.

basicEvaluatedExpression.setItems(items): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L769
Attributes

Set's the value of this expression to an array of expressions.

basicEvaluatedExpression.setNull(): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L639
basicEvaluatedExpression.setNullish(value): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L823
Attributes

Set's the value of the expression to nullish.

basicEvaluatedExpression.setNumber(number): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L650
Attributes

Set's the value of this expression to a number

basicEvaluatedExpression.setOptions(options): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L740
Attributes

Stores the options of a conditional expression.

basicEvaluatedExpression.setRange(range): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L836
Attributes

Set's the range for the expression.

basicEvaluatedExpression.setRegExp(regExp): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L686
Attributes

Set's the value of this expression to a regular expression

basicEvaluatedExpression.setSideEffects(sideEffects?): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L846
Attributes

Set whether or not the expression has side effects.

basicEvaluatedExpression.setString(string): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L626
Attributes

Updates string using the provided string.

basicEvaluatedExpression.setTemplateString(quasis, parts, kind): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L796
Attributes

Set's the value of this expression to a processed/unprocessed template string. Used for evaluating TemplateLiteral expressions in the JavaScript Parser.

basicEvaluatedExpression.setTruthy(): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L805
basicEvaluatedExpression.setUndefined(): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L633
basicEvaluatedExpression.setWrapped(prefix?, postfix?, innerExpressions?): BasicEvaluatedExpression
Source Code: lib/javascript/BasicEvaluatedExpression.js#L726
Attributes

Wraps an array of expressions with a prefix and postfix expression.