import { ArkMethod } from '../model/ArkMethod'; import { ArrayType, ClassType, FunctionType, Type } from '../base/Type'; import { Local } from '../base/Local'; import { AbstractExpr, AbstractInvokeExpr, AliasTypeExpr, ArkInstanceInvokeExpr, ArkStaticInvokeExpr } from '../base/Expr'; import { Scene } from '../../Scene'; import { ArkClass } from '../model/ArkClass'; import { ClassSignature, FieldSignature, FileSignature, MethodSignature } from '../model/ArkSignature'; import { AbstractFieldRef, AbstractRef, ArkInstanceFieldRef, ArkParameterRef } from '../base/Ref'; import { Value } from '../base/Value'; import { ArkFile } from '../model/ArkFile'; import { KeyofTypeExpr, TypeQueryExpr } from '../base/TypeExpr'; export declare class IRInference { static inferExportInfos(file: ArkFile): void; static inferImportInfos(file: ArkFile): void; static inferFile(file: ArkFile): void; static needInfer(fileSignature: FileSignature): boolean; static inferStaticInvokeExpr(expr: ArkStaticInvokeExpr, arkMethod: ArkMethod): AbstractInvokeExpr; static inferStaticInvokeExprByMethodName(methodName: string, arkMethod: ArkMethod, expr: AbstractInvokeExpr): AbstractInvokeExpr; static inferInstanceInvokeExpr(expr: ArkInstanceInvokeExpr, arkMethod: ArkMethod): AbstractInvokeExpr; static inferFieldRef(ref: ArkInstanceFieldRef, arkMethod: ArkMethod): AbstractRef; private static inferBase; static inferThisLocal(arkMethod: ArkMethod): Local | null; static inferArgs(expr: AbstractInvokeExpr, arkMethod: ArkMethod): void; static inferArg(expr: AbstractInvokeExpr, argType: Type, paramType: Type, scene: Scene, realTypes: Type[]): void; static inferRightWithSdkType(leftType: Type, rightType: Type, ackClass: ArkClass): void; static inferArgTypeWithSdk(sdkType: ClassType, scene: Scene, argType: Type): void; private static inferInvokeExpr; static inferInvokeExprWithArray(methodName: string, expr: AbstractInvokeExpr, baseType: ArrayType, scene: Scene): AbstractInvokeExpr | null; static inferInvokeExprWithFunction(methodName: string, expr: AbstractInvokeExpr, baseType: FunctionType, scene: Scene): AbstractInvokeExpr | null; static inferInvokeExprWithDeclaredClass(expr: AbstractInvokeExpr, baseType: ClassType, methodName: string, scene: Scene): AbstractInvokeExpr | null; private static inferSpecialMethod; private static changePtrInvokeExpr; private static getRealTypes; static replaceMethodSignature(init: MethodSignature, declared: MethodSignature): MethodSignature; private static processForEach; static inferLocal(base: Local, arkMethod: ArkMethod): void; static inferInstanceMember(baseType: Type, value: T, arkMethod: ArkMethod, inferMember: (declareType: Type, value: T, arkMethod: ArkMethod) => U | null): U | null; static generateNewFieldSignature(ref: AbstractFieldRef, arkClass: ArkClass, baseType: Type): FieldSignature | null; static updateRefSignature(baseType: Type, ref: AbstractFieldRef, arkMethod: ArkMethod): AbstractRef | null; private static genFieldSignature; private static getFieldSignature; private static findPropertyFormChildrenClass; private static repairType; static inferAnonymousClass(anon: ArkClass | null, declaredSignature: ClassSignature, set?: Set): void; private static assignAnonMethod; private static assignAnonField; static inferAliasTypeExpr(expr: AliasTypeExpr, arkMethod: ArkMethod): AbstractExpr; static inferTypeQueryExpr(expr: TypeQueryExpr, arkMethod: ArkMethod): void; static inferKeyofTypeExpr(expr: KeyofTypeExpr, arkMethod: ArkMethod): void; static inferParameterRef(ref: ArkParameterRef, arkMethod: ArkMethod): AbstractRef; } //# sourceMappingURL=IRInference.d.ts.map