I meant to move all this logic to the separate method and pass
`ClassGenerator`, `MajorType` and `Function`, for example, to receive something
like this:
```
@Override
public HoldingContainer visitLongConstant(LongExpression e,
ClassGenerator<?> generator) throws RuntimeException {
return getHoldingContainer(generator,
e.getMajorType(),
buffer -> ValueHolderHelper.getBigIntHolder(e.getLong()));
}
private HoldingContainer getHoldingContainer(ClassGenerator<?> generator,
MajorType majorType,Function<DrillBuf, ? extends ValueHolder> function)
{
JType holderType = generator.getHolderType(majorType);
JVar var = generator.declareClassField("value", holderType);
generator.declareSetterMethod(
var,
function);
return createHoldingContainer(majorType, var);
}
```
[ Full content available at: https://github.com/apache/drill/pull/1481 ]
This message was relayed via gitbox.apache.org for [email protected]