Module Variables

Provides classes for modeling program variables.

Import path

semmle.javascript.Variables

Imports

javascript

Provides classes for working with JavaScript programs, as well as JSON, YAML and HTML.

Classes

ArgumentsVariable

An arguments variable of a function.

ArrayPattern

An array pattern.

BindingPattern

A binding pattern, i.e., either an identifier or a destructuring pattern.

BlockScope

A scope induced by a block of statements.

CatchScope

A scope induced by a catch clause.

ComprehensionBlockScope

A scope induced by a comprehension block.

DeclarationSpace

A string representing one of the three TypeScript declaration spaces: variable, type, or namespace.

DestructuringPattern

A destructuring pattern, that is, either an array pattern or an object pattern.

ExportVarAccess

An identifier that occurs in a named export declaration, such as in export { A }.

FieldParameter

A constructor parameter that induces a field in its class, such as the parameter x in: class C { constructor(public x: number) {} }

ForInScope

A scope induced by a for-in or for-of statement.

ForScope

A scope induced by a for statement.

FunctionScope

A scope induced by a function.

GlobalScope

The global scope.

GlobalVarAccess

An identifier that refers to a global variable.

GlobalVarDecl

An identifier that declares a global variable.

GlobalVariable

A global variable.

LexicalAccess

An identifier that refers to a variable, type, or namespace, or a combination of these, in a non-declaring position.

LexicalDecl

An identifier that declares a variable, type, or namespace, or a combination of these.

LexicalName

A name that is declared in a particular scope.

LexicalRef

An identifier that refers to a variable, type, or namespace, or a combination of these.

LocalScope

A local scope, that is, a scope that is not the global scope.

LocalVariable

A local variable or a parameter.

ModuleScope

A scope induced by a Node.js or ES2015 module

NamespaceScope

The lexical scope induced by a TypeScript namespace declaration.

ObjectPattern

An object pattern.

Parameter

A parameter declaration.

Parameterized

A program element that declares parameters, that is, either a function or a catch clause.

PropertyPattern

A property pattern in an object pattern.

PurelyLocalVariable

A local variable that is not captured.

Scope

A scope in which variables can be declared.

ScopeElement

A program element that induces a scope.

SimpleParameter

A parameter declaration that is not an object or array pattern.

VarAccess

An identifier that refers to a variable in a non-declaring position.

VarDecl

An identifier that declares a variable.

VarRef

An identifier that refers to a variable, either in a declaration or in a variable access.

Variable

A variable declared in a scope.

VariableDeclarator

A variable declarator declaring a local or global variable.