diff --git a/java/java-psi-api/src/com/intellij/codeInsight/AnnotationTargetUtil.java b/java/java-psi-api/src/com/intellij/codeInsight/AnnotationTargetUtil.java index 6f48206a0c79..05b946491f42 100644 --- a/java/java-psi-api/src/com/intellij/codeInsight/AnnotationTargetUtil.java +++ b/java/java-psi-api/src/com/intellij/codeInsight/AnnotationTargetUtil.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2016 JetBrains s.r.o. + * Copyright 2000-2017 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,6 +45,7 @@ public class AnnotationTargetUtil { private static final TargetType[] FIELD_TARGETS = {TargetType.FIELD, TargetType.TYPE_USE}; private static final TargetType[] PARAMETER_TARGETS = {TargetType.PARAMETER, TargetType.TYPE_USE}; private static final TargetType[] LOCAL_VARIABLE_TARGETS = {TargetType.LOCAL_VARIABLE, TargetType.TYPE_USE}; + private static final TargetType[] MODULE_TARGETS = {TargetType.MODULE}; @NotNull public static TargetType[] getTargetsForLocation(@Nullable PsiAnnotationOwner owner) { @@ -107,6 +108,9 @@ public class AnnotationTargetUtil { if (element instanceof PsiReceiverParameter) { return TYPE_USE_TARGETS; } + if (element instanceof PsiJavaModule) { + return MODULE_TARGETS; + } } return TargetType.EMPTY_ARRAY; diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/module-info.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/module-info.java new file mode 100644 index 000000000000..9da527c4bab6 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/annotations/module-info.java @@ -0,0 +1 @@ +@Deprecated module M.M.M { } \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/AnnotationsHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/AnnotationsHighlightingTest.java index 87a29afac391..1af8334b0408 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/AnnotationsHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/AnnotationsHighlightingTest.java @@ -49,8 +49,8 @@ public class AnnotationsHighlightingTest extends LightDaemonAnalyzerTestCase { public void testEnumValues() { doTest(); } public void testReceiverParameters() { doTest(); } public void testAnnotationOverIncompleteCode() { doTest(); } + public void testModuleAnnotation() { setLanguageLevel(LanguageLevel.JDK_1_9); doTest("module-info.java"); } - private void doTest() { - doTest(BASE_PATH + "/" + getTestName(true) + ".java", false, false); - } + private void doTest() { doTest(getTestName(true) + ".java"); } + private void doTest(String name) { doTest(BASE_PATH + "/" + name, false, false); } } \ No newline at end of file diff --git a/java/mockJDK-1.8/jre/lib/rt.jar b/java/mockJDK-1.8/jre/lib/rt.jar index 405e80298239..13a2d8bd9b93 100644 Binary files a/java/mockJDK-1.8/jre/lib/rt.jar and b/java/mockJDK-1.8/jre/lib/rt.jar differ