Exemplo n.º 1
0
        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;