Edit C:\Users\Admin\.m2\repository\org\beanshell\bsh\2.0b4\bsh\commands\eval.bsh
/** Evaluate the string in the current interpreter (see source()). Returns the result of the evaluation or null. <p> Evaluate a string as if it were written directly in the current scope, with side effects in the current scope. <p> e.g. <code><pre> a=5; eval("b=a*2"); print(b); // 10 </pre></code> <p> eval() acts just like invoked text except that any exceptions generated by the code are captured in a bsh.EvalError. This includes ParseException for syntactic errors and TargetError for exceptions thrown by the evaluated code. <p> e.g. <pre> try { eval("foo>>><>M>JK$LJLK$"); } catch ( EvalError e ) { // ParseException caught here } try { eval("(Integer)true"); // illegal cast } catch ( EvalError e ) { // TargetException caught here print( e.getTarget() ) // prints ClassCastException } </pre> <p> If you want eval() to throw target exceptions directly, without wrapping them, you can simply redefine own eval like so: <pre> myEval( String expression ) { try { return eval( expression ); } catch ( TargetError e ) { throw e.getTarget(); } } </pre> <p/> Here is a cute example of how to use eval to implement a dynamic cast. i.e. to cast a script to an arbitrary type by name at run-time where the type is not known when you are writing the script. In this case the type is in the variable interfaceType. <pre> reference = eval( "("+interfaceType+")this" ); </pre> <p> Returns the value of the expression. <p> Throws bsh.EvalError on error <p> @return the value of the expression. @throws bsh.EvalError on error */ bsh.help.eval = "usage: eval( String expression )"; Object eval( String expression ) { return this.interpreter.eval( expression, this.caller.namespace ); }
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de