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

Class IntersectionTypeExpr

A type of form S&T, denoting the intersection of type S and type T.

In general, there are can more than two operands to an intersection type.

Import path

import javascript

Direct supertypes

Indirect supertypes

Predicates

getAPrimaryQlClass

Gets the primary QL class for the Locatable.

Inherited predicates

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
getAToken

Gets a token belonging to this element.

from AstNode
getAnElementType

Gets any of the types in the union or intersection.

from UnionOrIntersectionTypeExpr
getAnUnderlyingType

Repeatedly unfolds unions, intersections, parentheses, and nullability/readonly modifiers and gets any of the underlying types, or this type itself if it cannot be unfolded.

from UnionOrIntersectionTypeExpr
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
getClass

Gets the class referenced by this type annotation, if any.

from TypeExpr
getContainer

Gets the function or toplevel to which this node belongs.

from NodeInStmtContainer
getDocumentation

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

from ExprOrType
getElementType

Gets the nth type in the union or intersection, starting at 0.

from UnionOrIntersectionTypeExpr
getEnclosingFunctionfrom TypeExpr
getEnclosingStmtfrom TypeExpr
getEndLine

Gets the line on which this element ends.

from Locatable
getFile

Gets the file this program element comes from.

from AstNode
getFirstControlFlowNode

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

from AstNode
getFirstToken

Gets the first token belonging to this element.

from AstNode
getLastToken

Gets the last token belonging to this element.

from AstNode
getLocation

Gets this element’s location.

from Locatable
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
getNumElementType

Gets the number of types in the union or intersection. This is always at least two.

from UnionOrIntersectionTypeExpr
getNumLines

Gets the number of lines covered by this element.

from Locatable
getParent

Gets the parent node of this node, if any.

from AstNode
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
getTopLevelfrom TypeExpr
getType

Gets the static type expressed by this type annotation.

from TypeExpr
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
hasQualifiedName

Holds if this is a reference to the type with qualified name globalName relative to the global scope.

from TypeAnnotation
hasQualifiedName

Holds if this is a reference to the type exported from moduleName under the name exportedName.

from TypeAnnotation
inExternsFile

Holds if this syntactic entity belongs to an externs file.

from AstNode
isAmbient

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

from AstNode
isAny

Holds if this is the any type.

from TypeAnnotation
isBigInt

Holds if this is the bigint type.

from TypeAnnotation
isBoolean

Holds if this is the boolean type. Does not hold for the (rarely used) Boolean type.

from TypeAnnotation
isBooleany

Holds if this is the boolean or Boolean type.

from TypeAnnotation
isConstKeyword

Holds if this is the const keyword, occurring in a type assertion such as x as const.

from TypeAnnotation
isNever

Holds if this is the never type, or an equivalent type representing the empty set of values.

from TypeAnnotation
isNull

Holds if this is the null type.

from TypeAnnotation
isNumber

Holds if this is the number type. Does not hold for the (rarely used) Number type.

from TypeAnnotation
isNumbery

Holds if this is the number or Numbers type.

from TypeAnnotation
isObjectKeyword

Holds if this is the object type.

from TypeAnnotation
isRawFunction

Holds if this is the Function type.

from TypeAnnotation
isString

Holds if this is the string type. Does not hold for the (rarely used) String type.

from TypeAnnotation
isStringy

Holds if this is the string or String type.

from TypeAnnotation
isSymbol

Holds if this is the symbol type.

from TypeAnnotation
isThis

Holds if this is the this type.

from TypeAnnotation
isUndefined

Holds if this is the undefined type.

from TypeAnnotation
isUniqueSymbol

Holds if this is the unique symbol type.

from TypeAnnotation
isUnknownKeyword

Holds if this is the unknown type.

from TypeAnnotation
isVoid

Holds if this is the void type.

from TypeAnnotation
stripParens

Gets this expression or type, with any surrounding parentheses removed.

from ExprOrType
toString

Gets a textual representation of this element.

from TypeExpr