"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Vetor = void 0;
class Vetor {
    constructor(hashArquivo, linha, valores, tamanho, tipo) {
        this.linha = linha;
        this.hashArquivo = hashArquivo;
        this.tipo = tipo;
        this.valores = valores;
        if (tamanho) {
            this.tamanho = tamanho;
        }
        else {
            this.tamanho = this.valores.length;
        }
    }
    async aceitar(visitante) {
        return await visitante.visitarExpressaoVetor(this);
    }
    paraTexto() {
        return `<vetor tipo=${this.tipo} valores=${this.valores.reduce((anterior, atual) => (anterior += atual.paraTexto()), '')} />`;
    }
    paraTextoSaida() {
        throw new Error('Método não implementado.');
    }
}
exports.Vetor = Vetor;
//# sourceMappingURL=vetor.js.map