You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following #118 we had significant increase on the number of conflicts due to Lombok generated code. Looking at generated code by Lombok, It generates three methods equals(), hashcode() and toString() which want to operate on all class fields in their body. This means that if the class has n fields, it will require at least n builds while it is impossible for these three methods to have an NPE on the method body or at the call sites (Their body is written with null-checks). Looking more into lombok generated code, it seems if a field is @Nullable, all code using that field is written with null-checks. It seems to me that regions created by lombok are free of NPEs and we can exclude usages in those regions. This will have a significant impact on reduction of conflicts.
The reason that we are seeing the updated version having more conflicts than previous one is that in the body of equals(), hashCode() and toString() Lombok, instead of using direct reference to fields, it uses getter methods for that fields, and this causes a lot of conflicts.
The text was updated successfully, but these errors were encountered:
Following #118 we had significant increase on the number of conflicts due to Lombok generated code. Looking at generated code by Lombok, It generates three methods
equals()
,hashcode()
andtoString()
which want to operate on all class fields in their body. This means that if the class has n fields, it will require at least n builds while it is impossible for these three methods to have an NPE on the method body or at the call sites (Their body is written with null-checks). Looking more into lombok generated code, it seems if a field is@Nullable
, all code using that field is written with null-checks. It seems to me that regions created by lombok are free of NPEs and we can exclude usages in those regions. This will have a significant impact on reduction of conflicts.The reason that we are seeing the updated version having more conflicts than previous one is that in the body of
equals()
,hashCode()
andtoString()
Lombok, instead of using direct reference to fields, it uses getter methods for that fields, and this causes a lot of conflicts.The text was updated successfully, but these errors were encountered: