public DbgEngineLocalsProviderImpl(DbgModuleReferenceProvider dbgModuleReferenceProvider, DbgDotNetExpressionCompiler expressionCompiler, DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgDotNetILInterpreter dnILInterpreter) { this.dbgModuleReferenceProvider = dbgModuleReferenceProvider ?? throw new ArgumentNullException(nameof(dbgModuleReferenceProvider)); this.expressionCompiler = expressionCompiler ?? throw new ArgumentNullException(nameof(expressionCompiler)); this.valueNodeFactory = valueNodeFactory ?? throw new ArgumentNullException(nameof(valueNodeFactory)); this.dnILInterpreter = dnILInterpreter ?? throw new ArgumentNullException(nameof(dnILInterpreter)); }
public DbgDotNetValueCreator(DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgDotNetILInterpreter dnILInterpreter, DbgEvaluationInfo evalInfo, DbgValueNodeEvaluationOptions nodeOptions, DbgEvaluationOptions options, byte[] assemblyBytes) { this.valueNodeFactory = valueNodeFactory; this.dnILInterpreter = dnILInterpreter; this.evalInfo = evalInfo; this.nodeOptions = nodeOptions; this.options = options; this.assemblyBytes = assemblyBytes; }
bool TryGetFactory(Guid guid, DbgDotNetFormatter formatter, out DbgDotNetEngineValueNodeFactory factory) { if (!toLazyFactory.TryGetValue(guid, out var lz)) { factory = null; return(false); } factory = GetFactory(formatter, lz); return(true); }
public DbgDotNetValueCreator(DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgDotNetILInterpreter dnILInterpreter, DbgEvaluationContext context, DbgStackFrame frame, DbgValueNodeEvaluationOptions nodeOptions, DbgEvaluationOptions options, byte[] assemblyBytes, CancellationToken cancellationToken) { this.valueNodeFactory = valueNodeFactory; this.dnILInterpreter = dnILInterpreter; this.context = context; this.frame = frame; this.nodeOptions = nodeOptions; this.options = options; this.assemblyBytes = assemblyBytes; this.cancellationToken = cancellationToken; }
public DbgEngineLanguageImpl(DbgModuleReferenceProvider dbgModuleReferenceProvider, string name, string displayName, DbgDotNetExpressionCompiler expressionCompiler, DbgMethodDebugInfoProvider dbgMethodDebugInfoProvider, IDecompiler decompiler, DbgDotNetFormatter formatter, DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgDotNetILInterpreter dnILInterpreter, DbgAliasProvider dbgAliasProvider, IPredefinedEvaluationErrorMessagesHelper predefinedEvaluationErrorMessagesHelper) { if (dbgModuleReferenceProvider == null) { throw new ArgumentNullException(nameof(dbgModuleReferenceProvider)); } if (formatter == null) { throw new ArgumentNullException(nameof(formatter)); } if (valueNodeFactory == null) { throw new ArgumentNullException(nameof(valueNodeFactory)); } if (dnILInterpreter == null) { throw new ArgumentNullException(nameof(dnILInterpreter)); } if (dbgAliasProvider == null) { throw new ArgumentNullException(nameof(dbgAliasProvider)); } if (predefinedEvaluationErrorMessagesHelper == null) { throw new ArgumentNullException(nameof(predefinedEvaluationErrorMessagesHelper)); } Name = name ?? throw new ArgumentNullException(nameof(name)); DisplayName = displayName ?? throw new ArgumentNullException(nameof(displayName)); this.dbgMethodDebugInfoProvider = dbgMethodDebugInfoProvider ?? throw new ArgumentNullException(nameof(dbgMethodDebugInfoProvider)); this.expressionCompiler = expressionCompiler ?? throw new ArgumentNullException(nameof(expressionCompiler)); this.decompiler = decompiler ?? throw new ArgumentNullException(nameof(decompiler)); var expressionEvaluator = new DbgEngineExpressionEvaluatorImpl(dbgModuleReferenceProvider, expressionCompiler, dnILInterpreter, dbgAliasProvider, predefinedEvaluationErrorMessagesHelper); ExpressionEvaluator = expressionEvaluator; Formatter = new DbgEngineFormatterImpl(formatter); LocalsProvider = new DbgEngineLocalsProviderImpl(dbgModuleReferenceProvider, expressionCompiler, valueNodeFactory, dnILInterpreter, dbgAliasProvider); AutosProvider = new DbgEngineAutosProviderImpl(valueNodeFactory); ExceptionsProvider = new DbgEngineExceptionsProviderImpl(valueNodeFactory); ReturnValuesProvider = new DbgEngineReturnValuesProviderImpl(valueNodeFactory); TypeVariablesProvider = new DbgEngineTypeVariablesProviderImpl(valueNodeFactory); ValueNodeFactory = new DbgEngineValueNodeFactoryImpl(expressionEvaluator, valueNodeFactory, formatter); debuggerDisplayAttributeEvaluator = expressionEvaluator; }
public DbgEngineValueNodeFactoryImpl(DbgEngineExpressionEvaluatorImpl expressionEvaluator, DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgDotNetFormatter formatter) { this.expressionEvaluator = expressionEvaluator ?? throw new ArgumentNullException(nameof(expressionEvaluator)); this.valueNodeFactory = valueNodeFactory ?? throw new ArgumentNullException(nameof(valueNodeFactory)); this.formatter = formatter ?? throw new ArgumentNullException(nameof(formatter)); }
public DbgEngineExceptionsProviderImpl(DbgDotNetEngineValueNodeFactory valueNodeFactory) => this.valueNodeFactory = valueNodeFactory ?? throw new ArgumentNullException(nameof(valueNodeFactory));
public static DbgEngineValueNode[] CreateInternalErrorResult(this DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgEvaluationInfo evalInfo) { return(new DbgEngineValueNode[] { valueNodeFactory.CreateError(evalInfo, errorName, PredefinedEvaluationErrorMessages.InternalDebuggerError, "<expression>", false), }); }
public static DbgEngineValueNode[] CreateInternalErrorResult(this DbgDotNetEngineValueNodeFactory valueNodeFactory, DbgEvaluationContext context, DbgStackFrame frame, CancellationToken cancellationToken) { return(new DbgEngineValueNode[] { valueNodeFactory.CreateError(context, frame, errorName, PredefinedEvaluationErrorMessages.InternalDebuggerError, "<expression>", false, cancellationToken), }); }
public DbgEngineLanguageImpl(DbgModuleReferenceProvider dbgModuleReferenceProvider, string name, string displayName, DbgDotNetExpressionCompiler expressionCompiler, DbgMetadataService dbgMetadataService, IDecompiler decompiler, DbgDotNetFormatter formatter, DbgDotNetEngineValueNodeFactory valueNodeFactory) { if (dbgModuleReferenceProvider == null) { throw new ArgumentNullException(nameof(dbgModuleReferenceProvider)); } if (expressionCompiler == null) { throw new ArgumentNullException(nameof(expressionCompiler)); } if (formatter == null) { throw new ArgumentNullException(nameof(formatter)); } Name = name ?? throw new ArgumentNullException(nameof(name)); DisplayName = displayName ?? throw new ArgumentNullException(nameof(displayName)); this.dbgMetadataService = dbgMetadataService ?? throw new ArgumentNullException(nameof(dbgMetadataService)); this.decompiler = decompiler ?? throw new ArgumentNullException(nameof(decompiler)); var dnILInterpreter = new DbgDotNetILInterpreterImpl(); var expressionEvaluator = new DbgEngineExpressionEvaluatorImpl(dbgModuleReferenceProvider, expressionCompiler, dnILInterpreter); ExpressionEvaluator = expressionEvaluator; ValueFormatter = new DbgEngineValueFormatterImpl(); Formatter = new DbgEngineFormatterImpl(formatter); LocalsProvider = new DbgEngineLocalsProviderImpl(dbgModuleReferenceProvider, expressionCompiler, valueNodeFactory, dnILInterpreter); AutosProvider = new DbgEngineAutosProviderImpl(valueNodeFactory); ExceptionsProvider = new DbgEngineExceptionsProviderImpl(valueNodeFactory); ReturnValuesProvider = new DbgEngineReturnValuesProviderImpl(valueNodeFactory); TypeVariablesProvider = new DbgEngineTypeVariablesProviderImpl(valueNodeFactory); ValueNodeFactory = new DbgEngineValueNodeFactoryImpl(expressionEvaluator, valueNodeFactory, formatter); }