Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/previewfeature/CallConstructorWithPreviewFeature.java
Nikita Eshkeev 4d0743574a [codeInsight] IDEA-244252 IDEA shows no error for @PreviewFeature
This patch fixes the problems with reporting errors when:

- a class that is annotated with PreviewFeature instantiated;
- a method that is annotated with PreviewFeature used in a method reference;
- a class or an interface that is annotated with PreviewFeature is inherited

Signed-off-by: Nikita Eshkeev <nikita.eshkeev@jetbrains.com>

GitOrigin-RevId: 586caeddae4446ad398878e0bd4bf66858e4518c
2020-06-30 17:07:59 +00:00

34 lines
1.2 KiB
Java

import jdk.internal.PreviewFeature;
import jdk.internal.PreviewFeature.Feature;
class Main {
@PreviewFeature(feature=Feature.PATTERN_MATCHING_IN_INSTANCEOF)
Main(){}
@PreviewFeature(feature=Feature.RECORDS)
Main(long i){}
@PreviewFeature(feature=Feature.TEXT_BLOCKS)
Main(String s){}
Main(int i){}
static {
<error descr="Patterns in 'instanceof' are not supported at language level '9'">new Main()</error>;
<error descr="Records are not supported at language level '9'">new Main(42l)</error>;
<error descr="Text block literals are not supported at language level '9'">new Main("42")</error>;
new Main(42);
new <error descr="Patterns in 'instanceof' are not supported at language level '9'">org.myorg.preview.FromPreview</error>() {
public void g(){}
};
new <error descr="Text block literals are not supported at language level '9'">NotDirectlyAnnotatedConstructor</error>();
<error descr="Text block literals are not supported at language level '9'">new DirectlyAnnotatedConstructor()</error>;
}
}
@PreviewFeature(feature=Feature.TEXT_BLOCKS)
class NotDirectlyAnnotatedConstructor { }
class DirectlyAnnotatedConstructor {
@PreviewFeature(feature=Feature.TEXT_BLOCKS)
DirectlyAnnotatedConstructor() {}
}