String (PsiRecordComponent component) { PsiType type = component.getType(); if (type instanceof PsiPrimitiveType) { if (TypeConversionUtil.isIntegralNumberType(type) || type.equals(PsiTypes.booleanType())) { return "this." + component.getName() + "==that." + component.getName(); } if (TypeConversionUtil.isFloatOrDoubleType(type)) { String method = type.equalsToText("float") ? "Float.floatToIntBits" : "Double.doubleToLongBits"; return method + "(this." + component.getName() + ")==" + method + "(that." + component.getName() + ")"; } } return CommonClassNames.JAVA_UTIL_OBJECTS + ".equals(this." + component.getName() + ",that." + component.getName() + ")"; }