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
-
apply
The metadata of the operator whose method ismethodName.- Specified by:
applyin interfaceFunction<String, CallMetaDataDetails>- Throws:
CompilerException- when the name is not a declared operator either - then there is no honest source and the site is either a phase 3 gap or compiler plumbing
-