summaryrefslogtreecommitdiff
path: root/plugins/InspectionGadgets/test/com/siyeh/igtest/memory/inner_class_may_be_static/InnerClassMayBeStatic.java
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/InspectionGadgets/test/com/siyeh/igtest/memory/inner_class_may_be_static/InnerClassMayBeStatic.java')
-rw-r--r--plugins/InspectionGadgets/test/com/siyeh/igtest/memory/inner_class_may_be_static/InnerClassMayBeStatic.java140
1 files changed, 140 insertions, 0 deletions
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/memory/inner_class_may_be_static/InnerClassMayBeStatic.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/memory/inner_class_may_be_static/InnerClassMayBeStatic.java
new file mode 100644
index 000000000000..dc0b97443b4e
--- /dev/null
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/memory/inner_class_may_be_static/InnerClassMayBeStatic.java
@@ -0,0 +1,140 @@
+package com.siyeh.igtest.memory.inner_class_may_be_static;
+
+import javax.swing.*;
+
+public class InnerClassMayBeStatic {
+ class <warning descr="Inner class 'Nested' may be 'static'">Nested</warning> {
+ public void foo() {
+ bar("InnerClassMayBeStaticInspection.this");
+ }
+
+ private void bar(String string) {
+ }
+ }
+}
+
+class IDEADEV_5513 {
+
+ private static class Inner {
+
+ private boolean b = false;
+
+ private class InnerInner {
+
+ public void foo() {
+ b = true;
+ }
+ }
+ }
+}
+
+class C extends JComponent {
+ private class I {
+ public void foo() {
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ repaint();
+ }
+ });
+ }
+ }
+}
+class D {
+
+ void foo() {
+ new Object() {
+ class Y {}
+ };
+ }
+}
+class StaticInnerClass {
+
+ private int foo;
+ int bar;
+
+ public class Baz extends StaticInnerClass {
+ Baz() {
+ foo = -1;
+ }
+ }
+ class <warning descr="Inner class 'C' may be 'static'">C</warning> extends StaticInnerClass {{
+ bar = 1;
+ }}
+}
+class SomeBeanUnitTest {
+
+ private class <warning descr="Inner class 'BeanCreator' may be 'static'">BeanCreator</warning> {
+
+ public BeanCreator withQuery() {
+ return null;
+ }
+ }
+}
+class Outer {
+ class <warning descr="Inner class 'A' may be 'static'">A</warning> { // may be static
+ B b;
+ }
+ class B extends A {} // may not be static
+
+ class <warning descr="Inner class 'C' may be 'static'">C</warning> { // may be static
+ D b;
+ class D extends C {}
+ }
+
+ static class E {
+ G.F b;
+ class <warning descr="Inner class 'G' may be 'static'">G</warning> { // may be static
+ class F extends E {}
+ }
+ }
+
+ class <warning descr="Inner class 'H' may be 'static'">H</warning> { // may be static
+ J.I b;
+ class J {
+ class I extends H {}
+ }
+ }
+}
+class Complex {
+ class C {
+ void m() {
+ Complex.super.toString();
+ }
+ }
+ int i;
+ static void n() {
+ }
+
+ private class <warning descr="Inner class 'A' may be 'static'">A</warning> {
+ private A() {
+ }
+ }
+
+ class <warning descr="Inner class 'B' may be 'static'">B</warning> {
+ }
+
+ class <warning descr="Inner class 'F' may be 'static'">F</warning> extends Complex {
+ class G {
+ }
+
+ {
+ A a = (A) null;
+ G g = (G) null;
+ new A() {};
+ new B();
+
+ i = 10;
+ new E().m();
+ Complex.n();
+ }
+
+ void m(A a) {
+ a.toString();
+ }
+
+ class E {
+ private void m() {
+ }
+ }
+ }
+}