|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.AbstractCalcRexImplementor net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.InstrDefImplementor
public static class CalcRexImplementorTableImpl.InstrDefImplementor
Generic implementor that takes a CalcProgramBuilder.InstructionDef
which implements an operator by
generating a call to a given instruction.
If you need to tweak the arguments to the instruction, you can
override makeRegList(net.sf.farrago.fennel.calc.RexToCalcTranslator, org.eigenbase.rex.RexCall)
.
Field Summary | |
---|---|
protected CalcProgramBuilder.InstructionDef |
instr
The instruction with which to implement this operator. |
Constructor Summary | |
---|---|
CalcRexImplementorTableImpl.InstrDefImplementor(CalcProgramBuilder.InstructionDef instr)
Creates an instruction implementor |
Method Summary | |
---|---|
CalcReg |
implement(RexCall call,
RexToCalcTranslator translator)
Generates instructions to implement this call, and returns the register which holds the result. |
protected List<CalcReg> |
makeRegList(RexToCalcTranslator translator,
RexCall call)
Creates the list of registers which will be arguments to the instruction call. |
Methods inherited from class net.sf.farrago.fennel.calc.CalcRexImplementorTableImpl.AbstractCalcRexImplementor |
---|
canImplement |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final CalcProgramBuilder.InstructionDef instr
Constructor Detail |
---|
CalcRexImplementorTableImpl.InstrDefImplementor(CalcProgramBuilder.InstructionDef instr)
instr
- The instruction with which to implement this operator,
must not be nullMethod Detail |
---|
public CalcReg implement(RexCall call, RexToCalcTranslator translator)
CalcRexImplementor
protected List<CalcReg> makeRegList(RexToCalcTranslator translator, RexCall call)
The 0th argument is assumed to hold the result of the call.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |