public interface Resolver
Resolver
converts a function name, invocation type, and set
of arguments into a FunDef
.Modifier and Type | Interface and Description |
---|---|
static interface |
Resolver.Conversion
Description of an implicit conversion that occurred while resolving an
operator call.
|
Modifier and Type | Method and Description |
---|---|
String |
getDescription()
Returns the description of the function or operator.
|
FunDef |
getFunDef()
Returns a representative example of the function which this Resolver
can produce, for purposes of describing the function set.
|
String |
getName()
Returns the name of the function or operator.
|
String[] |
getReservedWords()
Returns an array of symbolic constants which can appear as arguments
to this function.
|
String |
getSignature()
Returns a string describing the syntax of this function, for example
|
Syntax |
getSyntax()
Returns the syntax with which the function or operator was invoked.
|
boolean |
requiresExpression(int k)
Returns whether a particular argument must be a scalar expression.
|
FunDef |
resolve(Exp[] args,
Validator validator,
List<Resolver.Conversion> conversions)
Given a particular set of arguments the function is applied to, returns
the correct overloaded form of the function.
|
String getName()
String getDescription()
Syntax getSyntax()
FunDef resolve(Exp[] args, Validator validator, List<Resolver.Conversion> conversions)
The method adds an item to conversions
every
time it performs an implicit type-conversion. If there are several
candidate functions with the same signature, the validator will choose
the one which used the fewest implicit conversions.
args
- Expressions which this function call is applied to.validator
- Validatorconversions
- List of implicit conversions performed (out)boolean requiresExpression(int k)
false
if any of the variants of this resolver
allows a set as its k
th argument; true otherwise.String[] getReservedWords()
For example, the DrilldownMember
may take the symbol
RECURSIVE
as an argument. Most functions do not define
any symbolic constants.
String getSignature()
StrToSet()
FunDef getFunDef()
Copyright © 2019 Hitachi Vantara. All rights reserved.