CheckTypesResult () { CheckTypesResult result = new CheckTypesResult(); VarType typeLeft = left.getExprType(); VarType typeRight = right.getExprType(); if (typeLeft.getTypeFamily() > typeRight.getTypeFamily()) { result.addMinTypeExprent(right, VarType.getMinTypeInFamily(typeLeft.getTypeFamily())); } else if (typeLeft.getTypeFamily() < typeRight.getTypeFamily()) { result.addMinTypeExprent(left, typeRight); } else { result.addMinTypeExprent(left, VarType.getCommonSupertype(typeLeft, typeRight)); } return result; }