@typescript-eslint/scope-manager
Version:
TypeScript scope analyser for ESLint
48 lines (47 loc) • 1.32 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.VariableBase = void 0;
const ID_1 = require("../ID");
const generator = (0, ID_1.createIdGenerator)();
class VariableBase {
/**
* A unique ID for this instance - primarily used to help debugging and testing
*/
$id = generator();
/**
* The array of the definitions of this variable.
* @public
*/
defs = [];
/**
* True if the variable is considered used for the purposes of `no-unused-vars`, false otherwise.
* @public
*/
eslintUsed = false;
/**
* The array of `Identifier` nodes which define this variable.
* If this variable is redeclared, this array includes two or more nodes.
* @public
*/
identifiers = [];
/**
* The variable name, as given in the source code.
* @public
*/
name;
/**
* List of {@link Reference} of this variable (excluding parameter entries) in its defining scope and all nested scopes.
* For defining occurrences only see {@link Variable#defs}.
* @public
*/
references = [];
/**
* Reference to the enclosing Scope.
*/
scope;
constructor(name, scope) {
this.name = name;
this.scope = scope;
}
}
exports.VariableBase = VariableBase;
;