|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.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 null| Method 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 | ||||||||