"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const variable_1 = require("./variable");
class Definition {
    constructor(type, name, node, parent, index, kind) {
        this.type = type;
        this.name = name;
        this.node = node;
        this.parent = parent;
        this.index = index;
        this.kind = kind;
    }
}
exports.Definition = Definition;
class ParameterDefinition extends Definition {
    constructor(name, node, index, rest) {
        super(variable_1.VariableType.Parameter, name, node, undefined, index, undefined);
        this.rest = rest;
    }
}
exports.ParameterDefinition = ParameterDefinition;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZpbml0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUNBQTBDO0FBUTFDO0lBQ0UsWUFDa0IsSUFBa0IsRUFDbEIsSUFBMkIsRUFDM0IsSUFBaUIsRUFDakIsTUFBb0IsRUFDcEIsS0FBYyxFQUNkLElBQWE7UUFMYixTQUFJLEdBQUosSUFBSSxDQUFjO1FBQ2xCLFNBQUksR0FBSixJQUFJLENBQXVCO1FBQzNCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ2QsU0FBSSxHQUFKLElBQUksQ0FBUztJQUM1QixDQUFDO0NBQ0w7QUFURCxnQ0FTQztBQUVELHlCQUFpQyxTQUFRLFVBQVU7SUFDakQsWUFDRSxJQUF1QixFQUN2QixJQUFpQixFQUNqQixLQUFhLEVBQ0csSUFBYTtRQUU3QixLQUFLLENBQUMsdUJBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRnZELFNBQUksR0FBSixJQUFJLENBQVM7SUFHL0IsQ0FBQztDQUNGO0FBVEQsa0RBU0MifQ==