private RefactoringStatus checkExpressionFragmentIsRValue() throws JavaModelException { /* Moved this functionality to Checks, to allow sharing with ExtractTempRefactoring, others */ switch (Checks.checkExpressionIsRValue(getSelectedExpression().getAssociatedExpression())) { case Checks.NOT_RVALUE_MISC: return RefactoringStatus.createStatus( RefactoringStatus.FATAL, RefactoringCoreMessages.ExtractConstantRefactoring_select_expression, null, Corext.getPluginId(), RefactoringStatusCodes.EXPRESSION_NOT_RVALUE, null); case Checks.NOT_RVALUE_VOID: return RefactoringStatus.createStatus( RefactoringStatus.FATAL, RefactoringCoreMessages.ExtractConstantRefactoring_no_void, null, Corext.getPluginId(), RefactoringStatusCodes.EXPRESSION_NOT_RVALUE_VOID, null); case Checks.IS_RVALUE_GUESSED: case Checks.IS_RVALUE: return new RefactoringStatus(); default: Assert.isTrue(false); return null; } }
public void testCheckAmbiguityInRoleMethodSpec3() throws Exception { // check ambiguous role method specifier in callout binding of T3.R2 RefactoringStatus expected = RefactoringUtil.addAmbiguityFatalError(null, new ExtractMethodAmbuguityMsgCreator()); RefactoringStatus actual = RefactoringUtil.checkForAmbiguousRoleMethodSpecs( _t3r2, "m", new ExtractMethodAmbuguityMsgCreator()); assertEquals(expected.getSeverity(), actual.getSeverity()); assertNotNull( expected.getEntryMatchingCode( Corext.getPluginId(), OTRefactoringStatusCodes.AMBIGUOUS_METHOD_SPECIFIER)); assertNotNull( actual.getEntryMatchingCode( Corext.getPluginId(), OTRefactoringStatusCodes.AMBIGUOUS_METHOD_SPECIFIER)); }
public void testCheckAmbiguityInBaseMethodSpec2() throws Exception { // check ambiguous base method specifier in callout binding of T3.R2 RefactoringStatus expected = RefactoringUtil.addAmbiguityFatalError(null, new ExtractMethodAmbuguityMsgCreator()); ArrayList<IRoleType> boundRole = new ArrayList<IRoleType>(); boundRole.add(_t3r2); RefactoringStatus actual = RefactoringUtil.checkForAmbiguousBaseMethodSpecs( boundRole, "f", "", new ExtractMethodAmbuguityMsgCreator()); assertEquals(expected.getSeverity(), actual.getSeverity()); assertNotNull( expected.getEntryMatchingCode( Corext.getPluginId(), OTRefactoringStatusCodes.AMBIGUOUS_METHOD_SPECIFIER)); assertNotNull( actual.getEntryMatchingCode( Corext.getPluginId(), OTRefactoringStatusCodes.AMBIGUOUS_METHOD_SPECIFIER)); }
/* test overloading of private base method */ public void testCheckOverloading9() throws Exception { // focus type -> C ICompilationUnit cu = _c.getCompilationUnit(); int[] selection = getSelection(cu.getSource()); _refactoring = new ExtractMethodRefactoring(cu, selection[0], selection[1]); _refactoring.setMethodName("n"); _refactoring.setVisibility(Modifier.PRIVATE); _refactoring.checkInitialConditions(new NullProgressMonitor()); IMethod[] inheritedMethods = RefactoringUtil.getInheritedMethods(_c, true, true, false, null); RefactoringStatus expected = RefactoringUtil.addOverloadingWarning(new ExtractMethodOverloadingMsgCreator()); RefactoringStatus actual = RefactoringUtil.checkOverloading( inheritedMethods, _refactoring.getMethodName(), fetchNewParameterTypes(), new ExtractMethodOverloadingMsgCreator()); assertEquals(expected.getSeverity(), actual.getSeverity()); assertNotNull( expected.getEntryMatchingCode(Corext.getPluginId(), OTRefactoringStatusCodes.OVERLOADING)); assertNotNull( actual.getEntryMatchingCode(Corext.getPluginId(), OTRefactoringStatusCodes.OVERLOADING)); }