protected virtual string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case NoActiveSelectionException noActiveSelection:
                Logger.Error(noActiveSelection);
                return(Resources.RubberduckUI.RefactoringFailure_NoActiveSelection);

            case NoDeclarationForSelectionException noDeclarationForSelection:
                Logger.Warn(noDeclarationForSelection);
                return(Resources.RubberduckUI.RefactoringFailure_NoTargetDeclarationForSelection);

            case TargetDeclarationIsNullException targetNull:
                Logger.Error(targetNull);
                return(Resources.RubberduckUI.RefactoringFailure_TargetNull);

            case TargetDeclarationNotUserDefinedException targetBuiltIn:
                return(string.Format(Resources.RubberduckUI.RefactoringFailure_TargetNotUserDefined, targetBuiltIn.TargetDeclaration.QualifiedName));

            case SuspendParserFailureException suspendParserFailure:
                Logger.Warn(suspendParserFailure);
                return(Resources.RubberduckUI.RefactoringFailure_SuspendParserFailure);

            default:
                Logger.Error(exception);
                return(string.Empty);
            }
        }
        protected override string Message(RefactoringException exception)
        {
            if (exception is InvalidDeclarationTypeException invalidTypeException)
            {
                Logger.Warn(invalidTypeException);
                return(string.Format(
                           RubberduckUI.RefactoringFailure_AnnotateDeclaration_InvalidType,
                           invalidTypeException.TargetDeclaration.DeclarationType.ToLocalizedString()));
            }

            return(base.Message(exception));
        }
예제 #3
0
        protected override string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case InvalidDeclarationTypeException invalidDeclarationType:
                Logger.Warn(invalidDeclarationType);
                return(string.Format(Resources.RubberduckUI.RefactoringFailure_InvalidDeclarationType,
                                     invalidDeclarationType.TargetDeclaration.QualifiedModuleName,
                                     invalidDeclarationType.TargetDeclaration.DeclarationType,
                                     DeclarationType.Parameter));

            default:
                return(base.Message(exception));
            }
        }
예제 #4
0
        protected override string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case TargetDeclarationConflictsWithPreexistingDeclaration conflictWithPreexistingDeclaration:
                Logger.Warn(conflictWithPreexistingDeclaration);
                return(string.Format(Resources.RubberduckUI.MoveCloserToUsageFailure_ReferencingMethodHasSameNameDeclarationInScope,
                                     conflictWithPreexistingDeclaration.TargetDeclaration.QualifiedName,
                                     conflictWithPreexistingDeclaration.ConflictingDeclaration.QualifiedName));

            case TargetDeclarationNonPrivateInNonStandardModule nonPrivateInNonStandardModule:
                Logger.Warn(nonPrivateInNonStandardModule);
                return(string.Format(Resources.RubberduckUI.MoveCloserToUsageFailure_TargetIsNonPrivateInNonStandardModule,
                                     nonPrivateInNonStandardModule.TargetDeclaration.QualifiedName));

            case TargetDeclarationInDifferentNonStandardModuleException inDifferentNonStandardModule:
                Logger.Warn(inDifferentNonStandardModule);
                return(string.Format(Resources.RubberduckUI.MoveCloserToUsageFailure_TargetIsInOtherNonStandardModule,
                                     inDifferentNonStandardModule.TargetDeclaration.QualifiedName));

            case TargetDeclarationInDifferentProjectThanUses inDifferentProject:
                Logger.Warn(inDifferentProject);
                return(string.Format(Resources.RubberduckUI.MoveCloserToUsageFailure_TargetIsInDifferentProject,
                                     inDifferentProject.TargetDeclaration.QualifiedName));

            case TargetDeclarationUsedInMultipleMethodsException usedInMultiple:
                Logger.Warn(usedInMultiple);
                return(string.Format(Resources.RubberduckUI.MoveCloserToUsageFailure_TargetIsUsedInMultipleMethods,
                                     usedInMultiple.TargetDeclaration.QualifiedName));

            case TargetDeclarationNotUserDefinedException notUsed:
                Logger.Warn(notUsed);
                return(string.Format(Resources.RubberduckUI.MoveCloserToUsageFailure_TargetHasNoReferences,
                                     notUsed.TargetDeclaration.QualifiedName));

            case InvalidDeclarationTypeException invalidDeclarationType:
                Logger.Warn(invalidDeclarationType);
                return(string.Format(Resources.RubberduckUI.RefactoringFailure_InvalidDeclarationType,
                                     invalidDeclarationType.TargetDeclaration.QualifiedModuleName,
                                     invalidDeclarationType.TargetDeclaration.DeclarationType,
                                     DeclarationType.Variable));

            default:
                return(base.Message(exception));
            }
        }
        protected override string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case CodeModuleNotFoundException codeModuleNotFound:
                Logger.Warn(codeModuleNotFound);
                return(string.Format(Resources.RubberduckUI.RenameFailure_TargetModuleWithoutCodeModule, codeModuleNotFound.TargetDeclaration.QualifiedModuleName));

            case TargetControlNotFoundException controlNotFound:
                Logger.Warn(controlNotFound);
                return(string.Format(Resources.RubberduckUI.RenameFailure_TargetControlNotFound, controlNotFound.TargetDeclaration.QualifiedName));

            case TargetDeclarationIsStandardEventHandlerException standardHandler:
                return(string.Format(Resources.RubberduckUI.RenameFailure_StandardEventHandler, standardHandler.TargetDeclaration.QualifiedName));

            default:
                return(base.Message(exception));
            }
        }
