import { AcessoMetodoOuPropriedade, FuncaoConstruto, TipoDe, Tupla } from '@designliquido/delegua/construtos'; import { DeleguaFuncao, DescritorTipoClasse } from '@designliquido/delegua/interpretador/estruturas'; import { ConstrutoInterface } from '@designliquido/delegua/interfaces'; import { Classe, Const, Escolha, Var } from '@designliquido/delegua/declaracoes'; import { PilhaEscoposExecucaoInterface } from '@designliquido/delegua/interfaces/pilha-escopos-execucao-interface'; import { InterpretadorPotigolInterface } from '../interfaces'; import { LeiaInteiro, LeiaInteiros, LeiaReais, LeiaReal, LeiaTexto, LeiaTextos } from '../construtos'; import { AtribuicaoParalelaVariavel, ParaEmGere, ParaGere, ReatribuicaoVariavel } from '../declaracoes'; import { EstruturaTupla } from './estruturas'; export declare function carregarBibliotecaGlobal(pilhaEscoposExecucao: PilhaEscoposExecucaoInterface): void; export declare function resolverValor(objeto: any): any; /** * Executa uma declaração de classe. * Uma variável do tipo `DeleguaClasse` é adicionada à pilha de escopos de execução. * @param declaracao A declaração de classe. * @returns Sempre retorna nulo, por ser requerido pelo contrato de visita. */ export declare function visitarDeclaracaoClasse(interpretador: InterpretadorPotigolInterface, declaracao: Classe): Promise; /** * Expressões como por exemplo `x = leia_real` dão a dica do tipo * da variável no inicializador, o que nos obriga a reescrever a visita à * declarações de constantes. * @param {Const} declaracao A declaração de constante. * @returns Nulo. */ export declare function visitarDeclaracaoConst(interpretador: InterpretadorPotigolInterface, declaracao: Const): Promise; export declare function visitarDeclaracaoVar(interpretador: InterpretadorPotigolInterface, declaracao: Var): Promise; export declare function visitarDeclaracaoReatribuicaoVariavel(interpretador: InterpretadorPotigolInterface, declaracao: ReatribuicaoVariavel): Promise; export declare function visitarDeclaracaoAtribuicaoParalelaVariavel(interpretador: InterpretadorPotigolInterface, declaracao: AtribuicaoParalelaVariavel): Promise; export declare function visitarDeclaracaoParaEmGere(interpretador: InterpretadorPotigolInterface, declaracao: ParaEmGere): Promise; export declare function visitarDeclaracaoParaGere(interpretador: InterpretadorPotigolInterface, declaracao: ParaGere): Promise; export declare function visitarDeclaracaoEscolhaComGuarda(interpretador: InterpretadorPotigolInterface, declaracao: Escolha): Promise; /** * Executa um acesso a método, normalmente de um objeto de classe. * @param expressao A expressão de acesso. * @returns O resultado da execução. */ export declare function visitarExpressaoAcessoMetodoOuPropriedade(interpretador: InterpretadorPotigolInterface, expressao: AcessoMetodoOuPropriedade): Promise; export declare function visitarExpressaoBinaria(interpretador: InterpretadorPotigolInterface, expressao: any): Promise; export declare function visitarExpressaoFuncaoConstruto(interpretador: InterpretadorPotigolInterface, funcaoConstruto: FuncaoConstruto): Promise; export declare function visitarExpressaoLeia(interpretador: InterpretadorPotigolInterface, expressao: LeiaInteiro | LeiaReal | LeiaTexto): Promise; export declare function visitarExpressaoLeiaMultiplo(interpretador: InterpretadorPotigolInterface, expressao: LeiaInteiros | LeiaReais | LeiaTextos): Promise; export declare function visitarExpressaoTipoDe(interpretador: InterpretadorPotigolInterface, expressao: TipoDe): Promise; export declare function visitarExpressaoTupla(interpretador: InterpretadorPotigolInterface, expressao: Tupla): Promise; /** * `escreva` em Potigol tem apenas um argumento. * @param interpretador A instância do interpretador. * @param argumento * @returns */ export declare function avaliarArgumentosEscreva(interpretador: InterpretadorPotigolInterface, argumento: ConstrutoInterface): Promise; /** * Resolve todas as interpolações em um texto. * @param {texto} textoOriginal O texto original com as variáveis interpoladas. * @returns Uma lista de variáveis interpoladas. */ export declare function resolverInterpolacoes(interpretador: InterpretadorPotigolInterface, textoOriginal: string, linha: number): Promise; /** * Retira a interpolação de um texto. * @param {texto} texto O texto * @param {any[]} variaveis A lista de variaveis interpoladas * @returns O texto com o valor das variaveis. */ export declare function retirarInterpolacao(texto: string, variaveis: any[]): string; //# sourceMappingURL=comum.d.ts.map