HEAD - 138577
diff --git a/buildnotes_jdt-core.html b/buildnotes_jdt-core.html
index e176afe..9fbde9f 100644
--- a/buildnotes_jdt-core.html
+++ b/buildnotes_jdt-core.html
@@ -51,7 +51,9 @@
<h2>What's new in this drop</h2>
<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139937">139937</a>
+<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138577">138577</a>
+Package content disapear in package explorer
+<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139937">139937</a>
CompletionContext not automatically accepted when using IEvaluationContext
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139689">139689</a>
NPE in packages explorer
diff --git a/model/org/eclipse/jdt/internal/core/PackageFragment.java b/model/org/eclipse/jdt/internal/core/PackageFragment.java
index e4bcaba..cc67493 100644
--- a/model/org/eclipse/jdt/internal/core/PackageFragment.java
+++ b/model/org/eclipse/jdt/internal/core/PackageFragment.java
@@ -65,8 +65,12 @@
// check whether this pkg can be opened
if (!underlyingResource.isAccessible()) throw newNotPresentException();
-
+
+ // check that it is not excluded (https://bugs.eclipse.org/bugs/show_bug.cgi?id=138577)
int kind = getKind();
+ if (kind == IPackageFragmentRoot.K_SOURCE && Util.isExcluded(this))
+ throw newNotPresentException();
+
// add compilation units/class files from resources
HashSet vChildren = new HashSet();
@@ -162,6 +166,11 @@
return Util.equalArraysOrNull(this.names, other.names) &&
this.parent.equals(other.parent);
}
+public boolean exists() {
+ // super.exist() only checks for the parent and the resource existence
+ // so also ensure that the package is not exceluded (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=138577)
+ return super.exists() && !Util.isExcluded(this);
+}
/**
* @see IPackageFragment#getClassFile(String)
* @exception IllegalArgumentException if the name does not end with ".class"