mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract light method object: make all private file members public to ensure direct access from 'magic' inner class
This commit is contained in:
+21
@@ -34,6 +34,7 @@ import com.intellij.refactoring.util.VariableData;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.VisibilityUtil;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -148,6 +149,26 @@ public class ExtractLightMethodObjectHandler {
|
||||
PsiStatement outStatement = elementFactory.createStatementFromText("System.out.println(" + outputVariables + ");", anchor);
|
||||
outStatement = (PsiStatement)container.addAfter(outStatement, elementsCopy[elementsCopy.length - 1]);
|
||||
|
||||
copy.accept(new JavaRecursiveElementWalkingVisitor() {
|
||||
private void makePublic(PsiMember method) {
|
||||
if (method.hasModifierProperty(PsiModifier.PRIVATE)) {
|
||||
VisibilityUtil.setVisibility(method.getModifierList(), PsiModifier.PUBLIC);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitMethod(PsiMethod method) {
|
||||
super.visitMethod(method);
|
||||
makePublic(method);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visitField(PsiField field) {
|
||||
super.visitField(field);
|
||||
makePublic(field);
|
||||
}
|
||||
});
|
||||
|
||||
final ExtractMethodObjectProcessor extractMethodObjectProcessor = new ExtractMethodObjectProcessor(project, null, elementsCopy, "") {
|
||||
@Override
|
||||
protected AbstractExtractDialog createExtractMethodObjectDialog(MyExtractMethodProcessor processor) {
|
||||
|
||||
@@ -19,7 +19,7 @@ class Sample {
|
||||
System.out.println("<caret>");
|
||||
}
|
||||
|
||||
int foo() {
|
||||
private int foo() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user