Skip to content

Commit beddaf0

Browse files
authored
Merge pull request #8975 from lahodaj/import-module-keyword
Highlight 'module' in 'import module' as keyword.
2 parents 9277a63 + 446106b commit beddaf0

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

java/java.editor.base/src/org/netbeans/modules/java/editor/base/semantic/SemanticHighlighterBase.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.sun.source.tree.ExportsTree;
2626
import com.sun.source.tree.ExpressionStatementTree;
2727
import com.sun.source.tree.IdentifierTree;
28+
import com.sun.source.tree.ImportTree;
2829
import com.sun.source.tree.LiteralTree;
2930
import com.sun.source.tree.MemberReferenceTree;
3031
import com.sun.source.tree.MemberSelectTree;
@@ -1052,6 +1053,21 @@ public Void visitLiteral(LiteralTree node, Void p) {
10521053
return super.visitLiteral(node, p);
10531054
}
10541055

1056+
@Override
1057+
public Void visitImport(ImportTree node, Void p) {
1058+
if (node.isModule()) {
1059+
int startPos =
1060+
(int) info.getTrees().getSourcePositions().getStartPosition(info.getCompilationUnit(), node);
1061+
1062+
tl.moveToOffset(startPos);
1063+
Token t = firstIdentifierToken("module");// NOI18N
1064+
if (tl != null) {
1065+
contextKeywords.add(t);
1066+
}
1067+
}
1068+
return super.visitImport(node, p);
1069+
}
1070+
10551071
@Override
10561072
public Void scan(Tree tree, Void p) {
10571073
if (tree != null && tree.getKind() == Kind.YIELD) {

java/java.editor.base/test/unit/src/org/netbeans/modules/java/editor/base/semantic/DetectorTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,17 @@ private void t(Object o) {
10901090
"[PARAMETER], 4:16-4:17");
10911091
}
10921092

1093+
public void testImportModule() throws Exception {
1094+
performTest("ImportModuleTest",
1095+
"""
1096+
import module java.base
1097+
public class ImportModuleTest {
1098+
}
1099+
""",
1100+
"[KEYWORD], 0:7-0:13",
1101+
"[PUBLIC, CLASS, DECLARATION], 1:13-1:29");
1102+
}
1103+
10931104
private void performTest(String fileName) throws Exception {
10941105
performTest(fileName, new Performer() {
10951106
public void compute(CompilationController parameter, Document doc, final ErrorDescriptionSetter setter) {

0 commit comments

Comments
 (0)