Package org.ek9lang.compiler.phase3
Class CallOrError
java.lang.Object
org.ek9lang.compiler.common.RuleSupport
org.ek9lang.compiler.common.TypedSymbolAccess
org.ek9lang.compiler.phase3.CallOrError
- All Implemented Interfaces:
Consumer<EK9Parser.CallContext>
Designed to deal with this following part of the EK9 grammar.
This is one of the trickiest bits, because we want a simple syntax for the EK9 developer.
But it means that a call like 'something(...)' could mean quite a few things.
identifierReference paramExpression - function/method/constructor/delegate with optional params | parameterisedType - the parameterization of a generic type, ie List of String for example | primaryReference paramExpression - this or super | dynamicFunctionDeclaration | call paramExpression - a bit weird but supports someHigherFunction()("Call what was returned")
-
Field Summary
Fields inherited from class org.ek9lang.compiler.common.RuleSupport
errorListener, symbolsAndScopes
-
Constructor Summary
ConstructorDescriptionCallOrError
(SymbolsAndScopes symbolsAndScopes, SymbolFactory symbolFactory, ErrorListener errorListener) Lookup a pre-recorded 'call', now resolve what it is supposed to call and set its type. -
Method Summary
Methods inherited from class org.ek9lang.compiler.common.TypedSymbolAccess
getRecordedAndTypedSymbol, isProcessingScopePure, recordATypedSymbol
-
Constructor Details
-
CallOrError
CallOrError(SymbolsAndScopes symbolsAndScopes, SymbolFactory symbolFactory, ErrorListener errorListener) Lookup a pre-recorded 'call', now resolve what it is supposed to call and set its type.
-
-
Method Details
-
accept
- Specified by:
accept
in interfaceConsumer<EK9Parser.CallContext>
-