Fix bug introduced in return-handling refactor

(cherry picked from commit f8be17d362e51ff9f56f3e76e6776f9012c168f5)
This commit is contained in:
Octavia Togami 2020-02-24 00:39:22 -08:00 committed by MattBDev
parent eae2c00008
commit 8d065d767d

View File

@ -678,10 +678,13 @@ class CompilingVisitor extends ExpressionBaseVisitor<MethodHandle> {
// MH:oldResult,result = (ExecutionData)Double // MH:oldResult,result = (ExecutionData)Double
// Execute `oldResult` but ignore its return value, then execute result and return that. // Execute `oldResult` but ignore its return value, then execute result and return that.
// If `oldResult` (the old value) is `defaultResult`, it's bogus, so just skip it // If either result is `defaultResult`, it's bogus, so just skip it
if (oldResult == DEFAULT_RESULT) { if (oldResult == DEFAULT_RESULT) {
return result; return result;
} }
if (result == DEFAULT_RESULT) {
return oldResult;
}
// Add a dummy Double parameter to the end // Add a dummy Double parameter to the end
// MH:dummyDouble = (ExecutionData, Double)Double // MH:dummyDouble = (ExecutionData, Double)Double
MethodHandle dummyDouble = MethodHandles.dropArguments( MethodHandle dummyDouble = MethodHandles.dropArguments(