@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
37 lines • 1.48 kB
JavaScript
;
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