Пример #1
0
        protected ParseRunnerBase(
            RubberduckParserState state,
            IParserStateManager parserStateManager,
            Func <IVBAPreprocessor> preprocessorFactory,
            IAttributeParser attributeParser,
            IModuleExporter exporter)
        {
            if (state == null)
            {
                throw new ArgumentNullException(nameof(state));
            }
            if (parserStateManager == null)
            {
                throw new ArgumentNullException(nameof(parserStateManager));
            }
            if (preprocessorFactory == null)
            {
                throw new ArgumentNullException(nameof(preprocessorFactory));
            }
            if (attributeParser == null)
            {
                throw new ArgumentNullException(nameof(attributeParser));
            }

            _state               = state;
            StateManager         = parserStateManager;
            _preprocessorFactory = preprocessorFactory;
            _attributeParser     = attributeParser;
            _exporter            = exporter;
        }
Пример #2
0
        public ComponentParseTask(QualifiedModuleName module, IVBAPreprocessor preprocessor, IAttributeParser attributeParser, IModuleExporter exporter, TokenStreamRewriter rewriter = null)
        {
            _taskId = Guid.NewGuid();

            _attributeParser = attributeParser;
            _exporter        = exporter;
            _preprocessor    = preprocessor;
            _module          = module;
            _rewriter        = rewriter;
            _parser          = new VBAModuleParser();
        }
Пример #3
0
 public SynchronousParseRunner(
     RubberduckParserState state,
     IParserStateManager parserStateManager,
     Func <IVBAPreprocessor> preprocessorFactory,
     IAttributeParser attributeParser,
     IModuleExporter exporter)
     : base(state,
            parserStateManager,
            preprocessorFactory,
            attributeParser,
            exporter)
 {
 }
Пример #4
0
        public static ParseCoordinator Create(IVBE vbe, RubberduckParserState state, IAttributeParser attributeParser, IModuleExporter exporter, string serializedDeclarationsPath = null)
        {
            var path = serializedDeclarationsPath ??
                       Path.Combine(Path.GetDirectoryName(Assembly.GetAssembly(typeof(MockParser)).Location), "TestFiles", "Resolver");
            Func <IVBAPreprocessor> preprocessorFactory = () => new VBAPreprocessor(double.Parse(vbe.Version, CultureInfo.InvariantCulture));
            var projectManager = new SynchronousProjectManager(state, vbe);
            var moduleToModuleReferenceManager = new ModuleToModuleReferenceManager();
            var supertypeClearer   = new SynchronousSupertypeClearer(state);
            var parserStateManager = new SynchronousParserStateManager(state);
            var referenceRemover   = new SynchronousReferenceRemover(state, moduleToModuleReferenceManager);
            var comSynchronizer    = new SynchronousCOMReferenceSynchronizer(
                state,
                parserStateManager,
                path);
            var builtInDeclarationLoader = new BuiltInDeclarationLoader(
                state,
                new List <ICustomDeclarationLoader>
            {
                new DebugDeclarations(state),
                new SpecialFormDeclarations(state),
                new FormEventDeclarations(state),
                new AliasDeclarations(state),
            });
            var parseRunner = new SynchronousParseRunner(
                state,
                parserStateManager,
                preprocessorFactory,
                attributeParser,
                exporter);
            var declarationResolveRunner = new SynchronousDeclarationResolveRunner(
                state,
                parserStateManager,
                comSynchronizer);
            var referenceResolveRunner = new SynchronousReferenceResolveRunner(
                state,
                parserStateManager,
                moduleToModuleReferenceManager,
                referenceRemover);
            var parsingStageService = new ParsingStageService(
                comSynchronizer,
                builtInDeclarationLoader,
                parseRunner,
                declarationResolveRunner,
                referenceResolveRunner
                );
            var parsingCacheService = new ParsingCacheService(
                state,
                moduleToModuleReferenceManager,
                referenceRemover,
                supertypeClearer
                );

            return(new ParseCoordinator(
                       state,
                       parsingStageService,
                       parsingCacheService,
                       projectManager,
                       parserStateManager,
                       true));
        }
Пример #5
0
 public AttributeParser(IModuleExporter exporter)
 {
     _exporter = exporter;
 }
Пример #6
0
 public AttributeParser(IModuleExporter exporter, Func <IVBAPreprocessor> preprocessorFactory)
 {
     _exporter            = exporter;
     _preprocessorFactory = preprocessorFactory;
 }
Пример #7
0
 public MemberAttributesRewriter(IModuleExporter exporter, ICodeModule module, TokenStreamRewriter rewriter)
     : base(module, rewriter)
 {
     _exporter = exporter;
 }
Пример #8
0
 public AttributeParser(IModuleExporter exporter, Func <IVBAPreprocessor> preprocessorFactory, IProjectsProvider projectsProvider)
 {
     _exporter            = exporter;
     _preprocessorFactory = preprocessorFactory;
     _projectsProvider    = projectsProvider;
 }
Пример #9
0
 public AttributeParser(IModuleExporter exporter)
 {
     _exporter = exporter;
 }