@designliquido/delegua-node 1.22.3 → 1.23.0
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.
- package/depuracao/dap/ponte-tempo-execucao-depuracao.d.ts +2 -6
- package/depuracao/dap/ponte-tempo-execucao-depuracao.d.ts.map +1 -1
- package/depuracao/dap/ponte-tempo-execucao-depuracao.js +16 -58
- package/depuracao/dap/ponte-tempo-execucao-depuracao.js.map +1 -1
- package/depuracao/referencias-depuracao.d.ts +26 -0
- package/depuracao/referencias-depuracao.d.ts.map +1 -0
- package/depuracao/referencias-depuracao.js +69 -0
- package/depuracao/referencias-depuracao.js.map +1 -0
- package/depuracao/servidor-depuracao.d.ts +66 -1
- package/depuracao/servidor-depuracao.d.ts.map +1 -1
- package/depuracao/servidor-depuracao.js +358 -43
- package/depuracao/servidor-depuracao.js.map +1 -1
- package/interfaces/nucleo-execucao-interface.d.ts +4 -0
- package/interfaces/nucleo-execucao-interface.d.ts.map +1 -1
- package/package.json +7 -7
|
@@ -4,9 +4,8 @@ export declare class PonteTempoExecucaoDepuracaoDelegua implements PonteTempoExe
|
|
|
4
4
|
private readonly threadPrincipalId;
|
|
5
5
|
private configuracaoLancamento;
|
|
6
6
|
private pontosParadaPendentes;
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
private mapeamentoVariaveis;
|
|
7
|
+
private registroFrames;
|
|
8
|
+
private registroVariaveis;
|
|
10
9
|
private nucleoExecucao;
|
|
11
10
|
private interpretador;
|
|
12
11
|
constructor(versaoDelegua: string);
|
|
@@ -25,9 +24,6 @@ export declare class PonteTempoExecucaoDepuracaoDelegua implements PonteTempoExe
|
|
|
25
24
|
private aplicarPontosParadaNoInterpretador;
|
|
26
25
|
private obterParadaAtual;
|
|
27
26
|
private obterPilhaEscopos;
|
|
28
|
-
private obterDeclaracaoAtual;
|
|
29
|
-
private proximaReferencia;
|
|
30
|
-
private formatarValor;
|
|
31
27
|
private executarInstrucao;
|
|
32
28
|
private garantirSessaoInicializada;
|
|
33
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ponte-tempo-execucao-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/ponte-tempo-execucao-depuracao.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oCAAoC,EACpC,eAAe,EACf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ponte-tempo-execucao-depuracao.d.ts","sourceRoot":"","sources":["../../../fontes/depuracao/dap/ponte-tempo-execucao-depuracao.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oCAAoC,EACpC,eAAe,EACf,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AAIpC,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,cAAc,CAAqC;IAC3D,OAAO,CAAC,iBAAiB,CAAoE;IAE7F,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;IAqBvE,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;IAoCrE,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAsBzD,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;IAerC,OAAO,CAAC,kCAAkC;IAsB1C,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,iBAAiB;YASX,iBAAiB;IA8B/B,OAAO,CAAC,0BAA0B;CAKrC"}
|
|
@@ -38,14 +38,14 @@ const caminho = __importStar(require("path"));
|
|
|
38
38
|
const sistemaArquivos = __importStar(require("fs"));
|
|
39
39
|
const geracao_identificadores_1 = require("@designliquido/delegua/geracao-identificadores");
|
|
40
40
|
const nucleo_execucao_1 = require("../../nucleo-execucao");
|
|
41
|
+
const referencias_depuracao_1 = require("../referencias-depuracao");
|
|
41
42
|
class PonteTempoExecucaoDepuracaoDelegua {
|
|
42
43
|
constructor(versaoDelegua) {
|
|
43
44
|
this.threadPrincipalId = 1;
|
|
44
45
|
this.configuracaoLancamento = null;
|
|
45
46
|
this.pontosParadaPendentes = new Map();
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
this.mapeamentoVariaveis = new Map();
|
|
47
|
+
this.registroFrames = new referencias_depuracao_1.RegistroReferencias();
|
|
48
|
+
this.registroVariaveis = new referencias_depuracao_1.RegistroReferencias();
|
|
49
49
|
this.nucleoExecucao = null;
|
|
50
50
|
this.interpretador = null;
|
|
51
51
|
this.versaoDelegua = versaoDelegua;
|
|
@@ -65,9 +65,8 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
65
65
|
programa: caminhoPrograma,
|
|
66
66
|
dialeto,
|
|
67
67
|
};
|
|
68
|
-
this.
|
|
69
|
-
this.
|
|
70
|
-
this.mapeamentoVariaveis.clear();
|
|
68
|
+
this.registroFrames.limpar();
|
|
69
|
+
this.registroVariaveis.limpar();
|
|
71
70
|
}
|
|
72
71
|
async definirPontosParada(caminhoArquivo, linhas) {
|
|
73
72
|
var _a;
|
|
@@ -112,13 +111,13 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
112
111
|
if (threadId !== this.threadPrincipalId || !this.nucleoExecucao || !this.interpretador) {
|
|
113
112
|
return [];
|
|
114
113
|
}
|
|
115
|
-
this.
|
|
116
|
-
this.
|
|
114
|
+
this.registroFrames.limpar();
|
|
115
|
+
this.registroVariaveis.limpar();
|
|
117
116
|
const pilhaEscopos = this.obterPilhaEscopos();
|
|
118
117
|
const quadros = [];
|
|
119
118
|
for (let indice = pilhaEscopos.length - 1; indice >= 0; indice--) {
|
|
120
119
|
const escopo = pilhaEscopos[indice];
|
|
121
|
-
const declaracaoAtual =
|
|
120
|
+
const declaracaoAtual = (0, referencias_depuracao_1.obterDeclaracaoAtual)(escopo);
|
|
122
121
|
if (!declaracaoAtual) {
|
|
123
122
|
continue;
|
|
124
123
|
}
|
|
@@ -126,8 +125,7 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
126
125
|
if (!caminhoArquivo) {
|
|
127
126
|
continue;
|
|
128
127
|
}
|
|
129
|
-
const frameId = this.
|
|
130
|
-
this.mapeamentoFrames.set(frameId, indice);
|
|
128
|
+
const frameId = this.registroFrames.registrar(indice);
|
|
131
129
|
quadros.push({
|
|
132
130
|
id: frameId,
|
|
133
131
|
nome: declaracaoAtual.assinaturaMetodo || `escopo-${indice}`,
|
|
@@ -141,15 +139,14 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
141
139
|
async obterEscopos(frameId) {
|
|
142
140
|
var _a;
|
|
143
141
|
this.garantirSessaoInicializada();
|
|
144
|
-
const indiceEscopo = this.
|
|
142
|
+
const indiceEscopo = this.registroFrames.obter(frameId);
|
|
145
143
|
if (indiceEscopo === undefined || !this.interpretador) {
|
|
146
144
|
return [];
|
|
147
145
|
}
|
|
148
146
|
const pilhaEscopos = this.obterPilhaEscopos();
|
|
149
147
|
const escopo = pilhaEscopos[indiceEscopo];
|
|
150
148
|
const variaveis = ((_a = escopo === null || escopo === void 0 ? void 0 : escopo.espacoMemoria) === null || _a === void 0 ? void 0 : _a.valores) || {};
|
|
151
|
-
const variablesReference = this.
|
|
152
|
-
this.mapeamentoVariaveis.set(variablesReference, variaveis);
|
|
149
|
+
const variablesReference = this.registroVariaveis.registrar(variaveis);
|
|
153
150
|
return [
|
|
154
151
|
{
|
|
155
152
|
nome: 'Locais',
|
|
@@ -160,13 +157,13 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
160
157
|
}
|
|
161
158
|
async obterVariaveis(variablesReference) {
|
|
162
159
|
this.garantirSessaoInicializada();
|
|
163
|
-
const variaveis = this.
|
|
160
|
+
const variaveis = this.registroVariaveis.obter(variablesReference);
|
|
164
161
|
if (!variaveis) {
|
|
165
162
|
return [];
|
|
166
163
|
}
|
|
167
164
|
return Object.entries(variaveis).map(([nome, variavel]) => ({
|
|
168
165
|
nome,
|
|
169
|
-
valor:
|
|
166
|
+
valor: (0, referencias_depuracao_1.formatarValor)(variavel === null || variavel === void 0 ? void 0 : variavel.valor),
|
|
170
167
|
tipo: variavel === null || variavel === void 0 ? void 0 : variavel.tipo,
|
|
171
168
|
variablesReference: 0,
|
|
172
169
|
}));
|
|
@@ -225,9 +222,8 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
225
222
|
}
|
|
226
223
|
this.interpretador = null;
|
|
227
224
|
this.nucleoExecucao = null;
|
|
228
|
-
this.
|
|
229
|
-
this.
|
|
230
|
-
this.mapeamentoVariaveis.clear();
|
|
225
|
+
this.registroFrames.limpar();
|
|
226
|
+
this.registroVariaveis.limpar();
|
|
231
227
|
}
|
|
232
228
|
aplicarPontosParadaNoInterpretador() {
|
|
233
229
|
if (!this.nucleoExecucao || !this.interpretador) {
|
|
@@ -259,13 +255,7 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
259
255
|
}
|
|
260
256
|
for (let indice = pilhaEscopos.length - 1; indice >= 0; indice--) {
|
|
261
257
|
const escopo = pilhaEscopos[indice];
|
|
262
|
-
|
|
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];
|
|
258
|
+
const declaracaoAtual = (0, referencias_depuracao_1.obterDeclaracaoAtual)(escopo);
|
|
269
259
|
if (!declaracaoAtual) {
|
|
270
260
|
continue;
|
|
271
261
|
}
|
|
@@ -288,38 +278,6 @@ class PonteTempoExecucaoDepuracaoDelegua {
|
|
|
288
278
|
}
|
|
289
279
|
return pilhaEscopos;
|
|
290
280
|
}
|
|
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
281
|
async executarInstrucao(acao, motivoPadrao) {
|
|
324
282
|
var _a;
|
|
325
283
|
let houveParada = false;
|
|
@@ -1 +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,oDAAsC;AAEtC,4FAAwE;AAIxE,2DAAuD;AAYvD,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;YAC/C,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;YAC/C,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;QAC5G,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,YAAyC,CAAC;IACrD,CAAC;IAEO,oBAAoB,CAAC,MAA+B;QACxD,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"}
|
|
1
|
+
{"version":3,"file":"ponte-tempo-execucao-depuracao.js","sourceRoot":"","sources":["../../../fontes/depuracao/dap/ponte-tempo-execucao-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EscopoExecucaoInterface } from '@designliquido/delegua/interfaces/escopo-execucao';
|
|
2
|
+
/**
|
|
3
|
+
* Registro de referências numéricas (estilo `variablesReference`/`frameId` do DAP) para valores
|
|
4
|
+
* que precisam ser endereçados em requisições futuras, como quadros de pilha e escopos de variáveis.
|
|
5
|
+
* Compartilhado entre o depurador padrão (`servidor-depuracao.ts`) e o adaptador DAP
|
|
6
|
+
* (`dap/ponte-tempo-execucao-depuracao.ts`) para que os dois mantenham a mesma semântica de
|
|
7
|
+
* referências.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RegistroReferencias<T> {
|
|
10
|
+
private contador;
|
|
11
|
+
private mapa;
|
|
12
|
+
registrar(valor: T): number;
|
|
13
|
+
obter(referencia: number): T | undefined;
|
|
14
|
+
limpar(): void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Retorna a declaração atualmente em execução dentro de um escopo, considerando que
|
|
18
|
+
* `declaracaoAtual` pode ultrapassar o tamanho do vetor de declarações ao final da execução do escopo.
|
|
19
|
+
*/
|
|
20
|
+
export declare function obterDeclaracaoAtual(escopo: EscopoExecucaoInterface): any;
|
|
21
|
+
/**
|
|
22
|
+
* Formata um valor de variável Delégua para representação textual, usada tanto no protocolo
|
|
23
|
+
* texto do depurador padrão quanto no corpo das respostas `variables` do DAP.
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatarValor(valor: any): string;
|
|
26
|
+
//# sourceMappingURL=referencias-depuracao.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"referencias-depuracao.d.ts","sourceRoot":"","sources":["../../fontes/depuracao/referencias-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAE5F;;;;;;GAMG;AACH,qBAAa,mBAAmB,CAAC,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,IAAI,CAAwB;IAEpC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM;IAM3B,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIxC,MAAM,IAAI,IAAI;CAIjB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,GAAG,CAUzE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAsBhD"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RegistroReferencias = void 0;
|
|
4
|
+
exports.obterDeclaracaoAtual = obterDeclaracaoAtual;
|
|
5
|
+
exports.formatarValor = formatarValor;
|
|
6
|
+
/**
|
|
7
|
+
* Registro de referências numéricas (estilo `variablesReference`/`frameId` do DAP) para valores
|
|
8
|
+
* que precisam ser endereçados em requisições futuras, como quadros de pilha e escopos de variáveis.
|
|
9
|
+
* Compartilhado entre o depurador padrão (`servidor-depuracao.ts`) e o adaptador DAP
|
|
10
|
+
* (`dap/ponte-tempo-execucao-depuracao.ts`) para que os dois mantenham a mesma semântica de
|
|
11
|
+
* referências.
|
|
12
|
+
*/
|
|
13
|
+
class RegistroReferencias {
|
|
14
|
+
constructor() {
|
|
15
|
+
this.contador = 1;
|
|
16
|
+
this.mapa = new Map();
|
|
17
|
+
}
|
|
18
|
+
registrar(valor) {
|
|
19
|
+
const referencia = this.contador++;
|
|
20
|
+
this.mapa.set(referencia, valor);
|
|
21
|
+
return referencia;
|
|
22
|
+
}
|
|
23
|
+
obter(referencia) {
|
|
24
|
+
return this.mapa.get(referencia);
|
|
25
|
+
}
|
|
26
|
+
limpar() {
|
|
27
|
+
this.contador = 1;
|
|
28
|
+
this.mapa.clear();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.RegistroReferencias = RegistroReferencias;
|
|
32
|
+
/**
|
|
33
|
+
* Retorna a declaração atualmente em execução dentro de um escopo, considerando que
|
|
34
|
+
* `declaracaoAtual` pode ultrapassar o tamanho do vetor de declarações ao final da execução do escopo.
|
|
35
|
+
*/
|
|
36
|
+
function obterDeclaracaoAtual(escopo) {
|
|
37
|
+
if (!escopo || !Array.isArray(escopo.declaracoes) || escopo.declaracoes.length <= 0) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const posicaoAtual = escopo.declaracaoAtual >= escopo.declaracoes.length
|
|
41
|
+
? escopo.declaracoes.length - 1
|
|
42
|
+
: escopo.declaracaoAtual;
|
|
43
|
+
return escopo.declaracoes[posicaoAtual];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Formata um valor de variável Delégua para representação textual, usada tanto no protocolo
|
|
47
|
+
* texto do depurador padrão quanto no corpo das respostas `variables` do DAP.
|
|
48
|
+
*/
|
|
49
|
+
function formatarValor(valor) {
|
|
50
|
+
if (valor === null) {
|
|
51
|
+
return 'nulo';
|
|
52
|
+
}
|
|
53
|
+
if (valor === undefined) {
|
|
54
|
+
return 'indefinido';
|
|
55
|
+
}
|
|
56
|
+
if (typeof valor === 'string') {
|
|
57
|
+
return valor;
|
|
58
|
+
}
|
|
59
|
+
if (typeof valor === 'number' || typeof valor === 'boolean') {
|
|
60
|
+
return String(valor);
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
return JSON.stringify(valor);
|
|
64
|
+
}
|
|
65
|
+
catch (_a) {
|
|
66
|
+
return String(valor);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=referencias-depuracao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"referencias-depuracao.js","sourceRoot":"","sources":["../../fontes/depuracao/referencias-depuracao.ts"],"names":[],"mappings":";;;AAiCA,oDAUC;AAMD,sCAsBC;AArED;;;;;;GAMG;AACH,MAAa,mBAAmB;IAAhC;QACY,aAAQ,GAAG,CAAC,CAAC;QACb,SAAI,GAAG,IAAI,GAAG,EAAa,CAAC;IAgBxC,CAAC;IAdG,SAAS,CAAC,KAAQ;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAkB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,MAAM;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACJ;AAlBD,kDAkBC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,MAA+B;IAChE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GACd,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM;QAC/C,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;IACjC,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,KAAU;IACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC"}
|
|
@@ -7,7 +7,10 @@ import { NucleoExecucaoInterface } from '../interfaces/nucleo-execucao-interface
|
|
|
7
7
|
* comunicação nunca foi exatamente maturado, em favor de uma implementação na extensão
|
|
8
8
|
* usando a linguagem diretamente.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Tem também propósito didático: por usar texto simples em vez de JSON-RPC, é a forma mais direta
|
|
11
|
+
* de entender o que um depurador faz. Os comandos que não existem no protocolo histórico (a partir
|
|
12
|
+
* de `capacidades`, abaixo) foram adicionados para espelhar, um a um, as requisições/eventos do
|
|
13
|
+
* Debug Adapter Protocol implementado em `dap/`, documentados em `README.md`.
|
|
11
14
|
*/
|
|
12
15
|
export declare class ServidorDepuracao {
|
|
13
16
|
instanciaNucleoExecucao: NucleoExecucaoInterface;
|
|
@@ -17,19 +20,81 @@ export declare class ServidorDepuracao {
|
|
|
17
20
|
};
|
|
18
21
|
contadorConexoes: number;
|
|
19
22
|
interpretador: InterpretadorComDepuracaoInterface;
|
|
23
|
+
private registroFrames;
|
|
24
|
+
private registroVariaveis;
|
|
25
|
+
private filaPorConexao;
|
|
20
26
|
constructor(instanciaNucleoExecucao: NucleoExecucaoInterface);
|
|
21
27
|
validarPontoParada: (caminhoArquivo: string, linha: number, conexao: net.Socket) => any;
|
|
22
28
|
comandoAdentrarEscopo: (conexao: net.Socket) => Promise<any>;
|
|
23
29
|
comandoAdicionarPontoParada: (comando: string[], conexao: net.Socket) => any;
|
|
24
30
|
comandoAvaliar: (comando: string[], conexao: net.Socket) => Promise<any>;
|
|
25
31
|
comandoAvaliarVariavel: (comando: string[], conexao: net.Socket) => Promise<any>;
|
|
32
|
+
/**
|
|
33
|
+
* Equivalente a `initialize` do DAP: descreve a própria superfície de protocolo em vez do
|
|
34
|
+
* cliente ter que adivinhar quais comandos existem.
|
|
35
|
+
*/
|
|
36
|
+
comandoCapacidades: (conexao: net.Socket) => any;
|
|
26
37
|
comandoContinuar: (conexao: net.Socket) => Promise<any>;
|
|
38
|
+
/**
|
|
39
|
+
* Equivalente a `setBreakpoints` do DAP: substitui, numa única chamada, todo o conjunto de
|
|
40
|
+
* pontos de parada de um arquivo, respondendo `verificado`/`nao-verificado` por linha.
|
|
41
|
+
* `adicionar-ponto-parada`/`remover-ponto-parada` continuam existindo para edição incremental
|
|
42
|
+
* e compartilham a mesma validação via `validarPontoParada`.
|
|
43
|
+
*/
|
|
44
|
+
comandoDefinirPontosParada: (comando: string[], conexao: net.Socket) => any;
|
|
45
|
+
/**
|
|
46
|
+
* Equivalente a `disconnect` do DAP: finaliza a sessão de depuração do núcleo de execução
|
|
47
|
+
* (diferente de `tchau`, que só encerra a conexão de quem pediu) e avisa todos os clientes.
|
|
48
|
+
*/
|
|
49
|
+
comandoEncerrarSessao: (conexao: net.Socket) => any;
|
|
50
|
+
/**
|
|
51
|
+
* Equivalente a `scopes` do DAP: dado um `frameId` obtido via `pilha-execucao`, responde a
|
|
52
|
+
* referência de variáveis daquele quadro, para consulta com `variaveis-referencia`.
|
|
53
|
+
*/
|
|
54
|
+
comandoEscopos: (comando: string[], conexao: net.Socket) => any;
|
|
27
55
|
comandoPilhaExecucao: (conexao: net.Socket) => any;
|
|
28
56
|
comandoPontosParada: (conexao: net.Socket) => any;
|
|
29
57
|
comandoProximo: (conexao: net.Socket) => Promise<any>;
|
|
58
|
+
/**
|
|
59
|
+
* Equivalente a `launch` do DAP, mas vindo do cliente em vez de configurado pela CLI: permite
|
|
60
|
+
* trocar ou recarregar o programa em depuração sem reiniciar o processo Node.
|
|
61
|
+
*/
|
|
62
|
+
comandoReiniciar: (comando: string[], conexao: net.Socket) => Promise<any>;
|
|
30
63
|
comandoRemoverPontoParada: (comando: string[], conexao: net.Socket) => any;
|
|
31
64
|
comandoSairEscopo: (conexao: net.Socket) => Promise<any>;
|
|
65
|
+
/**
|
|
66
|
+
* Equivalente a `threads` do DAP. O interpretador Delégua é de thread única, mas o comando
|
|
67
|
+
* existe para completar o paralelo de protocolo e preparar terreno para suporte futuro.
|
|
68
|
+
*/
|
|
69
|
+
comandoLinhasExecucao: (conexao: net.Socket) => any;
|
|
32
70
|
comandoVariaveis: (conexao: net.Socket) => any;
|
|
71
|
+
/**
|
|
72
|
+
* Equivalente a `variables` do DAP: dada uma referência obtida via `escopos` (ou outra
|
|
73
|
+
* `variaveis-referencia` anterior), lista as variáveis daquele recipiente. Quando um valor é
|
|
74
|
+
* objeto ou vetor, uma nova referência é registrada para ele, permitindo navegação recursiva
|
|
75
|
+
* em vez do `JSON.stringify` cego usado por `variaveis`.
|
|
76
|
+
*/
|
|
77
|
+
comandoVariaveisReferencia: (comando: string[], conexao: net.Socket) => any;
|
|
78
|
+
/**
|
|
79
|
+
* Emite um evento assíncrono (estilo `stopped`/`continued`/`terminated` do DAP) para todos os
|
|
80
|
+
* clientes conectados, sem que precisem pollar comandos como `pilha-execucao` após cada passo.
|
|
81
|
+
*/
|
|
82
|
+
private emitirEvento;
|
|
83
|
+
/** Localiza arquivo/linha da declaração em execução no topo da pilha de escopos. */
|
|
84
|
+
private obterLocalizacaoAtual;
|
|
85
|
+
/** Emite `parado` (com a localização atual) ou `encerrado`, conforme o resultado de um passo/continue. */
|
|
86
|
+
private emitirEventoDeParada;
|
|
87
|
+
/** Despacha um comando de texto já tokenizado para o `comando*` correspondente. */
|
|
88
|
+
private executarComando;
|
|
89
|
+
/**
|
|
90
|
+
* Despacha um comando, serializando-o após qualquer comando assíncrono ainda pendente na mesma
|
|
91
|
+
* conexão. Quando a fila está ociosa, o comando é executado de forma síncrona/imediata, igual ao
|
|
92
|
+
* comportamento histórico; só quando há um comando assíncrono em andamento é que a execução do
|
|
93
|
+
* próximo comando é adiada até ele terminar — evitando que dois comandos leiam/alterem o estado
|
|
94
|
+
* do interpretador ao mesmo tempo quando um cliente envia vários comandos em sequência rápida.
|
|
95
|
+
*/
|
|
96
|
+
private despacharComando;
|
|
97
|
+
private registrarNaFila;
|
|
33
98
|
/**
|
|
34
99
|
* Função que descreve como conexão com clientes de depuração deve ser operada.
|
|
35
100
|
* @param conexao Instância de conexão, tipo net.Socket.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servidor-depuracao.d.ts","sourceRoot":"","sources":["../../fontes/depuracao/servidor-depuracao.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B,OAAO,EAAE,kCAAkC,EAA4B,MAAM,mCAAmC,CAAC;AAKjH,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"servidor-depuracao.d.ts","sourceRoot":"","sources":["../../fontes/depuracao/servidor-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,16 +36,51 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.ServidorDepuracao = void 0;
|
|
37
37
|
const net = __importStar(require("net"));
|
|
38
38
|
const geracao_identificadores_1 = require("@designliquido/delegua/geracao-identificadores");
|
|
39
|
+
const referencias_depuracao_1 = require("./referencias-depuracao");
|
|
40
|
+
/**
|
|
41
|
+
* Comandos reconhecidos pelo depurador padrão. Usado pelo comando `capacidades` para descrever
|
|
42
|
+
* a própria superfície de protocolo, e como referência de quais `case`s existem em `executarComando`.
|
|
43
|
+
*
|
|
44
|
+
* Cada comando tem, ao seu lado, o nome da requisição/evento DAP equivalente (ver `dap/sessao-depuracao-dap.ts`)
|
|
45
|
+
* — o depurador padrão existe para ensinar a mesma ideia num protocolo de texto simples.
|
|
46
|
+
*/
|
|
47
|
+
const COMANDOS_SUPORTADOS = [
|
|
48
|
+
'adentrar-escopo', // stepIn
|
|
49
|
+
'adicionar-ponto-parada', // setBreakpoints (incremental)
|
|
50
|
+
'avaliar',
|
|
51
|
+
'avaliar-variavel',
|
|
52
|
+
'capacidades', // initialize
|
|
53
|
+
'continuar', // continue
|
|
54
|
+
'definir-pontos-parada', // setBreakpoints (em lote)
|
|
55
|
+
'encerrar-sessao', // disconnect
|
|
56
|
+
'escopos', // scopes
|
|
57
|
+
'linhas-execucao', // threads
|
|
58
|
+
'pilha-execucao', // stackTrace
|
|
59
|
+
'pontos-parada',
|
|
60
|
+
'proximo', // next
|
|
61
|
+
'reiniciar', // launch
|
|
62
|
+
'remover-ponto-parada', // setBreakpoints (incremental)
|
|
63
|
+
'sair-escopo', // stepOut
|
|
64
|
+
'tchau',
|
|
65
|
+
'variaveis',
|
|
66
|
+
'variaveis-referencia', // variables
|
|
67
|
+
];
|
|
39
68
|
/**
|
|
40
69
|
* Esta foi a primeira implementacão do mecanismo de depuração, usando comunicação por _sockets_.
|
|
41
70
|
* Inicialmente uma integração foi implementada na extensão do VSCode, mas o protocolo de
|
|
42
71
|
* comunicação nunca foi exatamente maturado, em favor de uma implementação na extensão
|
|
43
72
|
* usando a linguagem diretamente.
|
|
44
73
|
*
|
|
45
|
-
*
|
|
74
|
+
* Tem também propósito didático: por usar texto simples em vez de JSON-RPC, é a forma mais direta
|
|
75
|
+
* de entender o que um depurador faz. Os comandos que não existem no protocolo histórico (a partir
|
|
76
|
+
* de `capacidades`, abaixo) foram adicionados para espelhar, um a um, as requisições/eventos do
|
|
77
|
+
* Debug Adapter Protocol implementado em `dap/`, documentados em `README.md`.
|
|
46
78
|
*/
|
|
47
79
|
class ServidorDepuracao {
|
|
48
80
|
constructor(instanciaNucleoExecucao) {
|
|
81
|
+
this.registroFrames = new referencias_depuracao_1.RegistroReferencias();
|
|
82
|
+
this.registroVariaveis = new referencias_depuracao_1.RegistroReferencias();
|
|
83
|
+
this.filaPorConexao = new Map();
|
|
49
84
|
this.validarPontoParada = (caminhoArquivo, linha, conexao) => {
|
|
50
85
|
const hashArquivo = (0, geracao_identificadores_1.cyrb53)(caminhoArquivo.toLowerCase());
|
|
51
86
|
if (!this.instanciaNucleoExecucao.arquivosAbertos.hasOwnProperty(hashArquivo)) {
|
|
@@ -64,8 +99,14 @@ class ServidorDepuracao {
|
|
|
64
99
|
linhasResposta += '--- adentrar-escopo-resposta ---\n';
|
|
65
100
|
this.interpretador.comando = 'adentrarEscopo';
|
|
66
101
|
this.interpretador.pontoDeParadaAtivo = false;
|
|
102
|
+
let houveParada = false;
|
|
103
|
+
this.interpretador.avisoPontoParadaAtivado = () => {
|
|
104
|
+
houveParada = true;
|
|
105
|
+
};
|
|
67
106
|
await this.interpretador.instrucaoPasso();
|
|
68
107
|
conexao.write(linhasResposta);
|
|
108
|
+
this.emitirEvento('continuado');
|
|
109
|
+
this.emitirEventoDeParada(houveParada, 'proximo');
|
|
69
110
|
};
|
|
70
111
|
this.comandoAdicionarPontoParada = (comando, conexao) => {
|
|
71
112
|
conexao.write("Recebido comando 'adicionar-ponto-parada'\n");
|
|
@@ -115,13 +156,108 @@ class ServidorDepuracao {
|
|
|
115
156
|
linhasResposta += '--- fim-avaliar-variavel-resposta ---\n';
|
|
116
157
|
conexao.write(linhasResposta);
|
|
117
158
|
};
|
|
159
|
+
/**
|
|
160
|
+
* Equivalente a `initialize` do DAP: descreve a própria superfície de protocolo em vez do
|
|
161
|
+
* cliente ter que adivinhar quais comandos existem.
|
|
162
|
+
*/
|
|
163
|
+
this.comandoCapacidades = (conexao) => {
|
|
164
|
+
var _a, _b;
|
|
165
|
+
let linhasResposta = "Recebido comando 'capacidades'\n";
|
|
166
|
+
linhasResposta += '--- capacidades-resposta ---\n';
|
|
167
|
+
linhasResposta += `versao-delegua :: ${(_a = this.instanciaNucleoExecucao.versao) !== null && _a !== void 0 ? _a : 'desconhecida'}\n`;
|
|
168
|
+
linhasResposta += `dialeto :: ${(_b = this.instanciaNucleoExecucao.dialeto) !== null && _b !== void 0 ? _b : 'desconhecido'}\n`;
|
|
169
|
+
linhasResposta += `comandos :: ${COMANDOS_SUPORTADOS.join(',')}\n`;
|
|
170
|
+
linhasResposta += '--- fim-capacidades-resposta ---\n';
|
|
171
|
+
conexao.write(linhasResposta);
|
|
172
|
+
};
|
|
118
173
|
this.comandoContinuar = async (conexao) => {
|
|
119
174
|
let linhasResposta = '';
|
|
120
175
|
linhasResposta += "Recebido comando 'continuar'\n";
|
|
121
176
|
this.interpretador.pontoDeParadaAtivo = false;
|
|
177
|
+
let houveParada = false;
|
|
178
|
+
this.interpretador.avisoPontoParadaAtivado = () => {
|
|
179
|
+
houveParada = true;
|
|
180
|
+
};
|
|
122
181
|
await this.interpretador.instrucaoContinuarInterpretacao();
|
|
123
182
|
linhasResposta += '--- continuar-resposta ---\n';
|
|
124
183
|
conexao.write(linhasResposta);
|
|
184
|
+
this.emitirEvento('continuado');
|
|
185
|
+
this.emitirEventoDeParada(houveParada, 'breakpoint');
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Equivalente a `setBreakpoints` do DAP: substitui, numa única chamada, todo o conjunto de
|
|
189
|
+
* pontos de parada de um arquivo, respondendo `verificado`/`nao-verificado` por linha.
|
|
190
|
+
* `adicionar-ponto-parada`/`remover-ponto-parada` continuam existindo para edição incremental
|
|
191
|
+
* e compartilham a mesma validação via `validarPontoParada`.
|
|
192
|
+
*/
|
|
193
|
+
this.comandoDefinirPontosParada = (comando, conexao) => {
|
|
194
|
+
conexao.write("Recebido comando 'definir-pontos-parada'\n");
|
|
195
|
+
if (comando.length < 2) {
|
|
196
|
+
conexao.write(`[definir-pontos-parada]: Formato: definir-pontos-parada /caminho/do/arquivo.egua 1,2,3\n`);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
const caminhoArquivo = comando[1];
|
|
200
|
+
const hashArquivo = (0, geracao_identificadores_1.cyrb53)(caminhoArquivo.toLowerCase());
|
|
201
|
+
const linhas = (comando[2] || '')
|
|
202
|
+
.split(',')
|
|
203
|
+
.map((linha) => parseInt(linha.trim(), 10))
|
|
204
|
+
.filter((linha) => !isNaN(linha));
|
|
205
|
+
this.interpretador.pontosParada = this.interpretador.pontosParada.filter((pontoParada) => pontoParada.hashArquivo !== hashArquivo);
|
|
206
|
+
let linhasResposta = '--- definir-pontos-parada-resposta ---\n';
|
|
207
|
+
for (const linha of linhas) {
|
|
208
|
+
const validacao = this.validarPontoParada(caminhoArquivo, linha, conexao);
|
|
209
|
+
if (validacao.sucesso) {
|
|
210
|
+
this.interpretador.pontosParada.push({ hashArquivo: validacao.hashArquivo, linha: validacao.linha });
|
|
211
|
+
}
|
|
212
|
+
linhasResposta += `${linha} :: ${validacao.sucesso ? 'verificado' : 'nao-verificado'}\n`;
|
|
213
|
+
}
|
|
214
|
+
linhasResposta += '--- fim-definir-pontos-parada-resposta ---\n';
|
|
215
|
+
conexao.write(linhasResposta);
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
* Equivalente a `disconnect` do DAP: finaliza a sessão de depuração do núcleo de execução
|
|
219
|
+
* (diferente de `tchau`, que só encerra a conexão de quem pediu) e avisa todos os clientes.
|
|
220
|
+
*/
|
|
221
|
+
this.comandoEncerrarSessao = (conexao) => {
|
|
222
|
+
var _a, _b;
|
|
223
|
+
conexao.write("Recebido comando 'encerrar-sessao'\n");
|
|
224
|
+
try {
|
|
225
|
+
(_b = (_a = this.instanciaNucleoExecucao).finalizarDepuracao) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
226
|
+
}
|
|
227
|
+
catch (erro) {
|
|
228
|
+
conexao.write(`[encerrar-sessao]: ${String(erro)}\n`);
|
|
229
|
+
}
|
|
230
|
+
this.registroFrames.limpar();
|
|
231
|
+
this.registroVariaveis.limpar();
|
|
232
|
+
this.emitirEvento('encerrado');
|
|
233
|
+
this.finalizarServidorDepuracao();
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Equivalente a `scopes` do DAP: dado um `frameId` obtido via `pilha-execucao`, responde a
|
|
237
|
+
* referência de variáveis daquele quadro, para consulta com `variaveis-referencia`.
|
|
238
|
+
*/
|
|
239
|
+
this.comandoEscopos = (comando, conexao) => {
|
|
240
|
+
var _a;
|
|
241
|
+
conexao.write("Recebido comando 'escopos'\n");
|
|
242
|
+
if (comando.length < 2) {
|
|
243
|
+
conexao.write(`[escopos]: Formato: escopos <frameId>\n`);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const frameId = parseInt(comando[1], 10);
|
|
247
|
+
const indiceFrame = this.registroFrames.obter(frameId);
|
|
248
|
+
let linhasResposta = '--- escopos-resposta ---\n';
|
|
249
|
+
if (indiceFrame === undefined) {
|
|
250
|
+
linhasResposta += `[escopos]: frameId ${frameId} não encontrado. Execute 'pilha-execucao' primeiro.\n`;
|
|
251
|
+
linhasResposta += '--- fim-escopos-resposta ---\n';
|
|
252
|
+
conexao.write(linhasResposta);
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
const elementoPilha = this.interpretador.pilhaEscoposExecucao.pilha[indiceFrame];
|
|
256
|
+
const variaveis = ((_a = elementoPilha === null || elementoPilha === void 0 ? void 0 : elementoPilha.espacoMemoria) === null || _a === void 0 ? void 0 : _a.valores) || {};
|
|
257
|
+
const variablesReference = this.registroVariaveis.registrar(variaveis);
|
|
258
|
+
linhasResposta += `Locais :: ${variablesReference}\n`;
|
|
259
|
+
linhasResposta += '--- fim-escopos-resposta ---\n';
|
|
260
|
+
conexao.write(linhasResposta);
|
|
125
261
|
};
|
|
126
262
|
this.comandoPilhaExecucao = (conexao) => {
|
|
127
263
|
let linhasResposta = '';
|
|
@@ -129,12 +265,11 @@ class ServidorDepuracao {
|
|
|
129
265
|
const pilhaEscoposExecucao = this.interpretador.pilhaEscoposExecucao;
|
|
130
266
|
linhasResposta += '--- pilha-execucao-resposta ---\n';
|
|
131
267
|
try {
|
|
268
|
+
this.registroFrames.limpar();
|
|
132
269
|
for (let i = pilhaEscoposExecucao.pilha.length - 1; i > 0; i--) {
|
|
133
270
|
const elementoPilha = pilhaEscoposExecucao.pilha[i];
|
|
134
|
-
const
|
|
135
|
-
|
|
136
|
-
: elementoPilha.declaracaoAtual;
|
|
137
|
-
const declaracaoAtual = elementoPilha.declaracoes[posicaoDeclaracaoAtual];
|
|
271
|
+
const declaracaoAtual = (0, referencias_depuracao_1.obterDeclaracaoAtual)(elementoPilha);
|
|
272
|
+
const frameId = this.registroFrames.registrar(i);
|
|
138
273
|
linhasResposta +=
|
|
139
274
|
this.instanciaNucleoExecucao.conteudoArquivosAbertos[declaracaoAtual.hashArquivo][declaracaoAtual.linha - 1].trim() +
|
|
140
275
|
' --- ' +
|
|
@@ -143,6 +278,8 @@ class ServidorDepuracao {
|
|
|
143
278
|
declaracaoAtual.assinaturaMetodo +
|
|
144
279
|
'::' +
|
|
145
280
|
declaracaoAtual.linha +
|
|
281
|
+
'::' +
|
|
282
|
+
frameId +
|
|
146
283
|
'\n';
|
|
147
284
|
}
|
|
148
285
|
linhasResposta += '--- fim-pilha-execucao-resposta ---\n';
|
|
@@ -167,6 +304,10 @@ class ServidorDepuracao {
|
|
|
167
304
|
linhasResposta += '--- proximo-resposta ---\n';
|
|
168
305
|
this.interpretador.comando = 'proximo';
|
|
169
306
|
this.interpretador.pontoDeParadaAtivo = false;
|
|
307
|
+
let houveParada = false;
|
|
308
|
+
this.interpretador.avisoPontoParadaAtivado = () => {
|
|
309
|
+
houveParada = true;
|
|
310
|
+
};
|
|
170
311
|
try {
|
|
171
312
|
await this.interpretador.instrucaoPasso();
|
|
172
313
|
}
|
|
@@ -174,6 +315,36 @@ class ServidorDepuracao {
|
|
|
174
315
|
console.error(erro);
|
|
175
316
|
}
|
|
176
317
|
conexao.write(linhasResposta);
|
|
318
|
+
this.emitirEvento('continuado');
|
|
319
|
+
this.emitirEventoDeParada(houveParada, 'proximo');
|
|
320
|
+
};
|
|
321
|
+
/**
|
|
322
|
+
* Equivalente a `launch` do DAP, mas vindo do cliente em vez de configurado pela CLI: permite
|
|
323
|
+
* trocar ou recarregar o programa em depuração sem reiniciar o processo Node.
|
|
324
|
+
*/
|
|
325
|
+
this.comandoReiniciar = async (comando, conexao) => {
|
|
326
|
+
let linhasResposta = "Recebido comando 'reiniciar'\n";
|
|
327
|
+
if (comando.length < 2) {
|
|
328
|
+
linhasResposta += `[reiniciar]: Formato: reiniciar <arquivo>\n`;
|
|
329
|
+
conexao.write(linhasResposta);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
if (!this.instanciaNucleoExecucao.carregarEExecutarArquivo) {
|
|
333
|
+
linhasResposta += `[reiniciar]: núcleo de execução atual não suporta recarregamento.\n`;
|
|
334
|
+
conexao.write(linhasResposta);
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
try {
|
|
338
|
+
this.registroFrames.limpar();
|
|
339
|
+
this.registroVariaveis.limpar();
|
|
340
|
+
await this.instanciaNucleoExecucao.carregarEExecutarArquivo(comando[1]);
|
|
341
|
+
linhasResposta += '--- reiniciar-resposta ---\n';
|
|
342
|
+
conexao.write(linhasResposta);
|
|
343
|
+
}
|
|
344
|
+
catch (erro) {
|
|
345
|
+
linhasResposta += `[reiniciar]: ${String(erro)}\n`;
|
|
346
|
+
conexao.write(linhasResposta);
|
|
347
|
+
}
|
|
177
348
|
};
|
|
178
349
|
this.comandoRemoverPontoParada = (comando, conexao) => {
|
|
179
350
|
let linhasResposta = '';
|
|
@@ -194,9 +365,26 @@ class ServidorDepuracao {
|
|
|
194
365
|
let linhasResposta = '';
|
|
195
366
|
linhasResposta += "Recebido comando 'sair-escopo'\n";
|
|
196
367
|
this.interpretador.pontoDeParadaAtivo = false;
|
|
368
|
+
let houveParada = false;
|
|
369
|
+
this.interpretador.avisoPontoParadaAtivado = () => {
|
|
370
|
+
houveParada = true;
|
|
371
|
+
};
|
|
197
372
|
await this.interpretador.instrucaoProximoESair();
|
|
198
373
|
linhasResposta += '--- sair-escopo-resposta ---\n';
|
|
199
374
|
conexao.write(linhasResposta);
|
|
375
|
+
this.emitirEvento('continuado');
|
|
376
|
+
this.emitirEventoDeParada(houveParada, 'proximo');
|
|
377
|
+
};
|
|
378
|
+
/**
|
|
379
|
+
* Equivalente a `threads` do DAP. O interpretador Delégua é de thread única, mas o comando
|
|
380
|
+
* existe para completar o paralelo de protocolo e preparar terreno para suporte futuro.
|
|
381
|
+
*/
|
|
382
|
+
this.comandoLinhasExecucao = (conexao) => {
|
|
383
|
+
let linhasResposta = "Recebido comando 'linhas-execucao'\n";
|
|
384
|
+
linhasResposta += '--- linhas-execucao-resposta ---\n';
|
|
385
|
+
linhasResposta += '1 :: thread-principal\n';
|
|
386
|
+
linhasResposta += '--- fim-linhas-execucao-resposta ---\n';
|
|
387
|
+
conexao.write(linhasResposta);
|
|
200
388
|
};
|
|
201
389
|
this.comandoVariaveis = (conexao) => {
|
|
202
390
|
let linhasResposta = '';
|
|
@@ -209,6 +397,40 @@ class ServidorDepuracao {
|
|
|
209
397
|
linhasResposta += '--- fim-variaveis-resposta ---\n';
|
|
210
398
|
conexao.write(linhasResposta);
|
|
211
399
|
};
|
|
400
|
+
/**
|
|
401
|
+
* Equivalente a `variables` do DAP: dada uma referência obtida via `escopos` (ou outra
|
|
402
|
+
* `variaveis-referencia` anterior), lista as variáveis daquele recipiente. Quando um valor é
|
|
403
|
+
* objeto ou vetor, uma nova referência é registrada para ele, permitindo navegação recursiva
|
|
404
|
+
* em vez do `JSON.stringify` cego usado por `variaveis`.
|
|
405
|
+
*/
|
|
406
|
+
this.comandoVariaveisReferencia = (comando, conexao) => {
|
|
407
|
+
conexao.write("Recebido comando 'variaveis-referencia'\n");
|
|
408
|
+
if (comando.length < 2) {
|
|
409
|
+
conexao.write(`[variaveis-referencia]: Formato: variaveis-referencia <variablesReference>\n`);
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
const referencia = parseInt(comando[1], 10);
|
|
413
|
+
const recipiente = this.registroVariaveis.obter(referencia);
|
|
414
|
+
let linhasResposta = '--- variaveis-referencia-resposta ---\n';
|
|
415
|
+
if (!recipiente) {
|
|
416
|
+
linhasResposta += `[variaveis-referencia]: referência ${referencia} não encontrada. Execute 'escopos' primeiro.\n`;
|
|
417
|
+
linhasResposta += '--- fim-variaveis-referencia-resposta ---\n';
|
|
418
|
+
conexao.write(linhasResposta);
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
for (const [nome, entrada] of Object.entries(recipiente)) {
|
|
422
|
+
const ehVariavel = entrada !== null && typeof entrada === 'object' && 'valor' in entrada;
|
|
423
|
+
const tipo = ehVariavel ? entrada.tipo : typeof entrada;
|
|
424
|
+
const valor = ehVariavel ? entrada.valor : entrada;
|
|
425
|
+
let referenciaFilha = 0;
|
|
426
|
+
if (valor !== null && typeof valor === 'object') {
|
|
427
|
+
referenciaFilha = this.registroVariaveis.registrar(valor);
|
|
428
|
+
}
|
|
429
|
+
linhasResposta += `${nome} :: ${tipo} :: ${(0, referencias_depuracao_1.formatarValor)(valor)} :: ${referenciaFilha}\n`;
|
|
430
|
+
}
|
|
431
|
+
linhasResposta += '--- fim-variaveis-referencia-resposta ---\n';
|
|
432
|
+
conexao.write(linhasResposta);
|
|
433
|
+
};
|
|
212
434
|
/**
|
|
213
435
|
* Função que descreve como conexão com clientes de depuração deve ser operada.
|
|
214
436
|
* @param conexao Instância de conexão, tipo net.Socket.
|
|
@@ -224,48 +446,16 @@ class ServidorDepuracao {
|
|
|
224
446
|
process.stdout.write('\n[Depurador] Dados da conexão vindos de ' + enderecoRemoto + ': ' + comandos + '\ndelegua> ');
|
|
225
447
|
for (const comando of comandos) {
|
|
226
448
|
const partesComando = comando.split(' ');
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
case 'adicionar-ponto-parada':
|
|
232
|
-
this.comandoAdicionarPontoParada(partesComando, conexao);
|
|
233
|
-
break;
|
|
234
|
-
case 'avaliar':
|
|
235
|
-
this.comandoAvaliar(partesComando, conexao);
|
|
236
|
-
break;
|
|
237
|
-
case 'avaliar-variavel':
|
|
238
|
-
this.comandoAvaliarVariavel(partesComando, conexao);
|
|
239
|
-
break;
|
|
240
|
-
case 'continuar':
|
|
241
|
-
this.comandoContinuar(conexao);
|
|
242
|
-
break;
|
|
243
|
-
case 'pilha-execucao':
|
|
244
|
-
this.comandoPilhaExecucao(conexao);
|
|
245
|
-
break;
|
|
246
|
-
case 'pontos-parada':
|
|
247
|
-
this.comandoPontosParada(conexao);
|
|
248
|
-
break;
|
|
249
|
-
case 'proximo':
|
|
250
|
-
this.comandoProximo(conexao);
|
|
251
|
-
break;
|
|
252
|
-
case 'remover-ponto-parada':
|
|
253
|
-
this.comandoRemoverPontoParada(partesComando, conexao);
|
|
254
|
-
break;
|
|
255
|
-
case 'sair-escopo':
|
|
256
|
-
this.comandoSairEscopo(conexao);
|
|
257
|
-
break;
|
|
258
|
-
case 'tchau':
|
|
259
|
-
conexao.write("Recebido comando 'tchau'. Conexão será encerrada\n");
|
|
260
|
-
this.finalizarServidorDepuracao();
|
|
261
|
-
return;
|
|
262
|
-
case 'variaveis':
|
|
263
|
-
this.comandoVariaveis(conexao);
|
|
264
|
-
break;
|
|
449
|
+
if (partesComando[0] === 'tchau') {
|
|
450
|
+
conexao.write("Recebido comando 'tchau'. Conexão será encerrada\n");
|
|
451
|
+
this.finalizarServidorDepuracao();
|
|
452
|
+
return;
|
|
265
453
|
}
|
|
454
|
+
this.despacharComando(partesComando, conexao);
|
|
266
455
|
}
|
|
267
456
|
};
|
|
268
457
|
const aoFecharConexao = () => {
|
|
458
|
+
this.filaPorConexao.delete(conexao);
|
|
269
459
|
process.stdout.write('\n[Depurador] Conexão de ' + enderecoRemoto + ' fechada\ndelegua> ');
|
|
270
460
|
};
|
|
271
461
|
const aoObterErro = (erro) => {
|
|
@@ -286,6 +476,130 @@ class ServidorDepuracao {
|
|
|
286
476
|
this.contadorConexoes = 0;
|
|
287
477
|
this.operarConexao.bind(this);
|
|
288
478
|
}
|
|
479
|
+
/**
|
|
480
|
+
* Emite um evento assíncrono (estilo `stopped`/`continued`/`terminated` do DAP) para todos os
|
|
481
|
+
* clientes conectados, sem que precisem pollar comandos como `pilha-execucao` após cada passo.
|
|
482
|
+
*/
|
|
483
|
+
emitirEvento(nomeEvento, linhasCorpo = []) {
|
|
484
|
+
let mensagem = `--- evento: ${nomeEvento} ---\n`;
|
|
485
|
+
for (const linha of linhasCorpo) {
|
|
486
|
+
mensagem += linha + '\n';
|
|
487
|
+
}
|
|
488
|
+
mensagem += '--- fim-evento ---\n';
|
|
489
|
+
Object.keys(this.conexoes).forEach((chave) => {
|
|
490
|
+
this.conexoes[chave].write(mensagem);
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
/** Localiza arquivo/linha da declaração em execução no topo da pilha de escopos. */
|
|
494
|
+
obterLocalizacaoAtual() {
|
|
495
|
+
var _a, _b;
|
|
496
|
+
const pilhaEscopos = (_b = (_a = this.interpretador) === null || _a === void 0 ? void 0 : _a.pilhaEscoposExecucao) === null || _b === void 0 ? void 0 : _b.pilha;
|
|
497
|
+
if (!Array.isArray(pilhaEscopos)) {
|
|
498
|
+
return null;
|
|
499
|
+
}
|
|
500
|
+
for (let indice = pilhaEscopos.length - 1; indice >= 0; indice--) {
|
|
501
|
+
const declaracaoAtual = (0, referencias_depuracao_1.obterDeclaracaoAtual)(pilhaEscopos[indice]);
|
|
502
|
+
if (!declaracaoAtual) {
|
|
503
|
+
continue;
|
|
504
|
+
}
|
|
505
|
+
const caminhoArquivo = this.instanciaNucleoExecucao.arquivosAbertos[declaracaoAtual.hashArquivo];
|
|
506
|
+
if (!caminhoArquivo) {
|
|
507
|
+
continue;
|
|
508
|
+
}
|
|
509
|
+
return { caminhoArquivo, linha: declaracaoAtual.linha };
|
|
510
|
+
}
|
|
511
|
+
return null;
|
|
512
|
+
}
|
|
513
|
+
/** Emite `parado` (com a localização atual) ou `encerrado`, conforme o resultado de um passo/continue. */
|
|
514
|
+
emitirEventoDeParada(houveParada, motivoPadrao) {
|
|
515
|
+
if (!houveParada && !this.interpretador.pontoDeParadaAtivo) {
|
|
516
|
+
this.emitirEvento('encerrado');
|
|
517
|
+
return;
|
|
518
|
+
}
|
|
519
|
+
const localizacao = this.obterLocalizacaoAtual();
|
|
520
|
+
if (localizacao) {
|
|
521
|
+
this.emitirEvento('parado', [
|
|
522
|
+
`motivo:${motivoPadrao}`,
|
|
523
|
+
`arquivo:${localizacao.caminhoArquivo}::linha:${localizacao.linha}`,
|
|
524
|
+
]);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
/** Despacha um comando de texto já tokenizado para o `comando*` correspondente. */
|
|
528
|
+
executarComando(partesComando, conexao) {
|
|
529
|
+
switch (partesComando[0]) {
|
|
530
|
+
case 'adentrar-escopo':
|
|
531
|
+
return this.comandoAdentrarEscopo(conexao);
|
|
532
|
+
case 'adicionar-ponto-parada':
|
|
533
|
+
return this.comandoAdicionarPontoParada(partesComando, conexao);
|
|
534
|
+
case 'avaliar':
|
|
535
|
+
return this.comandoAvaliar(partesComando, conexao);
|
|
536
|
+
case 'avaliar-variavel':
|
|
537
|
+
return this.comandoAvaliarVariavel(partesComando, conexao);
|
|
538
|
+
case 'capacidades':
|
|
539
|
+
return this.comandoCapacidades(conexao);
|
|
540
|
+
case 'continuar':
|
|
541
|
+
return this.comandoContinuar(conexao);
|
|
542
|
+
case 'definir-pontos-parada':
|
|
543
|
+
return this.comandoDefinirPontosParada(partesComando, conexao);
|
|
544
|
+
case 'encerrar-sessao':
|
|
545
|
+
return this.comandoEncerrarSessao(conexao);
|
|
546
|
+
case 'escopos':
|
|
547
|
+
return this.comandoEscopos(partesComando, conexao);
|
|
548
|
+
case 'linhas-execucao':
|
|
549
|
+
return this.comandoLinhasExecucao(conexao);
|
|
550
|
+
case 'pilha-execucao':
|
|
551
|
+
return this.comandoPilhaExecucao(conexao);
|
|
552
|
+
case 'pontos-parada':
|
|
553
|
+
return this.comandoPontosParada(conexao);
|
|
554
|
+
case 'proximo':
|
|
555
|
+
return this.comandoProximo(conexao);
|
|
556
|
+
case 'reiniciar':
|
|
557
|
+
return this.comandoReiniciar(partesComando, conexao);
|
|
558
|
+
case 'remover-ponto-parada':
|
|
559
|
+
return this.comandoRemoverPontoParada(partesComando, conexao);
|
|
560
|
+
case 'sair-escopo':
|
|
561
|
+
return this.comandoSairEscopo(conexao);
|
|
562
|
+
case 'variaveis':
|
|
563
|
+
return this.comandoVariaveis(conexao);
|
|
564
|
+
case 'variaveis-referencia':
|
|
565
|
+
return this.comandoVariaveisReferencia(partesComando, conexao);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Despacha um comando, serializando-o após qualquer comando assíncrono ainda pendente na mesma
|
|
570
|
+
* conexão. Quando a fila está ociosa, o comando é executado de forma síncrona/imediata, igual ao
|
|
571
|
+
* comportamento histórico; só quando há um comando assíncrono em andamento é que a execução do
|
|
572
|
+
* próximo comando é adiada até ele terminar — evitando que dois comandos leiam/alterem o estado
|
|
573
|
+
* do interpretador ao mesmo tempo quando um cliente envia vários comandos em sequência rápida.
|
|
574
|
+
*/
|
|
575
|
+
despacharComando(partesComando, conexao) {
|
|
576
|
+
const filaAtual = this.filaPorConexao.get(conexao);
|
|
577
|
+
if (!filaAtual) {
|
|
578
|
+
const resultado = this.executarComando(partesComando, conexao);
|
|
579
|
+
if (resultado && typeof resultado.then === 'function') {
|
|
580
|
+
this.registrarNaFila(conexao, resultado);
|
|
581
|
+
}
|
|
582
|
+
return;
|
|
583
|
+
}
|
|
584
|
+
const promessaEncadeada = filaAtual.then(() => {
|
|
585
|
+
const resultado = this.executarComando(partesComando, conexao);
|
|
586
|
+
return resultado instanceof Promise ? resultado : undefined;
|
|
587
|
+
});
|
|
588
|
+
this.registrarNaFila(conexao, promessaEncadeada);
|
|
589
|
+
}
|
|
590
|
+
registrarNaFila(conexao, promessa) {
|
|
591
|
+
const promessaTratada = promessa
|
|
592
|
+
.catch((erro) => {
|
|
593
|
+
var _a;
|
|
594
|
+
conexao.write(`--- erro --- ${String((_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : erro)} --- fim-erro ---\n`);
|
|
595
|
+
})
|
|
596
|
+
.finally(() => {
|
|
597
|
+
if (this.filaPorConexao.get(conexao) === promessaTratada) {
|
|
598
|
+
this.filaPorConexao.delete(conexao);
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
this.filaPorConexao.set(conexao, promessaTratada);
|
|
602
|
+
}
|
|
289
603
|
iniciarServidorDepuracao() {
|
|
290
604
|
// É necessário mudar o `this` aqui por `.bind()`, senão `this` será net.Server dentro dos métodos.
|
|
291
605
|
this.servidor.on('connection', this.operarConexao.bind(this));
|
|
@@ -303,6 +617,7 @@ class ServidorDepuracao {
|
|
|
303
617
|
this.conexoes[chave].write('--- finalizando ---\n');
|
|
304
618
|
this.conexoes[chave].end();
|
|
305
619
|
});
|
|
620
|
+
this.filaPorConexao.clear();
|
|
306
621
|
this.servidor.close();
|
|
307
622
|
}
|
|
308
623
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servidor-depuracao.js","sourceRoot":"","sources":["../../fontes/depuracao/servidor-depuracao.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"servidor-depuracao.js","sourceRoot":"","sources":["../../fontes/depuracao/servidor-depuracao.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ export interface NucleoExecucaoInterface {
|
|
|
8
8
|
};
|
|
9
9
|
funcaoDeRetorno: Function;
|
|
10
10
|
interpretador: InterpretadorInterface;
|
|
11
|
+
versao?: string;
|
|
12
|
+
dialeto?: string;
|
|
11
13
|
executarLinhas(linhas: string[]): Promise<RetornoExecucaoInterface>;
|
|
14
|
+
carregarEExecutarArquivo?(caminhoRelativoArquivo: string): Promise<any>;
|
|
15
|
+
finalizarDepuracao?(): void;
|
|
12
16
|
}
|
|
13
17
|
//# sourceMappingURL=nucleo-execucao-interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nucleo-execucao-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/nucleo-execucao-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAErG,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,uBAAuB,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAE/D,eAAe,EAAE,QAAQ,CAAC;IAC1B,aAAa,EAAE,sBAAsB,CAAC;IAEtC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"nucleo-execucao-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/nucleo-execucao-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAErG,MAAM,WAAW,uBAAuB;IACpC,eAAe,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,uBAAuB,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAE/D,eAAe,EAAE,QAAQ,CAAC;IAC1B,aAAa,EAAE,sBAAsB,CAAC;IAEtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpE,wBAAwB,CAAC,CAAC,sBAAsB,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,kBAAkB,CAAC,IAAI,IAAI,CAAC;CAC/B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@designliquido/delegua-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"delegua": "bin/delegua",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"testes:servidor-depuracao": "yarn ts-node ./fontes/depuracao/servidor-depuracao.ts"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@designliquido/birl": "^0.6.
|
|
24
|
-
"@designliquido/delegua": "^1.
|
|
23
|
+
"@designliquido/birl": "^0.6.14",
|
|
24
|
+
"@designliquido/delegua": "^1.25.1",
|
|
25
25
|
"@designliquido/delegua-interface-grafica": "^0.1.0",
|
|
26
|
-
"@designliquido/mapler": "^0.7.
|
|
27
|
-
"@designliquido/portugol-studio": "^0.11.
|
|
28
|
-
"@designliquido/potigol": "^0.11.
|
|
29
|
-
"@designliquido/visualg": "^0.9.
|
|
26
|
+
"@designliquido/mapler": "^0.7.14",
|
|
27
|
+
"@designliquido/portugol-studio": "^0.11.14",
|
|
28
|
+
"@designliquido/potigol": "^0.11.14",
|
|
29
|
+
"@designliquido/visualg": "^0.9.14",
|
|
30
30
|
"canvas": "^3.2.1",
|
|
31
31
|
"chalk": "4.1.2",
|
|
32
32
|
"commander": "^14.0.0",
|