예제 #6
0
        protected override string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case NoImplementsStatementSelectedException noImplementsStatementSelected:
                Logger.Warn(noImplementsStatementSelected);
                return(Resources.RubberduckUI.ImplementInterfaceFailed_NoImplementsStatementSelected);

            case InvalidDeclarationTypeException invalidDeclarationType:
                Logger.Warn(invalidDeclarationType);
                return(string.Format(Resources.RubberduckUI.RefactoringFailure_InvalidDeclarationType,
                                     invalidDeclarationType.TargetDeclaration.QualifiedModuleName,
                                     invalidDeclarationType.TargetDeclaration.DeclarationType,
                                     DeclarationType.ClassModule));

            default:
                return(base.Message(exception));
            }
        }
        protected override string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case TargetDeclarationIsNotContainedInAMethodException targetNotInMethod:
                Logger.Warn(targetNotInMethod);
                return(string.Format(Resources.RubberduckUI.IntroduceParameterFailed_TargetNotContainedInMethod,
                                     targetNotInMethod.TargetDeclaration.QualifiedName));

            case InvalidDeclarationTypeException invalidDeclarationType:
                Logger.Warn(invalidDeclarationType);
                return(string.Format(Resources.RubberduckUI.RefactoringFailure_InvalidDeclarationType,
                                     invalidDeclarationType.TargetDeclaration.QualifiedModuleName,
                                     invalidDeclarationType.TargetDeclaration.DeclarationType,
                                     DeclarationType.Variable));

            default:
                return(base.Message(exception));
            }
        }
        protected override string Message(RefactoringException exception)
        {
            switch (exception)
            {
            case TargetIsAlreadyAFieldException isAlreadyAField:
                Logger.Warn(isAlreadyAField);
                return(string.Format(Resources.RubberduckUI.IntroduceFieldFailed_TargetIsAlreadyAField,
                                     isAlreadyAField.TargetDeclaration.QualifiedName));

            case InvalidDeclarationTypeException invalidDeclarationType:
                Logger.Warn(invalidDeclarationType);
                return(string.Format(Resources.RubberduckUI.RefactoringFailure_InvalidDeclarationType,
                                     invalidDeclarationType.TargetDeclaration.QualifiedModuleName,
                                     invalidDeclarationType.TargetDeclaration.DeclarationType,
                                     DeclarationType.Variable));

            default:
                return(base.Message(exception));
            }
        }
        public void Notify(RefactoringException exception)
        {
            var message = $"{Resources.RubberduckUI.RefactoringFailure_BaseMessage}{Environment.NewLine}{Environment.NewLine}{Message(exception)}";

            _messageBox.NotifyWarn(message, Caption);
        }