Equality check using only parameters passed in to test for equality.
Equality check using only parameters passed in to test for equality.
Acceptable arguments include private/protected/public vals, vars, lazy vals,
and defs with no arguments. Do note that it is possible the implementation created
by this macro will be inconsistent with the equals
/hashCode
contract if you
use var
s or def
s where the value changes. Use this function only if you know
what you are doing, and proceed with caution.
first param to test with
rest of the params
true if instance.equals(other)
Equality check using all private/protected/public/lazy vals of the class defined in the constructor AND the body of the class.
Equality check using all private/protected/public/lazy vals of the class
defined in the constructor AND the body of the class. Does not use
inherited or overriden vals. Does NOT use compareTo
for Float
and Double
values
true if instance.equals(other)
Equality check using only parameters passed in to test for equality.
Equality check using only parameters passed in to test for equality.
Acceptable arguments include private/protected/public vals, vars, lazy vals,
and defs with no arguments. Does NOT use compareTo
for Float
and Double
values
first param to test with
rest of the params
true if instance.equals(other)
Equality check using all private/protected/public vals of the class defined in the constructor.
Equality check using all private/protected/public vals of the class
defined in the constructor. Does not use inherited or overriden vals.
Do not use with traits, it will only generate a super.equals(that)
call, instead use equalAllVals
. Does NOT use compareTo
for Float
and Double
values
true if instance.equals(other)
Looks up the elements tested in equals
(including super.equals
) and uses them
in hashFunction(Array(elements))
.
Looks up the elements tested in equals
(including super.equals
) and uses them
in hashFunction(Array(elements))
. Works with all 3 forms of equal
. Does not
work with custom equals
implementations, one of ScalaEquals.equal
,
ScalaEquals.equal(params)
, or ScalaEquals.equalAllVals
must be used (or their compareTo
equivalents). Use this function only if you know what you are doing, and proceed with caution.
to use to produce a hashCode for the elements used in equals
hashCode generated from fields used in equals
Entry point for custom ScalaEquals macros. Functions here are not guaranteed to produce correct equals/hashCode implementations if used incorrectly. See individual function documentation for additional details.
1.2.0
1.2.0