UNPKG

@specs-feup/alpakka

Version:

A Smali/APK source-to-source compiler written in Typescript

39 lines 1.55 kB
import ControlFlowEdge from "../../edge/ControlFlowEdge.js"; import FlowNode from "../FlowNode.js"; import BaseNode from "../../../graph/BaseNode.js"; import { NodeBuilder, NodeTypeGuard } from "../../../graph/Node.js"; import { Joinpoint } from "../../../../../../Joinpoints.js"; declare namespace InstructionNode { class Class<D extends Data = Data, S extends ScratchData = ScratchData> extends FlowNode.Class<D, S> { get nextEdge(): ControlFlowEdge.Class | undefined; get nextNode(): FlowNode.Class | undefined; set nextNode(node: FlowNode.Class | undefined); } abstract class Builder extends FlowNode.Builder implements NodeBuilder<Data, ScratchData> { #private; constructor(type: Type, $jp?: Joinpoint); buildData(data: BaseNode.Data): Data; buildScratchData(scratchData: BaseNode.ScratchData): ScratchData; } const TypeGuard: NodeTypeGuard<Data, ScratchData>; interface Data extends FlowNode.Data { flowNodeType: FlowNode.Type.INSTRUCTION; instructionFlowNodeType: Type; nextEdgeId: string | undefined; } interface ScratchData extends FlowNode.ScratchData { } enum Type { FUNCTION_ENTRY = "function_entry", FUNCTION_EXIT = "function_exit", STATEMENT = "statement", SWITCH = "switch", RETURN = "return", THROW = "throw", LABEL = "label", GOTO = "goto", UNKNOWN = "unknown" } } export default InstructionNode; //# sourceMappingURL=InstructionNode.d.ts.map