@designliquido/delegua 1.22.0 → 1.22.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  2. package/analisador-semantico/analisador-semantico.js +43 -15
  3. package/analisador-semantico/analisador-semantico.js.map +1 -1
  4. package/analisador-semantico/tabela-diagnosticos-semanticos.d.ts.map +1 -1
  5. package/analisador-semantico/tabela-diagnosticos-semanticos.js +5 -0
  6. package/analisador-semantico/tabela-diagnosticos-semanticos.js.map +1 -1
  7. package/avaliador-sintatico/avaliador-sintatico.d.ts +0 -1
  8. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  9. package/avaliador-sintatico/avaliador-sintatico.js +16 -9
  10. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +0 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +22 -26
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts +0 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +0 -4
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  19. package/bibliotecas/testes/modulo-afirmar.d.ts.map +1 -1
  20. package/bibliotecas/testes/modulo-afirmar.js +5 -0
  21. package/bibliotecas/testes/modulo-afirmar.js.map +1 -1
  22. package/bin/package.json +1 -1
  23. package/declaracoes/bloco.d.ts.map +1 -1
  24. package/declaracoes/bloco.js +0 -2
  25. package/declaracoes/bloco.js.map +1 -1
  26. package/declaracoes/const-multiplo.js +2 -2
  27. package/declaracoes/const-multiplo.js.map +1 -1
  28. package/declaracoes/enquanto.d.ts.map +1 -1
  29. package/declaracoes/enquanto.js +1 -2
  30. package/declaracoes/enquanto.js.map +1 -1
  31. package/declaracoes/escolha.d.ts.map +1 -1
  32. package/declaracoes/escolha.js +9 -2
  33. package/declaracoes/escolha.js.map +1 -1
  34. package/declaracoes/fazer.d.ts.map +1 -1
  35. package/declaracoes/fazer.js +1 -2
  36. package/declaracoes/fazer.js.map +1 -1
  37. package/declaracoes/funcao.d.ts.map +1 -1
  38. package/declaracoes/funcao.js +1 -2
  39. package/declaracoes/funcao.js.map +1 -1
  40. package/declaracoes/inicio-algoritmo.d.ts +4 -0
  41. package/declaracoes/inicio-algoritmo.d.ts.map +1 -1
  42. package/declaracoes/inicio-algoritmo.js +4 -2
  43. package/declaracoes/inicio-algoritmo.js.map +1 -1
  44. package/declaracoes/para-cada.d.ts.map +1 -1
  45. package/declaracoes/para-cada.js +1 -2
  46. package/declaracoes/para-cada.js.map +1 -1
  47. package/declaracoes/para.d.ts.map +1 -1
  48. package/declaracoes/para.js +3 -4
  49. package/declaracoes/para.js.map +1 -1
  50. package/declaracoes/se.d.ts.map +1 -1
  51. package/declaracoes/se.js +10 -2
  52. package/declaracoes/se.js.map +1 -1
  53. package/declaracoes/tendo-como.d.ts.map +1 -1
  54. package/declaracoes/tendo-como.js +1 -2
  55. package/declaracoes/tendo-como.js.map +1 -1
  56. package/declaracoes/tente.d.ts.map +1 -1
  57. package/declaracoes/tente.js +7 -2
  58. package/declaracoes/tente.js.map +1 -1
  59. package/declaracoes/var-multiplo.js +2 -2
  60. package/declaracoes/var-multiplo.js.map +1 -1
  61. package/inferenciador.d.ts.map +1 -1
  62. package/inferenciador.js +5 -3
  63. package/inferenciador.js.map +1 -1
  64. package/interfaces/erros/correcao-implementacao-metodo-interface.d.ts +8 -0
  65. package/interfaces/erros/correcao-implementacao-metodo-interface.d.ts.map +1 -0
  66. package/interfaces/erros/correcao-implementacao-metodo-interface.js +3 -0
  67. package/interfaces/erros/correcao-implementacao-metodo-interface.js.map +1 -0
  68. package/interfaces/erros/diagnostico-analisador-semantico-interface.d.ts +2 -0
  69. package/interfaces/erros/diagnostico-analisador-semantico-interface.d.ts.map +1 -1
  70. package/interfaces/erros/diagnostico-analisador-semantico-interface.js.map +1 -1
  71. package/interfaces/erros/index.d.ts +1 -0
  72. package/interfaces/erros/index.d.ts.map +1 -1
  73. package/interfaces/erros/index.js +1 -0
  74. package/interfaces/erros/index.js.map +1 -1
  75. package/interfaces/primitiva-interface.d.ts.map +1 -1
  76. package/interfaces/variavel-interface.d.ts.map +1 -1
  77. package/interpretador/estruturas/delegua-funcao.d.ts.map +1 -1
  78. package/interpretador/estruturas/delegua-funcao.js +0 -2
  79. package/interpretador/estruturas/delegua-funcao.js.map +1 -1
  80. package/interpretador/interpretador-base.d.ts +17 -0
  81. package/interpretador/interpretador-base.d.ts.map +1 -1
  82. package/interpretador/interpretador-base.js +46 -22
  83. package/interpretador/interpretador-base.js.map +1 -1
  84. package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
  85. package/interpretador/pilha-escopos-execucao.js +20 -10
  86. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  87. package/package.json +1 -1
  88. package/umd/delegua.js +558 -468
