"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ComentarioComoConstruto = void 0;
/**
 * Diferentemente da declaração de comentário, este construto ocorre
 * dentro de expressões, como por exemplo, em especificação de elementos de um vetor.
 */
class ComentarioComoConstruto {
    constructor(simboloComentario) {
        this.linha = simboloComentario.linha;
        this.hashArquivo = simboloComentario.hashArquivo;
        this.conteudo = simboloComentario.lexema || simboloComentario.literal || '';
        this.multilinha = simboloComentario.tipo === 'COMENTARIO_MULTILINHA';
    }
    aceitar(visitante) {
        return Promise.resolve(visitante.visitarExpressaoComentario(this));
    }
    paraTexto() {
        return `<comentário-como-construto conteúdo=${this.conteudo} />`;
    }
    paraTextoSaida() {
        throw new Error('Método não implementado.');
    }
}
exports.ComentarioComoConstruto = ComentarioComoConstruto;
//# sourceMappingURL=comentario-como-construto.js.map