@designliquido/delegua-node 1.7.5 → 1.7.6

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/bin/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua-node",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
5
5
  "scripts": {
6
6
  "empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",
@@ -1,6 +1,6 @@
1
1
  import { InterpretadorComDepuracao } from "@designliquido/delegua/interpretador/depuracao";
2
- import { SimboloInterface } from '@designliquido/delegua/interfaces';
3
- import { FuncaoDeclaracao } from "@designliquido/delegua/declaracoes";
2
+ import { ResultadoParcialInterpretadorInterface, SimboloInterface } from '@designliquido/delegua/interfaces';
3
+ import { Declaracao, FuncaoDeclaracao } from "@designliquido/delegua/declaracoes";
4
4
  import { ImportadorInterface } from "../interfaces";
5
5
  import { ModuloDeclaracoes } from '../declaracoes';
6
6
  import { InterpretadorComImportacaoInterface } from '../interfaces/interpretador-com-importacao-interface';
@@ -8,6 +8,17 @@ import { ImportarBiblioteca } from '../construtos';
8
8
  export declare class InterpretadorComDepuracaoImportacao extends InterpretadorComDepuracao implements InterpretadorComImportacaoInterface {
9
9
  importador: ImportadorInterface<SimboloInterface>;
10
10
  constructor(importador: ImportadorInterface<SimboloInterface>, diretorioBase: string, funcaoDeRetorno: Function, funcaoDeRetornoMesmaLinha: Function);
11
+ /**
12
+ * Efetivamente executa uma declaração.
13
+ * Reintroduzido aqui porque o método `executar()` não está obedecendo à herança como deveria.
14
+ *
15
+ * TODO: Remover após resolver o problema com a herança.
16
+ *
17
+ * @param declaracao A declaração a ser executada.
18
+ * @returns O resultado parcial da execução, normalmente usado por
19
+ * ferramentas externas.
20
+ */
21
+ executar(declaracao: Declaracao): Promise<ResultadoParcialInterpretadorInterface>;
11
22
  visitarConstrutoImportarBiblioteca(importarBiblioteca: ImportarBiblioteca): Promise<import("@designliquido/delegua/interpretador/estruturas").DeleguaModulo>;
12
23
  visitarDeclaracaoDefinicaoFuncao(funcaoDeclaracao: FuncaoDeclaracao): {
13
24
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,qBAAa,mCACT,SAAQ,yBACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,QAAQ,EACzB,yBAAyB,EAAE,QAAQ;IAMjC,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;;;;;;;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;CAGzE"}
1
+ {"version":3,"file":"interpretador-com-depuracao-importacao.d.ts","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,sCAAsC,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAIlF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAInD,qBAAa,mCACT,SAAQ,yBACR,YAAW,mCAAmC;IAE9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;gBAG9C,UAAU,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EACjD,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,QAAQ,EACzB,yBAAyB,EAAE,QAAQ;IAMvC;;;;;;;;;OASG;IACY,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAkC1F,kCAAkC,CAAC,kBAAkB,EAAE,kBAAkB;IAItE,gCAAgC,CAAC,gBAAgB,EAAE,gBAAgB;;;;;;;IAItE,kCAAkC,CAAC,UAAU,EAAE,iBAAiB;CAGzE"}
@@ -35,12 +35,53 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.InterpretadorComDepuracaoImportacao = void 0;
37
37
  const depuracao_1 = require("@designliquido/delegua/interpretador/depuracao");
38
+ const estruturas_1 = require("@designliquido/delegua/interpretador/estruturas");
39
+ const inferenciador_1 = require("@designliquido/delegua/inferenciador");
38
40
  const comum = __importStar(require("./comum"));
39
41
  class InterpretadorComDepuracaoImportacao extends depuracao_1.InterpretadorComDepuracao {
40
42
  constructor(importador, diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha) {
41
43
  super(diretorioBase, funcaoDeRetorno, funcaoDeRetornoMesmaLinha);
42
44
  this.importador = importador;
43
45
  }
46
+ /**
47
+ * Efetivamente executa uma declaração.
48
+ * Reintroduzido aqui porque o método `executar()` não está obedecendo à herança como deveria.
49
+ *
50
+ * TODO: Remover após resolver o problema com a herança.
51
+ *
52
+ * @param declaracao A declaração a ser executada.
53
+ * @returns O resultado parcial da execução, normalmente usado por
54
+ * ferramentas externas.
55
+ */
56
+ async executar(declaracao) {
57
+ const resultado = await declaracao.aceitar(this);
58
+ // Alguns casos não possuem retorno, como declarações `se`, `enquanto`, etc.,
59
+ // que não satisfazem suas respectivas condições.
60
+ if (resultado === null || resultado === undefined) {
61
+ return null;
62
+ }
63
+ // Se o retorno já possui um `valorRetornado`, apenas retorna o resultado.
64
+ if (resultado.hasOwnProperty('valorRetornado')) {
65
+ return resultado;
66
+ }
67
+ let tipoResultado = resultado.tipo;
68
+ switch (resultado.constructor) {
69
+ case estruturas_1.DescritorTipoClasse:
70
+ tipoResultado = resultado.simboloOriginal.lexema;
71
+ break;
72
+ default:
73
+ if (!tipoResultado) {
74
+ tipoResultado = (0, inferenciador_1.inferirTipoVariavel)(resultado);
75
+ }
76
+ break;
77
+ }
78
+ return {
79
+ hashArquivo: declaracao.hashArquivo,
80
+ linha: declaracao.linha,
81
+ valorRetornado: resultado,
82
+ tipo: tipoResultado,
83
+ };
84
+ }
44
85
  async visitarConstrutoImportarBiblioteca(importarBiblioteca) {
45
86
  return comum.visitarConstrutoImportarBiblioteca(this, importarBiblioteca);
46
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA2F;AAS3F,+CAAiC;AAEjC,MAAa,mCACT,SAAQ,qCAAyB;IAKjC,YACI,UAAiD,EACjD,aAAqB,EACrB,eAAyB,EACzB,yBAAmC;QAEnC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;CACJ;AA3BD,kFA2BC"}
1
+ {"version":3,"file":"interpretador-com-depuracao-importacao.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador-com-depuracao-importacao.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8EAA2F;AAG3F,gFAAsF;AACtF,wEAA2E;AAO3E,+CAAiC;AAEjC,MAAa,mCACT,SAAQ,qCAAyB;IAKjC,YACI,UAAiD,EACjD,aAAqB,EACrB,eAAyB,EACzB,yBAAmC;QAEnC,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,QAAQ,CAAC,UAAsB;QAC1C,MAAM,SAAS,GAAQ,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEtD,6EAA6E;QAC7E,iDAAiD;QACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,0EAA0E;QAC1E,IAAI,SAAS,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QACnC,QAAQ,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,gCAAmB;gBACpB,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC;gBACjD,MAAM;YACV;gBACI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,aAAa,GAAG,IAAA,mCAAmB,EAAC,SAAS,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM;QACd,CAAC;QAED,OAAO;YACH,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,cAAc,EAAE,SAAS;YACzB,IAAI,EAAE,aAAa;SACoB,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,kBAAsC;QAC3E,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAEQ,gCAAgC,CAAC,gBAAkC;QACxE,OAAO,KAAK,CAAC,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,kCAAkC,CAAC,UAA6B;QAClE,OAAO,KAAK,CAAC,kCAAkC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;CACJ;AAvED,kFAuEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua-node",
3
- "version": "1.7.5",
3
+ "version": "1.7.6",
4
4
  "description": "Linguagem Delégua com capacidades para ecossistema Node.js.",
5
5
  "scripts": {
6
6
  "empacotar": "yarn rimraf ./dist && tsc && yarn copyfiles -V ./bin/delegua ./bin/delegua.cmd ./dist && yarn copyfiles -V ./package.json ./dist/bin && yarn copyfiles -V ./README.md ./dist && yarn copyfiles -V ./LICENSE ./dist",