@@ -1 +1 @@
1
- {"version":3,"file":"tente.js","sourceRoot":"","sources":["../../fontes/declaracoes/tente.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAE1C;;GAEG;AACH,MAAa,KAAM,SAAQ,uBAAU;IAMjC,YACI,WAAmB,EACnB,KAAa,EACb,YAA0B,EAC1B,YAA4C,EAC5C,YAA0B,EAC1B,iBAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAkC;QAC5C,OAAO,MAAM,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACL,kBAAkB;QAClB,OAAO,WAAW,CAAC;IACvB,CAAC;CACJ;AA7BD,sBA6BC"}
1
+ {"version":3,"file":"tente.js","sourceRoot":"","sources":["../../fontes/declaracoes/tente.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAE1C;;GAEG;AACH,MAAa,KAAM,SAAQ,uBAAU;IAMjC,YACI,WAAmB,EACnB,KAAa,EACb,YAA0B,EAC1B,YAA4C,EAC5C,YAA0B,EAC1B,iBAA+B;QAE/B,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAkC;QAC5C,OAAO,MAAM,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,SAAS;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,OAAO,uBAAuB,KAAK,wBAAwB,KAAK,kBAAkB,KAAK,uBAAuB,UAAU,uBAAuB,CAAC;IACpJ,CAAC;CACJ;AAlCD,sBAkCC"}
@@ -17,8 +17,8 @@ class VarMultiplo extends declaracao_1.Declaracao {
17
17
  return await visitante.visitarDeclaracaoVarMultiplo(this);
18
18
  }
19
19
  paraTexto() {
20
- // TODO: Terminar.
21
- return `<var-múltiplo />`;
20
+ const nomes = this.simbolos.map((s) => s.lexema).join(',');
21
+ return `<var-múltiplo nomes=[${nomes}] inicializador=${this.inicializador.paraTexto()} tipo=${this.tipo ?? 'qualquer'} />`;
22
22
  }
23
23
  }
24
24
  exports.VarMultiplo = VarMultiplo;
@@ -1 +1 @@
1
- {"version":3,"file":"var-multiplo.js","sourceRoot":"","sources":["../../fontes/declaracoes/var-multiplo.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAE1C;;GAEG;AACH,MAAa,WAAY,SAAQ,uBAAU;IAMvC,YACI,QAA4B,EAC5B,aAAiC,EACjC,OAAmC,SAAS;QAE5C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAkC;QAC5C,OAAO,MAAM,SAAS,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS;QACL,kBAAkB;QAClB,OAAO,kBAAkB,CAAC;IAC9B,CAAC;CACJ;AA1BD,kCA0BC"}
1
+ {"version":3,"file":"var-multiplo.js","sourceRoot":"","sources":["../../fontes/declaracoes/var-multiplo.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAE1C;;GAEG;AACH,MAAa,WAAY,SAAQ,uBAAU;IAMvC,YACI,QAA4B,EAC5B,aAAiC,EACjC,OAAmC,SAAS;QAE5C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAkC;QAC5C,OAAO,MAAM,SAAS,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,wBAAwB,KAAK,mBAAmB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,IAAI,IAAI,UAAU,KAAK,CAAC;IAC/H,CAAC;CACJ;AA1BD,kCA0BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inferenciador.d.ts","sourceRoot":"","sources":["../fontes/inferenciador.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GACpB,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,UAAU,GACV,OAAO,GACP,SAAS,GACT,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,CAAC;AAEd,oBAAY,iBAAiB;IACzB,OAAO,wGAA4F;IACnG,IAAI,qFAAmF;IACvF,MAAM,8FAAkF;IACxF,EAAE,0FAAwF;IAC1F,QAAQ,uFAAqF;IAC7F,IAAI,+EAA6E;IACjF,OAAO,8GAAkG;IACzG,OAAO,8GAAuG;IAC9G,KAAK,0GAAmG;IACxG,QAAQ,gHAAyG;IACjH,KAAK,6HAA4G;CACpH;AAoCD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,cAAc,GAAG,iBAAiB,CAmErF"}
1
+ {"version":3,"file":"inferenciador.d.ts","sourceRoot":"","sources":["../fontes/inferenciador.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GACpB,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,WAAW,GACX,QAAQ,GACR,UAAU,GACV,OAAO,GACP,SAAS,GACT,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,CAAC;AAEd,oBAAY,iBAAiB;IACzB,OAAO,wGAA4F;IACnG,IAAI,qFAAmF;IACvF,MAAM,8FAAkF;IACxF,EAAE,0FAAwF;IAC1F,QAAQ,uFAAqF;IAC7F,IAAI,+EAA6E;IACjF,OAAO,8GAAkG;IACzG,OAAO,8GAAuG;IAC9G,KAAK,0GAAmG;IACxG,QAAQ,gHAAyG;IACjH,KAAK,6HAA4G;CACpH;AAqCD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,GAAG,cAAc,GAAG,iBAAiB,CAmErF"}
package/inferenciador.js CHANGED
@@ -48,8 +48,10 @@ function inferirVetor(vetor) {
48
48
  }
49
49
  return `${tiposObjetosEmVetor.values().next().value}[]`;
50
50
  case 'Literal':
51
- // TODO: Não sei se é seguro inferir pelo primeiro valor do vetor.
52
- return `${vetor[0].tipo}[]`;
51
+ const tiposLiterais = new Set(vetor.map((e) => e.tipo));
52
+ if (tiposLiterais.size > 1)
53
+ return 'vetor';
54
+ return `${tiposLiterais.values().next().value}[]`;
53
55
  default:
54
56
  return 'vetor';
55
57
  }
@@ -90,7 +92,7 @@ function inferirTipoVariavel(variavel) {
90
92
  case 'DescritorTipoClasse':
91
93
  case 'ObjetoDeleguaClasse':
92
94
  return 'objeto';
93
- case 'Simbolo': // TODO: Repensar.
95
+ case 'Simbolo':
94
96
  const simbolo = variavel;
95
97
  switch (simbolo.tipo) {
96
98
  case primitivos_1.default.BOOLEANO:
@@ -1 +1 @@
1
- {"version":3,"file":"inferenciador.js","sourceRoot":"","sources":["../fontes/inferenciador.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inferenciador.js","sourceRoot":"","sources":["../fontes/inferenciador.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface CorrecaoImplementacaoMetodoInterface {
2
+ tipo: 'implementar-metodo';
3
+ nomeClasse: string;
4
+ nomeMetodo: string;
5
+ linhaDeclaracaoClasse: number;
6
+ hashArquivoClasse?: number;
7
+ }
8
+ //# sourceMappingURL=correcao-implementacao-metodo-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correcao-implementacao-metodo-interface.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/erros/correcao-implementacao-metodo-interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oCAAoC;IACjD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=correcao-implementacao-metodo-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correcao-implementacao-metodo-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/erros/correcao-implementacao-metodo-interface.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { SimboloInterface } from '../simbolo-interface';
2
+ import { CorrecaoImplementacaoMetodoInterface } from './correcao-implementacao-metodo-interface';
2
3
  import { CorrecaoSugeridaInterface } from './correcao-sugerida-interface';
3
4
  export interface DiagnosticoAnalisadorSemanticoInterface {
4
5
  simbolo?: SimboloInterface;
@@ -11,6 +12,7 @@ export interface DiagnosticoAnalisadorSemanticoInterface {
11
12
  colunaInicio?: number;
12
13
  colunaFim?: number;
13
14
  correcoes?: CorrecaoSugeridaInterface[];
15
+ correcaoMetodo?: CorrecaoImplementacaoMetodoInterface;
14
16
  }
15
17
  export declare enum DiagnosticoSeveridade {
16
18
  ERRO = 0,
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostico-analisador-semantico-interface.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/erros/diagnostico-analisador-semantico-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,WAAW,uCAAuC;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,yBAAyB,EAAE,CAAC;CAC3C;AAED,oBAAY,qBAAqB;IAC7B,IAAI,IAAI;IACR,KAAK,IAAI;IACT,UAAU,IAAI;IACd,QAAQ,IAAI;CACf"}
1
+ {"version":3,"file":"diagnostico-analisador-semantico-interface.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/erros/diagnostico-analisador-semantico-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,WAAW,uCAAuC;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACxC,cAAc,CAAC,EAAE,oCAAoC,CAAC;CACzD;AAED,oBAAY,qBAAqB;IAC7B,IAAI,IAAI;IACR,KAAK,IAAI;IACT,UAAU,IAAI;IACd,QAAQ,IAAI;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostico-analisador-semantico-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/erros/diagnostico-analisador-semantico-interface.ts"],"names":[],"mappings":";;;AAgBA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,iEAAQ,CAAA;IACR,mEAAS,CAAA;IACT,6EAAc,CAAA;IACd,yEAAY,CAAA;AAChB,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
1
+ {"version":3,"file":"diagnostico-analisador-semantico-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/erros/diagnostico-analisador-semantico-interface.ts"],"names":[],"mappings":";;;AAkBA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC7B,iEAAQ,CAAA;IACR,mEAAS,CAAA;IACT,6EAAc,CAAA;IACd,yEAAY,CAAA;AAChB,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
@@ -1,3 +1,4 @@
1
+ export * from './correcao-implementacao-metodo-interface';
1
2
  export * from './correcao-sugerida-interface';
2
3
  export * from './diagnostico-analisador-semantico-interface';
3
4
  export * from './erro-interpretador-interface';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/erros/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/erros/index.ts"],"names":[],"mappings":"AAAA,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./correcao-implementacao-metodo-interface"), exports);
17
18
  __exportStar(require("./correcao-sugerida-interface"), exports);
18
19
  __exportStar(require("./diagnostico-analisador-semantico-interface"), exports);
19
20
  __exportStar(require("./erro-interpretador-interface"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/erros/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,+EAA6D;AAC7D,iEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/erros/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4EAA0D;AAC1D,gEAA8C;AAC9C,+EAA6D;AAC7D,iEAA+C"}
@@ -1 +1 @@
1
- {"version":3,"file":"primitiva-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/primitiva-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,aAAa,EAAE,QAAQ,CAAC;IAIxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC"}
1
+ {"version":3,"file":"primitiva-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/primitiva-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,aAAa,EAAE,QAAQ,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variavel-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/variavel-interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,GAAG,CAAC;IAIX,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"variavel-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/variavel-interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,GAAG,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAsB,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,sGAAsG;IACtG,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAQ;gBAGhD,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,UAAU,EAAE,eAAe,EAC3B,SAAS,GAAE,GAAe,EAC1B,cAAc,UAAQ;IAS1B,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAgCnB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,4BAA4B;IAiBpC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,aAAa;IAqC1E,MAAM,CACR,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,GAAG,CAAC;IAuEf,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,aAAa;IAYtE,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa;CAK/C"}
1
+ {"version":3,"file":"delegua-funcao.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAsB,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D;;GAEG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACvC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,sGAAsG;IACtG,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAQ;gBAGhD,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,UAAU,EAAE,eAAe,EAC3B,SAAS,GAAE,GAAe,EAC1B,cAAc,UAAQ;IAS1B,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,SAAS,IAAI,MAAM;IAgCnB;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB,OAAO,CAAC,4BAA4B;IAiBpC,SAAS,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GAAG,aAAa;IAqC1E,MAAM,CACR,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,GAAG,CAAC;IAqEf,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,aAAa;IAYtE,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa;CAK/C"}
@@ -118,8 +118,6 @@ class DeleguaFuncao extends chamavel_1.Chamavel {
118
118
  };
119
119
  }
120
120
  }
121
- // TODO: Repensar essa dinâmica para análise semântica (levar toda a lógica abaixo para
122
- // o interpretador).
123
121
  const interpretador = visitante;
124
122
  interpretador.proximoEscopo = 'funcao';
125
123
  // Rastrear a classe atual em execução para verificação de acesso.
@@ -1 +1 @@
1
- {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegua-funcao.js","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/delegua-funcao.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,15 @@ export declare class InterpretadorBase implements InterpretadorInterface {
46
46
  private iteracoesParaCederControle;
47
47
  private tiposNumericos;
48
48
  lancarErroPorDivisaoPorZero: boolean;
49
+ /**
50
+ * Gancho opcional para instrumentação de cobertura de ramos.
51
+ * Subclasses (como `InterpretadorComImportacao` em delegua-node) podem sobrescrever
52
+ * este método para registrar qual ramo de uma estrutura de controle foi executado.
53
+ * @param hashArquivo Identificador do arquivo-fonte.
54
+ * @param linha Linha da declaração de controle.
55
+ * @param ramo O ramo executado: 'verdadeiro', 'falso', 'senao', 'caso-padrao', ou 'iteracao'.
56
+ */
57
+ protected registrarRamo?(hashArquivo: number, linha: number, ramo: 'verdadeiro' | 'falso' | 'senao' | 'caso-padrao' | 'iteracao'): void;
49
58
  constructor(diretorioBase: string, performance?: boolean, funcaoDeRetorno?: Function | undefined, funcaoDeRetornoMesmaLinha?: Function | undefined);
50
59
  /**
51
60
  * Cede o controle ao loop de eventos do JavaScript.
@@ -95,6 +104,14 @@ export declare class InterpretadorBase implements InterpretadorInterface {
95
104
  visitarExpressaoFalhar(expressao: Falhar): Promise<any>;
96
105
  visitarExpressaoFimPara(_: FimPara): Promise<any>;
97
106
  visitarExpressaoReferenciaFuncao(expressao: ReferenciaFuncao): Promise<any>;
107
+ /**
108
+ * Gancho opcional para instrumentação de cobertura de expressões.
109
+ * Subclasses podem sobrescrever este método para registrar que uma expressão
110
+ * em determinada linha foi avaliada.
111
+ * @param hashArquivo Identificador do arquivo-fonte.
112
+ * @param linha Linha da expressão avaliada.
113
+ */
114
+ protected registrarExpressao?(hashArquivo: number, linha: number): void;
98
115
  /**
99
116
  * Chama o método `aceitar` de um construto ou declaração, passando o
100
117
  * próprio interpretador como parâmetro.
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-base.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interpretador-base.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-base.ts"],"names":[],"mappings":"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"}
@@ -308,6 +308,9 @@ class InterpretadorBase {
308
308
  /* if (expressao === null || expressao === undefined) {
309
309
  console.log('Aqui');
310
310
  } */
311
+ if (expressao.hashArquivo >= 0 && expressao.linha >= 0) {
312
+ this.registrarExpressao?.(expressao.hashArquivo, expressao.linha);
313
+ }
311
314
  return await expressao.aceitar(this);
312
315
  }
313
316
  /**
@@ -331,12 +334,11 @@ class InterpretadorBase {
331
334
  retirarInterpolacao(texto, interpolacoes) {
332
335
  let textoFinal = texto;
333
336
  for (const elemento of interpolacoes) {
334
- // TODO: alguma chance de `elemento` ser `undefined` aqui?
335
- let valor = elemento?.valor;
336
- if (valor.hasOwnProperty && valor.hasOwnProperty('valorRetornado')) {
337
+ let valor = elemento.valor;
338
+ if (valor?.hasOwnProperty && valor.hasOwnProperty('valorRetornado')) {
337
339
  valor = valor.valorRetornado;
338
340
  }
339
- if (valor.tipo === delegua_2.default.LOGICO) {
341
+ if (valor?.tipo === delegua_2.default.LOGICO) {
340
342
  textoFinal = textoFinal.replace('${' + elemento.expressaoInterpolacao + '}', this.paraTexto(valor));
341
343
  }
342
344
  else {
@@ -465,9 +467,9 @@ class InterpretadorBase {
465
467
  return valor;
466
468
  }
467
469
  const valorAnteriorIncremento = valor;
468
- // TODO: Provavelmente isso está incorreto. Descobrir se operando resolve para
469
- // `Construto` ou para `Simbolo`.
470
- this.pilhaEscoposExecucao.atribuirVariavel(expressao.operando.simbolo, ++valor);
470
+ if (expressao.operando instanceof construtos_1.Variavel) {
471
+ this.pilhaEscoposExecucao.atribuirVariavel(expressao.operando.simbolo, ++valor);
472
+ }
471
473
  return valorAnteriorIncremento;
472
474
  case delegua_1.default.DECREMENTAR:
473
475
  if (expressao.incidenciaOperador === 'ANTES') {
@@ -478,9 +480,9 @@ class InterpretadorBase {
478
480
  return valor;
479
481
  }
480
482
  const valorAnteriorDecremento = valor;
481
- // TODO: Provavelmente isso está incorreto. Descobrir se operando resolve para
482
- // `Construto` ou para `Simbolo`.
483
- this.pilhaEscoposExecucao.atribuirVariavel(expressao.operando.simbolo, --valor);
483
+ if (expressao.operando instanceof construtos_1.Variavel) {
484
+ this.pilhaEscoposExecucao.atribuirVariavel(expressao.operando.simbolo, --valor);
485
+ }
484
486
  return valorAnteriorDecremento;
485
487
  }
486
488
  return null;
@@ -854,8 +856,10 @@ class InterpretadorBase {
854
856
  */
855
857
  async visitarExpressaoDeChamada(expressao) {
856
858
  try {
857
- let variavelEntidadeChamada = await this.avaliar(expressao.entidadeChamada);
858
- if (variavelEntidadeChamada === null || variavelEntidadeChamada === undefined) {
859
+ let variavelEntidadeChamada = await this
860
+ .avaliar(expressao.entidadeChamada);
861
+ if (variavelEntidadeChamada === null ||
862
+ variavelEntidadeChamada === undefined) {
859
863
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, 'Chamada de função ou método inexistente: ' +
860
864
  String(expressao.entidadeChamada), expressao.linha));
861
865
  }
@@ -873,7 +877,8 @@ class InterpretadorBase {
873
877
  if (entidadeChamada instanceof metodo_primitiva_1.MetodoPrimitiva) {
874
878
  return await this.chamarMetodoPrimitiva(expressao, entidadeChamada);
875
879
  }
876
- const argumentos = await this.resolverArgumentosChamada(expressao);
880
+ const argumentos = await this
881
+ .resolverArgumentosChamada(expressao);
877
882
  const aridade = entidadeChamada.aridade
878
883
  ? entidadeChamada.aridade()
879
884
  : entidadeChamada.length;
@@ -884,6 +889,16 @@ class InterpretadorBase {
884
889
  const ehPolimorfico = entidadeChamada instanceof estruturas_1.MetodoPolimorfico ||
885
890
  (entidadeChamada instanceof estruturas_1.DescritorTipoClasse &&
886
891
  entidadeChamada.encontrarMetodo('construtor') instanceof estruturas_1.MetodoPolimorfico);
892
+ if (entidadeChamada instanceof estruturas_1.DeleguaFuncao && entidadeChamada.declaracao) {
893
+ // Pega os parâmetros da declaração e filtra apenas os obrigatórios
894
+ // (ignora os que têm valor padrão ou são rest parameters)
895
+ const parametros = entidadeChamada.declaracao.parametros || [];
896
+ const parametrosObrigatorios = parametros.filter((p) => !p.valorPadrao && p.abrangencia !== 'multiplo').length;
897
+ if (argumentos.length < parametrosObrigatorios) {
898
+ const nomeFuncao = entidadeChamada.nome || 'anônima';
899
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.parentese, `A função '${nomeFuncao}' esperava no mínimo ${parametrosObrigatorios} argumento(s), mas recebeu ${argumentos.length}.`, expressao.linha));
900
+ }
901
+ }
887
902
  if (!ehPolimorfico && argumentos.length < aridade) {
888
903
  const diferenca = aridade - argumentos.length;
889
904
  for (let i = 0; i < diferenca; i++) {
@@ -1079,6 +1094,7 @@ class InterpretadorBase {
1079
1094
  !this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
1080
1095
  break;
1081
1096
  }
1097
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'iteracao');
1082
1098
  try {
1083
1099
  await this.cederControle(++iteracoes);
1084
1100
  retornoExecucao = await this.executar(declaracao.corpo);
@@ -1127,6 +1143,7 @@ class InterpretadorBase {
1127
1143
  let iteracoes = 0;
1128
1144
  while (!(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra) &&
1129
1145
  declaracao.posicaoAtual < valorVetorResolvido.length) {
1146
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'iteracao');
1130
1147
  try {
1131
1148
  await this.cederControle(++iteracoes);
1132
1149
  if (declaracao.variavelIteracao instanceof construtos_1.Variavel) {
@@ -1171,18 +1188,22 @@ class InterpretadorBase {
1171
1188
  async visitarDeclaracaoSe(declaracao) {
1172
1189
  const avaliacaoCondicaoSe = await this.avaliar(declaracao.condicao);
1173
1190
  if (this.eVerdadeiro(avaliacaoCondicaoSe)) {
1191
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'verdadeiro');
1174
1192
  return await this.executar(declaracao.caminhoEntao);
1175
1193
  }
1176
1194
  const declaracaoCaminhosSeSenao = declaracao.caminhosSeSenao || [];
1177
1195
  for (let i = 0; i < declaracaoCaminhosSeSenao.length; i++) {
1178
1196
  const atual = declaracaoCaminhosSeSenao[i];
1179
1197
  if (this.eVerdadeiro(await this.avaliar(atual.condicao))) {
1198
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'verdadeiro');
1180
1199
  return await this.executar(atual.caminho);
1181
1200
  }
1182
1201
  }
1183
1202
  if (declaracao.caminhoSenao) {
1203
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'senao');
1184
1204
  return await this.executar(declaracao.caminhoSenao);
1185
1205
  }
1206
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'falso');
1186
1207
  return null;
1187
1208
  }
1188
1209
  async visitarDeclaracaoEnquanto(declaracao) {
@@ -1190,6 +1211,7 @@ class InterpretadorBase {
1190
1211
  let iteracoes = 0;
1191
1212
  while (!(retornoExecucao && retornoExecucao.valorRetornado instanceof quebras_1.Quebra) &&
1192
1213
  this.eVerdadeiro(await this.avaliar(declaracao.condicao))) {
1214
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'iteracao');
1193
1215
  try {
1194
1216
  await this.cederControle(++iteracoes);
1195
1217
  retornoExecucao = await this.executar(declaracao.corpo);
@@ -1239,6 +1261,7 @@ class InterpretadorBase {
1239
1261
  }
1240
1262
  }
1241
1263
  if (caminhoPadrao !== null && !encontrado) {
1264
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'caso-padrao');
1242
1265
  await this.executarBloco(caminhoPadrao.declaracoes);
1243
1266
  }
1244
1267
  }
@@ -1255,6 +1278,7 @@ class InterpretadorBase {
1255
1278
  let retornoExecucao = undefined;
1256
1279
  let iteracoes = 0;
1257
1280
  do {
1281
+ this.registrarRamo?.(declaracao.hashArquivo, declaracao.linha, 'iteracao');
1258
1282
  try {
1259
1283
  await this.cederControle(++iteracoes);
1260
1284
  retornoExecucao = await this.executar(declaracao.caminhoFazer);
@@ -1531,8 +1555,15 @@ class InterpretadorBase {
1531
1555
  if (objeto instanceof construtos_1.Vetor) {
1532
1556
  return objeto.valores[valorIndice];
1533
1557
  }
1534
- if (objeto.constructor === Object ||
1535
- objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
1558
+ if (objeto.constructor === Object) {
1559
+ if (!Object.prototype.hasOwnProperty.call(objeto, valorIndice)) {
1560
+ return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(expressao.simboloFechamento, `Chave '${valorIndice}' não encontrada no dicionário.`, expressao.linha));
1561
+ }
1562
+ if (objeto[valorIndice] === 0)
1563
+ return 0;
1564
+ return objeto[valorIndice];
1565
+ }
1566
+ if (objeto instanceof estruturas_1.ObjetoDeleguaClasse ||
1536
1567
  objeto instanceof estruturas_1.DeleguaFuncao ||
1537
1568
  objeto instanceof estruturas_1.DescritorTipoClasse ||
1538
1569
  objeto instanceof estruturas_1.DeleguaModulo) {
@@ -1758,7 +1789,6 @@ class InterpretadorBase {
1758
1789
  tipoObjeto = (0, inferenciador_1.inferirTipoVariavel)(variavelObjeto);
1759
1790
  }
1760
1791
  // Caso 3: Vetor simples do JavaScript.
1761
- // TODO: Em teoria, isso deve estar no interpretador de Delégua, não aqui.
1762
1792
  if (Array.isArray(objeto)) {
1763
1793
  if (expressao.simbolo.lexema in primitivas_vetor_1.default) {
1764
1794
  const metodoDePrimitivaVetor = primitivas_vetor_1.default[expressao.simbolo.lexema].implementacao;
@@ -2183,17 +2213,11 @@ class InterpretadorBase {
2183
2213
  const inicioInterpretacao = (0, browser_process_hrtime_1.default)();
2184
2214
  try {
2185
2215
  const retornoOuErro = await this.executarUltimoEscopo(manterAmbiente);
2186
- // TODO: Esta lógica já ocorre em `executarUltimoEscopo`.
2187
- // Estudar remoção.
2188
- if (retornoOuErro instanceof excecoes_1.ErroEmTempoDeExecucao) {
2189
- this.erros.push(retornoOuErro);
2190
- }
2191
2216
  if (retornoOuErro !== undefined) {
2192
2217
  this.resultadoInterpretador.push(retornoOuErro);
2193
2218
  }
2194
2219
  }
2195
2220
  catch (erro) {
2196
- // TODO: Estudar remoção do `catch`.
2197
2221
  throw new Error(`Não deveria estar caindo aqui. Há erros no interpretador que não estão tratados corretamente. Erro atual: ${JSON.stringify(erro)}.`);
2198
2222
  }
2199
2223
  finally {