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); }
DbgDotNetCodeRangeServiceImpl(UIDispatcher uiDispatcher, DbgModuleIdProviderService dbgModuleIdProviderService, DbgMetadataService dbgMetadataService, Lazy <IDocumentTabService> documentTabService, Lazy <DotNetReferenceNavigator> dotNetReferenceNavigator) { this.uiDispatcher = uiDispatcher; this.dbgModuleIdProviderService = dbgModuleIdProviderService; this.dbgMetadataService = dbgMetadataService; this.documentTabService = documentTabService; this.dotNetReferenceNavigator = dotNetReferenceNavigator; }
DbgDotNetDebugInfoServiceImpl(UIDispatcher uiDispatcher, DbgModuleIdProviderService dbgModuleIdProviderService, DbgMetadataService dbgMetadataService, Lazy <IDocumentTabService> documentTabService, Lazy <DbgMethodDebugInfoProvider> dbgMethodDebugInfoProvider, Lazy <IDecompilerService> decompilerService) { this.uiDispatcher = uiDispatcher; this.dbgModuleIdProviderService = dbgModuleIdProviderService; this.dbgMetadataService = dbgMetadataService; this.documentTabService = documentTabService; this.dbgMethodDebugInfoProvider = dbgMethodDebugInfoProvider; this.decompilerService = decompilerService; }
DbgMethodDebugInfoProviderImpl(DbgMetadataService dbgMetadataService) => this.dbgMetadataService = dbgMetadataService;