Files
openide/plugins/devkit/devkit-java-tests/testData/inspections/statefulEp/CapturedFromOuterClass.java
Karol Lewandowski 73412b84ed IDEA-316821: Support anonymous/inner class fields captured from context in StatefulEpInspection for Kotlin code
GitOrigin-RevId: 7f211c1b5bca9bdcb1f5281cd6717ad58f3751c3
2023-04-18 17:47:46 +00:00

49 lines
1.8 KiB
Java

import com.intellij.psi.PsiElement;
import com.intellij.codeInspection.LocalQuickFix;
import com.intellij.psi.PsiReference;
import com.intellij.openapi.project.Project;
public class CapturedFromOuterClass implements LocalQuickFix {
final PsiElement <warning descr="Potential memory leak: don't hold PsiElement, use SmartPsiElementPointer instead. See also LocalQuickFixOnPsiElement.">pe</warning>;
final PsiReference <warning descr="Do not use PsiReference as a field in quick-fix">r</warning>;
Project <warning descr="Do not use Project as a field in quick-fix">p</warning>;
final Project pf;
public CapturedFromOuterClass(PsiElement a, String b) {
pe = null;
r = null;
p = pf = null;
LocalQuickFix fix = new LocalQuickFix() {
private void a(PsiElement a1, String b1) {
System.out.println(<warning descr="Potential memory leak: don't hold PsiElement, use SmartPsiElementPointer instead. See also LocalQuickFixOnPsiElement.">a</warning>);
System.out.println(b);
System.out.println(a1);
System.out.println(b1);
}
};
PsiElement notFix = new PsiElement() {
private void a(PsiElement a1, String b1) {
System.out.println(a);
System.out.println(b);
System.out.println(a1);
System.out.println(b1);
}
};
}
public void test(PsiElement a, String b) {
class B implements LocalQuickFix {
B(PsiElement aa) {
}
private void a(PsiElement a1, String b1) {
System.out.println(<warning descr="Potential memory leak: don't hold PsiElement, use SmartPsiElementPointer instead. See also LocalQuickFixOnPsiElement.">a</warning>);
System.out.println(b);
System.out.println(a1);
System.out.println(b1);
}
};
B b1 = new B(a) {};
}
}