UNPKG

r2papi-async

Version:

r2api on top of r2pipe for typescript and js

50 lines (49 loc) 1.48 kB
import { R2PipeAsync } from "./r2pipe.js"; export declare class EsilToken { label: string; comment: string; text: string; addr: string; position: number; constructor(text?: string, position?: number); toString(): string; } export type EsilNodeType = "number" | "flag" | "register" | "operation" | "none" | "block" | "goto" | "label"; export declare class EsilNode { lhs: EsilNode | undefined; rhs: EsilNode | undefined; children: EsilNode[]; token: EsilToken; type: EsilNodeType; constructor(token?: EsilToken, type?: EsilNodeType); setSides(lhs: EsilNode, rhs: EsilNode): void; addChildren(ths: EsilNode, fhs: EsilNode): void; toEsil(): string; toString(): string; } export declare class EsilParser { r2: R2PipeAsync; stack: EsilNode[]; nodes: EsilNode[]; root: EsilNode; tokens: EsilToken[]; cur: number; constructor(r2: R2PipeAsync); toJSON(): string; toEsil(): string; private optimizeFlags; optimize(options: string): Promise<void>; toString(): string; reset(): void; parseRange(from: number, to: number): void; parseFunction(addr?: string): Promise<void>; parse(expr: string, addr?: string): void | never; peek(a: number): EsilToken | undefined; pushToken(tok: EsilToken): void | never; private isNumber; private isInternal; private parseUntil; private getNodeFor; private findNodeFor; private isOperation; }