Java: Mark service implementations as used if the service declaration is used (IDEA-169204)

This commit is contained in:
Pavel Dolgov
2017-04-13 15:09:40 +03:00
parent 10922319b2
commit 1f663efcc3
14 changed files with 226 additions and 2 deletions
@@ -0,0 +1,8 @@
package my.impl;
import my.api.MyService;
public class MyServiceImpl implements MyService {
public MyServiceImpl() {}
@Override
public void foo() {}
}
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
</problems>
@@ -0,0 +1,7 @@
package my.impl;
import my.api.MyService;
public class MyServiceImpl implements MyService {
@Override
public void foo() {}
}
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
</problems>
@@ -0,0 +1,12 @@
package my.impl;
import my.api.MyService;
public class MyServiceImpl {
public static MyService provider() {
return new MyService() {
@Override
public void foo() {
}
};
}
}
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
</problems>
@@ -0,0 +1,8 @@
package my.impl;
import my.api.MyService;
public class MyServiceImpl implements MyService {
public MyServiceImpl() {}
@Override
public void foo() {}
}
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
<problem>
<file>MyServiceImpl.java</file>
<line>5</line>
<entry_point TYPE="java.module" FQNAME="M2" />
<problem_class severity="WARNING">unused</problem_class>
<description>Unused declaration</description>
</problem>
</problems>
@@ -0,0 +1,7 @@
package my.impl;
import my.api.MyService;
public class MyServiceImpl implements MyService {
@Override
public void foo() {}
}
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
<problem>
<file>MyServiceImpl.java</file>
<line>4</line>
<entry_point TYPE="java.module" FQNAME="M2" />
<problem_class severity="WARNING">unused</problem_class>
<description>Unused declaration</description>
</problem>
</problems>
@@ -0,0 +1,12 @@
package my.impl;
import my.api.MyService;
public class MyServiceImpl {
public static MyService provider() {
return new MyService() {
@Override
public void foo() {
}
};
}
}
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<problems>
<problem>
<file>MyServiceImpl.java</file>
<line>5</line>
<entry_point TYPE="java.module" FQNAME="M2" />
<problem_class severity="WARNING">unused</problem_class>
<description>Unused declaration</description>
</problem>
</problems>