mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-04 17:20:55 +07:00
inline method: do not conflict inline super expr inside inner class
This commit is contained in:
@@ -145,7 +145,14 @@ public class InlineMethodProcessor extends BaseRefactoringProcessor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addInaccessibleSuperCallsConflicts(final UsageInfo[] usagesIn, final MultiMap<PsiElement, String> conflicts) {
|
private void addInaccessibleSuperCallsConflicts(final UsageInfo[] usagesIn, final MultiMap<PsiElement, String> conflicts) {
|
||||||
|
|
||||||
myMethod.accept(new JavaRecursiveElementWalkingVisitor(){
|
myMethod.accept(new JavaRecursiveElementWalkingVisitor(){
|
||||||
|
@Override
|
||||||
|
public void visitClass(PsiClass aClass) {}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void visitAnonymousClass(PsiAnonymousClass aClass) {}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void visitSuperExpression(PsiSuperExpression expression) {
|
public void visitSuperExpression(PsiSuperExpression expression) {
|
||||||
super.visitSuperExpression(expression);
|
super.visitSuperExpression(expression);
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
public class Usage {
|
||||||
|
void foo() {
|
||||||
|
b<caret>ar();
|
||||||
|
}
|
||||||
|
|
||||||
|
void bar() {
|
||||||
|
new W() {
|
||||||
|
protected void www() {
|
||||||
|
super.www();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class W {
|
||||||
|
protected void www() {}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
public class Usage {
|
||||||
|
void foo() {
|
||||||
|
new W() {
|
||||||
|
protected void www() {
|
||||||
|
super.www();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class W {
|
||||||
|
protected void www() {}
|
||||||
|
}
|
||||||
@@ -147,6 +147,10 @@ public class InlineMethodTest extends LightCodeInsightTestCase {
|
|||||||
doTest();
|
doTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testWithSuperInside() throws Exception {
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Sdk getProjectJDK() {
|
protected Sdk getProjectJDK() {
|
||||||
return JavaSdkImpl.getMockJdk15("java 1.5");
|
return JavaSdkImpl.getMockJdk15("java 1.5");
|
||||||
|
|||||||
Reference in New Issue
Block a user