"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Variavel = void 0;
class Variavel {
    constructor(hashArquivo, simbolo, tipo = 'qualquer') {
        this.linha = Number(simbolo.linha);
        this.hashArquivo = hashArquivo;
        this.simbolo = simbolo;
        this.tipo = tipo;
    }
    async aceitar(visitante) {
        return Promise.resolve(visitante.visitarExpressaoDeVariavel(this));
    }
    paraTexto() {
        return `<variável nome=${this.simbolo.lexema} tipo=${this.tipo} />`;
    }
    paraTextoSaida() {
        throw new Error('Método não implementado.');
    }
}
exports.Variavel = Variavel;
//# sourceMappingURL=variavel.js.map