addTo (importList, baseName + "Helper");
}
}
else if (entry instanceof InterfaceEntry && (type == TypeFile || type == StubFile))
{
InterfaceEntry i = (InterfaceEntry)entry;
if (i instanceof ValueEntry) // <d59512>
{
// Examine interface parents in supports vector.
Enumeration e = ((ValueEntry)i).supports ().elements ();
while (e.hasMoreElements ())
{
SymtabEntry parent = (SymtabEntry)e.nextElement ();
if (importTypes.contains (parent))
{
addTo (importList, parent.name () + "Operations");
}
// If this is a stub, then recurse to the parents
if (type == StubFile)
{
if (importTypes.contains (parent))
addTo (importList, parent.name ());
Vector subImportList = addImportLines (parent, importTypes, StubFile);
Enumeration en = subImportList.elements ();
while (en.hasMoreElements ())
{
addTo (importList, (String)en.nextElement ());
}
}
}
}
// Interface or valuetype -- Examine interface and valuetype parents,
// Look through derivedFrom vector
Enumeration e = i.derivedFrom ().elements ();
while (e.hasMoreElements ())
{
SymtabEntry parent = (SymtabEntry)e.nextElement ();
if (importTypes.contains (parent))
{
addTo (importList, parent.name ());
// <d59512> Always add both imports, even though superfluous. Cannot
// tell when writing Operations or Signature interface!
if (!(parent instanceof ValueEntry)) // && parent.name ().equals ("ValueBase")))
addTo (importList, parent.name () + "Operations");
}
// If this is a stub, then recurse to the parents
if (type == StubFile)
{
Vector subImportList = addImportLines (parent, importTypes, StubFile);
Enumeration en = subImportList.elements ();
while (en.hasMoreElements ())
{
addTo (importList, (String)en.nextElement ());
}
}
}
// Look through methods vector
e = i.methods ().elements ();
while (e.hasMoreElements ())
{
MethodEntry m = (MethodEntry)e.nextElement ();
// Look at method type