@designliquido/delegua 1.15.5 → 1.16.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.
Files changed (67) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +6 -2
  2. package/analisador-semantico/analisador-semantico-base.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico-base.js +30 -7
  4. package/analisador-semantico/analisador-semantico-base.js.map +1 -1
  5. package/analisador-semantico/analisador-semantico.d.ts +15 -5
  6. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  7. package/analisador-semantico/analisador-semantico.js +153 -67
  8. package/analisador-semantico/analisador-semantico.js.map +1 -1
  9. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts +6 -1
  10. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  11. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +31 -35
  12. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  13. package/avaliador-sintatico/avaliador-sintatico-base.d.ts.map +1 -1
  14. package/avaliador-sintatico/avaliador-sintatico-base.js +10 -1
  15. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  16. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  17. package/avaliador-sintatico/avaliador-sintatico.js +19 -6
  18. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  19. package/bin/package.json +1 -1
  20. package/declaracoes/classe.d.ts +2 -1
  21. package/declaracoes/classe.d.ts.map +1 -1
  22. package/declaracoes/classe.js +2 -1
  23. package/declaracoes/classe.js.map +1 -1
  24. package/declaracoes/extensao.d.ts +3 -0
  25. package/declaracoes/extensao.d.ts.map +1 -1
  26. package/declaracoes/extensao.js +3 -0
  27. package/declaracoes/extensao.js.map +1 -1
  28. package/formatadores/formatador-delegua.d.ts +18 -9
  29. package/formatadores/formatador-delegua.d.ts.map +1 -1
  30. package/formatadores/formatador-delegua.js +176 -4
  31. package/formatadores/formatador-delegua.js.map +1 -1
  32. package/interfaces/analisador-semantico-interface.d.ts +1 -0
  33. package/interfaces/analisador-semantico-interface.d.ts.map +1 -1
  34. package/interfaces/formatador/index.d.ts +2 -0
  35. package/interfaces/formatador/index.d.ts.map +1 -0
  36. package/interfaces/formatador/index.js +18 -0
  37. package/interfaces/formatador/index.js.map +1 -0
  38. package/interfaces/formatador/opcoes-formatador-delegua-interface.d.ts +5 -0
  39. package/interfaces/formatador/opcoes-formatador-delegua-interface.d.ts.map +1 -0
  40. package/interfaces/formatador/opcoes-formatador-delegua-interface.js +3 -0
  41. package/interfaces/formatador/opcoes-formatador-delegua-interface.js.map +1 -0
  42. package/interpretador/estruturas/descritor-tipo-classe.d.ts +4 -3
  43. package/interpretador/estruturas/descritor-tipo-classe.d.ts.map +1 -1
  44. package/interpretador/estruturas/descritor-tipo-classe.js +9 -3
  45. package/interpretador/estruturas/descritor-tipo-classe.js.map +1 -1
  46. package/interpretador/interpretador-base.d.ts.map +1 -1
  47. package/interpretador/interpretador-base.js +3 -2
  48. package/interpretador/interpretador-base.js.map +1 -1
  49. package/lexador/palavras-reservadas.d.ts +1 -0
  50. package/lexador/palavras-reservadas.d.ts.map +1 -1
  51. package/lexador/palavras-reservadas.js +1 -0
  52. package/lexador/palavras-reservadas.js.map +1 -1
  53. package/package.json +1 -1
  54. package/tipos-de-simbolos/delegua.d.ts +1 -0
  55. package/tipos-de-simbolos/delegua.d.ts.map +1 -1
  56. package/tipos-de-simbolos/delegua.js +1 -0
  57. package/tipos-de-simbolos/delegua.js.map +1 -1
  58. package/tipos.d.ts +7 -0
  59. package/tipos.d.ts.map +1 -1
  60. package/tradutores/tradutor-elixir.d.ts +1 -0
  61. package/tradutores/tradutor-elixir.d.ts.map +1 -1
  62. package/tradutores/tradutor-elixir.js +31 -9
  63. package/tradutores/tradutor-elixir.js.map +1 -1
  64. package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
  65. package/tradutores/tradutor-mermaidjs.js +3 -2
  66. package/tradutores/tradutor-mermaidjs.js.map +1 -1
  67. package/umd/delegua.js +443 -104
