mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEA-82125: do not override @Nullable with @NotNull in complex hierarchies
This commit is contained in:
+11
-11
@@ -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 {
|
||||
}
|
||||
Reference in New Issue
Block a user