@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
38 lines • 1.73 kB
TypeScript
import { PropriedadeClasse } from '../declaracoes';
import { SimboloInterface, VisitanteComumInterface } from '../interfaces';
import { Chamavel } from './chamavel';
import { DeleguaFuncao } from './delegua-funcao';
import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
/**
* Descritor de tipo de classe. Quando uma declaração de classe é visitada, o que
* vai para a pilha de escopos de execução é esta estrutura. Quando uma nova instância
* de classe é criada, a referência para a instância é implementada aqui.
*/
export declare class DescritorTipoClasse extends Chamavel {
simboloOriginal: SimboloInterface;
superClasse: DescritorTipoClasse;
metodos: {
[nome: string]: DeleguaFuncao;
};
propriedades: PropriedadeClasse[];
dialetoRequerExpansaoPropriedadesEspacoVariaveis: boolean;
dialetoRequerDeclaracaoPropriedades: boolean;
constructor(simboloOriginal?: SimboloInterface, superClasse?: DescritorTipoClasse, metodos?: {
[nome: string]: DeleguaFuncao;
}, propriedades?: PropriedadeClasse[]);
encontrarMetodo(nome: string): DeleguaFuncao;
encontrarPropriedade(nome: string): PropriedadeClasse;
/**
* Método utilizado por Delégua para representar esta classe quando impressa.
* @returns {string} A representação da classe como texto.
*/
paraTexto(): string;
/**
* Método utilizado pelo VSCode para inspecionar esta classe em depuração.
* @returns {string} A representação da classe como texto.
*/
toString(): string;
aridade(): number;
chamar(visitante: VisitanteComumInterface, argumentos: any[]): Promise<ObjetoDeleguaClasse>;
}
//# sourceMappingURL=descritor-tipo-classe.d.ts.map