core/src/main/java/org/jruby/RubyBasicObject.java
public IRubyObject specificEval(ThreadContext context, RubyModule mod, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block, EvalType evalType) {
        if (block.isGiven()) {
            throw context.runtime.newArgumentError(2, 0);
        }

        // We just want the TypeError if the argument doesn't convert to a String (JRUBY-386)
        RubyString evalStr;
        if (arg0 instanceof RubyString) {
            evalStr = (RubyString)arg0;
        } else {
            evalStr = arg0.convertToString();
        }

        String file = arg1.convertToString().asJavaString();
        int line = (int)(arg2.convertToInteger().getLongValue() - 1);

        return evalUnder(context, mod, evalStr, file, line, evalType);
    }
/** specific_eval
     *
     * Evaluates the block or string inside of the context of this
     * object, using the supplied arguments. If a block is given, this
     * will be yielded in the specific context of this object. If no
     * block is given then a String-like object needs to be the first
     * argument, and this string will be evaluated. Second and third
     * arguments in the args-array is optional, but can contain the
     * filename and line of the string under evaluation.
     */
specific_eval
Evaluates the block or string inside of the context of this
object, using the supplied arguments. If a block is given, this
will be yielded in the specific context of this object. If no
block is given then a String-like object needs to be the first
argument, and this string will be evaluated. Second and third
arguments in the args-array is optional, but can contain the
filename and line of the string under evaluation.
specific_eval Evaluates the block or string inside of the context of this object using the supplied arguments . If a block is given this will be yielded in the specific context of this object . If no block is given then a String - like object needs to be the first argument and this string will be evaluated . Second and third arguments in the args - array is optional but can contain the filename and line of the string under evaluation .
public IRubyObject specificEval(ThreadContext context, RubyModule mod, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block, EvalType evalType) {
        if (block.isGiven()) {
            throw context.runtime.newArgumentError(2, 0);
        }
        RubyString evalStr;
        if (arg0 instanceof RubyString) {
            evalStr = (RubyString)arg0;
        } else {
            evalStr = arg0.convertToString();
        }
        String file = arg1.convertToString().asJavaString();
        int line = (int)(arg2.convertToInteger().getLongValue() - 1);
        return evalUnder(context, mod, evalStr, file, line, evalType);
    }
public IRubyObject specificEval ( ThreadContext context , RubyModule mod , IRubyObject arg0 , IRubyObject arg1 , IRubyObject arg2 , Block block , EvalType evalType ) { if ( block . isGiven ( ) ) { throw context . runtime . newArgumentError ( 2 , 0 ) ; } RubyString evalStr ; if ( arg0 instanceof RubyString ) { evalStr = ( RubyString ) arg0 ; } else { evalStr = arg0 . convertToString ( ) ; } String file = arg1 . convertToString ( ) . asJavaString ( ) ; int line = ( int ) ( arg2 . convertToInteger ( ) . getLongValue ( ) - 1 ) ; return evalUnder ( context , mod , evalStr , file , line , evalType ) ; }
specific_eval
 Evaluates the block or string inside of the context of this
 object, using the supplied arguments.
specific_eval Evaluates the block or string inside of the context of this object using the supplied arguments .
// We just want the TypeError if the argument doesn't convert to a String (JRUBY-386)