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

Class TypeAnnotation

A type annotation, either in the form of a TypeScript type or a JSDoc comment.

Import path

import javascript

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

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.

getClass

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

getEnclosingFunction

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

getEnclosingStmt

Gets the statement in which this type appears.

getTopLevel

Gets the top-level containing this type annotation.

getType

Gets the static type denoted by this type annotation, if one is provided by the extractor.

hasQualifiedName

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

hasQualifiedName

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

isAny

Holds if this is the any type.

isBigInt

Holds if this is the bigint type.

isBoolean

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

isBooleany

Holds if this is the boolean or Boolean type.

isConstKeyword

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

isNever

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

isNull

Holds if this is the null type.

isNumber

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

isNumbery

Holds if this is the number or Numbers type.

isObjectKeyword

Holds if this is the object type.

isRawFunction

Holds if this is the Function type.

isString

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

isStringy

Holds if this is the string or String type.

isSymbol

Holds if this is the symbol type.

isThis

Holds if this is the this type.

isUndefined

Holds if this is the undefined type.

isUniqueSymbol

Holds if this is the unique symbol type.

isUnknownKeyword

Holds if this is the unknown type.

isVoid

Holds if this is the void type.

Inherited predicates

getAPrimaryQlClass

Gets the primary QL class for the Locatable.

from Locatable
getContainer

Gets the function or toplevel to which this node belongs.

from NodeInStmtContainer
getEndLine

Gets the line on which this element ends.

from Locatable
getFile

Gets the file this program element comes from.

from Locatable
getLocation

Gets this element’s location.

from Locatable
getNumLines

Gets the number of lines covered by this element.

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

Gets a textual representation of this element.

from Locatable