@designliquido/delegua-node 1.17.0 → 1.18.1

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 (113) hide show
  1. package/README.md +43 -3
  2. package/bin/delegua-dap +4 -0
  3. package/bin/delegua-dap.cmd +2 -0
  4. package/delegua.d.ts +2 -2
  5. package/delegua.d.ts.map +1 -1
  6. package/delegua.js +4 -4
  7. package/delegua.js.map +1 -1
  8. package/depuracao/dap/adaptador-dap.d.ts +8 -0
  9. package/depuracao/dap/adaptador-dap.d.ts.map +1 -0
  10. package/depuracao/dap/adaptador-dap.js +22 -0
  11. package/depuracao/dap/adaptador-dap.js.map +1 -0
  12. package/depuracao/dap/index.d.ts +6 -0
  13. package/depuracao/dap/index.d.ts.map +1 -0
  14. package/depuracao/dap/index.js +22 -0
  15. package/depuracao/dap/index.js.map +1 -0
  16. package/depuracao/dap/ponte-tempo-execucao-depuracao.d.ts +34 -0
  17. package/depuracao/dap/ponte-tempo-execucao-depuracao.d.ts.map +1 -0
  18. package/depuracao/dap/ponte-tempo-execucao-depuracao.js +349 -0
  19. package/depuracao/dap/ponte-tempo-execucao-depuracao.js.map +1 -0
  20. package/depuracao/dap/sessao-depuracao-dap.d.ts +30 -0
  21. package/depuracao/dap/sessao-depuracao-dap.d.ts.map +1 -0
  22. package/depuracao/dap/sessao-depuracao-dap.js +275 -0
  23. package/depuracao/dap/sessao-depuracao-dap.js.map +1 -0
  24. package/depuracao/dap/transporte-dap-stdio.d.ts +20 -0
  25. package/depuracao/dap/transporte-dap-stdio.d.ts.map +1 -0
  26. package/depuracao/dap/transporte-dap-stdio.js +103 -0
  27. package/depuracao/dap/transporte-dap-stdio.js.map +1 -0
  28. package/depuracao/index.d.ts +1 -0
  29. package/depuracao/index.d.ts.map +1 -1
  30. package/depuracao/index.js +1 -0
  31. package/depuracao/index.js.map +1 -1
  32. package/execucao.js +12 -3
  33. package/execucao.js.map +1 -1
  34. package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.d.ts +3 -0
  35. package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.d.ts.map +1 -1
  36. package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.js +45 -0
  37. package/infraestruturas/invocacao-electron/infraestrutura-invocacao-electron.js.map +1 -1
  38. package/interfaces/depuracao/configuracao-lancamento-interface.d.ts +5 -0
  39. package/interfaces/depuracao/configuracao-lancamento-interface.d.ts.map +1 -0
  40. package/interfaces/depuracao/configuracao-lancamento-interface.js +3 -0
  41. package/interfaces/depuracao/configuracao-lancamento-interface.js.map +1 -0
  42. package/interfaces/depuracao/escopo-depuracao-interface.d.ts +6 -0
  43. package/interfaces/depuracao/escopo-depuracao-interface.d.ts.map +1 -0
  44. package/interfaces/depuracao/escopo-depuracao-interface.js +3 -0
  45. package/interfaces/depuracao/escopo-depuracao-interface.js.map +1 -0
  46. package/interfaces/depuracao/evento-dap-interface.d.ts +7 -0
  47. package/interfaces/depuracao/evento-dap-interface.d.ts.map +1 -0
  48. package/interfaces/depuracao/evento-dap-interface.js +3 -0
  49. package/interfaces/depuracao/evento-dap-interface.js.map +1 -0
  50. package/interfaces/depuracao/index.d.ts +14 -0
  51. package/interfaces/depuracao/index.d.ts.map +1 -0
  52. package/interfaces/depuracao/index.js +30 -0
  53. package/interfaces/depuracao/index.js.map +1 -0
  54. package/interfaces/depuracao/mensagem-dap-interface.d.ts +5 -0
  55. package/interfaces/depuracao/mensagem-dap-interface.d.ts.map +1 -0
  56. package/interfaces/depuracao/mensagem-dap-interface.js +3 -0
  57. package/interfaces/depuracao/mensagem-dap-interface.js.map +1 -0
  58. package/interfaces/depuracao/parada-depuracao-interface.d.ts +6 -0
  59. package/interfaces/depuracao/parada-depuracao-interface.d.ts.map +1 -0
  60. package/interfaces/depuracao/parada-depuracao-interface.js +3 -0
  61. package/interfaces/depuracao/parada-depuracao-interface.js.map +1 -0
  62. package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.d.ts +20 -0
  63. package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.d.ts.map +1 -0
  64. package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.js +3 -0
  65. package/interfaces/depuracao/ponte-tempo-execucao-depuracao-interface.js.map +1 -0
  66. package/interfaces/depuracao/quadro-pilha-depuracao-interface.d.ts +8 -0
  67. package/interfaces/depuracao/quadro-pilha-depuracao-interface.d.ts.map +1 -0
  68. package/interfaces/depuracao/quadro-pilha-depuracao-interface.js +3 -0
  69. package/interfaces/depuracao/quadro-pilha-depuracao-interface.js.map +1 -0
  70. package/interfaces/depuracao/requisicao-dap-interface.d.ts +7 -0
  71. package/interfaces/depuracao/requisicao-dap-interface.d.ts.map +1 -0
  72. package/interfaces/depuracao/requisicao-dap-interface.js +3 -0
  73. package/interfaces/depuracao/requisicao-dap-interface.js.map +1 -0
  74. package/interfaces/depuracao/resposta-dap-interface.d.ts +10 -0
  75. package/interfaces/depuracao/resposta-dap-interface.d.ts.map +1 -0
  76. package/interfaces/depuracao/resposta-dap-interface.js +3 -0
  77. package/interfaces/depuracao/resposta-dap-interface.js.map +1 -0
  78. package/interfaces/depuracao/sessao-depuracao-dap-interface.d.ts +5 -0
  79. package/interfaces/depuracao/sessao-depuracao-dap-interface.d.ts.map +1 -0
  80. package/interfaces/depuracao/sessao-depuracao-dap-interface.js +3 -0
  81. package/interfaces/depuracao/sessao-depuracao-dap-interface.js.map +1 -0
  82. package/interfaces/depuracao/thread-depuracao-interface.d.ts +5 -0
  83. package/interfaces/depuracao/thread-depuracao-interface.d.ts.map +1 -0
  84. package/interfaces/depuracao/thread-depuracao-interface.js +3 -0
  85. package/interfaces/depuracao/thread-depuracao-interface.js.map +1 -0
  86. package/interfaces/depuracao/transporte-dap-interface.d.ts +10 -0
  87. package/interfaces/depuracao/transporte-dap-interface.d.ts.map +1 -0
  88. package/interfaces/depuracao/transporte-dap-interface.js +3 -0
  89. package/interfaces/depuracao/transporte-dap-interface.js.map +1 -0
  90. package/interfaces/depuracao/variavel-depuracao-interface.d.ts +7 -0
  91. package/interfaces/depuracao/variavel-depuracao-interface.d.ts.map +1 -0
  92. package/interfaces/depuracao/variavel-depuracao-interface.js +3 -0
  93. package/interfaces/depuracao/variavel-depuracao-interface.js.map +1 -0
  94. package/interpretador/comum.d.ts.map +1 -1
  95. package/interpretador/comum.js +82 -3
  96. package/interpretador/comum.js.map +1 -1
  97. package/interpretador/dialetos/portugol-studio-comum.d.ts.map +1 -1
  98. package/interpretador/dialetos/portugol-studio-comum.js +1 -1
  99. package/interpretador/dialetos/portugol-studio-comum.js.map +1 -1
  100. package/interpretador/realcador-sintaxe-ajuda.d.ts.map +1 -1
  101. package/interpretador/realcador-sintaxe-ajuda.js +43 -2
  102. package/interpretador/realcador-sintaxe-ajuda.js.map +1 -1
  103. package/maquinas-estados-lair/maquina-estados-ajuda.js +1 -1
  104. package/maquinas-estados-lair/maquina-estados-ajuda.js.map +1 -1
  105. package/mecanismo-importacao-bibliotecas/index.d.ts.map +1 -1
  106. package/mecanismo-importacao-bibliotecas/index.js +10 -2
  107. package/mecanismo-importacao-bibliotecas/index.js.map +1 -1
  108. package/nucleo-execucao.d.ts +1 -1
  109. package/nucleo-execucao.d.ts.map +1 -1
  110. package/nucleo-execucao.js +27 -2
  111. package/nucleo-execucao.js.map +1 -1
  112. package/package.json +24 -18
  113. package/bin/package.json +0 -53
