@designliquido/delegua
Version:
Linguagem de programação simples e moderna usando português estruturado.
25 lines • 1.16 kB
TypeScript
import { InterpretadorInterface } from '../../interfaces';
import { ArgumentoInterface } from '../argumento-interface';
import { Chamavel } from './chamavel';
import { DeleguaFuncao } from './delegua-funcao';
import { ObjetoDeleguaClasse } from './objeto-delegua-classe';
/**
* Proxy que encapsula múltiplas sobrecargas de um mesmo método,
* resolvendo qual sobrecarga chamar em tempo de execução com base
* nos tipos dos argumentos fornecidos.
*/
export declare class MetodoPolimorfico extends Chamavel {
nome: string;
sobrecargas: DeleguaFuncao[];
instancia: ObjetoDeleguaClasse | undefined;
constructor(nome: string, sobrecargas: DeleguaFuncao[], instancia?: ObjetoDeleguaClasse);
aridade(): number;
private contarParametrosObrigatorios;
private temParametroEspalhado;
resolverSobrecarga(argumentos: ArgumentoInterface[]): DeleguaFuncao;
chamar(visitante: InterpretadorInterface, argumentos: ArgumentoInterface[]): Promise<any>;
funcaoPorMetodoDeClasse(instancia: ObjetoDeleguaClasse): MetodoPolimorfico;
paraTexto(): string;
toString(): string;
}
//# sourceMappingURL=metodo-polimorfico.d.ts.map