| java.lang.Object gnu.mapping.PropertySet gnu.mapping.Procedure gnu.mapping.ProcedureN gnu.mapping.MethodProc gnu.xquery.util.OrderedMap
OrderedMap | public class OrderedMap extends MethodProc implements CanInline,Inlineable(Code) | | A procedure used to represent a FLWOR expression with
an
order by clause.
(
gnu.kawa.functions.ValuesMap is used for FLWOR expression
that don't have an
order by clause.)
As returned by the parser:
for $x1 in exp1, $x2 in exp2 where cond order by comparator1 ... return body
is represented as
ordered-map(tuple-sequence, body-function,
comparator-function1, flags1, collation1, ...)
Here tuple-sequence is an expression that returns a sequence of tuples,
which are currently implemnted as Java Object[] arrays.
After inlining we get:
ordered-map(tuple-sequence.
OrderedTuples.make$V(body-function,
new Object[]{comparator-function1, flags1, collation1, ...}))
A future optimization would be to create an instance of a new sub-class
of OrderedTuples. Then the body-function and comparator-functions
could be compiled as methods to that class. That wins especially
if it saves us having to create extra frame classes.
|
Methods inherited from gnu.mapping.Procedure | public void apply(CallContext ctx) throws Throwable(Code)(Java Doc) public static void apply(Procedure proc, CallContext ctx) throws Throwable(Code)(Java Doc) abstract public Object apply0() throws Throwable(Code)(Java Doc) abstract public Object apply1(Object arg1) throws Throwable(Code)(Java Doc) abstract public Object apply2(Object arg1, Object arg2) throws Throwable(Code)(Java Doc) abstract public Object apply3(Object arg1, Object arg2, Object arg3) throws Throwable(Code)(Java Doc) abstract public Object apply4(Object arg1, Object arg2, Object arg3, Object arg4) throws Throwable(Code)(Java Doc) abstract public Object applyN(Object[] args) throws Throwable(Code)(Java Doc) public void check0(CallContext ctx)(Code)(Java Doc) public void check1(Object arg1, CallContext ctx)(Code)(Java Doc) public void check2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public void check3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public void check4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public static void checkArgCount(Procedure proc, int argCount)(Code)(Java Doc) public void checkN(Object[] args, CallContext ctx)(Code)(Java Doc) public Procedure getSetter()(Code)(Java Doc) public String getSourceLocation()(Code)(Java Doc) public int match0(CallContext ctx)(Code)(Java Doc) public int match1(Object arg1, CallContext ctx)(Code)(Java Doc) public int match2(Object arg1, Object arg2, CallContext ctx)(Code)(Java Doc) public int match3(Object arg1, Object arg2, Object arg3, CallContext ctx)(Code)(Java Doc) public int match4(Object arg1, Object arg2, Object arg3, Object arg4, CallContext ctx)(Code)(Java Doc) public int matchN(Object[] args, CallContext ctx)(Code)(Java Doc) final public int maxArgs()(Code)(Java Doc) final public int minArgs()(Code)(Java Doc) public int numArgs()(Code)(Java Doc) public void set0(Object result) throws Throwable(Code)(Java Doc) public void set1(Object arg1, Object value) throws Throwable(Code)(Java Doc) public void setN(Object[] args) throws Throwable(Code)(Java Doc) public void setSetter(Procedure setter)(Code)(Java Doc) public void setSourceLocation(String file, int line)(Code)(Java Doc) public String toString()(Code)(Java Doc)
|
|
|