package/README.md CHANGED
@@ -40,17 +40,57 @@ Se quiser instalar no seu computador,
40
40
 
41
41
  Com o Node.js instalado, execute o seguinte comando em um _prompt_ de comando (Terminal, PowerShell ou `cmd` no Windows, Terminal ou `sh` em Mac e Linux):
42
42
 
43
+ ```
44
+ npm install -g delegua
45
+ ```
46
+
47
+ Isso instala [a solução completa, com todas essas bibliotecas](https://github.com/DesignLiquido/delegua-completo), que utiliza este pacote como base. Se quiser instalar apenas este pacote, utilize o comando:
48
+
43
49
  ```
44
50
  npm install -g @designliquido/delegua-node
45
51
  ```
46
52
 
47
- No entanto, este pacote por si só não contém as bibliotecas que fazem parte do ecossistema de Delégua, como `delegua-matematica`, `delegua-http` e outras. Para instalar [a solução completa, com todas essas bibliotecas](https://github.com/DesignLiquido/delegua-completo), utilize o comando:
53
+ No entanto, este pacote por si só não contém as bibliotecas que fazem parte do ecossistema de Delégua, como `delegua-matematica`, `delegua-http` e outras, bem como comandos executáveis por prompt de comando, como uso de arquivos ou código como argumento, ou o [Modo LAIR (Leia-Avalie-Imprima-Repita)](https://github.com/DesignLiquido/delegua-completo/blob/principal/README.md#usando-como-lair-leia-avalie-imprima-repita-em-console). Por isso, a instalação da solução completa é recomendada para a maioria dos casos.
54
+
48
55
 
56
+ ## Depuração
57
+
58
+ `delegua-node` oferece dois modos de depuração independentes.
59
+
60
+ ### Adaptador DAP (recomendado)
61
+
62
+ Implementa o [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/) da Microsoft. Qualquer editor ou IDE que suporte DAP pode depurar programas Delégua sem cliente customizado.
63
+
64
+ ```sh
65
+ delegua --dap
49
66
  ```
50
- npm install -g delegua
67
+
68
+ O processo lê requisições de `stdin` e escreve respostas em `stdout` no formato JSON-RPC com cabeçalho `Content-Length`. Clientes compatíveis: VS Code, Code::Blocks (via plugin LinguagensDL) e qualquer outro cliente DAP.
69
+
70
+ Comandos suportados: `initialize`, `launch`, `setBreakpoints`, `configurationDone`, `threads`, `stackTrace`, `scopes`, `variables`, `continue`, `next`, `stepIn`, `stepOut`, `disconnect`.
71
+
72
+ O argumento `launch` aceita:
73
+
74
+ | Argumento | Tipo | Obrigatório | Descrição |
75
+ |-----------|----------|-------------|-----------------------------------------------|
76
+ | `program` | `string` | Sim | Caminho do arquivo fonte a depurar |
77
+ | `dialeto` | `string` | Não | Dialeto a usar. Padrão: `delegua` |
78
+
79
+ ### Depurador padrão (socket TCP)
80
+
81
+ Abre um servidor TCP na porta 7777. O cliente envia comandos em texto simples (`continuar`, `proximo`, `variaveis`, etc.) e recebe respostas delimitadas por marcadores.
82
+
83
+ ```sh
84
+ delegua --depurador-padrao arquivo.delegua
85
+ ```
86
+
87
+ Conecte com qualquer cliente TCP, por exemplo o Netcat:
88
+
89
+ ```sh
90
+ nc localhost 7777
51
91
  ```
52
92
 
53
- A implementação do [Modo LAIR (Leia-Avalie-Imprima-Repita)](https://github.com/DesignLiquido/delegua-completo/blob/principal/README.md#usando-como-lair-leia-avalie-imprima-repita-em-console) fica neste pacote, mas o recomendado é a utilização da solução completa, ao invés deste pacote puro.
93
+ Consulte [`fontes/depuracao/README.md`](fontes/depuracao/README.md) para a lista completa de comandos e formato das respostas.
54
94
 
55
95
  ## Programas com interface gráfica (`interfaceGrafica`)
56
96
 
@@ -0,0 +1,4 @@
1
+ #! /usr/bin/env node
2
+
3
+ process.argv.splice(2, 0, '--dap');
4
+ require('../execucao.js');
@@ -0,0 +1,2 @@
1
+ @echo off
2
+ node %~dp0..\execucao.js --dap %*
package/delegua.d.ts CHANGED
@@ -14,8 +14,8 @@ export declare class Delegua implements DeleguaInterface {
14
14
  funcaoDeRetornoMesmaLinha: Function;
15
15
  constructor(funcaoDeRetorno?: Function, funcaoDeRetornoMesmaLinha?: Function);
16
16
  versao(): string;
17
- executarCodigoComoArgumento(codigo: string, dialeto?: string, performance?: boolean): Promise<void>;
18
- executarCodigoPorArquivo(caminhoRelativoArquivo: string, dialeto?: string, performance?: boolean): Promise<any>;
17
+ executarCodigoComoArgumento(codigo: string, dialeto?: string, performance?: boolean, depurador?: boolean): Promise<void>;
18
+ executarCodigoPorArquivo(caminhoRelativoArquivo: string, dialeto?: string, performance?: boolean, depurador?: boolean): Promise<any>;
19
19
  iniciarLair(dialeto?: string): Promise<void>;
20
20
  traduzirArquivo(caminhoRelativoArquivo: string, comandoTraducao: string, alvo?: string, gerarArquivoSaida?: boolean): Promise<void>;
21
21
  }
package/delegua.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"delegua.d.ts","sourceRoot":"","sources":["../fontes/delegua.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,2BAA2B,EAC3B,gBAAgB,EACnB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIrE;;;;;GAKG;AACH,qBAAa,OAAQ,YAAW,gBAAgB;IAC5C,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3C,kBAAkB,EAAE,2BAA2B,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IACtE,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEjD,eAAe,EAAE,QAAQ,CAAC;IAC1B,yBAAyB,EAAE,QAAQ,CAAC;gBAGhC,eAAe,CAAC,EAAE,QAAQ,EAC1B,yBAAyB,CAAC,EAAE,QAAQ;IAQxC,MAAM,IAAI,MAAM;IAoBV,2BAA2B,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAkB,EAC3B,WAAW,GAAE,OAAe,GAC7B,OAAO,CAAC,IAAI,CAAC;IAMV,wBAAwB,CAC1B,sBAAsB,EAAE,MAAM,EAC9B,OAAO,GAAE,MAAkB,EAC3B,WAAW,GAAE,OAAe,GAC7B,OAAO,CAAC,GAAG,CAAC;IAMT,WAAW,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,eAAe,CACjB,sBAAsB,EAAE,MAAM,EAC9B,eAAe,EAAE,MAAM,EACvB,IAAI,GAAE,MAAW,EACjB,iBAAiB,GAAE,OAAe,GACnC,OAAO,CAAC,IAAI,CAAC;CAQnB"}
1
+ {"version":3,"file":"delegua.d.ts","sourceRoot":"","sources":["../fontes/delegua.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,2BAA2B,EAC3B,gBAAgB,EACnB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIrE;;;;;GAKG;AACH,qBAAa,OAAQ,YAAW,gBAAgB;IAC5C,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3C,kBAAkB,EAAE,2BAA2B,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IACtE,UAAU,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAEjD,eAAe,EAAE,QAAQ,CAAC;IAC1B,yBAAyB,EAAE,QAAQ,CAAC;gBAGhC,eAAe,CAAC,EAAE,QAAQ,EAC1B,yBAAyB,CAAC,EAAE,QAAQ;IAQxC,MAAM,IAAI,MAAM;IAoBV,2BAA2B,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAkB,EAC3B,WAAW,GAAE,OAAe,EAC5B,SAAS,GAAE,OAAe,GAC3B,OAAO,CAAC,IAAI,CAAC;IAMV,wBAAwB,CAC1B,sBAAsB,EAAE,MAAM,EAC9B,OAAO,GAAE,MAAkB,EAC3B,WAAW,GAAE,OAAe,EAC5B,SAAS,GAAE,OAAe,GAC3B,OAAO,CAAC,GAAG,CAAC;IAMT,WAAW,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,eAAe,CACjB,sBAAsB,EAAE,MAAM,EAC9B,eAAe,EAAE,MAAM,EACvB,IAAI,GAAE,MAAW,EACjB,iBAAiB,GAAE,OAAe,GACnC,OAAO,CAAC,IAAI,CAAC;CAQnB"}
package/delegua.js CHANGED
@@ -68,14 +68,14 @@ class Delegua {
68
68
  }
69
69
  return 'desconhecida';
70
70
  }
71
- async executarCodigoComoArgumento(codigo, dialeto = 'delegua', performance = false) {
71
+ async executarCodigoComoArgumento(codigo, dialeto = 'delegua', performance = false, depurador = false) {
72
72
  const nucleoExecucao = new nucleo_execucao_1.NucleoExecucao(this.versao(), this.funcaoDeRetorno, this.funcaoDeRetornoMesmaLinha);
73
- nucleoExecucao.configurarDialeto(dialeto, performance);
73
+ nucleoExecucao.configurarDialeto(dialeto, performance, depurador);
74
74
  return await nucleoExecucao.executarCodigoComoArgumento(codigo);
75
75
  }
76
- async executarCodigoPorArquivo(caminhoRelativoArquivo, dialeto = 'delegua', performance = false) {
76
+ async executarCodigoPorArquivo(caminhoRelativoArquivo, dialeto = 'delegua', performance = false, depurador = false) {
77
77
  const nucleoExecucao = new nucleo_execucao_1.NucleoExecucao(this.versao(), this.funcaoDeRetorno, this.funcaoDeRetornoMesmaLinha);
78
- nucleoExecucao.configurarDialeto(dialeto, performance);
78
+ nucleoExecucao.configurarDialeto(dialeto, performance, depurador);
79
79
  return await nucleoExecucao.carregarEExecutarArquivo(caminhoRelativoArquivo);
80
80
  }
81
81
  async iniciarLair(dialeto = 'delegua') {
package/delegua.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../fontes/delegua.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAQhC,uDAAmD;AACnD,uDAAmD;AAEnD;;;;;GAKG;AACH,MAAa,OAAO;IAQhB,YACI,eAA0B,EAC1B,yBAAoC;QAEpC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;QACtD,yEAAyE;QACzE,yGAAyG;QACzG,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM;QACF,qDAAqD;QACrD,iEAAiE;QACjE,sDAAsD;QACtD,MAAM,iBAAiB,GAAG;YACtB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAG,kCAAkC;YAClF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAU,6BAA6B;SACjF,CAAC;QAEF,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACD,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;YAC7C,CAAC;YAAC,WAAM,CAAC;gBACL,SAAS;YACb,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC7B,MAAc,EACd,UAAkB,SAAS,EAC3B,cAAuB,KAAK;QAE5B,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/G,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvD,OAAO,MAAM,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC1B,sBAA8B,EAC9B,UAAkB,SAAS,EAC3B,cAAuB,KAAK;QAE5B,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/G,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvD,OAAO,MAAM,cAAc,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB,SAAS;QACzC,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/G,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,sBAA8B,EAC9B,eAAuB,EACvB,OAAe,EAAE,EACjB,oBAA6B,KAAK;QAElC,MAAM,cAAc,GAAG,IAAI,gCAAc,CACrC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,yBAAyB,CACjC,CAAC;QACF,cAAc,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,cAAc,CAAC,eAAe,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;IACpF,CAAC;CACJ;AA7ED,0BA6EC"}
1
+ {"version":3,"file":"delegua.js","sourceRoot":"","sources":["../fontes/delegua.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAQhC,uDAAmD;AACnD,uDAAmD;AAEnD;;;;;GAKG;AACH,MAAa,OAAO;IAQhB,YACI,eAA0B,EAC1B,yBAAoC;QAEpC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;QACtD,yEAAyE;QACzE,yGAAyG;QACzG,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM;QACF,qDAAqD;QACrD,iEAAiE;QACjE,sDAAsD;QACtD,MAAM,iBAAiB,GAAG;YACtB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAG,kCAAkC;YAClF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAU,6BAA6B;SACjF,CAAC;QAEF,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACD,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;YAC7C,CAAC;YAAC,WAAM,CAAC;gBACL,SAAS;YACb,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC7B,MAAc,EACd,UAAkB,SAAS,EAC3B,cAAuB,KAAK,EAC5B,YAAqB,KAAK;QAE1B,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/G,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAClE,OAAO,MAAM,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC1B,sBAA8B,EAC9B,UAAkB,SAAS,EAC3B,cAAuB,KAAK,EAC5B,YAAqB,KAAK;QAE1B,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/G,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAClE,OAAO,MAAM,cAAc,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB,SAAS;QACzC,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC/G,cAAc,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,MAAM,cAAc,CAAC,kBAAkB,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,sBAA8B,EAC9B,eAAuB,EACvB,OAAe,EAAE,EACjB,oBAA6B,KAAK;QAElC,MAAM,cAAc,GAAG,IAAI,gCAAc,CACrC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,yBAAyB,CACjC,CAAC;QACF,cAAc,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,cAAc,CAAC,eAAe,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;IACpF,CAAC;CACJ;AA/ED,0BA+EC"}
@@ -0,0 +1,8 @@
1
+ export declare class AdaptadorDapDelegua {
2
+ private readonly transporte;
3
+ private readonly runtimeBridge;
4
+ private readonly sessao;
5
+ iniciar(): void;
6
+ encerrar(): void;
7
+ }
8
+ //# sourceMappingURL=adaptador-dap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptador-dap.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/adaptador-dap.ts"],"names":[],"mappings":"AAKA,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkE;IAChG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqE;IAE5F,OAAO,IAAI,IAAI;IAIf,QAAQ,IAAI,IAAI;CAGnB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdaptadorDapDelegua = void 0;
4
+ const delegua_1 = require("../../delegua");
5
+ const ponte_tempo_execucao_depuracao_1 = require("./ponte-tempo-execucao-depuracao");
6
+ const sessao_depuracao_dap_1 = require("./sessao-depuracao-dap");
7
+ const transporte_dap_stdio_1 = require("./transporte-dap-stdio");
8
+ class AdaptadorDapDelegua {
9
+ constructor() {
10
+ this.transporte = new transporte_dap_stdio_1.TransporteDapStdio();
11
+ this.runtimeBridge = new ponte_tempo_execucao_depuracao_1.PonteTempoExecucaoDepuracaoDelegua(new delegua_1.Delegua().versao());
12
+ this.sessao = new sessao_depuracao_dap_1.SessaoDepuracaoDapPadrao(this.transporte, this.runtimeBridge);
13
+ }
14
+ iniciar() {
15
+ this.sessao.iniciar();
16
+ }
17
+ encerrar() {
18
+ this.sessao.encerrar();
19
+ }
20
+ }
21
+ exports.AdaptadorDapDelegua = AdaptadorDapDelegua;
22
+ //# sourceMappingURL=adaptador-dap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adaptador-dap.js","sourceRoot":"","sources":["../../../fontes/depuracao/dap/adaptador-dap.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,qFAAsF;AACtF,iEAAkE;AAClE,iEAA4D;AAE5D,MAAa,mBAAmB;IAAhC;QACqB,eAAU,GAAG,IAAI,yCAAkB,EAAE,CAAC;QACtC,kBAAa,GAAG,IAAI,mEAAkC,CAAC,IAAI,iBAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,WAAM,GAAG,IAAI,+CAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAShG,CAAC;IAPG,OAAO;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACJ;AAZD,kDAYC"}
@@ -0,0 +1,6 @@
1
+ export * from './adaptador-dap';
2
+ export * from '../../interfaces/depuracao';
3
+ export * from './ponte-tempo-execucao-depuracao';
4
+ export * from './sessao-depuracao-dap';
5
+ export * from './transporte-dap-stdio';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./adaptador-dap"), exports);
18
+ __exportStar(require("../../interfaces/depuracao"), exports);
19
+ __exportStar(require("./ponte-tempo-execucao-depuracao"), exports);
20
+ __exportStar(require("./sessao-depuracao-dap"), exports);
21
+ __exportStar(require("./transporte-dap-stdio"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/depuracao/dap/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,6DAA2C;AAC3C,mEAAiD;AACjD,yDAAuC;AACvC,yDAAuC"}
@@ -0,0 +1,34 @@
1
+ import { EscopoDepuracao, ParadaDepuracao, QuadroPilhaDepuracao, PonteTempoExecucaoDepuracaoInterface, ThreadDepuracao, VariavelDepuracao } from '../../interfaces/depuracao';
2
+ export declare class PonteTempoExecucaoDepuracaoDelegua implements PonteTempoExecucaoDepuracaoInterface {
3
+ private readonly versaoDelegua;
4
+ private readonly threadPrincipalId;
5
+ private configuracaoLancamento;
6
+ private pontosParadaPendentes;
7
+ private contadorReferencias;
8
+ private mapeamentoFrames;
9
+ private mapeamentoVariaveis;
10
+ private nucleoExecucao;
11
+ private interpretador;
12
+ constructor(versaoDelegua: string);
13
+ prepararLancamento(argumentos?: Record<string, unknown>): Promise<void>;
14
+ definirPontosParada(caminhoArquivo: string, linhas: number[]): Promise<number[]>;
15
+ executarAtePrimeiroPontoParada(): Promise<ParadaDepuracao | null>;
16
+ obterThreads(): Promise<ThreadDepuracao[]>;
17
+ obterPilhaExecucao(threadId: number): Promise<QuadroPilhaDepuracao[]>;
18
+ obterEscopos(frameId: number): Promise<EscopoDepuracao[]>;
19
+ obterVariaveis(variablesReference: number): Promise<VariavelDepuracao[]>;
20
+ continuar(threadId: number): Promise<ParadaDepuracao | null>;
21
+ proximo(threadId: number): Promise<ParadaDepuracao | null>;
22
+ adentrarEscopo(threadId: number): Promise<ParadaDepuracao | null>;
23
+ sairEscopo(threadId: number): Promise<ParadaDepuracao | null>;
24
+ encerrarSessao(): Promise<void>;
25
+ private aplicarPontosParadaNoInterpretador;
26
+ private obterParadaAtual;
27
+ private obterPilhaEscopos;
28
+ private obterDeclaracaoAtual;
29
+ private proximaReferencia;
30
+ private formatarValor;
31
+ private executarInstrucao;
32
+ private garantirSessaoInicializada;
33
+ }
34
+ //# sourceMappingURL=ponte-tempo-execucao-depuracao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ponte-tempo-execucao-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/ponte-tempo-execucao-depuracao.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oCAAoC,EACpC,eAAe,EACf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,kCAAmC,YAAW,oCAAoC;IAC3F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IAEvC,OAAO,CAAC,sBAAsB,CAAuC;IACrE,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,mBAAmB,CAA4D;IAEvF,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAAmD;gBAE5D,aAAa,EAAE,MAAM;IAI3B,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvE,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBhF,8BAA8B,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAiCjE,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAM1C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqCrE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAuBzD,cAAc,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAexE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAa5D,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAa1D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAajE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAY7D,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBrC,OAAO,CAAC,kCAAkC;IAsB1C,OAAO,CAAC,gBAAgB;IAuCxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;YAwBP,iBAAiB;IA8B/B,OAAO,CAAC,0BAA0B;CAKrC"}
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PonteTempoExecucaoDepuracaoDelegua = void 0;
37
+ const caminho = __importStar(require("path"));
38
+ const fs = __importStar(require("fs"));
39
+ const geracao_identificadores_1 = require("@designliquido/delegua/geracao-identificadores");
40
+ const nucleo_execucao_1 = require("../../nucleo-execucao");
41
+ class PonteTempoExecucaoDepuracaoDelegua {
42
+ constructor(versaoDelegua) {
43
+ this.threadPrincipalId = 1;
44
+ this.configuracaoLancamento = null;
45
+ this.pontosParadaPendentes = new Map();
46
+ this.contadorReferencias = 1;
47
+ this.mapeamentoFrames = new Map();
48
+ this.mapeamentoVariaveis = new Map();
49
+ this.nucleoExecucao = null;
50
+ this.interpretador = null;
51
+ this.versaoDelegua = versaoDelegua;
52
+ }
53
+ async prepararLancamento(argumentos) {
54
+ var _a, _b;
55
+ const programa = String((_a = argumentos === null || argumentos === void 0 ? void 0 : argumentos.program) !== null && _a !== void 0 ? _a : '').trim();
56
+ const dialeto = String((_b = argumentos === null || argumentos === void 0 ? void 0 : argumentos.dialeto) !== null && _b !== void 0 ? _b : 'delegua').trim() || 'delegua';
57
+ if (!programa) {
58
+ throw new Error('Argumento `program` e obrigatorio para launch.');
59
+ }
60
+ const caminhoPrograma = caminho.resolve(programa);
61
+ if (!fs.existsSync(caminhoPrograma)) {
62
+ throw new Error(`Arquivo de programa nao encontrado: ${caminhoPrograma}`);
63
+ }
64
+ this.configuracaoLancamento = {
65
+ programa: caminhoPrograma,
66
+ dialeto,
67
+ };
68
+ this.contadorReferencias = 1;
69
+ this.mapeamentoFrames.clear();
70
+ this.mapeamentoVariaveis.clear();
71
+ }
72
+ async definirPontosParada(caminhoArquivo, linhas) {
73
+ var _a;
74
+ const caminhoAbsoluto = caminho.resolve(caminhoArquivo);
75
+ if (!fs.existsSync(caminhoAbsoluto)) {
76
+ this.pontosParadaPendentes.set(caminhoAbsoluto, []);
77
+ return [];
78
+ }
79
+ const quantidadeLinhasArquivo = fs.readFileSync(caminhoAbsoluto, 'utf8').split(/\r?\n/).length;
80
+ const linhasValidadas = linhas
81
+ .filter((linha) => Number.isInteger(linha) && linha > 0 && linha <= quantidadeLinhasArquivo)
82
+ .sort((a, b) => a - b);
83
+ this.pontosParadaPendentes.set(caminhoAbsoluto, [...new Set(linhasValidadas)]);
84
+ return (_a = this.pontosParadaPendentes.get(caminhoAbsoluto)) !== null && _a !== void 0 ? _a : [];
85
+ }
86
+ async executarAtePrimeiroPontoParada() {
87
+ if (!this.configuracaoLancamento) {
88
+ throw new Error('launch deve ser executado antes de configurationDone.');
89
+ }
90
+ this.nucleoExecucao = new nucleo_execucao_1.NucleoExecucao(this.versaoDelegua);
91
+ this.nucleoExecucao.configurarDialeto(this.configuracaoLancamento.dialeto, false, true, false);
92
+ this.interpretador = this.nucleoExecucao.interpretador;
93
+ this.interpretador.pontoDeParadaAtivo = false;
94
+ await this.nucleoExecucao.carregarEExecutarArquivo(this.configuracaoLancamento.programa);
95
+ this.aplicarPontosParadaNoInterpretador();
96
+ let houveParada = false;
97
+ this.interpretador.avisoPontoParadaAtivado = () => {
98
+ houveParada = true;
99
+ };
100
+ await this.interpretador.instrucaoContinuarInterpretacao();
101
+ if (!houveParada && !this.interpretador.pontoDeParadaAtivo) {
102
+ return null;
103
+ }
104
+ return this.obterParadaAtual();
105
+ }
106
+ async obterThreads() {
107
+ this.garantirSessaoInicializada();
108
+ return [{ id: this.threadPrincipalId, nome: 'thread-principal' }];
109
+ }
110
+ async obterPilhaExecucao(threadId) {
111
+ this.garantirSessaoInicializada();
112
+ if (threadId !== this.threadPrincipalId || !this.nucleoExecucao || !this.interpretador) {
113
+ return [];
114
+ }
115
+ this.mapeamentoFrames.clear();
116
+ this.mapeamentoVariaveis.clear();
117
+ const pilhaEscopos = this.obterPilhaEscopos();
118
+ const quadros = [];
119
+ for (let indice = pilhaEscopos.length - 1; indice >= 0; indice--) {
120
+ const escopo = pilhaEscopos[indice];
121
+ const declaracaoAtual = this.obterDeclaracaoAtual(escopo);
122
+ if (!declaracaoAtual) {
123
+ continue;
124
+ }
125
+ const caminhoArquivo = this.nucleoExecucao.arquivosAbertos[declaracaoAtual.hashArquivo];
126
+ if (!caminhoArquivo) {
127
+ continue;
128
+ }
129
+ const frameId = this.proximaReferencia();
130
+ this.mapeamentoFrames.set(frameId, indice);
131
+ quadros.push({
132
+ id: frameId,
133
+ nome: declaracaoAtual.assinaturaMetodo || `escopo-${indice}`,
134
+ caminhoArquivo,
135
+ linha: declaracaoAtual.linha,
136
+ coluna: 1,
137
+ });
138
+ }
139
+ return quadros;
140
+ }
141
+ async obterEscopos(frameId) {
142
+ var _a;
143
+ this.garantirSessaoInicializada();
144
+ const indiceEscopo = this.mapeamentoFrames.get(frameId);
145
+ if (indiceEscopo === undefined || !this.interpretador) {
146
+ return [];
147
+ }
148
+ const pilhaEscopos = this.obterPilhaEscopos();
149
+ const escopo = pilhaEscopos[indiceEscopo];
150
+ const variaveis = ((_a = escopo === null || escopo === void 0 ? void 0 : escopo.espacoMemoria) === null || _a === void 0 ? void 0 : _a.valores) || {};
151
+ const variablesReference = this.proximaReferencia();
152
+ this.mapeamentoVariaveis.set(variablesReference, variaveis);
153
+ return [
154
+ {
155
+ nome: 'Locais',
156
+ variablesReference,
157
+ expensive: false,
158
+ },
159
+ ];
160
+ }
161
+ async obterVariaveis(variablesReference) {
162
+ this.garantirSessaoInicializada();
163
+ const variaveis = this.mapeamentoVariaveis.get(variablesReference);
164
+ if (!variaveis) {
165
+ return [];
166
+ }
167
+ return Object.entries(variaveis).map(([nome, variavel]) => ({
168
+ nome,
169
+ valor: this.formatarValor(variavel === null || variavel === void 0 ? void 0 : variavel.valor),
170
+ tipo: variavel === null || variavel === void 0 ? void 0 : variavel.tipo,
171
+ variablesReference: 0,
172
+ }));
173
+ }
174
+ async continuar(threadId) {
175
+ this.garantirSessaoInicializada();
176
+ if (!this.interpretador || threadId !== this.threadPrincipalId) {
177
+ return null;
178
+ }
179
+ return this.executarInstrucao(async () => {
180
+ this.interpretador.comando = 'continuar';
181
+ this.interpretador.pontoDeParadaAtivo = false;
182
+ await this.interpretador.instrucaoContinuarInterpretacao();
183
+ }, 'breakpoint');
184
+ }
185
+ async proximo(threadId) {
186
+ this.garantirSessaoInicializada();
187
+ if (!this.interpretador || threadId !== this.threadPrincipalId) {
188
+ return null;
189
+ }
190
+ return this.executarInstrucao(async () => {
191
+ this.interpretador.comando = 'proximo';
192
+ this.interpretador.pontoDeParadaAtivo = false;
193
+ await this.interpretador.instrucaoPasso();
194
+ }, 'step');
195
+ }
196
+ async adentrarEscopo(threadId) {
197
+ this.garantirSessaoInicializada();
198
+ if (!this.interpretador || threadId !== this.threadPrincipalId) {
199
+ return null;
200
+ }
201
+ return this.executarInstrucao(async () => {
202
+ this.interpretador.comando = 'adentrarEscopo';
203
+ this.interpretador.pontoDeParadaAtivo = false;
204
+ await this.interpretador.instrucaoPasso();
205
+ }, 'step');
206
+ }
207
+ async sairEscopo(threadId) {
208
+ this.garantirSessaoInicializada();
209
+ if (!this.interpretador || threadId !== this.threadPrincipalId) {
210
+ return null;
211
+ }
212
+ return this.executarInstrucao(async () => {
213
+ this.interpretador.pontoDeParadaAtivo = false;
214
+ await this.interpretador.instrucaoProximoESair();
215
+ }, 'step');
216
+ }
217
+ async encerrarSessao() {
218
+ try {
219
+ if (this.nucleoExecucao) {
220
+ this.nucleoExecucao.finalizarDepuracao();
221
+ }
222
+ }
223
+ catch (_a) {
224
+ // limpeza defensiva: erros aqui nao devem impedir encerramento da sessao DAP
225
+ }
226
+ this.interpretador = null;
227
+ this.nucleoExecucao = null;
228
+ this.contadorReferencias = 1;
229
+ this.mapeamentoFrames.clear();
230
+ this.mapeamentoVariaveis.clear();
231
+ }
232
+ aplicarPontosParadaNoInterpretador() {
233
+ if (!this.nucleoExecucao || !this.interpretador) {
234
+ return;
235
+ }
236
+ this.interpretador.pontosParada = [];
237
+ for (const [caminhoArquivo, linhas] of this.pontosParadaPendentes.entries()) {
238
+ const hashArquivo = (0, geracao_identificadores_1.cyrb53)(caminhoArquivo.toLowerCase());
239
+ const hashConhecido = Object.prototype.hasOwnProperty.call(this.nucleoExecucao.arquivosAbertos, hashArquivo);
240
+ if (!hashConhecido) {
241
+ continue;
242
+ }
243
+ for (const linha of linhas) {
244
+ this.interpretador.pontosParada.push({
245
+ hashArquivo,
246
+ linha,
247
+ });
248
+ }
249
+ }
250
+ }
251
+ obterParadaAtual() {
252
+ var _a;
253
+ if (!this.nucleoExecucao || !this.interpretador) {
254
+ return null;
255
+ }
256
+ const pilhaEscopos = (_a = this.interpretador.pilhaEscoposExecucao) === null || _a === void 0 ? void 0 : _a.pilha;
257
+ if (!Array.isArray(pilhaEscopos) || pilhaEscopos.length <= 0) {
258
+ return null;
259
+ }
260
+ for (let indice = pilhaEscopos.length - 1; indice >= 0; indice--) {
261
+ const escopo = pilhaEscopos[indice];
262
+ if (!escopo || !Array.isArray(escopo.declaracoes) || escopo.declaracoes.length <= 0) {
263
+ continue;
264
+ }
265
+ const posicaoAtual = escopo.declaracaoAtual >= escopo.declaracoes.length
266
+ ? escopo.declaracoes.length - 1
267
+ : escopo.declaracaoAtual;
268
+ const declaracaoAtual = escopo.declaracoes[posicaoAtual];
269
+ if (!declaracaoAtual) {
270
+ continue;
271
+ }
272
+ const caminhoArquivo = this.nucleoExecucao.arquivosAbertos[declaracaoAtual.hashArquivo];
273
+ if (!caminhoArquivo) {
274
+ continue;
275
+ }
276
+ return {
277
+ caminhoArquivo,
278
+ linha: declaracaoAtual.linha,
279
+ };
280
+ }
281
+ return null;
282
+ }
283
+ obterPilhaEscopos() {
284
+ var _a, _b;
285
+ const pilhaEscopos = (_b = (_a = this.interpretador) === null || _a === void 0 ? void 0 : _a.pilhaEscoposExecucao) === null || _b === void 0 ? void 0 : _b.pilha;
286
+ if (!Array.isArray(pilhaEscopos)) {
287
+ return [];
288
+ }
289
+ return pilhaEscopos;
290
+ }
291
+ obterDeclaracaoAtual(escopo) {
292
+ if (!escopo || !Array.isArray(escopo.declaracoes) || escopo.declaracoes.length <= 0) {
293
+ return null;
294
+ }
295
+ const posicaoAtual = escopo.declaracaoAtual >= escopo.declaracoes.length
296
+ ? escopo.declaracoes.length - 1
297
+ : escopo.declaracaoAtual;
298
+ return escopo.declaracoes[posicaoAtual];
299
+ }
300
+ proximaReferencia() {
301
+ return this.contadorReferencias++;
302
+ }
303
+ formatarValor(valor) {
304
+ if (valor === null) {
305
+ return 'nulo';
306
+ }
307
+ if (valor === undefined) {
308
+ return 'indefinido';
309
+ }
310
+ if (typeof valor === 'string') {
311
+ return valor;
312
+ }
313
+ if (typeof valor === 'number' || typeof valor === 'boolean') {
314
+ return String(valor);
315
+ }
316
+ try {
317
+ return JSON.stringify(valor);
318
+ }
319
+ catch (_a) {
320
+ return String(valor);
321
+ }
322
+ }
323
+ async executarInstrucao(acao, motivoPadrao) {
324
+ var _a;
325
+ let houveParada = false;
326
+ if (!this.interpretador) {
327
+ return null;
328
+ }
329
+ this.interpretador.avisoPontoParadaAtivado = () => {
330
+ houveParada = true;
331
+ };
332
+ await acao();
333
+ if (!houveParada && !this.interpretador.pontoDeParadaAtivo) {
334
+ return null;
335
+ }
336
+ const paradaAtual = this.obterParadaAtual();
337
+ if (!paradaAtual) {
338
+ return null;
339
+ }
340
+ return Object.assign(Object.assign({}, paradaAtual), { motivo: (_a = paradaAtual.motivo) !== null && _a !== void 0 ? _a : motivoPadrao });
341
+ }
342
+ garantirSessaoInicializada() {
343
+ if (!this.interpretador || !this.nucleoExecucao) {
344
+ throw new Error('Sessao de depuracao ainda nao foi iniciada com configurationDone.');
345
+ }
346
+ }
347
+ }
348
+ exports.PonteTempoExecucaoDepuracaoDelegua = PonteTempoExecucaoDepuracaoDelegua;
349
+ //# sourceMappingURL=ponte-tempo-execucao-depuracao.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ponte-tempo-execucao-depuracao.js","sourceRoot":"","sources":["../../../fontes/depuracao/dap/ponte-tempo-execucao-depuracao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAChC,uCAAyB;AAEzB,4FAAwE;AAKxE,2DAAuD;AAWvD,MAAa,kCAAkC;IAa3C,YAAY,aAAqB;QAXhB,sBAAiB,GAAG,CAAC,CAAC;QAE/B,2BAAsB,GAAkC,IAAI,CAAC;QAC7D,0BAAqB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACpD,wBAAmB,GAAG,CAAC,CAAC;QACxB,qBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,wBAAmB,GAAG,IAAI,GAAG,EAAiD,CAAC;QAE/E,mBAAc,GAA0B,IAAI,CAAC;QAC7C,kBAAa,GAA8C,IAAI,CAAC;QAGpE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAoC;;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;QAE7E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,uCAAuC,eAAe,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG;YAC1B,QAAQ,EAAE,eAAe;YACzB,OAAO;SACV,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,cAAsB,EAAE,MAAgB;;QAC9D,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,uBAAuB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC/F,MAAM,eAAe,GAAG,MAAM;aACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,uBAAuB,CAAC;aAC3F,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/E,OAAO,MAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,CAAC,mCAAI,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,8BAA8B;QAChC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACjC,IAAI,CAAC,sBAAsB,CAAC,OAAO,EACnC,KAAK,EACL,IAAI,EACJ,KAAK,CACR,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAmD,CAAC;QAC7F,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAE9C,MAAM,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,kCAAkC,EAAE,CAAC;QAE1C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,uBAAuB,GAAG,GAAG,EAAE;YAC9C,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CAAC;QAE3D,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY;QACd,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAgB;QACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,QAAQ,KAAK,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrF,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,SAAS;YACb,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,OAAO;gBACX,IAAI,EAAE,eAAe,CAAC,gBAAgB,IAAI,UAAU,MAAM,EAAE;gBAC5D,cAAc;gBACd,KAAK,EAAE,eAAe,CAAC,KAAK;gBAC5B,MAAM,EAAE,CAAC;aACZ,CAAC,CAAC;QACP,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;;QAC9B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,0CAAE,OAAO,KAAI,EAAE,CAAC;QAEvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QAE5D,OAAO;YACH;gBACI,IAAI,EAAE,QAAQ;gBACd,kBAAkB;gBAClB,SAAS,EAAE,KAAK;aACnB;SACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,kBAA0B;QAC3C,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAC;YAC1C,IAAI,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;YACpB,kBAAkB,EAAE,CAAC;SACxB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC5B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,WAAW,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,EAAE,CAAC;QAC/D,CAAC,EAAE,YAAY,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC1B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;YACvC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAC9C,CAAC,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACjC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,gBAAgB,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;QAC9C,CAAC,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB;QAC7B,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC,aAAa,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAC9C,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QACrD,CAAC,EAAE,MAAM,CAAC,CAAC;IACf,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC;YAC7C,CAAC;QACL,CAAC;QAAC,WAAM,CAAC;YACL,6EAA6E;QACjF,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEO,kCAAkC;QACtC,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E,MAAM,WAAW,GAAG,IAAA,gCAAM,EAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YAC7G,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,SAAS;YACb,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC;oBACjC,WAAW;oBACX,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAEO,gBAAgB;;QACpB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,MAAC,IAAI,CAAC,aAAqB,CAAC,oBAAoB,0CAAE,KAAK,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,KAAK,IAAI,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAClF,SAAS;YACb,CAAC;YAED,MAAM,YAAY,GACd,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM;gBAC/C,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;YACjC,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,SAAS;YACb,CAAC;YAED,OAAO;gBACH,cAAc;gBACd,KAAK,EAAE,eAAe,CAAC,KAAK;aAC/B,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,iBAAiB;;QACrB,MAAM,YAAY,GAAG,MAAA,MAAC,IAAI,CAAC,aAAqB,0CAAE,oBAAoB,0CAAE,KAAK,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,YAAgC,CAAC;IAC5C,CAAC;IAEO,oBAAoB,CAAC,MAAsB;QAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAClF,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GACd,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM;YAC/C,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAC/B,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;QACjC,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAEO,iBAAiB;QACrB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACtC,CAAC;IAEO,aAAa,CAAC,KAAU;QAC5B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,WAAM,CAAC;YACL,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC3B,IAAyB,EACzB,YAAmC;;QAEnC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,uBAAuB,GAAG,GAAG,EAAE;YAC9C,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,uCACO,WAAW,KACd,MAAM,EAAE,MAAA,WAAW,CAAC,MAAM,mCAAI,YAAY,IAC5C;IACN,CAAC;IAEO,0BAA0B;QAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;CACJ;AA7XD,gFA6XC"}
@@ -0,0 +1,30 @@
1
+ import { PonteTempoExecucaoDepuracaoInterface, SessaoDepuracaoDap, TransporteDap } from '../../interfaces/depuracao';
2
+ export declare class SessaoDepuracaoDapPadrao implements SessaoDepuracaoDap {
3
+ private readonly transporteDap;
4
+ private readonly runtimeBridgeDepuracao;
5
+ private lancamentoConfigurado;
6
+ private sessaoEncerrada;
7
+ private filaRequisicoes;
8
+ constructor(transporteDap: TransporteDap, runtimeBridgeDepuracao: PonteTempoExecucaoDepuracaoInterface);
9
+ iniciar(): void;
10
+ encerrar(): void;
11
+ private aoReceberErro;
12
+ private aoReceberRequisicao;
13
+ private processarRequisicao;
14
+ private tratarInitialize;
15
+ private tratarLaunch;
16
+ private tratarSetBreakpoints;
17
+ private tratarConfigurationDone;
18
+ private tratarThreads;
19
+ private tratarStackTrace;
20
+ private tratarScopes;
21
+ private tratarVariables;
22
+ private tratarContinue;
23
+ private tratarNext;
24
+ private tratarStepIn;
25
+ private tratarStepOut;
26
+ private tratarComandoFluxoExecucao;
27
+ private tratarDisconnect;
28
+ private emitirEventosEncerramento;
29
+ }
30
+ //# sourceMappingURL=sessao-depuracao-dap.d.ts.map