Add file parameter to Transformer

This commit is contained in:
Alexey Sedunov
2013-06-07 15:40:12 +04:00
parent 857ba92996
commit 70b4fb48bc
9 changed files with 25 additions and 16 deletions
@@ -26,6 +26,7 @@ import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetElement;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetPsiUtil;
import org.jetbrains.jet.plugin.JetBundle;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.core.Transformer;
@@ -63,6 +64,6 @@ public abstract class AbstractCodeTransformationIntention<T extends Transformer>
assert target != null : "Intention is not applicable";
transformer.transform(target, editor);
transformer.transform(target, editor, (JetFile) file);
}
}
@@ -19,6 +19,7 @@ package org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransfo
import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetIfExpression;
import org.jetbrains.jet.lang.psi.JetWhenExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.core.Transformer;
@@ -26,31 +27,31 @@ import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransfor
public enum FoldableKind implements Transformer {
IF_TO_ASSIGNMENT("fold.if.to.assignment") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
BranchedFoldingUtils.foldIfExpressionWithAssignments((JetIfExpression) element);
}
},
IF_TO_RETURN("fold.if.to.return") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
BranchedFoldingUtils.foldIfExpressionWithReturns((JetIfExpression) element);
}
},
IF_TO_RETURN_ASYMMETRICALLY("fold.if.to.return") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
BranchedFoldingUtils.foldIfExpressionWithAsymmetricReturns((JetIfExpression) element);
}
},
WHEN_TO_ASSIGNMENT("fold.when.to.assignment") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
BranchedFoldingUtils.foldWhenExpressionWithAssignments((JetWhenExpression) element);
}
},
WHEN_TO_RETURN("fold.when.to.return") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
BranchedFoldingUtils.foldWhenExpressionWithReturns((JetWhenExpression) element);
}
};
@@ -20,31 +20,32 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetBinaryExpression;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetReturnExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.core.Transformer;
public enum UnfoldableKind implements Transformer {
ASSIGNMENT_TO_IF("unfold.assignment.to.if") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, JetFile file) {
BranchedUnfoldingUtils.unfoldAssignmentToIf((JetBinaryExpression) element, editor);
}
},
RETURN_TO_IF("unfold.return.to.if") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, JetFile file) {
BranchedUnfoldingUtils.unfoldReturnToIf((JetReturnExpression) element);
}
},
ASSIGNMENT_TO_WHEN("unfold.assignment.to.when") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, JetFile file) {
BranchedUnfoldingUtils.unfoldAssignmentToWhen((JetBinaryExpression) element, editor);
}
},
RETURN_TO_WHEN("unfold.return.to.when") {
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, JetFile file) {
BranchedUnfoldingUtils.unfoldReturnToWhen((JetReturnExpression) element);
}
};
@@ -19,9 +19,10 @@ package org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransfo
import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.psi.JetFile;
public interface Transformer {
@NotNull
String getKey();
void transform(@NotNull PsiElement element, @NotNull Editor editor);
void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file);
}
@@ -5,6 +5,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetWhenExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.AbstractCodeTransformationIntention;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.WhenUtils;
@@ -19,7 +20,7 @@ public class EliminateWhenSubjectIntention extends AbstractCodeTransformationInt
}
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
WhenUtils.eliminateWhenSubject((JetWhenExpression) element);
}
};
@@ -5,6 +5,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetWhenExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.AbstractCodeTransformationIntention;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.WhenUtils;
@@ -19,7 +20,7 @@ public class FlattenWhenIntention extends AbstractCodeTransformationIntention<Tr
}
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
WhenUtils.flattenWhen((JetWhenExpression) element);
}
};
@@ -5,6 +5,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetIfExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.AbstractCodeTransformationIntention;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.IfWhenUtils;
@@ -19,7 +20,7 @@ public class IfToWhenIntention extends AbstractCodeTransformationIntention<Trans
}
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
IfWhenUtils.transformIfToWhen((JetIfExpression) element);
}
};
@@ -5,6 +5,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetWhenExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.AbstractCodeTransformationIntention;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.WhenUtils;
@@ -19,7 +20,7 @@ public class IntroduceWhenSubjectIntention extends AbstractCodeTransformationInt
}
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
WhenUtils.introduceWhenSubject((JetWhenExpression) element);
}
};
@@ -21,6 +21,7 @@ import com.intellij.openapi.editor.Editor;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetWhenExpression;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.AbstractCodeTransformationIntention;
import org.jetbrains.jet.plugin.codeInsight.codeTransformations.branchedTransformations.IfWhenUtils;
@@ -35,7 +36,7 @@ public class WhenToIfIntention extends AbstractCodeTransformationIntention<Trans
}
@Override
public void transform(@NotNull PsiElement element, @NotNull Editor editor) {
public void transform(@NotNull PsiElement element, @NotNull Editor editor, @NotNull JetFile file) {
IfWhenUtils.transformWhenToIf((JetWhenExpression) element);
}
};