equals method
Checks whether the given object is logically equivalent to this annotation.
Logical equivalence means:
- Same runtime _type (implements same annotation interface)
- All fields/members of both annotations are equal
Value comparison rules:
- Primitive types: compared via
==
double
/float
: compared via.equals
, treatingNaN == NaN
, and0.0 != -0.0
- Strings, Classes, Enums, and other annotations: compared via
.equals
- Arrays: compared via deep equality (like
ListEquality
) for respective element types
Returns true
if equivalent, false
otherwise.
Implementation
bool equals(Object other) {
return this == other;
}