/******************************************************************************* * Copyright (c) 2000, 2011 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * QNX Software Systems - Initial API and implementation * ENEA Software AB - CLI command extension - fix for bug 190277 * Ericsson - Implementation for DSF-GDB * Anna Dushistova (Mentor Graphics) - [318322] Add set solib-absolute-prefix * Vladimir Prus (CodeSourcery) - Support for -data-read-memory-bytes (bug 322658) * Jens Elmenthaler (Verigy) - Added Full GDB pretty-printing support (bug 302121) * Onur Akdemir (TUBITAK BILGEM-ITI) - Multi-process debugging (Bug 237306) * Abeer Bagul - Support for -exec-arguments (bug 337687) * Marc Khouzam (Ericsson) - New methods for new MIDataDisassemble (Bug 357073) *******************************************************************************/ package org.eclipse.cdt.dsf.mi.service.command; import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext; import org.eclipse.cdt.dsf.debug.service.IDisassembly.IDisassemblyDMContext; import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMContext; import org.eclipse.cdt.dsf.debug.service.IModules.IModuleDMContext; import org.eclipse.cdt.dsf.debug.service.IModules.ISymbolDMContext; import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext; import org.eclipse.cdt.dsf.debug.service.IRunControl.IExecutionDMContext; import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMContext; import org.eclipse.cdt.dsf.debug.service.command.ICommand; import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlDMContext; import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceRecordDMContext; import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceTargetDMContext; import org.eclipse.cdt.dsf.mi.service.IMIContainerDMContext; import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIAttach; import org.eclipse.cdt.dsf.mi.service.command.commands.CLICatch; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIDetach; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIExecAbort; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIInfoProgram; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIInfoSharedLibrary; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIInfoThreads; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIJump; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIMaintenance; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIPasscount; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIRecord; import org.eclipse.cdt.dsf.mi.service.command.commands.CLISource; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIThread; import org.eclipse.cdt.dsf.mi.service.command.commands.CLITrace; import org.eclipse.cdt.dsf.mi.service.command.commands.CLITraceDump; import org.eclipse.cdt.dsf.mi.service.command.commands.CLIUnsetEnv; import org.eclipse.cdt.dsf.mi.service.command.commands.MIAddInferior; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakAfter; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakCommands; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakCondition; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakDelete; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakDisable; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakEnable; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakInsert; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakList; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakPasscount; import org.eclipse.cdt.dsf.mi.service.command.commands.MIBreakWatch; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataDisassemble; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataEvaluateExpression; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataListRegisterNames; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataListRegisterValues; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataReadMemory; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataReadMemoryBytes; import org.eclipse.cdt.dsf.mi.service.command.commands.MIDataWriteMemory; import org.eclipse.cdt.dsf.mi.service.command.commands.MIEnablePrettyPrinting; import org.eclipse.cdt.dsf.mi.service.command.commands.MIEnvironmentCD; import org.eclipse.cdt.dsf.mi.service.command.commands.MIEnvironmentDirectory; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecArguments; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecContinue; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecFinish; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecInterrupt; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecJump; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecNext; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecNextInstruction; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecReturn; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecReverseContinue; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecReverseNext; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecReverseNextInstruction; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecReverseStep; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecReverseStepInstruction; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecRun; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecStep; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecStepInstruction; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecUncall; import org.eclipse.cdt.dsf.mi.service.command.commands.MIExecUntil; import org.eclipse.cdt.dsf.mi.service.command.commands.MIFileExecAndSymbols; import org.eclipse.cdt.dsf.mi.service.command.commands.MIFileExecFile; import org.eclipse.cdt.dsf.mi.service.command.commands.MIFileSymbolFile; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBExit; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSet; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetArgs; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetAutoSolib; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetBreakpointPending; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetDetachOnFork; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetEnv; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetNonStop; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetPagination; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSchedulerLocking; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSolibAbsolutePrefix; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetSolibSearchPath; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBSetTargetAsync; import org.eclipse.cdt.dsf.mi.service.command.commands.MIGDBShowExitCode; import org.eclipse.cdt.dsf.mi.service.command.commands.MIInferiorTTYSet; import org.eclipse.cdt.dsf.mi.service.command.commands.MIInterpreterExec; import org.eclipse.cdt.dsf.mi.service.command.commands.MIInterpreterExecConsole; import org.eclipse.cdt.dsf.mi.service.command.commands.MIInterpreterExecConsoleKill; import org.eclipse.cdt.dsf.mi.service.command.commands.MIListFeatures; import org.eclipse.cdt.dsf.mi.service.command.commands.MIListThreadGroups; import org.eclipse.cdt.dsf.mi.service.command.commands.MIRemoveInferior; import org.eclipse.cdt.dsf.mi.service.command.commands.MIStackInfoDepth; import org.eclipse.cdt.dsf.mi.service.command.commands.MIStackListArguments; import org.eclipse.cdt.dsf.mi.service.command.commands.MIStackListFrames; import org.eclipse.cdt.dsf.mi.service.command.commands.MIStackListLocals; import org.eclipse.cdt.dsf.mi.service.command.commands.MIStackSelectFrame; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetAttach; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetDetach; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetDisconnect; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetDownload; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetSelect; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetSelectCore; import org.eclipse.cdt.dsf.mi.service.command.commands.MITargetSelectTFile; import org.eclipse.cdt.dsf.mi.service.command.commands.MIThreadInfo; import org.eclipse.cdt.dsf.mi.service.command.commands.MIThreadListIds; import org.eclipse.cdt.dsf.mi.service.command.commands.MIThreadSelect; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceDefineVariable; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceFind; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceFindFrameNumber; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceFindNone; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceListVariables; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceSave; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceStart; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceStatus; import org.eclipse.cdt.dsf.mi.service.command.commands.MITraceStop; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarAssign; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarCreate; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarDelete; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarEvaluateExpression; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarInfoExpression; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarInfoNumChildren; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarInfoPathExpression; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarInfoType; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarListChildren; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarSetFormat; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarSetUpdateRange; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarShowAttributes; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarShowFormat; import org.eclipse.cdt.dsf.mi.service.command.commands.MIVarUpdate; import org.eclipse.cdt.dsf.mi.service.command.output.CLICatchInfo; import org.eclipse.cdt.dsf.mi.service.command.output.CLIInfoProgramInfo; import org.eclipse.cdt.dsf.mi.service.command.output.CLIInfoSharedLibraryInfo; import org.eclipse.cdt.dsf.mi.service.command.output.CLIInfoThreadsInfo; import org.eclipse.cdt.dsf.mi.service.command.output.CLIThreadInfo; import org.eclipse.cdt.dsf.mi.service.command.output.CLITraceDumpInfo; import org.eclipse.cdt.dsf.mi.service.command.output.CLITraceInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIAddInferiorInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIBreakInsertInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIBreakListInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataDisassembleInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataEvaluateExpressionInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataListRegisterNamesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataListRegisterValuesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataReadMemoryBytesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataReadMemoryInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIDataWriteMemoryInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIGDBShowExitCodeInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIListFeaturesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIStackInfoDepthInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIStackListArgumentsInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIStackListFramesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIStackListLocalsInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MITargetDownloadInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIThreadInfoInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIThreadListIdsInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MITraceFindInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MITraceListVariablesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MITraceStatusInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MITraceStopInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarAssignInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarCreateInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarDeleteInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarEvaluateExpressionInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarInfoExpressionInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarInfoNumChildrenInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarInfoPathExpressionInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarInfoTypeInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarListChildrenInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarSetFormatInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarShowAttributesInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarShowFormatInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIVarUpdateInfo; /** * Factory to create MI/CLI commands. * * @since 3.0 */ public class CommandFactory { public ICommand<MIInfo> createCLIAttach(IDMContext ctx, int pid) { return new CLIAttach(ctx, pid); } public ICommand<MIInfo> createCLIAttach(ICommandControlDMContext ctx, String pid) { return new CLIAttach(ctx, pid); } public ICommand<CLICatchInfo> createCLICatch(IBreakpointsTargetDMContext ctx, String event, String[] args) { return new CLICatch(ctx, event, args); } public ICommand<MIInfo> createCLIDetach(IDMContext ctx) { return new CLIDetach(ctx); } public ICommand<MIInfo> createCLIExecAbort(ICommandControlDMContext ctx) { return new CLIExecAbort(ctx); } public ICommand<CLIInfoProgramInfo> createCLIInfoProgram(IContainerDMContext ctx) { return new CLIInfoProgram(ctx); } public ICommand<CLIInfoSharedLibraryInfo> createCLIInfoSharedLibrary(ISymbolDMContext ctx) { return new CLIInfoSharedLibrary(ctx); } public ICommand<CLIInfoSharedLibraryInfo> createCLIInfoSharedLibrary(IModuleDMContext ctx) { return new CLIInfoSharedLibrary(ctx); } public ICommand<CLIInfoThreadsInfo> createCLIInfoThreads(IContainerDMContext ctx) { return new CLIInfoThreads(ctx); } public ICommand<MIInfo> createCLIJump(IExecutionDMContext ctx, String location) { return new CLIJump(ctx, location); } /** @since 4.0 */ public ICommand<MIInfo> createCLIMaintenance(ICommandControlDMContext ctx, String subCommand) { return new CLIMaintenance(ctx, subCommand); } public ICommand<MIInfo> createCLIPasscount(IBreakpointsTargetDMContext ctx, int breakpoint, int passcount) { return new CLIPasscount(ctx, breakpoint, passcount); } public ICommand<MIInfo> createCLIRecord(ICommandControlDMContext ctx, boolean enable) { return new CLIRecord(ctx, enable); } public ICommand<MIInfo> createCLISource(ICommandControlDMContext ctx, String file) { return new CLISource(ctx, file); } public ICommand<CLIThreadInfo> createCLIThread(IContainerDMContext ctx) { return new CLIThread(ctx); } public ICommand<CLITraceInfo> createCLITrace(IBreakpointsTargetDMContext ctx, String location) { return new CLITrace(ctx, location); } public ICommand<CLITraceInfo> createCLITrace(IBreakpointsTargetDMContext ctx, String location, String condition) { return new CLITrace(ctx, location, condition); } /** @since 4.0 */ public ICommand<CLITraceDumpInfo> createCLITraceDump(ITraceRecordDMContext ctx) { return new CLITraceDump(ctx); } public ICommand<MIInfo> createCLIUnsetEnv(ICommandControlDMContext ctx) { return new CLIUnsetEnv(ctx); } public ICommand<MIInfo> createCLIUnsetEnv(ICommandControlDMContext ctx, String name) { return new CLIUnsetEnv(ctx, name); } /** @since 4.0 */ public ICommand<MIAddInferiorInfo> createMIAddInferior(ICommandControlDMContext ctx) { return new MIAddInferior(ctx); } public ICommand<MIInfo> createMIBreakAfter(IBreakpointsTargetDMContext ctx, int breakpoint, int ignoreCount) { return new MIBreakAfter(ctx, breakpoint, ignoreCount); } public ICommand<MIInfo> createMIBreakCommands(IBreakpointsTargetDMContext ctx, int breakpoint, String[] commands) { return new MIBreakCommands(ctx, breakpoint, commands); } public ICommand<MIInfo> createMIBreakCondition(IBreakpointsTargetDMContext ctx, int breakpoint, String condition) { return new MIBreakCondition(ctx, breakpoint, condition); } public ICommand<MIInfo> createMIBreakDelete(IBreakpointsTargetDMContext ctx, int[] array) { return new MIBreakDelete(ctx, array); } public ICommand<MIInfo> createMIBreakDisable(IBreakpointsTargetDMContext ctx, int[] array) { return new MIBreakDisable(ctx, array); } public ICommand<MIInfo> createMIBreakEnable(IBreakpointsTargetDMContext ctx, int[] array) { return new MIBreakEnable(ctx, array); } public ICommand<MIBreakInsertInfo> createMIBreakInsert(IBreakpointsTargetDMContext ctx, String func) { return new MIBreakInsert(ctx, func, false); } public ICommand<MIBreakInsertInfo> createMIBreakInsert(IBreakpointsTargetDMContext ctx, boolean isTemporary, boolean isHardware, String condition, int ignoreCount, String line, int tid) { return new MIBreakInsert(ctx, isTemporary, isHardware, condition, ignoreCount, line, tid, false); } public ICommand<MIBreakInsertInfo> createMIBreakInsert(IBreakpointsTargetDMContext ctx, boolean isTemporary, boolean isHardware, String condition, int ignoreCount, String location, int tid, boolean disabled, boolean isTracepoint) { return new MIBreakInsert(ctx, isTemporary, isHardware, condition, ignoreCount, location, tid, disabled, isTracepoint, false); } public ICommand<MIBreakListInfo> createMIBreakList(IBreakpointsTargetDMContext ctx) { return new MIBreakList(ctx); } public ICommand<MIInfo> createMIBreakPasscount(IBreakpointsTargetDMContext ctx, int tracepoint, int passCount) { return new MIBreakPasscount(ctx, tracepoint, passCount); } public ICommand<MIBreakInsertInfo> createMIBreakWatch(IBreakpointsTargetDMContext ctx, boolean isRead, boolean isWrite, String expression) { return new MIBreakWatch(ctx, isRead, isWrite, expression); } public ICommand<MIDataDisassembleInfo> createMIDataDisassemble(IDisassemblyDMContext ctx, String start, String end, boolean mode) { return new MIDataDisassemble(ctx, start, end, mode); } /** @since 4.1 */ public ICommand<MIDataDisassembleInfo> createMIDataDisassemble(IDisassemblyDMContext ctx, String start, String end, int mode) { return new MIDataDisassemble(ctx, start, end, mode); } public ICommand<MIDataDisassembleInfo> createMIDataDisassemble(IDisassemblyDMContext ctx, String file, int linenum, int lines, boolean mode) { return new MIDataDisassemble(ctx, file, linenum, lines, mode); } /** @since 4.1 */ public ICommand<MIDataDisassembleInfo> createMIDataDisassemble(IDisassemblyDMContext ctx, String file, int linenum, int lines, int mode) { return new MIDataDisassemble(ctx, file, linenum, lines, mode); } public ICommand<MIDataEvaluateExpressionInfo> createMIDataEvaluateExpression(ICommandControlDMContext ctx, String expr) { return new MIDataEvaluateExpression<MIDataEvaluateExpressionInfo>(ctx, expr); } public ICommand<MIDataEvaluateExpressionInfo> createMIDataEvaluateExpression(IMIExecutionDMContext execDmc, String expr) { return new MIDataEvaluateExpression<MIDataEvaluateExpressionInfo>(execDmc, expr); } public ICommand<MIDataEvaluateExpressionInfo> createMIDataEvaluateExpression(IFrameDMContext frameDmc, String expr) { return new MIDataEvaluateExpression<MIDataEvaluateExpressionInfo>(frameDmc, expr); } public ICommand<MIDataEvaluateExpressionInfo> createMIDataEvaluateExpression(IExpressionDMContext exprDmc) { return new MIDataEvaluateExpression<MIDataEvaluateExpressionInfo>(exprDmc); } public ICommand<MIDataListRegisterNamesInfo> createMIDataListRegisterNames(IContainerDMContext ctx) { return new MIDataListRegisterNames(ctx); } public ICommand<MIDataListRegisterNamesInfo> createMIDataListRegisterNames(IContainerDMContext ctx, int [] regnos) { return new MIDataListRegisterNames(ctx, regnos); } public ICommand<MIDataListRegisterValuesInfo> createMIDataListRegisterValues(IMIExecutionDMContext ctx, int fmt) { return new MIDataListRegisterValues(ctx, fmt); } public ICommand<MIDataListRegisterValuesInfo> createMIDataListRegisterValues(IMIExecutionDMContext ctx, int fmt, int [] regnos) { return new MIDataListRegisterValues(ctx, fmt, regnos); } public ICommand<MIDataReadMemoryInfo> createMIDataReadMemory(IDMContext ctx, long offset, String address, int word_format, int word_size, int rows, int cols, Character asChar) { return new MIDataReadMemory(ctx, offset, address, word_format, word_size, rows, cols, asChar); } /** @since 4.0 */ public ICommand<MIDataReadMemoryBytesInfo> createMIDataReadMemoryBytes(IDMContext ctx, String address, long offset, int num_bytes) { return new MIDataReadMemoryBytes(ctx, address, offset, num_bytes); } public ICommand<MIDataWriteMemoryInfo> createMIDataWriteMemory(IDMContext ctx, long offset, String address, int wordFormat, int wordSize, String value) { return new MIDataWriteMemory(ctx, offset, address, wordFormat, wordSize, value); } /** @since 4.0 */ public ICommand<MIInfo> createMIEnablePrettyPrinting(ICommandControlDMContext ctx) { return new MIEnablePrettyPrinting(ctx); } public ICommand<MIInfo> createMIEnvironmentCD(ICommandControlDMContext ctx, String path) { return new MIEnvironmentCD(ctx, path); } public ICommand<MIInfo> createMIEnvironmentDirectory(IDMContext ctx, String[] paths, boolean reset) { return new MIEnvironmentDirectory(ctx, paths, reset); } /** @since 4.0 */ public ICommand<MIInfo> createMIExecArguments(IMIContainerDMContext ctx, String[] args) { return new MIExecArguments(ctx, args); } public ICommand<MIInfo> createMIExecContinue(IExecutionDMContext dmc) { return new MIExecContinue(dmc); } public ICommand<MIInfo> createMIExecContinue(IExecutionDMContext dmc, boolean allThreads) { return new MIExecContinue(dmc, allThreads); } public ICommand<MIInfo> createMIExecContinue(IExecutionDMContext dmc, String groupId) { return new MIExecContinue(dmc, groupId); } public ICommand<MIInfo> createMIExecFinish(IFrameDMContext dmc) { return new MIExecFinish(dmc); } public ICommand<MIInfo> createMIExecInterrupt(IExecutionDMContext dmc) { return new MIExecInterrupt(dmc); } public ICommand<MIInfo> createMIExecInterrupt(IExecutionDMContext dmc, boolean allThreads) { return new MIExecInterrupt(dmc, allThreads); } public ICommand<MIInfo> createMIExecInterrupt(IExecutionDMContext dmc, String groupId) { return new MIExecInterrupt(dmc, groupId); } public ICommand<MIInfo> createMIExecJump(IExecutionDMContext ctx, String location) { return new MIExecJump(ctx, location); } public ICommand<MIInfo> createMIExecNext(IExecutionDMContext dmc) { return new MIExecNext(dmc); } public ICommand<MIInfo> createMIExecNext(IExecutionDMContext dmc, int count) { return new MIExecNext(dmc, count); } public ICommand<MIInfo> createMIExecNextInstruction(IExecutionDMContext dmc) { return new MIExecNextInstruction(dmc); } public ICommand<MIInfo> createMIExecNextInstruction(IExecutionDMContext dmc, int count) { return new MIExecNextInstruction(dmc, count); } public ICommand<MIInfo> createMIExecReturn(IFrameDMContext dmc) { return new MIExecReturn(dmc); } public ICommand<MIInfo> createMIExecReturn(IFrameDMContext dmc, String arg) { return new MIExecReturn(dmc, arg); } public ICommand<MIInfo> createMIExecReverseContinue(IExecutionDMContext dmc) { return new MIExecReverseContinue(dmc); } public ICommand<MIInfo> createMIExecReverseNext(IExecutionDMContext dmc) { return new MIExecReverseNext(dmc); } public ICommand<MIInfo> createMIExecReverseNext(IExecutionDMContext dmc, int count) { return new MIExecReverseNext(dmc, count); } public ICommand<MIInfo> createMIExecReverseNextInstruction(IExecutionDMContext dmc) { return new MIExecReverseNextInstruction(dmc); } public ICommand<MIInfo> createMIExecReverseNextInstruction(IExecutionDMContext dmc, int count) { return new MIExecReverseNextInstruction(dmc, count); } public ICommand<MIInfo> createMIExecReverseStep(IExecutionDMContext dmc) { return new MIExecReverseStep(dmc); } public ICommand<MIInfo> createMIExecReverseStep(IExecutionDMContext dmc, int count) { return new MIExecReverseStep(dmc, count); } public ICommand<MIInfo> createMIExecReverseStepInstruction(IExecutionDMContext dmc) { return new MIExecReverseStepInstruction(dmc); } public ICommand<MIInfo> createMIExecReverseStepInstruction(IExecutionDMContext dmc, int count) { return new MIExecReverseStepInstruction(dmc, count); } public ICommand<MIInfo> createMIExecRun(IExecutionDMContext dmc) { return new MIExecRun(dmc); } public ICommand<MIInfo> createMIExecRun(IExecutionDMContext dmc, String[] args) { return new MIExecRun(dmc, args); } public ICommand<MIInfo> createMIExecStep(IExecutionDMContext dmc) { return new MIExecStep(dmc); } public ICommand<MIInfo> createMIExecStep(IExecutionDMContext dmc, int count) { return new MIExecStep(dmc, count); } public ICommand<MIInfo> createMIExecStepInstruction(IExecutionDMContext dmc) { return new MIExecStepInstruction(dmc); } public ICommand<MIInfo> createMIExecStepInstruction(IExecutionDMContext dmc, int count) { return new MIExecStepInstruction(dmc, count); } public ICommand<MIInfo> createMIExecUncall(IFrameDMContext dmc) { return new MIExecUncall(dmc); } public ICommand<MIInfo> createMIExecUntil(IExecutionDMContext dmc) { return new MIExecUntil(dmc); } public ICommand<MIInfo> createMIExecUntil(IExecutionDMContext dmc, String loc) { return new MIExecUntil(dmc, loc); } /** @since 4.0 */ public ICommand<MIInfo> createMIFileExecAndSymbols(IMIContainerDMContext dmc, String file) { return new MIFileExecAndSymbols(dmc, file); } /** @since 4.0 */ public ICommand<MIInfo> createMIFileExecAndSymbols(IMIContainerDMContext dmc) { return new MIFileExecAndSymbols(dmc); } public ICommand<MIInfo> createMIFileExecFile(ICommandControlDMContext dmc, String file) { return new MIFileExecFile(dmc, file); } public ICommand<MIInfo> createMIFileExecFile(ICommandControlDMContext dmc) { return new MIFileExecFile(dmc); } public ICommand<MIInfo> createMIFileSymbolFile(ICommandControlDMContext dmc, String file) { return new MIFileSymbolFile(dmc, file); } public ICommand<MIInfo> createMIFileSymbolFile(ICommandControlDMContext dmc) { return new MIFileSymbolFile(dmc); } public ICommand<MIInfo> createMIGDBExit(IDMContext ctx) { return new MIGDBExit(ctx); } public ICommand<MIInfo> createMIGDBSet(IDMContext ctx, String[] params) { return new MIGDBSet(ctx, params); } /** @since 4.0 */ public ICommand<MIInfo> createMIGDBSetArgs(IMIContainerDMContext dmc) { return new MIGDBSetArgs(dmc); } /** @since 4.0 */ public ICommand<MIInfo> createMIGDBSetArgs(IMIContainerDMContext dmc, String[] arguments) { return new MIGDBSetArgs(dmc, arguments); } public ICommand<MIInfo> createMIGDBSetAutoSolib(ICommandControlDMContext ctx, boolean isSet) { return new MIGDBSetAutoSolib(ctx, isSet); } /** @since 4.0 */ public ICommand<MIInfo> createMIGDBSetBreakpointPending(ICommandControlDMContext ctx, boolean enable) { return new MIGDBSetBreakpointPending(ctx, enable); } /** @since 4.0 */ public ICommand<MIInfo> createMIGDBSetDetachOnFork(ICommandControlDMContext ctx, boolean detach) { return new MIGDBSetDetachOnFork(ctx, detach); } public ICommand<MIInfo> createMIGDBSetEnv(ICommandControlDMContext dmc, String name) { return new MIGDBSetEnv(dmc, name); } public ICommand<MIInfo> createMIGDBSetEnv(ICommandControlDMContext dmc, String name, String value) { return new MIGDBSetEnv(dmc, name, value); } public ICommand<MIInfo> createMIGDBSetNonStop(ICommandControlDMContext ctx, boolean isSet) { return new MIGDBSetNonStop(ctx, isSet); } public ICommand<MIInfo> createMIGDBSetPagination(ICommandControlDMContext ctx, boolean isSet) { return new MIGDBSetPagination(ctx, isSet); } /** @since 4.1 */ public ICommand<MIInfo> createMIGDBSetSchedulerLocking(ICommandControlDMContext ctx, String mode) { return new MIGDBSetSchedulerLocking(ctx, mode); } /** @since 4.0 */ public ICommand<MIInfo> createMIGDBSetSolibAbsolutePrefix(ICommandControlDMContext ctx, String prefix) { return new MIGDBSetSolibAbsolutePrefix(ctx, prefix); } public ICommand<MIInfo> createMIGDBSetSolibSearchPath(ICommandControlDMContext ctx, String[] paths) { return new MIGDBSetSolibSearchPath(ctx, paths); } public ICommand<MIInfo> createMIGDBSetTargetAsync(ICommandControlDMContext ctx, boolean isSet) { return new MIGDBSetTargetAsync(ctx, isSet); } public ICommand<MIGDBShowExitCodeInfo> createMIGDBShowExitCode(ICommandControlDMContext ctx) { return new MIGDBShowExitCode(ctx); } /** @since 4.0 */ public ICommand<MIInfo> createMIInferiorTTYSet(IMIContainerDMContext dmc, String tty) { return new MIInferiorTTYSet(dmc, tty); } public ICommand<MIInfo> createMIInterpreterExec(IDMContext ctx, String interpreter, String cmd) { return new MIInterpreterExec<MIInfo>(ctx, interpreter, cmd); } public ICommand<MIInfo> createMIInterpreterExecConsole(IDMContext ctx, String cmd) { return new MIInterpreterExecConsole<MIInfo>(ctx, cmd); } /** @since 4.0 */ public ICommand<MIInfo> createMIInterpreterExecConsoleKill(IMIContainerDMContext ctx) { return new MIInterpreterExecConsoleKill(ctx); } /** @since 4.0 */ public ICommand<MIListFeaturesInfo> createMIListFeatures(ICommandControlDMContext ctx) { return new MIListFeatures(ctx); } public ICommand<MIListThreadGroupsInfo> createMIListThreadGroups(ICommandControlDMContext ctx) { return new MIListThreadGroups(ctx); } public ICommand<MIListThreadGroupsInfo> createMIListThreadGroups(ICommandControlDMContext ctx, String groupId) { return new MIListThreadGroups(ctx, groupId); } public ICommand<MIListThreadGroupsInfo> createMIListThreadGroups(ICommandControlDMContext ctx, boolean listAll) { return new MIListThreadGroups(ctx, listAll); } /** @since 4.1 */ public ICommand<MIListThreadGroupsInfo> createMIListThreadGroups(ICommandControlDMContext ctx, boolean listAll, boolean recurse) { return new MIListThreadGroups(ctx, listAll, recurse); } /** @since 4.0 */ public ICommand<MIInfo> createMIRemoveInferior(ICommandControlDMContext ctx, String groupId) { return new MIRemoveInferior(ctx, groupId); } public ICommand<MIStackInfoDepthInfo> createMIStackInfoDepth(IMIExecutionDMContext ctx) { return new MIStackInfoDepth(ctx); } public ICommand<MIStackInfoDepthInfo> createMIStackInfoDepth(IMIExecutionDMContext ctx, int maxDepth) { return new MIStackInfoDepth(ctx, maxDepth); } public ICommand<MIStackListArgumentsInfo> createMIStackListArguments(IMIExecutionDMContext execDmc, boolean showValues) { return new MIStackListArguments(execDmc, showValues); } public ICommand<MIStackListArgumentsInfo> createMIStackListArguments(IFrameDMContext frameDmc, boolean showValues) { return new MIStackListArguments(frameDmc, showValues); } public ICommand<MIStackListArgumentsInfo> createMIStackListArguments(IMIExecutionDMContext execDmc, boolean showValues, int low, int high) { return new MIStackListArguments(execDmc, showValues, low, high); } public ICommand<MIStackListFramesInfo> createMIStackListFrames(IMIExecutionDMContext execDmc) { return new MIStackListFrames(execDmc); } public ICommand<MIStackListFramesInfo> createMIStackListFrames(IMIExecutionDMContext execDmc, int low, int high) { return new MIStackListFrames(execDmc, low, high); } public ICommand<MIStackListLocalsInfo> createMIStackListLocals(IFrameDMContext frameCtx, boolean printValues) { return new MIStackListLocals(frameCtx, printValues); } public ICommand<MIInfo> createMIStackSelectFrame(IDMContext ctx, int frameNum) { return new MIStackSelectFrame(ctx, frameNum); } @Deprecated public ICommand<MIInfo> createMITargetAttach(ICommandControlDMContext ctx, String groupId) { return new MITargetAttach(ctx, groupId); } /** @since 4.0 */ public ICommand<MIInfo> createMITargetAttach(IMIContainerDMContext ctx, String groupId) { return new MITargetAttach(ctx, groupId); } /** @since 4.0 */ public ICommand<MIInfo> createMITargetAttach(IMIContainerDMContext ctx, String groupId, boolean interrupt) { return new MITargetAttach(ctx, groupId, interrupt); } public ICommand<MIInfo> createMITargetDetach(ICommandControlDMContext ctx, String groupId) { return new MITargetDetach(ctx, groupId); } /** @since 4.0 */ public ICommand<MIInfo> createMITargetDetach(IMIContainerDMContext ctx) { return new MITargetDetach(ctx); } public ICommand<MIInfo> createMITargetSelect(IDMContext ctx, String[] params) { return new MITargetSelect(ctx, params); } public ICommand<MIInfo> createMITargetSelect(IDMContext ctx, String host, String port, boolean extended) { return new MITargetSelect(ctx, host, port, extended); } public ICommand<MIInfo> createMITargetSelect(IDMContext ctx, String serialDevice, boolean extended) { return new MITargetSelect(ctx, serialDevice, extended); } public ICommand<MIInfo> createMITargetSelectCore(IDMContext ctx, String coreFilePath) { return new MITargetSelectCore(ctx, coreFilePath); } public ICommand<MIInfo> createMITargetSelectTFile(IDMContext ctx, String traceFilePath) { return new MITargetSelectTFile(ctx, traceFilePath); } /** @since 4.1 */ public ICommand<MIInfo> createMITargetDisconnect(ICommandControlDMContext ctx) { return new MITargetDisconnect(ctx); } public ICommand<MITargetDownloadInfo> createMITargetDownload(ICommandControlDMContext ctx) { return new MITargetDownload(ctx); } public ICommand<MITargetDownloadInfo> createMITargetDownload(ICommandControlDMContext ctx, String file) { return new MITargetDownload(ctx, file); } public ICommand<MIThreadInfoInfo> createMIThreadInfo(ICommandControlDMContext dmc) { return new MIThreadInfo(dmc); } public ICommand<MIThreadInfoInfo> createMIThreadInfo(ICommandControlDMContext dmc, String threadId) { return new MIThreadInfo(dmc, threadId); } public ICommand<MIThreadListIdsInfo> createMIThreadListIds(IContainerDMContext contDmc) { return new MIThreadListIds(contDmc); } public ICommand<MIInfo> createMIThreadSelect(IDMContext ctx, int threadNum) { return new MIThreadSelect(ctx, threadNum); } public ICommand<MIInfo> createMIThreadSelect(IDMContext ctx, String threadNum) { return new MIThreadSelect(ctx, threadNum); } public ICommand<MIInfo> createMITraceDefineVariable(ITraceTargetDMContext ctx, String varName) { return new MITraceDefineVariable(ctx, varName); } public ICommand<MIInfo> createMITraceDefineVariable(ITraceTargetDMContext ctx, String varName, String varValue) { return new MITraceDefineVariable(ctx, varName, varValue); } public ICommand<MITraceFindInfo> createMITraceFind(ITraceTargetDMContext ctx, String[] params) { return new MITraceFind(ctx, params); } public ICommand<MITraceFindInfo> createMITraceFindFrameNumber(ITraceTargetDMContext ctx, int frameReference) { return new MITraceFindFrameNumber(ctx, frameReference); } public ICommand<MITraceFindInfo> createMITraceFindNone(ITraceTargetDMContext ctx) { return new MITraceFindNone(ctx); } public ICommand<MITraceListVariablesInfo> createMITraceListVariables(ITraceTargetDMContext ctx) { return new MITraceListVariables(ctx); } public ICommand<MIInfo> createMITraceSave(ITraceTargetDMContext ctx, String file, boolean remoteSave) { return new MITraceSave(ctx, file, remoteSave); } public ICommand<MIInfo> createMITraceStart(ITraceTargetDMContext ctx) { return new MITraceStart(ctx); } public ICommand<MITraceStatusInfo> createMITraceStatus(ITraceTargetDMContext ctx) { return new MITraceStatus(ctx); } public ICommand<MITraceStopInfo> createMITraceStop(ITraceTargetDMContext ctx) { return new MITraceStop(ctx); } public ICommand<MIVarAssignInfo> createMIVarAssign(ICommandControlDMContext ctx, String name, String expression) { return new MIVarAssign(ctx, name, expression); } public ICommand<MIVarCreateInfo> createMIVarCreate(IExpressionDMContext dmc, String expression) { return new MIVarCreate(dmc, expression); } public ICommand<MIVarCreateInfo> createMIVarCreate(IExpressionDMContext dmc, String name, String expression) { return new MIVarCreate(dmc, name, expression); } public ICommand<MIVarCreateInfo> createMIVarCreate(IExpressionDMContext dmc, String name, String frameAddr, String expression) { return new MIVarCreate(dmc, name, frameAddr, expression); } public ICommand<MIVarDeleteInfo> createMIVarDelete(ICommandControlDMContext dmc, String name) { return new MIVarDelete(dmc, name); } public ICommand<MIVarEvaluateExpressionInfo> createMIVarEvaluateExpression(ICommandControlDMContext dmc, String name) { return new MIVarEvaluateExpression(dmc, name); } public ICommand<MIVarInfoExpressionInfo> createMIVarInfoExpression(ICommandControlDMContext ctx, String name) { return new MIVarInfoExpression(ctx, name); } public ICommand<MIVarInfoNumChildrenInfo> createMIVarInfoNumChildren(IExpressionDMContext ctx, String name) { return new MIVarInfoNumChildren(ctx, name); } public ICommand<MIVarInfoPathExpressionInfo> createMIVarInfoPathExpression(ICommandControlDMContext dmc, String name) { return new MIVarInfoPathExpression(dmc, name); } public ICommand<MIVarInfoTypeInfo> createMIVarInfoType(ICommandControlDMContext ctx, String name) { return new MIVarInfoType(ctx, name); } public ICommand<MIVarListChildrenInfo> createMIVarListChildren(ICommandControlDMContext ctx, String name) { return new MIVarListChildren(ctx, name); } /** @since 4.0 */ public ICommand<MIVarListChildrenInfo> createMIVarListChildren(ICommandControlDMContext ctx, String name, int from, int to) { return new MIVarListChildren(ctx, name, from, to); } public ICommand<MIVarSetFormatInfo> createMIVarSetFormat(ICommandControlDMContext ctx, String name, String fmt) { return new MIVarSetFormat(ctx, name, fmt); } /** @since 4.0 */ public ICommand<MIInfo> createMIVarSetUpdateRange(ICommandControlDMContext ctx,String name, int from, int to) { return new MIVarSetUpdateRange(ctx, name, from, to); } public ICommand<MIVarShowAttributesInfo> createMIVarShowAttributes(ICommandControlDMContext ctx, String name) { return new MIVarShowAttributes(ctx, name); } public ICommand<MIVarShowFormatInfo> createMIVarShowFormat(ICommandControlDMContext ctx, String name) { return new MIVarShowFormat(ctx, name); } public ICommand<MIVarUpdateInfo> createMIVarUpdate(ICommandControlDMContext dmc, String name) { return new MIVarUpdate(dmc, name); } }