Index: model/org/eclipse/jdt/internal/core/TypeParameter.java =================================================================== RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/TypeParameter.java,v retrieving revision 1.5 diff -u -r1.5 TypeParameter.java --- model/org/eclipse/jdt/internal/core/TypeParameter.java 25 May 2005 19:24:39 -0000 1.5 +++ model/org/eclipse/jdt/internal/core/TypeParameter.java 19 Aug 2005 15:50:19 -0000 @@ -10,6 +10,9 @@ *******************************************************************************/ package org.eclipse.jdt.internal.core; +import java.util.HashMap; + +import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jdt.core.*; import org.eclipse.jdt.core.IMember; import org.eclipse.jdt.core.ITypeParameter; @@ -32,6 +35,25 @@ return super.equals(o); } + /* + * @see JavaElement#generateInfos + */ + protected void generateInfos(Object info, HashMap newElements, IProgressMonitor pm) throws JavaModelException { + Openable openableParent = (Openable)getOpenableParent(); + if (openableParent == null) return; + + JavaElementInfo openableParentInfo = (JavaElementInfo) JavaModelManager.getJavaModelManager().getInfo(openableParent); + if (openableParentInfo == null) { + openableParent.generateInfos(openableParent.createElementInfo(), newElements, pm); + } + + if (openableParent.getElementType() == IJavaElement.CLASS_FILE) { + ClassFileInfo classFileInfo = (ClassFileInfo) (openableParentInfo == null ? newElements.get(openableParent) : openableParentInfo); + if (classFileInfo == null) return; + classFileInfo.getBinaryChildren(newElements); // forces the initialization + } + } + public String[] getBounds() throws JavaModelException { TypeParameterElementInfo info = (TypeParameterElementInfo) getElementInfo(); return CharOperation.toStrings(info.bounds);