For B, C extending A the join of object(B) and object(C) should
be object(instanceof A). For simplicity we only handle the class
hierarchy, as computing the least common unique ancestor for
interfaces would be more involved.
Also ignore phi sources that don't have an object type: The join
of null and object(A) is now null|object(A) rather than
null|object.