"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TuplaN = void 0;
const tupla_1 = require("./tupla");
class TuplaN extends tupla_1.Tupla {
    constructor(hashArquivo, linha, elementos) {
        super();
        this.hashArquivo = hashArquivo;
        this.linha = linha;
        this.elementos = elementos;
        this.tipo = 'tupla';
    }
    async aceitar(visitante) {
        return await visitante.visitarExpressaoTuplaN(this);
    }
    paraTexto() {
        const elementosTexto = this.elementos.map(elemento => elemento.paraTexto()).join(', ');
        return `(${elementosTexto})`;
    }
    paraTextoSaida() {
        const elementosTexto = this.elementos.map(elemento => elemento.paraTextoSaida()).join(', ');
        return `(${elementosTexto})`;
    }
}
exports.TuplaN = TuplaN;
//# sourceMappingURL=tupla-n.js.map