|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Resolver
A Resolver
converts a function name, invocation type, and set
of arguments into a FunDef
.
Nested Class Summary | |
---|---|
static interface |
Resolver.Conversion
Description of an implicit conversion that occurred while resolving an operator call. |
Method Summary | |
---|---|
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. |
Method Detail |
---|
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()
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |