Beispiel #1
0
        protected override bool EvaluateCanExecute(object parameter)
        {
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var member = _state.DeclarationFinder.AllUserDeclarations.FindTarget(activeSelection.Value, ValidDeclarationTypes);

            if (member == null)
            {
                return(false);
            }
            if (_state.IsNewOrModified(member.QualifiedModuleName))
            {
                return(false);
            }

            var parameters = _state.DeclarationFinder.UserDeclarations(DeclarationType.Parameter)
                             .Where(item => member.Equals(item.ParentScopeDeclaration))
                             .ToList();

            return(member.DeclarationType == DeclarationType.PropertyLet ||
                   member.DeclarationType == DeclarationType.PropertySet
                        ? parameters.Count > 1
                        : parameters.Any());
        }
        protected override void OnExecute(object parameter)
        {
            var activeSelection = SelectionService.ActiveSelection();

            if (activeSelection.HasValue)
            {
                var refactoring = new MoveCloserToUsageRefactoring(_state, _msgbox, RewritingManager, SelectionService);
                refactoring.Refactor(activeSelection.Value);
            }
        }
        public void NoCodePaneOpen_ActiveSelectionReturnsNull()
        {
            var vbe = new Mock <IVBE>().Object;
            var projectsProvider = new Mock <IProjectsProvider>().Object;

            var selectionService = new SelectionService(vbe, projectsProvider);

            var activeSelection = selectionService.ActiveSelection();

            Assert.IsNull(activeSelection);
        }
        protected override void OnExecute(object parameter)
        {
            if (!SelectionService.ActiveSelection().HasValue)
            {
                return;
            }

            var refactoring = new EncapsulateFieldRefactoring(_state, _indenter, _factory, RewritingManager, SelectionService);

            refactoring.Refactor();
        }
Beispiel #5
0
        protected override void OnExecute(object parameter)
        {
            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return;
            }

            var refactoring = new IntroduceFieldRefactoring(_state, _messageBox, RewritingManager, SelectionService);

            refactoring.Refactor(activeSelection.Value);
        }
Beispiel #6
0
        protected override void OnExecute(object parameter)
        {
            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return;
            }

            var refactoring = new RemoveParametersRefactoring(_state, _factory, RewritingManager, SelectionService);

            refactoring.Refactor(activeSelection.Value);
        }
Beispiel #7
0
        protected override bool EvaluateCanExecute(object parameter)
        {
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var interfaceClass = _state.AllUserDeclarations.SingleOrDefault(item =>
                                                                            item.QualifiedName.QualifiedModuleName.Equals(activeSelection.Value.QualifiedName) &&
                                                                            ModuleTypes.Contains(item.DeclarationType));

            if (interfaceClass == null)
            {
                return(false);
            }

            // interface class must have members to be implementable
            var hasMembers = _state.AllUserDeclarations.Any(item =>
                                                            item.DeclarationType.HasFlag(DeclarationType.Member) &&
                                                            item.ParentDeclaration != null &&
                                                            item.ParentDeclaration.Equals(interfaceClass));

            if (!hasMembers)
            {
                return(false);
            }

            var parseTree = _state.GetParseTree(interfaceClass.QualifiedName.QualifiedModuleName);
            var context   = ((ParserRuleContext)parseTree).GetDescendents <VBAParser.ImplementsStmtContext>();

            // true if active code pane is for a class/document/form module
            return(!context.Any() &&
                   !_state.IsNewOrModified(interfaceClass.QualifiedModuleName) &&
                   !_state.IsNewOrModified(activeSelection.Value.QualifiedName));
        }
Beispiel #8
0
        protected override void OnExecute(object parameter)
        {
            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return;
            }

            var target = _state.DeclarationFinder.FindSelectedDeclaration(activeSelection.Value);

            if (target == null || !target.IsUserDefined)
            {
                return;
            }

            var refactoring = new RenameRefactoring(_factory, _messageBox, _state, _state.ProjectsProvider, RewritingManager, SelectionService);

            refactoring.Refactor(target);
        }
Beispiel #9
0
        protected override bool EvaluateCanExecute(object parameter)
        {
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var target = _state.DeclarationFinder.FindSelectedDeclaration(activeSelection.Value);

            return(target != null &&
                   target.IsUserDefined &&
                   !_state.IsNewOrModified(target.QualifiedModuleName));
        }
        protected override bool EvaluateCanExecute(object parameter)
        {
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var target = _state.DeclarationFinder.FindSelectedDeclaration(activeSelection.Value);

            return(target != null &&
                   !_state.IsNewOrModified(target.QualifiedModuleName) &&
                   (target.DeclarationType == DeclarationType.Variable ||
                    target.DeclarationType == DeclarationType.Constant) &&
                   target.References.Any());
        }
Beispiel #11
0
        protected override bool EvaluateCanExecute(object parameter)
        {
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var target = _state.DeclarationFinder
                         .UserDeclarations(DeclarationType.Variable)
                         .FindVariable(activeSelection.Value);

            return(target != null &&
                   !_state.IsNewOrModified(target.QualifiedModuleName) &&
                   target.ParentScopeDeclaration.DeclarationType.HasFlag(DeclarationType.Member));
        }
        protected override bool EvaluateCanExecute(object parameter)
        {
            //This should come first because it does not require COM access.
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var target = _state.DeclarationFinder.FindSelectedDeclaration(activeSelection.Value);

            return(target != null &&
                   target.DeclarationType == DeclarationType.Variable &&
                   !target.ParentScopeDeclaration.DeclarationType.HasFlag(DeclarationType.Member) &&
                   !_state.IsNewOrModified(target.QualifiedModuleName));
        }
        protected override bool EvaluateCanExecute(object parameter)
        {
            if (_state.Status != ParserState.Ready)
            {
                return(false);
            }

            var activeSelection = SelectionService.ActiveSelection();

            if (!activeSelection.HasValue)
            {
                return(false);
            }

            var targetInterface = _state.DeclarationFinder.FindInterface(activeSelection.Value);

            var targetClass = _state.DeclarationFinder.Members(activeSelection.Value.QualifiedName)
                              .SingleOrDefault(declaration => declaration.DeclarationType == DeclarationType.ClassModule);

            return(targetInterface != null && targetClass != null &&
                   !_state.IsNewOrModified(targetInterface.QualifiedModuleName) &&
                   !_state.IsNewOrModified(targetClass.QualifiedModuleName));
        }