Skip to content

Commit

Permalink
Merge pull request #668 from DesignLiquido/bug-potigol-interpretador-…
Browse files Browse the repository at this point in the history
…depuracao

Em Potigol, funções de leitura de variáveis e constantes não possuem argumentos.
  • Loading branch information
samuelrvg authored Feb 26, 2024
2 parents f8b368e + 7c36d05 commit 50b6f6b
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions fontes/interpretador/interpretador-com-depuracao.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { EspacoVariaveis } from '../espaco-variaveis';
import { Bloco, Declaracao, Enquanto, Escreva, Leia, Para, Retorna, Var } from '../declaracoes';
import { Bloco, Declaracao, Enquanto, Escreva, Leia, LeiaMultiplo, Para, Retorna, Var } from '../declaracoes';
import { PontoParada } from '../depuracao';
import { ComandoDepurador, InterpretadorComDepuracaoInterface } from '../interfaces';
import { EscopoExecucao, TipoEscopoExecucao } from '../interfaces/escopo-execucao';
Expand Down Expand Up @@ -93,11 +93,13 @@ export class InterpretadorComDepuracao extends InterpretadorBase implements Inte
*/
private async gerarIdResolucaoChamada(expressao: any): Promise<string> {
const argumentosResolvidos = [];
for (let argumento of expressao.argumentos) {
if (argumento instanceof Leia) {
argumentosResolvidos.push(`leia_${argumento.id}`);
} else {
argumentosResolvidos.push(await this.avaliar(argumento));
if (expressao.argumentos && expressao.argumentos.length > 0) {
for (let argumento of expressao.argumentos) {
if (argumento instanceof Leia || argumento instanceof LeiaMultiplo) {
argumentosResolvidos.push(`leia_${argumento.id}`);
} else {
argumentosResolvidos.push(await this.avaliar(argumento));
}
}
}

Expand Down

0 comments on commit 50b6f6b

Please sign in to comment.