try { return (Script) compileImpl(null, null, source, sourceName, lineno, securityDomain, false, compiler, compilationErrorReporter); } catch (IOException ex) {  throw new RuntimeException();
if (lineno < 0) { throw new IllegalArgumentException( "Line number can not be negative:"+lineno);
    final Script compileString(String source,                               Interpreter compiler,                               ErrorReporter compilationErrorReporter,                               String sourceName, int lineno,                               Object securityDomain)    {        try {            return (Script) compileImpl(null, null, source, sourceName, lineno,                                        securityDomain, false,                                        compiler, compilationErrorReporter);        } catch (IOException ex) {            // Should not happen when dealing with source as string            throw new RuntimeException();        }    }