CodeQL library for JavaScript/TypeScript
codeql/javascript-all 2.0.1-dev (changelog, source)
Search

Class ClassExpr

A class expression.

Example:

let C =
class {                            // class expression
  constructor() { this.x = 0; }

  bump() { return this.x++; }
};

Import path

import javascript

Direct supertypes

Indirect supertypes

Predicates

getFirstControlFlowNode

Gets the first control flow node belonging to this syntactic entity.

getName

Gets the name of the defined class or interface, possibly inferred from the context if this is an anonymous class expression.

isImpure

Holds if this expression is impure, that is, its evaluation could have side effects.

Inherited predicates

accessesGlobal

Holds if this expression accesses the global variable g, either directly or through the window object.

from Expr
analyze

Gets type inference results for this element.

from ValueNode
describe

Gets a description of this class or interface.

from ClassDefinition
describeControlFlowNode

For internal use.

from ControlFlowNode
flow

Gets the data flow node associated with this program element.

from ValueNode
getACallSignature

Gets a call signature declared in this interface.

from ClassOrInterface
getAChild

Gets a child node of this node.

from AstNode
getAChildExpr

Gets a child expression of this node.

from AstNode
getAChildStmt

Gets a child statement of this node.

from AstNode
getADecorator

Gets a decorator applied to this class, if any.

from ClassDefinition
getAField

Gets a field declared in this class or interface.

from ClassOrInterface
getAMember

Gets a member declared in this class or interface.

from ClassOrInterface
getAMethod

Gets a method declared in this class or interface.

from ClassOrInterface
getAPredecessor

Gets a node preceding this node in the CFG.

from ControlFlowNode
getAPrimaryQlClass

Gets the primary QL class for the Locatable.

from ClassDefinition
getAStaticInitializerBlock

Gets a static initializer of this class, if any.

from ClassDefinition
getASuccessor

Gets a node succeeding this node in the CFG.

from ControlFlowNode
getASuperInterface

Gets any type from the implements clause of this class.

from ClassDefinition
getASuperTypeDeclaration

Gets the ClassOrInterface corresponding to either a super type or an implemented interface.

from ClassOrInterface
getAToken

Gets a token belonging to this element.

from AstNode
getATypeParameter

Gets any type parameter declared on this function or type.

from TypeParameterized
getAnIndexSignature

Gets an index signature declared in this interface.

from ClassOrInterface
getBasicBlock

Gets the basic block this node belongs to.

from ControlFlowNode
getChild

Gets the ith child node of this node.

from AstNode
getChildExpr

Gets the ith child expression of this node.

from AstNode
getChildStmt

Gets the ith child statement of this node.

from AstNode
getChildTypeExpr

Gets the ith child type expression of this node.

from AstNode
getConstructor

Gets the constructor of this class.

from ClassDefinition
getContainer

Gets the function or toplevel to which this node belongs.

from NodeInStmtContainer
getDecorator

Gets the ith decorator applied to this class.

from ClassDefinition
getDocumentation

Gets the JSDoc comment associated with this expression or type or its parent statement, if any.

from ExprOrType
getEnclosingFunction

Gets the function in which this expression or type appears, if any.

from ExprOrType
getEnclosingStmt

Gets the statement in which this expression or type appears.

from ExprOrType
getEndLine

Gets the line on which this element ends.

from Locatable
getExceptionTarget

Gets the data-flow node where exceptions thrown by this expression will propagate if this expression causes an exception to be thrown.

from Expr
getField

Gets the field with the given name declared in this class or interface.

from ClassOrInterface
getFile

Gets the file this program element comes from.

from AstNode
getFirstToken

Gets the first token belonging to this element.

from AstNode
getIdentifier

Gets the identifier naming the defined class, if any.

from ClassDefinition
getInstanceMethod

Gets an instance method of this class with the given name.

from ClassDefinition
getIntValue

Gets the constant integer value this expression evaluates to, if any.

