MCPcopy Index your code
hub / github.com/beanshell/beanshell / invoke

Method invoke

src/bsh/PreparsedScript.java:54–74  ·  view source on GitHub ↗
(final Map<String, ?> context)

Source from the content-addressed store, hash-verified

52
53
54 public Object invoke(final Map<String, ?> context) throws EvalError {
55 final NameSpace nameSpace = new NameSpace(_interpreter.getClassManager(), "BeanshellExecutable");
56 nameSpace.setParent(_interpreter.getNameSpace());
57 final BshMethod method = new BshMethod(_method.getName(), _method.getReturnType(), _method.getParameterNames(), _method.getParameterTypes(), _method.methodBody, nameSpace, _method.getModifiers());
58 for (final Map.Entry<String, ?> entry : context.entrySet()) {
59 try {
60 final Object value = entry.getValue();
61 nameSpace.setVariable(entry.getKey(), value != null ? value : Primitive.NULL, false);
62 } catch (final UtilEvalError e) {
63 throw new EvalError("cannot set variable '" + entry.getKey() + '\'', null, null, e);
64 }
65 }
66 final Object result = method.invoke(new Object[0], _interpreter);
67 if (result instanceof Primitive) {
68 if (( (Primitive) result).getType() == Void.TYPE) {
69 return null;
70 }
71 return ( (Primitive) result).getValue();
72 }
73 return result;
74 }
75
76
77 public void setOut(final PrintStream value) {

Callers 5

xMethod · 0.95
yMethod · 0.95
zMethod · 0.95
multi_threadedMethod · 0.95

Calls 13

setParentMethod · 0.95
setVariableMethod · 0.95
invokeMethod · 0.95
getParameterNamesMethod · 0.80
getClassManagerMethod · 0.45
getNameSpaceMethod · 0.45
getNameMethod · 0.45
getReturnTypeMethod · 0.45
getParameterTypesMethod · 0.45
getModifiersMethod · 0.45
entrySetMethod · 0.45
getValueMethod · 0.45

Tested by 5

xMethod · 0.76
yMethod · 0.76
zMethod · 0.76
multi_threadedMethod · 0.76