@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
36 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Para = void 0;
const declaracao_1 = require("./declaracao");
/**
* Uma estrutura de repetição `para`, normalmente com um inicializador,
* uma condição de continuação e uma instrução de incremento.
*/
class Para extends declaracao_1.Declaracao {
constructor(hashArquivo, linha, inicializador, condicao, incrementar, corpo) {
super(linha, hashArquivo);
this.inicializador = inicializador;
this.condicao = condicao;
this.incrementar = incrementar;
this.corpo = corpo;
this.inicializada = false;
this.blocoPosExecucao = undefined;
this.resolverIncrementoEmExecucao = false;
}
async aceitar(visitante) {
return await visitante.visitarDeclaracaoPara(this);
}
paraTexto() {
let inicializador = '';
if (Array.isArray(this.inicializador)) {
inicializador = this.inicializador.reduce((anterior, atual) => (anterior += atual.paraTexto() + ` `), 'inicialização=');
}
else if (this.inicializador) {
inicializador = `inicialização=${this.inicializador.paraTexto()} `;
}
// TODO: Bloco.
return `<para ${this.inicializador} condição=${this.condicao.paraTexto()} />`;
}
}
exports.Para = Para;
//# sourceMappingURL=para.js.map