/// /// import { Memory } from "../../core/runtime/Memory"; import { MessageResponses } from "../../util/observe"; import * as SVG from "@svgdotjs/svg.js"; import { CPPObject } from "../../core/runtime/objects"; import { PointerToCompleteType } from "../../core/compilation/types"; import { StackFramesOutlet } from "./StackFramesOutlet"; import { TemporaryObjectsOutlet } from "./TemporaryObjectsOutlet"; import { HeapOutlet } from "./HeapOutlet"; import { MemoryObjectOutlet } from "./MemoryObjectOutlets"; export declare class MemoryOutlet { readonly memory?: Memory; readonly temporaryObjectsOutlet?: TemporaryObjectsOutlet; readonly stackFramesOutlet?: StackFramesOutlet; readonly heapOutlet?: HeapOutlet; private readonly element; readonly svgElem: JQuery; readonly svg: SVG.Svg; readonly SVG_DEFS: { [index: string]: SVG.Marker; }; _act: MessageResponses; /** * Maps from object ID to the outlet that represents that object. */ private objectOutlets; /** * Used to track SVG elements for pointer arrows. Maps from the object ID * for the pointer to the SVG element */ private pointerSVGElems; private svgOverlays; private svgUpdateThread; constructor(element: JQuery); dispose(): void; setMemory(memory: Memory): void; clearMemory(): void; registerObjectOutlet(outlet: MemoryObjectOutlet): void; disposeObjectOutlet(outlet: MemoryObjectOutlet): void; getObjectOutletById(objectId: number): MemoryObjectOutlet | undefined; addSVGOverlay(overlay: SVGMemoryOverlay): void; private updateSvg; private onObjectAllocated; private onReset; } declare abstract class SVGMemoryOverlay { protected memoryOutlet: MemoryOutlet; protected constructor(memoryOutlet: MemoryOutlet); abstract update(): boolean; abstract remove(): void; } export declare class SVGPointerArrowMemoryOverlay extends SVGMemoryOverlay { readonly object: CPPObject; private line; constructor(object: CPPObject, memoryOutlet: MemoryOutlet); update(): boolean; private getPointerArrowOffsets; remove(): void; } export {};