introduce field: selected type should be used instead of local variable type

This commit is contained in:
anna
2010-05-21 11:40:03 +04:00
parent 55590c7a3c
commit b594f2d5a7
7 changed files with 57 additions and 8 deletions

View File

@@ -1,5 +1,7 @@
package com.intellij.refactoring;
import com.intellij.psi.PsiPrimitiveType;
import com.intellij.psi.PsiType;
import com.intellij.refactoring.introduceField.BaseExpressionToFieldHandler;
import com.intellij.testFramework.LightCodeInsightTestCase;
import com.intellij.JavaTestUtil;
@@ -34,4 +36,15 @@ public class IntroduceFieldInSameClassTest extends LightCodeInsightTestCase {
private static void performRefactoring(final BaseExpressionToFieldHandler.InitializationPlace initializationPlace, final boolean declareStatic) {
new MockIntroduceFieldHandler(initializationPlace, declareStatic).invoke(getProject(), myEditor, myFile, null);
}
public void testForcedFieldType() throws Exception {
configureByFile("/refactoring/introduceField/beforeForcedFieldType.java");
new MockIntroduceFieldHandler(BaseExpressionToFieldHandler.InitializationPlace.IN_CURRENT_METHOD, false){
@Override
protected PsiType getFieldType(PsiType type) {
return PsiPrimitiveType.INT;
}
}.invoke(getProject(), myEditor, myFile, null);
checkResultByFile("/refactoring/introduceField/afterForcedFieldType.java");
}
}