IDEA-82125: do not override @Nullable with @NotNull in complex hierarchies

This commit is contained in:
anna
2012-07-12 14:15:21 +02:00
parent 83e1991183
commit 0f2c21ee90
3 changed files with 35 additions and 12 deletions
@@ -2,42 +2,42 @@
<problems>
<problem>
<file>Test.java</file>
<line>17</line>
<line>18</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Not annotated method overrides method annotated with @NotNull</description>
</problem>
<problem>
<file>Test.java</file>
<line>17</line>
<line>18</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Not annotated parameter overrides @NotNull parameter</description>
</problem>
<problem>
<file>Test.java</file>
<line>4</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Overridden methods are not annotated</description>
</problem>
<problem>
<file>Test.java</file>
<line>5</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Overridden methods are not annotated</description>
</problem>
<problem>
<file>Test.java</file>
<line>6</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Overridden method parameters are not annotated</description>
</problem>
<problem>
<file>Test.java</file>
<line>11</line>
<line>12</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Not annotated method overrides method annotated with @NotNull</description>
</problem>
<problem>
<file>Test.java</file>
<line>11</line>
<line>12</line>
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">@NotNull/@Nullable problems</problem_class>
<description>Not annotated parameter overrides @NotNull parameter</description>
</problem></problems>
@@ -1,4 +1,5 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
abstract class P2 {
@NotNull
@@ -29,3 +30,24 @@ class FooImpl extends java.awt.Frame implements Foo {
// return super.getTitle(); //To change body of overridden methods use File | Settings | File Templates.
// }
}
interface I1 {
@Nullable
Object foo();
}
interface I2 extends I1 {
@NotNull
Object foo();
}
class A implements I1 {
@Override
public Object foo() {
// returns something
}
}
class B extends A implements I2 {
}