Author: henrib
Date: Wed Oct 1 12:00:10 2014
New Revision: 1628681
URL: http://svn.apache.org/r1628681
Log:
Follow-up JEXL-146;ensure functors are not shared between interpreter instances
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Closure.java
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Closure.java
URL:
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Closure.java?rev=1628681&r1=1628680&r2=1628681&view=diff
==============================================================================
---
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Closure.java
(original)
+++
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Closure.java
Wed Oct 1 12:00:10 2014
@@ -20,7 +20,6 @@ import org.apache.commons.jexl3.JexlCont
import org.apache.commons.jexl3.parser.ASTJexlLambda;
import org.apache.commons.jexl3.parser.JexlNode;
-import java.util.Map;
import java.util.concurrent.Callable;
/**
@@ -29,8 +28,6 @@ import java.util.concurrent.Callable;
public class Closure extends Script {
/** The frame. */
protected final Scope.Frame frame;
- /** The map of registered functions. */
- protected final Map<String, Object> functors;
/**
* Creates a closure.
@@ -39,7 +36,6 @@ public class Closure extends Script {
*/
protected Closure(Interpreter theCaller, ASTJexlLambda lambda) {
super(theCaller.jexl, null, lambda);
- functors = theCaller.functors;
frame = lambda.createFrame(theCaller.frame);
}
@@ -70,7 +66,6 @@ public class Closure extends Script {
Integer reg = scope.getHoisted(symbol);
if (reg != null) {
frame.set(reg, value);
- return;
}
}
}
@@ -93,7 +88,6 @@ public class Closure extends Script {
callFrame = frame.assign(args);
}
Interpreter interpreter = jexl.createInterpreter(context, callFrame);
- interpreter.functors = functors;
JexlNode block = script.jjtGetChild(script.jjtGetNumChildren() - 1);
return interpreter.interpret(block);
}
@@ -105,7 +99,6 @@ public class Closure extends Script {
local = frame.assign(args);
}
final Interpreter interpreter = jexl.createInterpreter(context, local);
- interpreter.functors = functors;
return new Callable<Object>() {
/** Use interpreter as marker for not having run. */
private Object result = interpreter;
Modified:
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java
URL:
http://svn.apache.org/viewvc/commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java?rev=1628681&r1=1628680&r2=1628681&view=diff
==============================================================================
---
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java
(original)
+++
commons/proper/jexl/trunk/src/main/java/org/apache/commons/jexl3/internal/Interpreter.java
Wed Oct 1 12:00:10 2014
@@ -299,7 +299,6 @@ public class Interpreter extends ParserV
return null;
}
-
/**
* Triggered when method, function or constructor invocation fails.
* @param xjexl the JexlException wrapping the original error