@@ -1 +1 @@
1
- {"version":3,"file":"classe.js","sourceRoot":"","sources":["../../fontes/declaracoes/classe.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAI1C,MAAa,MAAO,SAAQ,uBAAU;IAYlC,+EAA+E;IAC/E,IAAI,WAAW;;QACX,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IACxC,CAAC;IAED,YACI,OAAyB,EACzB,eAAsB,EAAE,EACxB,OAA2B,EAC3B,eAAoC,EAAE,EACtC,cAA2B,EAAE,EAC7B,WAAoB,KAAK,EACzB,iBAA0B,KAAK,EAC/B,aAAiC,EAAE,EACnC,UAAiB,EAAE;QAEnB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAkC;QAC5C,OAAO,MAAM,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,SAAS;QACL,IAAI,SAAS,GAAG,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACvD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,IAAI,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACnG,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/F,CAAC;QAED,SAAS,IAAI,GAAG,CAAC;QAEjB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,SAAS,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACzC,CAAC;QAED,SAAS,IAAI,WAAW,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAlED,wBAkEC"}
1
+ {"version":3,"file":"classe.js","sourceRoot":"","sources":["../../fontes/declaracoes/classe.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAI1C,MAAa,MAAO,SAAQ,uBAAU;IAalC,+EAA+E;IAC/E,IAAI,WAAW;;QACX,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,mCAAI,IAAI,CAAC;IACxC,CAAC;IAED,YACI,OAAyB,EACzB,eAAsB,EAAE,EACxB,OAA2B,EAC3B,eAAoC,EAAE,EACtC,cAA2B,EAAE,EAC7B,WAAoB,KAAK,EACzB,cAAuB,KAAK,EAC5B,iBAA0B,KAAK,EAC/B,aAAiC,EAAE,EACnC,UAAiB,EAAE;QAEnB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAkC;QAC5C,OAAO,MAAM,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,SAAS;QACL,IAAI,SAAS,GAAG,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACvD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,IAAI,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACnG,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,SAAS,IAAI,UAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAA,EAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/F,CAAC;QAED,SAAS,IAAI,GAAG,CAAC;QAEjB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,SAAS,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;QAC9C,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACzC,CAAC;QAED,SAAS,IAAI,WAAW,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AArED,wBAqEC"}
@@ -2,6 +2,9 @@ import { SimboloInterface } from '../interfaces';
2
2
  import { VisitanteDeleguaInterface } from '../interfaces/visitante-delegua-interface';
3
3
  import { Declaracao } from './declaracao';
4
4
  import { FuncaoDeclaracao } from './funcao';
5
+ /**
6
+ * Declaração de Extensão de Classe.
7
+ */
5
8
  export declare class Extensao extends Declaracao {
6
9
  simboloTipo: SimboloInterface;
7
10
  metodos: FuncaoDeclaracao[];
@@ -1 +1 @@
1
- {"version":3,"file":"extensao.d.ts","sourceRoot":"","sources":["../../fontes/declaracoes/extensao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,qBAAa,QAAS,SAAQ,UAAU;IACpC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;gBAGd,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM;IAQjB,OAAO,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,SAAS,IAAI,MAAM;CAStB"}
1
+ {"version":3,"file":"extensao.d.ts","sourceRoot":"","sources":["../../fontes/declaracoes/extensao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACpC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;gBAGd,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM;IAQjB,OAAO,CAAC,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjE,SAAS,IAAI,MAAM;CAStB"}
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Extensao = void 0;
4
4
  const declaracao_1 = require("./declaracao");
5
+ /**
6
+ * Declaração de Extensão de Classe.
7
+ */
5
8
  class Extensao extends declaracao_1.Declaracao {
6
9
  constructor(simboloTipo, metodos, ehGlobal, hashArquivo) {
7
10
  super(Number(simboloTipo.linha), hashArquivo);
@@ -1 +1 @@
1
- {"version":3,"file":"extensao.js","sourceRoot":"","sources":["../../fontes/declaracoes/extensao.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAG1C,MAAa,QAAS,SAAQ,uBAAU;IAKpC,YACI,WAA6B,EAC7B,OAA2B,EAC3B,QAAiB,EACjB,WAAmB;QAEnB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAoC;QAC9C,OAAO,MAAM,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,SAAS,GAAG,aAAa,MAAM,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,CAAC;QACD,SAAS,IAAI,aAAa,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA9BD,4BA8BC"}
1
+ {"version":3,"file":"extensao.js","sourceRoot":"","sources":["../../fontes/declaracoes/extensao.ts"],"names":[],"mappings":";;;AAEA,6CAA0C;AAG1C;;GAEG;AACH,MAAa,QAAS,SAAQ,uBAAU;IAKpC,YACI,WAA6B,EAC7B,OAA2B,EAC3B,QAAiB,EACjB,WAAmB;QAEnB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAoC;QAC9C,OAAO,MAAM,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,SAAS,GAAG,aAAa,MAAM,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACpC,CAAC;QACD,SAAS,IAAI,aAAa,CAAC;QAC3B,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA9BD,4BA8BC"}
@@ -1,16 +1,14 @@
1
- import { AcessoIndiceVariavel, AcessoIntervaloVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, Binario, Chamada, ComentarioComoConstruto, Construto, DefinirValor, Dicionario, ExpressaoRegular, FimPara, FormatacaoEscrita, FuncaoConstruto, ImportarComoConstruto, Isto, Leia, Literal, Logico, ReferenciaFuncao, Separador, Super, TipoDe, Tupla, TuplaN, Unario, Variavel, Vetor } from '../construtos';
2
- import { Classe, Const, ConstMultiplo, Expressao, FuncaoDeclaracao, Enquanto, Escolha, Escreva, Fazer, Importar, Para, ParaCada, Se, Tente, Var, VarMultiplo, Bloco, Continua, EscrevaMesmaLinha, Retorna, Sustar, Declaracao, Falhar, CabecalhoPrograma, TendoComo, Comentario, TextoDocumentacao } from '../declaracoes';
1
+ import { AcessoIndiceVariavel, AcessoIntervaloVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, AjudaComoConstruto, ArgumentoReferenciaFuncao, AtribuicaoPorIndice, Atribuir, Binario, Chamada, ComentarioComoConstruto, Construto, DefinirValor, Dicionario, Elvis, EnquantoComoConstruto, ExpressaoRegular, FazerComoConstruto, FimPara, FormatacaoEscrita, FuncaoConstruto, ImportarComoConstruto, Isto, Leia, ListaCompreensao, Literal, Logico, ParaCadaComoConstruto, ParaComoConstruto, ReferenciaFuncao, Separador, SeTernario, Super, TipoDe, Tupla, TuplaN, Unario, Variavel, Vetor } from '../construtos';
2
+ import { Classe, Const, ConstMultiplo, Expressao, FuncaoDeclaracao, Enquanto, Escolha, Escreva, Fazer, Importar, Para, ParaCada, Se, Tente, Var, VarMultiplo, Bloco, Continua, EscrevaMesmaLinha, Retorna, Sustar, Declaracao, Falhar, CabecalhoPrograma, TendoComo, Comentario, TextoDocumentacao, Ajuda, Extensao, InterfaceDeclaracao } from '../declaracoes';
3
3
  import { InicioAlgoritmo } from '../declaracoes/inicio-algoritmo';
4
- import { VisitanteComumInterface } from '../interfaces';
5
- export type DelimitadorTextoFormatacao = 'aspas-simples' | 'aspas-duplas' | 'preservar';
6
- export interface OpcoesFormatadorDelegua {
7
- delimitadorTexto?: DelimitadorTextoFormatacao;
8
- }
4
+ import { VisitanteDeleguaInterface } from '../interfaces';
5
+ import { OpcoesFormatadorDeleguaInterface } from '../interfaces/formatador';
6
+ import { DelimitadorTextoFormatacao } from '../tipos';
9
7
  /**
10
8
  * O formatador de código Delégua.
11
9
  * Normalmente usado por IDEs, mas pode ser usado por linha de comando ou programaticamente.
12
10
  */
13
- export declare class FormatadorDelegua implements VisitanteComumInterface {
11
+ export declare class FormatadorDelegua implements VisitanteDeleguaInterface {
14
12
  indentacaoAtual: number;
15
13
  quebraLinha: string;
16
14
  tamanhoIndentacao: number;
@@ -18,7 +16,18 @@ export declare class FormatadorDelegua implements VisitanteComumInterface {
18
16
  devePularLinha: boolean;
19
17
  deveIndentar: boolean;
20
18
  delimitadorTexto: DelimitadorTextoFormatacao;
21
- constructor(quebraLinha: string, tamanhoIndentacao?: number, opcoes?: OpcoesFormatadorDelegua);
19
+ constructor(quebraLinha: string, tamanhoIndentacao?: number, opcoes?: OpcoesFormatadorDeleguaInterface);
20
+ visitarDeclaracaoAjuda(declaracao: Ajuda): Promise<any> | void;
21
+ visitarDeclaracaoExtensao(declaracao: Extensao): Promise<any> | void;
22
+ visitarDeclaracaoInterface(declaracao: InterfaceDeclaracao): Promise<any> | void;
23
+ visitarExpressaoAjuda(expressao: AjudaComoConstruto): Promise<any> | void;
24
+ visitarExpressaoEnquanto(expressao: EnquantoComoConstruto): Promise<any> | void;
25
+ visitarExpressaoElvis(expressao: Elvis): Promise<any> | void;
26
+ visitarExpressaoFazer(expressao: FazerComoConstruto): Promise<any> | void;
27
+ visitarExpressaoListaCompreensao(listaCompreensao: ListaCompreensao): Promise<any> | void;
28
+ visitarExpressaoPara(expressao: ParaComoConstruto): Promise<any> | void;
29
+ visitarExpressaoParaCada(expressao: ParaCadaComoConstruto): Promise<any> | void;
30
+ visitarExpressaoSeTernario(expressao: SeTernario): Promise<any> | void;
22
31
  private obterDelimitadorTexto;
23
32
  visitarExpressaoTuplaN(expressao: TuplaN): Promise<any> | void;
24
33
  visitarExpressaoAcessoIntervaloVariavel(expressao: AcessoIntervaloVariavel): Promise<any> | void;
@@ -1 +1 @@
1
- {"version":3,"file":"formatador-delegua.d.ts","sourceRoot":"","sources":["../../fontes/formatadores/formatador-delegua.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatador-delegua.d.ts","sourceRoot":"","sources":["../../fontes/formatadores/formatador-delegua.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,135 @@ class FormatadorDelegua {
21
21
  this.deveIndentar = true;
22
22
  this.delimitadorTexto = opcoes.delimitadorTexto || 'aspas-simples';
23
23
  }
24
+ visitarDeclaracaoAjuda(declaracao) {
25
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}ajuda(`;
26
+ if (declaracao.elemento) {
27
+ this.formatarDeclaracaoOuConstruto(declaracao.elemento);
28
+ }
29
+ this.codigoFormatado += `)${this.quebraLinha}`;
30
+ }
31
+ visitarDeclaracaoExtensao(declaracao) {
32
+ const global = declaracao.ehGlobal ? 'global ' : '';
33
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}extensão ${global}de ${declaracao.simboloTipo.lexema} {${this.quebraLinha}`;
34
+ this.indentacaoAtual += this.tamanhoIndentacao;
35
+ for (let metodo of declaracao.metodos) {
36
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${metodo.simbolo.lexema}`;
37
+ this.visitarExpressaoFuncaoConstruto(metodo.funcao);
38
+ }
39
+ this.indentacaoAtual -= this.tamanhoIndentacao;
40
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}${this.quebraLinha}`;
41
+ }
42
+ visitarDeclaracaoInterface(declaracao) {
43
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}interface ${declaracao.simbolo.lexema} {${this.quebraLinha}`;
44
+ this.indentacaoAtual += this.tamanhoIndentacao;
45
+ for (let propriedade of declaracao.propriedades) {
46
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${propriedade.nome.lexema}: ${propriedade.tipo || 'qualquer'}${this.quebraLinha}`;
47
+ }
48
+ for (let metodo of declaracao.metodos) {
49
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${metodo.nome.lexema}(`;
50
+ for (let parametro of metodo.parametros) {
51
+ this.codigoFormatado += `${parametro.nome.lexema}: ${parametro.tipoDado || 'qualquer'}, `;
52
+ }
53
+ if (metodo.parametros.length > 0) {
54
+ this.codigoFormatado = this.codigoFormatado.slice(0, -2);
55
+ }
56
+ this.codigoFormatado += `)`;
57
+ if (metodo.tipoRetorno) {
58
+ this.codigoFormatado += `: ${metodo.tipoRetorno}`;
59
+ }
60
+ this.codigoFormatado += this.quebraLinha;
61
+ }
62
+ this.indentacaoAtual -= this.tamanhoIndentacao;
63
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}${this.quebraLinha}`;
64
+ }
65
+ visitarExpressaoAjuda(expressao) {
66
+ this.codigoFormatado += `ajuda(`;
67
+ if (expressao.valor) {
68
+ this.formatarDeclaracaoOuConstruto(expressao.valor);
69
+ }
70
+ this.codigoFormatado += `)`;
71
+ }
72
+ visitarExpressaoEnquanto(expressao) {
73
+ this.codigoFormatado += `enquanto `;
74
+ this.formatarDeclaracaoOuConstruto(expressao.condicao);
75
+ this.codigoFormatado += ` {${this.quebraLinha}`;
76
+ this.indentacaoAtual += this.tamanhoIndentacao;
77
+ for (let declaracao of expressao.corpo.declaracoes) {
78
+ this.formatarDeclaracaoOuConstruto(declaracao);
79
+ }
80
+ this.indentacaoAtual -= this.tamanhoIndentacao;
81
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}`;
82
+ }
83
+ visitarExpressaoElvis(expressao) {
84
+ this.formatarDeclaracaoOuConstruto(expressao.esquerda);
85
+ this.codigoFormatado += ` ?? `;
86
+ this.formatarDeclaracaoOuConstruto(expressao.direita);
87
+ }
88
+ visitarExpressaoFazer(expressao) {
89
+ this.codigoFormatado += `fazer {${this.quebraLinha}`;
90
+ this.indentacaoAtual += this.tamanhoIndentacao;
91
+ for (let declaracao of expressao.caminhoFazer.declaracoes) {
92
+ this.formatarDeclaracaoOuConstruto(declaracao);
93
+ }
94
+ this.indentacaoAtual -= this.tamanhoIndentacao;
95
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}} enquanto `;
96
+ this.formatarDeclaracaoOuConstruto(expressao.condicaoEnquanto);
97
+ }
98
+ visitarExpressaoListaCompreensao(listaCompreensao) {
99
+ this.codigoFormatado += `[`;
100
+ this.formatarDeclaracaoOuConstruto(listaCompreensao.expressaoRetorno);
101
+ this.codigoFormatado += ` para cada `;
102
+ this.formatarDeclaracaoOuConstruto(listaCompreensao.referenciaVariavelIteracao);
103
+ this.codigoFormatado += ` de `;
104
+ this.formatarDeclaracaoOuConstruto(listaCompreensao.paraCada.vetorOuDicionario);
105
+ this.codigoFormatado += `]`;
106
+ }
107
+ visitarExpressaoPara(expressao) {
108
+ this.codigoFormatado += `para `;
109
+ this.devePularLinha = false;
110
+ if (expressao.inicializador) {
111
+ if (Array.isArray(expressao.inicializador)) {
112
+ this.deveIndentar = false;
113
+ for (let declaracaoInicializador of expressao.inicializador) {
114
+ this.formatarDeclaracaoOuConstruto(declaracaoInicializador);
115
+ }
116
+ this.deveIndentar = true;
117
+ }
118
+ else {
119
+ this.formatarDeclaracaoOuConstruto(expressao.inicializador);
120
+ }
121
+ }
122
+ this.codigoFormatado += `; `;
123
+ this.formatarDeclaracaoOuConstruto(expressao.condicao);
124
+ this.codigoFormatado += `; `;
125
+ this.formatarDeclaracaoOuConstruto(expressao.incrementar);
126
+ this.devePularLinha = true;
127
+ this.codigoFormatado += ` {${this.quebraLinha}`;
128
+ this.indentacaoAtual += this.tamanhoIndentacao;
129
+ for (let declaracao of expressao.corpo.declaracoes) {
130
+ this.formatarDeclaracaoOuConstruto(declaracao);
131
+ }
132
+ this.indentacaoAtual -= this.tamanhoIndentacao;
133
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}`;
134
+ }
135
+ visitarExpressaoParaCada(expressao) {
136
+ this.codigoFormatado += `para cada ${expressao.variavelIteracao} de `;
137
+ this.formatarDeclaracaoOuConstruto(expressao.vetorOuDicionario);
138
+ this.codigoFormatado += ` {${this.quebraLinha}`;
139
+ this.indentacaoAtual += this.tamanhoIndentacao;
140
+ for (let declaracao of expressao.corpo.declaracoes) {
141
+ this.formatarDeclaracaoOuConstruto(declaracao);
142
+ }
143
+ this.indentacaoAtual -= this.tamanhoIndentacao;
144
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}`;
145
+ }
146
+ visitarExpressaoSeTernario(expressao) {
147
+ this.formatarDeclaracaoOuConstruto(expressao.condicao);
148
+ this.codigoFormatado += ` ? `;
149
+ this.formatarDeclaracaoOuConstruto(expressao.expressaoSe);
150
+ this.codigoFormatado += ` : `;
151
+ this.formatarDeclaracaoOuConstruto(expressao.expressaoSenao);
152
+ }
24
153
  obterDelimitadorTexto(expressao) {
25
154
  if (this.delimitadorTexto === 'aspas-duplas') {
26
155
  return '"';
@@ -98,7 +227,12 @@ class FormatadorDelegua {
98
227
  return '';
99
228
  }
100
229
  visitarDeclaracaoClasse(declaracao) {
101
- this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}classe ${declaracao.simbolo.lexema} {${this.quebraLinha}`;
230
+ const modificador = declaracao.estrangeira
231
+ ? 'estrangeira '
232
+ : declaracao.abstrata
233
+ ? 'abstrata '
234
+ : '';
235
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}classe ${modificador}${declaracao.simbolo.lexema} {${this.quebraLinha}`;
102
236
  this.indentacaoAtual += this.tamanhoIndentacao;
103
237
  for (let propriedade of declaracao.propriedades) {
104
238
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${propriedade.nome.lexema}: ${propriedade.tipo || 'qualquer'}${this.quebraLinha}`;
@@ -106,7 +240,24 @@ class FormatadorDelegua {
106
240
  this.codigoFormatado += `${this.quebraLinha}`;
107
241
  for (let metodo of declaracao.metodos) {
108
242
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}${metodo.simbolo.lexema}`;
109
- this.visitarExpressaoFuncaoConstruto(metodo.funcao);
243
+ if (declaracao.estrangeira) {
244
+ // Métodos estrangeiros: emitir apenas a assinatura, sem corpo.
245
+ this.codigoFormatado += `(`;
246
+ for (let argumento of metodo.funcao.parametros) {
247
+ this.codigoFormatado += `${argumento.nome.lexema}: ${argumento.tipoDado || 'qualquer'}, `;
248
+ }
249
+ if (metodo.funcao.parametros.length > 0) {
250
+ this.codigoFormatado = this.codigoFormatado.slice(0, -2);
251
+ }
252
+ this.codigoFormatado += `)`;
253
+ if (metodo.funcao.tipoExplicito && metodo.funcao.tipo) {
254
+ this.codigoFormatado += `: ${metodo.funcao.tipo}`;
255
+ }
256
+ this.codigoFormatado += this.quebraLinha;
257
+ }
258
+ else {
259
+ this.visitarExpressaoFuncaoConstruto(metodo.funcao);
260
+ }
110
261
  }
111
262
  this.indentacaoAtual -= this.tamanhoIndentacao;
112
263
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}${this.quebraLinha}`;
@@ -151,6 +302,9 @@ class FormatadorDelegua {
151
302
  visitarDeclaracaoDeExpressao(declaracao) {
152
303
  this.codigoFormatado += ' '.repeat(this.indentacaoAtual);
153
304
  this.formatarDeclaracaoOuConstruto(declaracao.expressao);
305
+ if (!this.codigoFormatado.endsWith(this.quebraLinha)) {
306
+ this.codigoFormatado += this.quebraLinha;
307
+ }
154
308
  }
155
309
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
156
310
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}função `;
@@ -162,7 +316,13 @@ class FormatadorDelegua {
162
316
  visitarDeclaracaoEnquanto(declaracao) {
163
317
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}enquanto `;
164
318
  this.formatarDeclaracaoOuConstruto(declaracao.condicao);
165
- this.formatarDeclaracaoOuConstruto(declaracao.corpo);
319
+ this.codigoFormatado += ` {${this.quebraLinha}`;
320
+ this.indentacaoAtual += this.tamanhoIndentacao;
321
+ for (let declaracaoBloco of declaracao.corpo.declaracoes) {
322
+ this.formatarDeclaracaoOuConstruto(declaracaoBloco);
323
+ }
324
+ this.indentacaoAtual -= this.tamanhoIndentacao;
325
+ this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}}${this.quebraLinha}`;
166
326
  }
167
327
  visitarDeclaracaoEscolha(declaracao) {
168
328
  this.codigoFormatado += `${' '.repeat(this.indentacaoAtual)}escolha `;
@@ -585,7 +745,7 @@ class FormatadorDelegua {
585
745
  this.formatarDeclaracaoOuConstruto(expressao.valor);
586
746
  }
587
747
  visitarExpressaoUnaria(expressao) {
588
- let operador;
748
+ let operador = '';
589
749
  switch (expressao.operador.tipo) {
590
750
  case delegua_1.default.INCREMENTAR:
591
751
  operador = `++`;
@@ -630,6 +790,12 @@ class FormatadorDelegua {
630
790
  case construtos_1.AcessoIndiceVariavel:
631
791
  this.visitarExpressaoAcessoIndiceVariavel(declaracaoOuConstruto);
632
792
  break;
793
+ case construtos_1.AcessoMetodo:
794
+ this.visitarExpressaoAcessoMetodo(declaracaoOuConstruto);
795
+ break;
796
+ case construtos_1.AcessoPropriedade:
797
+ this.visitarExpressaoAcessoPropriedade(declaracaoOuConstruto);
798
+ break;
633
799
  case construtos_1.AcessoMetodoOuPropriedade:
634
800
  this.visitarExpressaoAcessoMetodoOuPropriedade(declaracaoOuConstruto);
635
801
  break;
@@ -675,6 +841,9 @@ class FormatadorDelegua {
675
841
  case declaracoes_1.Enquanto:
676
842
  this.visitarDeclaracaoEnquanto(declaracaoOuConstruto);
677
843
  break;
844
+ case declaracoes_1.Extensao:
845
+ this.visitarDeclaracaoExtensao(declaracaoOuConstruto);
846
+ break;
678
847
  case declaracoes_1.Escreva:
679
848
  this.visitarDeclaracaoEscreva(declaracaoOuConstruto);
680
849
  break;
@@ -699,6 +868,9 @@ class FormatadorDelegua {
699
868
  case declaracoes_1.Importar:
700
869
  this.visitarDeclaracaoImportar(declaracaoOuConstruto);
701
870
  break;
871
+ case declaracoes_1.InterfaceDeclaracao:
872
+ this.visitarDeclaracaoInterface(declaracaoOuConstruto);
873
+ break;
702
874
  case construtos_1.ImportarComoConstruto:
703
875
  this.visitarExpressaoImportar(declaracaoOuConstruto);
704
876
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"formatador-delegua.js","sourceRoot":"","sources":["../../fontes/formatadores/formatador-delegua.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatador-delegua.js","sourceRoot":"","sources":["../../fontes/formatadores/formatador-delegua.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Declaracao } from '../declaracoes';
2
2
  import { RetornoAnalisadorSemantico } from './retornos/retorno-analisador-semantico';
3
3
  import { VisitanteComumInterface } from './visitante-comum-interface';
4
4
  export interface AnalisadorSemanticoInterface extends VisitanteComumInterface {
5
+ definirClassesExternasConhecidas?(classesExternasConhecidas: string[]): void;
5
6
  analisar(declaracoes: Declaracao[]): Promise<RetornoAnalisadorSemantico>;
6
7
  }
7
8
  //# sourceMappingURL=analisador-semantico-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analisador-semantico-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/analisador-semantico-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,4BAA6B,SAAQ,uBAAuB;IACzE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC5E"}
1
+ {"version":3,"file":"analisador-semantico-interface.d.ts","sourceRoot":"","sources":["../../fontes/interfaces/analisador-semantico-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,WAAW,4BAA6B,SAAQ,uBAAuB;IACzE,gCAAgC,CAAC,CAAC,yBAAyB,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7E,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;CAC5E"}
@@ -0,0 +1,2 @@
1
+ export * from "./opcoes-formatador-delegua-interface";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/formatador/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
@@ -0,0 +1,18 @@
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("./opcoes-formatador-delegua-interface"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/interfaces/formatador/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAsD"}
@@ -0,0 +1,5 @@
1
+ import { DelimitadorTextoFormatacao } from "../../tipos";
2
+ export interface OpcoesFormatadorDeleguaInterface {
3
+ delimitadorTexto?: DelimitadorTextoFormatacao;
4
+ }
5
+ //# sourceMappingURL=opcoes-formatador-delegua-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opcoes-formatador-delegua-interface.d.ts","sourceRoot":"","sources":["../../../fontes/interfaces/formatador/opcoes-formatador-delegua-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,WAAW,gCAAgC;IAC7C,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;CACjD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=opcoes-formatador-delegua-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opcoes-formatador-delegua-interface.js","sourceRoot":"","sources":["../../../fontes/interfaces/formatador/opcoes-formatador-delegua-interface.ts"],"names":[],"mappings":""}
@@ -10,7 +10,7 @@ import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
10
10
  * de classe é criada, a referência para a instância é implementada aqui.
11
11
  */
12
12
  export declare class DescritorTipoClasse extends Chamavel {
13
- simboloOriginal: SimboloInterface;
13
+ simboloOriginal: SimboloInterface | undefined;
14
14
  superClasses: DescritorTipoClasse[];
15
15
  /** OReM (Ordem de Resolução de Métodos, ou _Method Resolution Order_) calculado via C3.
16
16
  * Inclui a própria classe como primeiro elemento. */
@@ -40,6 +40,7 @@ export declare class DescritorTipoClasse extends Chamavel {
40
40
  dialetoRequerExpansaoPropriedadesEspacoMemoria: boolean;
41
41
  dialetoRequerDeclaracaoPropriedades: boolean;
42
42
  abstrata: boolean;
43
+ estrangeira: boolean;
43
44
  classeEstatica: boolean;
44
45
  metodosAbstratos: string[];
45
46
  acessoMetodos: {
@@ -73,8 +74,8 @@ export declare class DescritorTipoClasse extends Chamavel {
73
74
  */
74
75
  private mesclarComSuperclasse;
75
76
  private obterSobrecargasDaSuperclasse;
76
- encontrarMetodo(nome: string): DeleguaFuncao | MetodoPolimorfico;
77
- encontrarPropriedade(nome: string): PropriedadeClasse;
77
+ encontrarMetodo(nome: string): DeleguaFuncao | MetodoPolimorfico | undefined;
78
+ encontrarPropriedade(nome: string): PropriedadeClasse | undefined;
78
79
  /**
79
80
  * Método utilizado por Delégua para representar esta classe quando impressa.
80
81
  * @returns {string} A representação da classe como texto.
@@ -1 +1 @@
1
- {"version":3,"file":"descritor-tipo-classe.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/descritor-tipo-classe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descritor-tipo-classe.d.ts","sourceRoot":"","sources":["../../../fontes/interpretador/estruturas/descritor-tipo-classe.ts"],"names":[],"mappings":"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"}