UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

37 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FuncaoConstruto = void 0; class FuncaoConstruto { constructor(hashArquivo, linha, parametros, corpo, tipoRetorno, tipoExplicito, documentacao) { this.linha = linha; this.hashArquivo = hashArquivo; this.parametros = parametros; this.corpo = corpo; this.tipo = tipoRetorno; this.tipoExplicito = tipoExplicito || false; this.documentacao = documentacao; } async aceitar(visitante) { return Promise.resolve(visitante.visitarExpressaoFuncaoConstruto(this)); } paraTexto() { let parametros = ''; for (let indice = 0; indice < this.parametros.length; indice++) { const parametro = this.parametros[indice]; parametros += `${parametro.nome.lexema}:${parametro.tipoDado}`; if (indice < this.parametros.length - 1) { parametros += ','; } } let corpo = ''; for (let indice = 0; indice < this.corpo.length; indice++) { corpo += this.corpo[indice].paraTexto(); } return `<construto-função parâmetros=[${parametros}] corpo=[${corpo}] tipoRetorno=${this.tipo} tipoExplícito=${this.tipoExplicito ? 'Sim' : 'Não'} />`; } paraTextoSaida() { throw new Error('Método não implementado.'); } } exports.FuncaoConstruto = FuncaoConstruto; //# sourceMappingURL=funcao.js.map