Class OperatorDeclarationMetaData

java.lang.Object
org.ek9lang.compiler.phase7.calls.OperatorDeclarationMetaData
All Implemented Interfaces:
Function<String, CallMetaDataDetails>

public final class OperatorDeclarationMetaData extends Object implements Function<String, CallMetaDataDetails>
THE OperatorMap-derived call metadata of a declared EK9 operator - the second honest source of SynthesisedCallMetaData, used when the target type carries no resolvable member for the callee. Hold an instance.

The live case is an operator on a function type: delegate? lowers to _isSet on a FunctionSymbol, which is not an aggregate and so has no members to resolve. Nothing is lost by reading the declaration instead of a symbol - a function's ? is fixed language surface, not something a user can override. This is the same derivation the parsed path uses for a path-B operator (CallDetailsBuilder), and both use this class so the two cannot drift.

OperatorDeclarationMetaDataIfAny is the same answer for a name that may not be an operator.

  • Constructor Details

    • OperatorDeclarationMetaData

      public OperatorDeclarationMetaData()
  • Method Details