import { StackFrame } from "@vscode/debugadapter"; import { DebugProtocol } from "@vscode/debugprotocol"; import { GdbClient } from "../gdbClient"; import VariableManager from "../variableManager"; import { DisassembledFile } from "./disassembledFile"; import SourceMap from "../sourceMap"; import { StackPosition } from "../stackManager"; export interface DisassembledLine { text: string; isCopper: boolean; } export declare class DisassemblyManager { private gdb; private variables; private sourceMap; private sourceHandles; protected lineCache: Map; constructor(gdb: GdbClient, variables: VariableManager, sourceMap: SourceMap); /** * Disassemble memory to CPU or Copper instructions */ disassemble(args: DebugProtocol.DisassembleArguments & DisassembledFile): Promise; /** * Get disassembled file contents by source reference */ getDisassembledFileContentsByRef(ref: number): Promise; /** * Get disassembled content for a .dgasm file path * * The filename contains tokens for the disassemble options */ getDisassembledFileContentsByPath(path: string): Promise; /** * Get text content for a disassembled source file */ getDisassembledFileContents(dAsmFile: DisassembledFile): Promise; disassembleLine(pc: number, threadId: number): Promise; isCopperLine(pc: number): boolean; getStackFrame(stackPosition: StackPosition, threadId: number): Promise; getSourceByReference(ref: number): DisassembledFile | undefined; disassembleSegment(segmentId: number): Promise; disassembleAddressExpression(addressExpression: string, length: number, offset: number | undefined, isCopper: boolean): Promise; disassembleAddress(address: number, length: number, isCopper?: boolean): Promise; getAddressForFileEditorLine(filePath: string, lineNumber: number): Promise; private getLineNumberInDisassembledSegment; private evaluateAddress; private getCopperAddress; }