in src/main/java/org/apache/bsf/engines/jacl/JaclEngine.java [71:96]
public Object eval(final String source, final int lineNo, final int columnNo, final Object oscript) throws BSFException {
final String script = oscript.toString();
try {
interp.eval(script);
final TclObject result = interp.getResult();
final Object internalRep = result.getInternalRep();
// if the object has a corresponding Java type, unwrap it
if (internalRep instanceof ReflectObject) {
return ReflectObject.get(interp, result);
}
if (internalRep instanceof TclString) {
return result.toString();
}
if (internalRep instanceof TclDouble) {
return Double.valueOf(TclDouble.get(interp, result));
}
if (internalRep instanceof TclInteger) {
return Integer.valueOf(TclInteger.get(interp, result));
}
return result;
} catch (final TclException e) {
throw new BSFException(BSFException.REASON_EXECUTION_ERROR, "error while eval'ing Jacl expression: " + interp.getResult(), e);
}
}