"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AcessoIndiceVariavel = void 0;
/**
 * Definido como `Subscript` em Égua Clássico, esse construto serve para acessar índices de
 * vetores e dicionários.
 */
class AcessoIndiceVariavel {
    constructor(hashArquivo, entidadeChamada, indice, simboloFechamento, tipo = 'qualquer') {
        this.tipo = 'qualquer';
        this.linha = entidadeChamada.linha;
        this.hashArquivo = hashArquivo;
        this.entidadeChamada = entidadeChamada;
        this.indice = indice;
        this.simboloFechamento = simboloFechamento;
        this.tipo = tipo;
    }
    async aceitar(visitante) {
        return await visitante.visitarExpressaoAcessoIndiceVariavel(this);
    }
    paraTexto() {
        return (`<acesso-índice-variável entidadeChamada=${this.entidadeChamada.paraTexto()} ` +
            `índice=${this.indice.paraTexto()} ` +
            `/>`);
    }
    paraTextoSaida() {
        throw new Error('Método não implementado.');
    }
}
exports.AcessoIndiceVariavel = AcessoIndiceVariavel;
//# sourceMappingURL=acesso-indice-variavel.js.map