Class CallMetaDataExtractor

java.lang.Object
org.ek9lang.compiler.ir.support.CallMetaDataExtractor
All Implemented Interfaces:
Function<ISymbol,CallMetaDataDetails>

public class CallMetaDataExtractor extends Object implements Function<ISymbol,CallMetaDataDetails>
Extracts call metadata from symbols for use in IR generation. Provides purity information, complexity scoring, and side effect classification that backends can use for optimization decisions.

Side effect types include:
- IO: Operations involving I/O
- RETURN_MUTATION: Operations that return non-Void values
- THIS_MUTATION: Operations that mutate the object itself (assignment/mutator operators)
- NO_MUTATION: Implied when no mutation side effects are present