"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var VariableType;
(function (VariableType) {
    VariableType["CatchClause"] = "CatchClause";
    VariableType["Parameter"] = "Parameter";
    VariableType["FunctionName"] = "FunctionName";
    VariableType["ClassName"] = "ClassName";
    VariableType["Variable"] = "Variable";
    VariableType["ImportBinding"] = "ImportBinding";
    VariableType["TDZ"] = "TDZ";
    VariableType["ImplicitGlobalVariable"] = "ImplicitGlobalVariable";
    VariableType["ExportDefault"] = "ExportDefault";
})(VariableType = exports.VariableType || (exports.VariableType = {}));
class Variable {
    constructor(name, scope) {
        this.name = name;
        this.scope = scope;
        this.identifiers = [];
        this.references = [];
        this.defs = [];
        this.tainted = false;
        this.stack = true;
    }
}
exports.Variable = Variable;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdmFyaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxJQUFZLFlBVVg7QUFWRCxXQUFZLFlBQVk7SUFDdEIsMkNBQTJCLENBQUE7SUFDM0IsdUNBQXVCLENBQUE7SUFDdkIsNkNBQTZCLENBQUE7SUFDN0IsdUNBQXVCLENBQUE7SUFDdkIscUNBQXFCLENBQUE7SUFDckIsK0NBQStCLENBQUE7SUFDL0IsMkJBQVcsQ0FBQTtJQUNYLGlFQUFpRCxDQUFBO0lBQ2pELCtDQUErQixDQUFBO0FBQ2pDLENBQUMsRUFWVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQVV2QjtBQU9EO0lBT0UsWUFDa0IsSUFBWSxFQUNaLEtBQVk7UUFEWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osVUFBSyxHQUFMLEtBQUssQ0FBTztRQVJkLGdCQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUN0QyxlQUFVLEdBQWdCLEVBQUUsQ0FBQztRQUM3QixTQUFJLEdBQWlCLEVBQUUsQ0FBQztRQUNqQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBWSxJQUFJLENBQUM7SUFLMUIsQ0FBQztDQUNMO0FBWEQsNEJBV0MifQ==