superCount + infoCount];
if (superCount != 0) {
System.arraycopy(superDescs, 0, descs, 0, superCount);
}
for (int i = 0; i < infoCount; ++i) {
MemberTypeInfo info = (MemberTypeInfo) infos[i];
if (info.getIndex() != i) {
throw new IllegalArgumentException(
"Bad UNOTYPEINFO for " + zClass + ": entries not ordererd");
}
Field field;
try {
field = zClass.getDeclaredField(info.getName());
} catch (NoSuchFieldException e) {
throw new IllegalArgumentException(
"Bad UNOTYPEINFO for " + zClass + ": " + e);
}
Type t = info.getUnoType();
int index = info.getTypeParameterIndex();
descs[i + superCount] = new FieldDescription(
info.getName(), i + superCount,
(index >= 0
? typeArguments[index]
: t == null
? getTypeDescription(field.getType(), info)
: getDefinitely(t)),