@designliquido/delegua
Advanced tools
Comparing version 0.29.1 to 0.29.2
{ | ||
"name": "@designliquido/delegua", | ||
"version": "0.29.0", | ||
"version": "0.29.1", | ||
"description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -866,4 +866,2 @@ "use strict"; | ||
} | ||
if (parametro.abrangencia === 'multiplo') | ||
break; | ||
if (this.verificarSeSimboloAtualEIgualA(delegua_1.default.DOIS_PONTOS)) { | ||
@@ -879,2 +877,4 @@ let tipoDadoParametro = this.verificarDefinicaoTipoAtual(); | ||
parametros.push(parametro); | ||
if (parametro.abrangencia === 'multiplo') | ||
break; | ||
} while (this.verificarSeSimboloAtualEIgualA(delegua_1.default.VIRGULA)); | ||
@@ -881,0 +881,0 @@ return parametros; |
@@ -34,7 +34,18 @@ "use strict"; | ||
const nome = parametro['nome'].lexema; | ||
let argumento = argumentos[i]; | ||
if (argumentos[i] === null) { | ||
argumento = parametro['padrao'] ? parametro['padrao'].valor : null; | ||
if (parametro.abrangencia === 'multiplo') { | ||
const argumentosResolvidos = []; | ||
for (let indiceArgumentoAtual = i; indiceArgumentoAtual < argumentos.length; indiceArgumentoAtual++) { | ||
const argumentoAtual = argumentos[indiceArgumentoAtual]; | ||
argumentosResolvidos.push(argumentoAtual && argumentoAtual.hasOwnProperty('valor') ? argumentoAtual.valor : argumentoAtual); | ||
} | ||
// TODO: Verificar se `imutavel` é `true` aqui mesmo. | ||
ambiente.valores[nome] = { tipo: 'vetor', valor: argumentosResolvidos, imutavel: true }; | ||
} | ||
ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento; | ||
else { | ||
let argumento = argumentos[i]; | ||
if (argumentos[i] === null) { | ||
argumento = parametro['padrao'] ? parametro['padrao'].valor : null; | ||
} | ||
ambiente.valores[nome] = argumento && argumento.hasOwnProperty('valor') ? argumento.valor : argumento; | ||
} | ||
} | ||
@@ -41,0 +52,0 @@ if (this.instancia !== undefined) { |
@@ -453,2 +453,5 @@ "use strict"; | ||
else { | ||
// TODO: Aparentemente isso aqui nunca funcionou. | ||
// Avaliar de simplesmente apagar este código, e usar o que foi | ||
// implementado em `DeleguaFuncao.chamar`. | ||
if (parametros && | ||
@@ -455,0 +458,0 @@ parametros.length > 0 && |
{ | ||
"name": "@designliquido/delegua", | ||
"version": "0.29.1", | ||
"version": "0.29.2", | ||
"description": "Linguagem de programação simples e moderna usando português estruturado, com suporte a múltiplos dialetos", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
3088738
45671