Class Scenario2EqualityGenerator
java.lang.Object
org.ek9lang.compiler.phase7.Scenario2EqualityGenerator
Generates IR for Scenario 2 wrapper equality operations.
Equality operations (_eq, _neq) need special handling because the base type's _eq uses Java's equals() to compare contained values, which doesn't invoke the EK9 type's _eq operator. We must compare the contained values directly using the contained type's equality method.
Handles three cases:
- Contained type lacks equality operator: return unset Boolean
- Collection types (List, Dict): delegate to collection's own _eq
- Single-value containers (Optional, Result): extract values and compare
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidgenerate(IRConstruct construct, MethodSymbol method, String baseTypeName) Generate an equality operation that handles wrapper-to-wrapper comparison.(package private) booleanisEqualityOperation(MethodSymbol method) Check if a method is an equality operation that needs special argument handling.
-
Constructor Details
-
Scenario2EqualityGenerator
Scenario2EqualityGenerator(Scenario2WrapperHelper helper)
-
-
Method Details
-
isEqualityOperation
Check if a method is an equality operation that needs special argument handling. -
generate
Generate an equality operation that handles wrapper-to-wrapper comparison.
-