mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-15 11:58:18 +07:00
java sealed types: permits list highlighting (IDEA-243471)
GitOrigin-RevId: ca4b23403d6926d1c093eb0e2774020a98d83773
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a4146e3008
commit
f1d7de98ed
+20
@@ -0,0 +1,20 @@
|
||||
package p;
|
||||
interface I0 <error descr="Invalid permits clause: 'I0' must be sealed">permits</error> I {}
|
||||
|
||||
sealed interface I extends I0 permits <error descr="Cannot resolve symbol 'Unresolved'">Unresolved</error>, <error descr="Duplicate class: 'p.I1'">I1</error>, <error descr="Duplicate class: 'p.I1'">I1</error>{}
|
||||
non-sealed interface I1 extends I {}
|
||||
|
||||
sealed interface <error descr="Sealed class must have subclasses">A</error> {}
|
||||
class Usage {
|
||||
{
|
||||
class Local implements <error descr="Local classes must not extend sealed classes">A</error> {}
|
||||
A a = new <error descr="Anonymous classes must not extend sealed classes">A</error>() {};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sealed interface Indirect permits <error descr="Invalid permits clause: 'IndirectInheritor' must directly implement 'Indirect'">IndirectInheritor</error>, MiddleMan {}
|
||||
non-sealed interface MiddleMan extends Indirect {}
|
||||
final class IndirectInheritor implements MiddleMan {}
|
||||
|
||||
sealed class AnotherPackage permits <error descr="Class is not allowed to extend sealed class from another package">p1.P1</error> {}
|
||||
Reference in New Issue
Block a user