if (typeBinding.id == TypeIds.T_JavaLangObject) {
objectIndex = current;
continue;
}
IGenericType suppliedType = this.typeModels[current];
if (!subOrSuperOfFocus(typeBinding)) {
continue; // ignore types outside of hierarchy
}
IType superclass;
if (typeBinding.isInterface()){ // do not connect interfaces to Object
superclass = null;
} else {
superclass = findSuperClass(suppliedType, typeBinding);
}
IType[] superinterfaces = findSuperInterfaces(suppliedType, typeBinding);
this.builder.connect(suppliedType, this.builder.getHandle(suppliedType, typeBinding), superclass, superinterfaces);
}
// add java.lang.Object only if the super class is not missing
if (objectIndex > -1 && (!this.hasMissingSuperClass || this.focusType == null)) {
IGenericType objectType = this.typeModels[objectIndex];
this.builder.connect(objectType, this.builder.getHandle(objectType, this.typeBindings[objectIndex]), null, null);
}
}