MVEL.executeExpression(indexCompile, model.createFactory()));
public void testIndexedVariableFactory() { ParserContext ctx = ParserContext.create(); String[] vars = {"a", "b"}; Object[] vals = {"foo", "bar"}; ctx.setIndexAllocation(true); ctx.addIndexedInput(vars); String expr = "def myfunc(z) { a + b + z }; myfunc('poop');"; SharedVariableSpaceModel model = VariableSpaceCompiler.compileShared(expr, ctx, vals); Serializable s = MVEL.compileExpression(expr, ctx); // VariableResolverFactory locals = new CachingMapVariableResolverFactory(new HashMap<String, Object>()); // VariableResolverFactory injected = new IndexedVariableResolverFactory(vars, vals, locals); assertEquals("foobarpoop", MVEL.executeExpression(s, model.createFactory())); } }