gnu.xquery.util

Class RelativeStep

Implemented Interfaces:
CanInline, Inlineable, Named

public class RelativeStep
extends MethodProc
implements CanInline, Inlineable

Implements XPath path expression. The XPath expression E1/E2 is compiled into: (relative-step E1 (lambda (dot position last) E2)).

Field Summary

static RelativeStep
relativeStep

Fields inherited from class gnu.mapping.MethodProc

NO_MATCH, NO_MATCH_AMBIGUOUS, NO_MATCH_BAD_TYPE, NO_MATCH_TOO_FEW_ARGS, NO_MATCH_TOO_MANY_ARGS, argTypes

Fields inherited from class gnu.mapping.ProcedureN

noArgs

Method Summary

void
apply(CallContext ctx)
void
compile(ApplyExp exp, Compilation comp, Target target)
static TreeScanner
extractStep(Expression exp)
Type
getReturnType(Expression[] args)
Expression
inline(ApplyExp exp, ExpWalker walker)
int
numArgs()

Methods inherited from class gnu.mapping.MethodProc

applyN, getParameterType, isApplicable, matchFailAsException, mostSpecific, mostSpecific, numParameters, resolveParameterTypes

Methods inherited from class gnu.mapping.ProcedureN

apply0, apply1, apply2, apply3, apply4, applyN

Methods inherited from class gnu.mapping.Procedure

apply, apply, apply0, apply1, apply2, apply3, apply4, applyN, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, numArgs, set0, set1, setN, setSetter, setSourceLocation, toString

Methods inherited from class gnu.mapping.PropertySet

getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol

Field Details

relativeStep

public static final RelativeStep relativeStep

Method Details

apply

public void apply(CallContext ctx)
            throws Throwable
Overrides:
apply in interface Procedure

compile

public void compile(ApplyExp exp,
                    Compilation comp,
                    Target target)
Specified by:
compile in interface Inlineable

extractStep

public static TreeScanner extractStep(Expression exp)

getReturnType

public Type getReturnType(Expression[] args)
Specified by:
getReturnType in interface Inlineable

inline

public Expression inline(ApplyExp exp,
                         ExpWalker walker)
Specified by:
inline in interface CanInline

numArgs

public int numArgs()
Overrides:
numArgs in interface Procedure