You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by sk...@apache.org on 2022/04/28 20:58:50 UTC
[netbeans] branch delivery updated: Prevent Type.Unknown to be cast to ClassType in VanilaCompileWorker
This is an automated email from the ASF dual-hosted git repository.
skygo pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/delivery by this push:
new 9e08ff4525 Prevent Type.Unknown to be cast to ClassType in VanilaCompileWorker
new 4fe9e203af Merge pull request #4036 from lkishalmi/prevent-cce-in-vanilacompileworker
9e08ff4525 is described below
commit 9e08ff452522fa003c63e15252cb149c65c342c7
Author: Laszlo Kishalmi <la...@gmail.com>
AuthorDate: Tue Apr 26 20:52:08 2022 -0700
Prevent Type.Unknown to be cast to ClassType in VanilaCompileWorker
---
.../modules/java/source/indexing/VanillaCompileWorker.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
index d35cf64e86..a019f79907 100644
--- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
+++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java
@@ -690,6 +690,11 @@ final class VanillaCompileWorker extends CompileWorker {
//likely a duplicate of another class, don't touch:
return null;
}
+ if (isOtherClass(csym)) {
+ // Something went somewhere the csym.type is Type.Unknown,
+ // do not go any further
+ return null;
+ }
currentClass = csym;
Type.ClassType ct = (Type.ClassType) csym.type;
if (csym == syms.objectType.tsym) {
@@ -1049,9 +1054,14 @@ final class VanillaCompileWorker extends CompileWorker {
}
return isErroneousClass(((JCClassDecl) tree).sym);
}
+
private boolean isErroneousClass(Element el) {
return el instanceof ClassSymbol && (((ClassSymbol) el).asType() == null || ((ClassSymbol) el).asType().getKind() == TypeKind.ERROR);
}
+ private boolean isOtherClass(Element el) {
+ return el instanceof ClassSymbol && (((ClassSymbol) el).asType() == null || ((ClassSymbol) el).asType().getKind() == TypeKind.OTHER);
+ }
+
public static Function<Diagnostic<?>, String> DIAGNOSTIC_TO_TEXT = d -> d.getMessage(null);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists