"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Ajuda = void 0;
const declaracao_1 = require("./declaracao");
/**
 * A declaração de ajuda (`ajuda()` em Delégua) exibe na saída padrão uma documentação sobre como
 * utilizar qualquer elemento da linguagem que a implementa.
 */
class Ajuda extends declaracao_1.Declaracao {
    constructor(hashArquivo, linha, elemento, funcao = true) {
        super(linha, hashArquivo);
        this.elemento = elemento;
        this.funcao = funcao;
    }
    async aceitar(visitante) {
        return await visitante.visitarDeclaracaoAjuda(this);
    }
    paraTexto() {
        let retorno = `<ajuda `;
        if (this.elemento) {
            retorno += `elemento=${this.elemento.paraTexto()} `;
        }
        retorno += `funcao=${this.funcao ? 'Sim' : 'Não'} />`;
        return retorno;
    }
}
exports.Ajuda = Ajuda;
//# sourceMappingURL=ajuda.js.map