diff options
Diffstat (limited to 'exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ReplacingInterpreter.java')
-rw-r--r-- | exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ReplacingInterpreter.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ReplacingInterpreter.java b/exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ReplacingInterpreter.java index 13063c8a5..a34854dbc 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ReplacingInterpreter.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/compile/bytecode/ReplacingInterpreter.java @@ -83,6 +83,13 @@ public class ReplacingInterpreter extends BasicInterpreter { } @Override + public void returnOperation(AbstractInsnNode insn, BasicValue value, BasicValue expected) { + if (value instanceof ReplacingBasicValue) { + ((ReplacingBasicValue) value).markFunctionReturn(); + } + } + + @Override public BasicValue unaryOperation(final AbstractInsnNode insn, final BasicValue value) throws AnalyzerException { /* |