Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ModularClassFile.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ModularClassFile.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ModularClassFile.java
index 3c5eb1fdcb..277a219daf 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ModularClassFile.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ModularClassFile.java
@@ -304,4 +304,19 @@ public class ModularClassFile extends AbstractClassFile implements IModularClass
}
return module;
}
+
+ private static final JavaElementInfo notExists = new JavaElementInfo();
+
+ @Override
+ public boolean exists() {
+ Object info = JavaModelManager.getJavaModelManager().getInfo(this);
+ if (info == notExists)
+ return false;
+ if (info != null)
+ return true;
+ boolean exists = super.exists();
+ if (!exists)
+ JavaModelManager.getJavaModelManager().putInfos(this, notExists, false, Map.of(this, notExists));
+ return exists;
+ }
}

Back to the top