liquido
Version:
Conjunto de ferramentas para desenvolvimento de aplicações para a internet 100% em português
31 lines (30 loc) • 2.12 kB
TypeScript
import { DeleguaFuncao } from '@designliquido/delegua/interpretador/estruturas';
import { FuncaoConstruto, Variavel, Binario, Literal, Chamada, AcessoMetodoOuPropriedade, AcessoIndiceVariavel } from '@designliquido/delegua/construtos';
import { ConstrutoInterface, ParametroInterface, SimboloInterface } from '@designliquido/delegua/interfaces';
import { Expressao, Retorna, Declaracao, Se, Bloco } from '@designliquido/delegua/declaracoes';
/**
* O gerador de expressões é uma classe facilitadora para a criação de
* objetos que normalmente são criados pelo Avaliador Sintático de
* Delégua.
*/
export declare class GeradorExpressoes {
gerarAcessoIndiceVariavel(variavel: string, indice: number | string): AcessoIndiceVariavel;
gerarAcessoMetodoOuPropriedade(objeto: Variavel, metodoOuPropriedade: string): AcessoMetodoOuPropriedade;
gerarBlocoEscopo(declaracoes: Declaracao[]): Bloco;
gerarChamada(entidadeChamada: AcessoMetodoOuPropriedade, argumentos?: any[]): Chamada;
gerarConstrutoBinario(ladoEsquerdo: ConstrutoInterface, operador: SimboloInterface, ladoDireito: ConstrutoInterface): Binario;
gerarConstrutoFuncao(parametros: ParametroInterface[], corpo: Declaracao[]): FuncaoConstruto;
gerarDeclaracaoSe(condicao: ConstrutoInterface, caminhoEntao: Declaracao, caminhoSenao?: Declaracao): Se;
gerarLiteral(valor: any): Literal;
gerarMetodo(nomeMetodo: string, declaracao: FuncaoConstruto): DeleguaFuncao;
gerarOperadorComparacao(tipo: 'maior' | 'menor' | 'maiorOuIgual' | 'menorOuIgual' | 'igual' | 'diferente'): SimboloInterface;
gerarParametro(nome: string, tipo: string, abrangencia?: 'padrao' | 'multiplo'): ParametroInterface;
gerarReferenciaVariavel(nomeVariavel: string): Variavel<string>;
/**
* Gera uma atribuição de valor em uma propriedade de classe.
* Por exemplo, `isto.a = 1` seria algo como
* `gerarAtribuicaoValorEmPropriedadeClasse('a', 1)`.
*/
gerarAtribuicaoValorEmPropriedadeClasse(nomePropriedade: string, valor: ConstrutoInterface): Expressao;
gerarRetornoDeFuncao(nomeVariavel: string): Retorna;
}