}
Enumeration e = ((StructEntry)entry).members ().elements ();
while (e.hasMoreElements ())
{
TypedefEntry member = (TypedefEntry)e.nextElement ();
SymtabEntry mType = member.type ();
if (!member.arrayInfo ().isEmpty () || mType instanceof SequenceEntry ||
mType instanceof PrimitiveEntry || mType instanceof StringEntry ||
mType instanceof TypedefEntry)
index = ((JavaGenerator)member.generator ()).read (index, indent, name + '.' + member.name (), member, stream);
else if (mType instanceof ValueBoxEntry)
{
// call read_value instead of Helper.read for the value
Vector st = ((ValueBoxEntry) mType).state ();
TypedefEntry vbMember = ((InterfaceState) st.elementAt (0)).entry;
SymtabEntry vbType = vbMember.type ();
String jName = null;
String jHelper = null;
if (vbType instanceof SequenceEntry || vbType instanceof StringEntry ||
!vbMember.arrayInfo ().isEmpty ())
{
jName = Util.javaName (vbType); // name of mapped Java type
// <d59437> REVISIT. Typename info. now correct for value boxes, so
// these two cases may be obsolete. See UnionGen.read().
//jHelper = Util.helperName (vbType, false); // <d61056>