if(typeMatch) {
if(other instanceof Expression && !(other instanceof NullLiteral)) {
Expression o = (Expression)other;
ITypeBinding nodeTypeBinding = node.resolveTypeBinding();
ITypeBinding otherTypeBinding = o.resolveTypeBinding();
<BUG>if((!nodeTypeBinding.isEqualTo(otherTypeBinding) || !nodeTypeBinding.getQualifiedName().equals(otherTypeBinding.getQualifiedName()))) {
Difference diff = new Difference(nodeTypeBinding.getQualifiedName(),otherTypeBinding.getQualifiedName(),DifferenceType.SUBCLASS_TYPE_MISMATCH);</BUG>
astNodeDifference.addDifference(diff);
}
}

if(typeMatch) {
if(other instanceof Expression && !(other instanceof NullLiteral)) {
Expression o = (Expression)other;
ITypeBinding nodeTypeBinding = node.resolveTypeBinding();
ITypeBinding otherTypeBinding = o.resolveTypeBinding();
if(subclassTypeMismatch(nodeTypeBinding, otherTypeBinding)) {
Difference diff = new Difference(nodeTypeBinding.getQualifiedName(),otherTypeBinding.getQualifiedName(),DifferenceType.SUBCLASS_TYPE_MISMATCH);
astNodeDifference.addDifference(diff);
}
}
