import { Dimension } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/dom"; import { BareFontInfo } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/config/fontInfo"; import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service"; import { EditorPane } from "@codingame/monaco-vscode-api/vscode/vs/workbench/browser/parts/editor/editorPane"; import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions"; import { IDebugSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/debug/common/debug"; import { IDebugService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/debug/common/debug.service"; import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service"; import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService"; import { IContextMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service"; import { IMenuService } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service"; export interface IDisassembledInstructionEntry { allowBreakpoint: boolean; isBreakpointSet: boolean; isBreakpointEnabled: boolean; /** Instruction reference from the DA */ instructionReference: string; /** Offset from the instructionReference that's the basis for the `instructionOffset` */ instructionReferenceOffset: number; /** The number of instructions (+/-) away from the instructionReference and instructionReferenceOffset this instruction lies */ instructionOffset: number; /** Whether this is the first instruction on the target line. */ showSourceLocation?: boolean; /** Original instruction from the debugger */ instruction: DebugProtocol.DisassembledInstruction; /** Parsed instruction address */ address: bigint; } export declare class DisassemblyView extends EditorPane { private readonly _configurationService; private readonly _instantiationService; private readonly _debugService; private readonly _contextMenuService; private static readonly NUM_INSTRUCTIONS_TO_LOAD; private _fontInfo; private _disassembledInstructions; private _onDidChangeStackFrame; private _previousDebuggingState; private _instructionBpList; private _enableSourceCodeRender; private _loadingLock; private readonly _referenceToMemoryAddress; private menu; constructor(group: IEditorGroup, telemetryService: ITelemetryService, themeService: IThemeService, storageService: IStorageService, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _debugService: IDebugService, _contextMenuService: IContextMenuService, menuService: IMenuService, contextKeyService: IContextKeyService); get fontInfo(): BareFontInfo; private createFontInfo; get currentInstructionAddresses(): (bigint | undefined)[]; get focusedCurrentInstructionReference(): string | undefined; get focusedCurrentInstructionAddress(): bigint | undefined; get focusedInstructionReference(): string | undefined; get focusedInstructionAddress(): bigint | undefined; get isSourceCodeRender(): boolean; get debugSession(): IDebugSession | undefined; get onDidChangeStackFrame(): import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; get focusedAddressAndOffset(): { reference: string; offset: number; address: bigint; } | undefined; getAddressAndOffset(element: IDisassembledInstructionEntry): { reference: string; offset: number; address: bigint; }; protected createEditor(parent: HTMLElement): void; layout(dimension: Dimension): void; goToInstructionAndOffset(instructionReference: string, offset: number, focus?: boolean): Promise; /** Gets the address associated with the instruction reference. */ getReferenceAddress(instructionReference: string): bigint | undefined; /** * Go to the address provided. If no address is provided, reveal the address of the currently focused stack frame. Returns false if that address is not available. */ private goToAddress; private scrollUp_LoadDisassembledInstructions; private scrollDown_LoadDisassembledInstructions; /** * Sets the memory reference address. We don't just loadDisassembledInstructions * for this, since we can't really deal with discontiguous ranges (we can't * detect _if_ a range is discontiguous since we don't know how much memory * comes between instructions.) */ private primeMemoryReference; /** Loads disasembled instructions. Returns the number of instructions that were loaded. */ private loadDisassembledInstructions; private getIndexFromReferenceAndOffset; private getIndexFromAddress; /** * Clears the table and reload instructions near the target address */ private reloadDisassembly; private clear; private onContextMenu; } export declare class DisassemblyViewContribution implements IWorkbenchContribution { private readonly _onDidActiveEditorChangeListener; private _onDidChangeModelLanguage; private _languageSupportsDisassembleRequest; constructor(editorService: IEditorService, debugService: IDebugService, contextKeyService: IContextKeyService); dispose(): void; }