UNPKG

@specs-feup/alpakka

Version:

Alpakka is a [LARA Framework](https://github.com/specs-feup/lara-framework) source-to-source compiler for Android's [smali](https://github.com/google/smali) syntax. It enables the analysis and transformation of Android apps through APK files.

37 lines 1.58 kB
import ControlFlowEdge from "../edge/ControlFlowEdge.js"; import InstructionNode from "./instruction/InstructionNode.js"; import BaseNode from "../../graph/BaseNode.js"; import { NodeBuilder, NodeTypeGuard } from "../../graph/Node.js"; import { Joinpoint } from "../../../../../Joinpoints.js"; declare namespace FlowNode { class Class<D extends Data = Data, S extends ScratchData = ScratchData> extends BaseNode.Class<D, S> { insertBefore(node: InstructionNode.Class): void; insertSubgraphBefore(head: BaseNode.Class, tail: InstructionNode.Class[]): void; removeFromFlow(): void; get reachableNodes(): FlowNode.Class[]; get previousEdges(): ControlFlowEdge.Class[]; get previousNodes(): FlowNode.Class[]; get nextEdges(): ControlFlowEdge.Class[]; get nextNodes(): FlowNode.Class[]; get jp(): Joinpoint | undefined; } abstract class Builder extends BaseNode.Builder implements NodeBuilder<Data, ScratchData> { #private; constructor(type: Type, $jp: Joinpoint | undefined); buildData(data: BaseNode.Data): Data; buildScratchData(scratchData: BaseNode.ScratchData): ScratchData; } const TypeGuard: NodeTypeGuard<Data, ScratchData>; interface Data extends BaseNode.Data { flowNodeType: Type; } interface ScratchData extends BaseNode.ScratchData { $jp: Joinpoint | undefined; } enum Type { INSTRUCTION = "instruction", CONDITION = "condition" } } export default FlowNode; //# sourceMappingURL=FlowNode.d.ts.map