private static RubyBigDecimal unableToCoerceWithoutPrec(ThreadContext context, IRubyObject v, boolean must) { if (must) { throw context.runtime.newArgumentError(v.getMetaClass().getBaseName() + " can't be coerced into BigDecimal without a precision"); } return null; }
private static RubyBigDecimal unableToCoerceWithoutPrec(ThreadContext context, IRubyObject v, boolean must) { if (must) { throw context.runtime.newArgumentError(v.getMetaClass().getBaseName() + " can't be coerced into BigDecimal without a precision"); } return null; }
public static RubyClass getSingletonClass(Ruby runtime, IRubyObject receiver) { if (receiver instanceof RubyFixnum || receiver instanceof RubySymbol) { throw runtime.newTypeError(runtime.is1_9() ? "can't define singleton" : ("no virtual class for " + receiver.getMetaClass().getBaseName())); } else { return receiver.getSingletonClass(); } }
private static String errMessageType(ThreadContext context, IRubyObject value) { if (value == null || value == context.nil) return "nil"; if (value.isImmediate()) return RubyObject.inspect(context, value).toString(); return value.getMetaClass().getBaseName(); }
private static String errMessageType(ThreadContext context, IRubyObject value) { if (value == null || value == context.nil) return "nil"; if (value.isImmediate()) return RubyObject.inspect(context, value).toString(); return value.getMetaClass().getBaseName(); }
public static RubyClass getSingletonClass(Ruby runtime, IRubyObject receiver) { if (receiver instanceof RubyFixnum || receiver instanceof RubySymbol) { throw runtime.newTypeError(runtime.is1_9() ? "can't define singleton" : ("no virtual class for " + receiver.getMetaClass().getBaseName())); } else { return receiver.getSingletonClass(); } }
@JRubyMethod(name = { "get", "[]" }, required = 1, optional = 1) public IRubyObject get(ThreadContext context, IRubyObject[] args) { IRubyObject key = args[0]; RubyBoolean notRaw = notRaw(context, args, 1); try { return super.get(context, new IRubyObject[] { key, notRaw }); } catch (RaiseException e) { if ("NotFound".equals(e.getException().getMetaClass().getBaseName())) { return context.nil; } throw e; } }
private boolean checkStreamSyntax(Ruby runtime, InputStream in, String filename) { try { runtime.parseFromMain(in, filename); config.getOutput().println("Syntax OK"); return true; } catch (RaiseException re) { if (re.getException().getMetaClass().getBaseName().equals("SyntaxError")) { config.getError().println("SyntaxError in " + re.getException().message(runtime.getCurrentContext())); } else { throw re; } return false; } }
private boolean checkStreamSyntax(Ruby runtime, InputStream in, String filename) { try { runtime.parseFromMain(in, filename); config.getOutput().println("Syntax OK"); return true; } catch (RaiseException re) { if (re.getException().getMetaClass().getBaseName().equals("SyntaxError")) { config.getError().println("SyntaxError in " + re.getException().message(runtime.getCurrentContext())); } else { throw re; } return false; } }
public static RubyClass performSingletonMethodChecks(Ruby runtime, IRubyObject receiver, String name) throws RaiseException { if (receiver instanceof RubyFixnum || receiver instanceof RubySymbol) { throw runtime.newTypeError("can't define singleton method \"" + name + "\" for " + receiver.getMetaClass().getBaseName()); } if (receiver.isFrozen()) { throw runtime.newFrozenError("object"); } RubyClass rubyClass = receiver.getSingletonClass(); return rubyClass; }
@Override public String getMessage() { if (providedMessage == null) { providedMessage = '(' + exception.getMetaClass().getBaseName() + ") " + exception.message(exception.getRuntime().getCurrentContext()).asJavaString(); } return providedMessage; }
private static RubyBigDecimal cannotBeCoerced(ThreadContext context, IRubyObject v, boolean must) { if (must) { String err; if (v.isImmediate()) { err = RubyObject.inspect(context, v).toString(); } else { err = v.getMetaClass().getBaseName(); } throw context.runtime.newTypeError(err + " can't be coerced into BigDecimal"); } return null; }
@Override public String getMessage() { if (providedMessage == null) { providedMessage = "(" + exception.getMetaClass().getBaseName() + ") " + exception.message(exception.getRuntime().getCurrentContext()).asJavaString(); } return providedMessage; }
@Override public String getMessage() { if (providedMessage == null) { providedMessage = '(' + exception.getMetaClass().getBaseName() + ") " + exception.message(exception.getRuntime().getCurrentContext()).asJavaString(); } return providedMessage; }
private static RubyBigDecimal cannotBeCoerced(ThreadContext context, IRubyObject v, boolean must) { if (must) { String err; if (v.isImmediate()) { err = RubyObject.inspect(context, v).toString(); } else { err = v.getMetaClass().getBaseName(); } throw context.runtime.newTypeError(err + " can't be coerced into BigDecimal"); } return null; }
public static RubyClass performSingletonMethodChecks(Ruby runtime, IRubyObject receiver, String name) throws RaiseException { if (receiver instanceof RubyFixnum || receiver instanceof RubySymbol) { throw runtime.newTypeError("can't define singleton method \"" + name + "\" for " + receiver.getMetaClass().getBaseName()); } if (receiver.isFrozen()) { throw runtime.newFrozenError("object"); } RubyClass rubyClass = receiver.getSingletonClass(); return rubyClass; }
@Override public String getMessage() { if (providedMessage == null) { providedMessage = "(" + exception.getMetaClass().getBaseName() + ") " + exception.message(exception.getRuntime().getCurrentContext()).asJavaString(); } return providedMessage; }
private void checkOpCoercion(ThreadContext context, IRubyObject other) { if (other instanceof RubyString) { throw context.runtime.newTypeError("no implicit conversion to rational from string"); } else if (other.isNil()) { throw context.runtime.newTypeError("no implicit conversion to rational from nil"); } else if (!other.respondsTo("to_r")){ throw context.runtime.newTypeError("can't convert " + other.getMetaClass().getBaseName() + " into Rational"); } }
private void checkOpCoercion(ThreadContext context, IRubyObject other) { if (other instanceof RubyString) { throw context.runtime.newTypeError("no implicit conversion to rational from string"); } else if (other.isNil()) { throw context.runtime.newTypeError("no implicit conversion to rational from nil"); } else if (!other.respondsTo("to_r")){ throw context.runtime.newTypeError("can't convert " + other.getMetaClass().getBaseName() + " into Rational"); } }
@Override public Object interpret(ThreadContext context, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block) { String name = method.getName(); Ruby runtime = context.runtime; RubyObject obj = (RubyObject) container.retrieve(context, self, currDynScope, temp); if (obj instanceof RubyFixnum || obj instanceof RubySymbol) { throw runtime.newTypeError("can't define singleton method \"" + name + "\" for " + obj.getMetaClass().getBaseName()); } if (obj.isFrozen()) throw runtime.newFrozenError("object"); RubyClass rubyClass = obj.getSingletonClass(); rubyClass.addMethod(name, new InterpretedIRMethod(method, Visibility.PUBLIC, rubyClass)); obj.callMethod(context, "singleton_method_added", runtime.fastNewSymbol(name)); return null; }