Lines 36-42
public abstract class JavaModelListener implements IElementChangedListener {
Link Here
|
36 |
* |
36 |
* |
37 |
* @since 1.2.0 |
37 |
* @since 1.2.0 |
38 |
*/ |
38 |
*/ |
39 |
private HashMap resolvedContainers = new HashMap(); |
|
|
40 |
public JavaModelListener() { |
39 |
public JavaModelListener() { |
41 |
this(ElementChangedEvent.POST_CHANGE); |
40 |
this(ElementChangedEvent.POST_CHANGE); |
42 |
} |
41 |
} |
Lines 102-112
public abstract class JavaModelListener implements IElementChangedListener {
Link Here
|
102 |
*/ |
101 |
*/ |
103 |
public void processDelta(IJavaElementDelta delta) { |
102 |
public void processDelta(IJavaElementDelta delta) { |
104 |
IJavaElement element = delta.getElement(); |
103 |
IJavaElement element = delta.getElement(); |
105 |
// if the class path has changed we refresh the resolved container cache |
|
|
106 |
int flags= delta.getFlags(); |
107 |
if (((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) && !resolvedContainers.isEmpty()){ |
108 |
resolvedContainers.clear(); |
109 |
} |
110 |
|
104 |
|
111 |
switch (element.getElementType()) { |
105 |
switch (element.getElementType()) { |
112 |
case IJavaElement.JAVA_MODEL: |
106 |
case IJavaElement.JAVA_MODEL: |
Lines 356-368
public abstract class JavaModelListener implements IElementChangedListener {
Link Here
|
356 |
} |
350 |
} |
357 |
if (container == null || container.getKind() != IClasspathContainer.K_APPLICATION) |
351 |
if (container == null || container.getKind() != IClasspathContainer.K_APPLICATION) |
358 |
break; |
352 |
break; |
359 |
//First see if we already resolved |
353 |
IClasspathEntry[] containerEntries = container.getClasspathEntries(); |
360 |
IClasspathEntry[] containerEntries = null; |
|
|
361 |
containerEntries = (IClasspathEntry[])resolvedContainers.get(container); |
362 |
if (containerEntries == null) { |
363 |
containerEntries = container.getClasspathEntries(); |
364 |
resolvedContainers.put(container, containerEntries); |
365 |
} |
366 |
for (int j = 0; j < containerEntries.length; j++) { |
354 |
for (int j = 0; j < containerEntries.length; j++) { |
367 |
if (containerEntries[j].getEntryKind() == IClasspathEntry.CPE_PROJECT) { |
355 |
if (containerEntries[j].getEntryKind() == IClasspathEntry.CPE_PROJECT) { |
368 |
IJavaProject conEntryProject = getVisibleJavaProject(containerEntries[j], isFirstLevel); |
356 |
IJavaProject conEntryProject = getVisibleJavaProject(containerEntries[j], isFirstLevel); |
369 |
- |
|
|