from Expr
getKind

Gets the kind of this expression, which is an integer value representing the expression’s node type.

from Expr
getLastToken

Gets the last token belonging to this element.

from AstNode
getLocation

Gets this element’s location.

from Locatable
getMember

Gets the member with the given name declared in this class or interface.

from ClassOrInterface
getMemberByIndex

Gets the ith member declared in this class or interface.

from ClassOrInterface
getMethod

Gets the method with the given name declared in this class or interface.

from ClassOrInterface
getMethodOverload

Gets an overloaded version of the method with the given name declared in this class or interface.

from ClassOrInterface
getNumChild

Gets the number of child nodes of this node.

from AstNode
getNumChildExpr

Gets the number of child expressions of this node.

from AstNode
getNumChildStmt

Gets the number of child statements of this node.

from AstNode
getNumLines

Gets the number of lines covered by this element.

from Locatable
getNumTypeParameter

Gets the number of type parameters declared on this function or type.

from TypeParameterized
getParent

Gets the parent node of this node, if any.

from AstNode
getParentExpr

Gets the expression that is the parent of this expression in the AST, if any.

from Expr
getPrimaryQlClasses

Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs.

from Locatable
getStartLine

Gets the line on which this element starts.

from Locatable
getStringValue

Gets the constant string value this expression evaluates to, if any.

from Expr
getSuperClass

Gets the expression denoting the super class of the defined class, if any.

from ClassDefinition
getSuperClassDefinition

Gets the definition of the super class of this class, if it can be determined.

from ClassDefinition
getSuperInterface

Gets the ith type from the implements clause of this class, starting at 0.

from ClassDefinition
getTopLevel

Gets the toplevel syntactic unit to which this element belongs.

from AstNode
getType

Gets the static type of this expression, as determined by the TypeScript type system.

from Expr
getTypeName

Gets the canonical name of this class or interface type.

from ClassOrInterface
getTypeParameter

Gets the nth type parameter declared on this function or type.

from ClassDefinition
getUnderlyingReference

Gets the innermost reference that this expression evaluates to, if any.

from ExprOrType
getUnderlyingValue

Gets the innermost expression that this expression evaluates to.

from ExprOrType
getVariable

Gets the variable holding this class.

from ClassDefinition
hasTypeParameters

Holds if this function or type declares any type parameters.

from TypeParameterized
inExternsFile

Holds if this syntactic entity belongs to an externs file.

from AstNode
inNullSensitiveContext

Holds if the syntactic context that the expression appears in relies on the expression being non-null/non-undefined.

from Expr
isAFinalNode

Holds if this is a final node, that is, a CFG node where execution of a toplevel or function terminates.

from ControlFlowNode
isAFinalNodeOfContainer

Holds if this is a final node of container, that is, a CFG node where execution of that toplevel or function terminates.

from ControlFlowNode
isAbstract

Holds if this class has the abstract modifier.

from ClassDefinition
isAmbient

Holds if this is part of an ambient declaration or type annotation in a TypeScript file.

from AstNode
isBranch

Holds if this is a node with more than one successor.

from ControlFlowNode
isJoin

Holds if this is a node with more than one predecessor.

from ControlFlowNode
isPure

Holds if this expression is pure, that is, its evaluation is guaranteed to be side-effect free.

from Expr
isStart

Holds if this is a start node, that is, the CFG node where execution of a toplevel or function begins.

from ControlFlowNode
isUnreachable

Holds if this node is unreachable, that is, it has no predecessors in the CFG. Entry nodes are always considered reachable.

from ControlFlowNode
mayHaveBooleanValue

Holds if this expression may evaluate to b.

from Expr
mayHaveStringValue

Holds if this expression may evaluate to s.

from Expr
mayReferToParameter

Holds if this expression may refer to the initial value of parameter p.

from Expr
stripParens

Gets this expression, with any surrounding parentheses removed.

from Expr
toString

Gets a textual representation of this element.

from Expr