/*!*/ internal static string ConvertToFieldName(RubyContext/*!*/ context, object name) { // MRI doesn't use a dynamic conversion: if (name is RubySymbol || name is MutableString) { return name.ToString(); } else { throw RubyExceptions.CreateTypeError("unexpected type {0}, expected Symbol or String", context.GetClassDisplayName(name)); } }
public static object/*!*/ Xor(RubyContext/*!*/ context, object/*!*/ self, [NotNull]object/*!*/ other) { Debug.Assert(self is Enum); var result = EnumUtils.ExclusiveOr(self, other); if (result != null) { return result; } throw RubyExceptions.CreateUnexpectedTypeError(context, other, context.GetClassDisplayName(self)); }
public static MutableString/*!*/ Inspect(RubyContext/*!*/ context, RubyEncoding/*!*/ self) { // TODO: to_s overridden MutableString result = MutableString.CreateMutable(context.GetIdentifierEncoding()); result.Append("#<"); result.Append(context.GetClassDisplayName(self)); result.Append(':'); result.Append(self.Name); result.Append('>'); return result; }
private static RubyIO/*!*/ ToIo(RubyContext/*!*/ context, object obj) { RubyIO io = obj as RubyIO; if (io == null) { throw RubyExceptions.CreateTypeConversionError(context.GetClassDisplayName(obj), "IO"); } return io; }
public static Exception/*!*/ CreateUnexpectedTypeError(RubyContext/*!*/ context, object param, string/*!*/ type) { return CreateTypeError("wrong argument type {0} (expected {1})", context.GetClassDisplayName(param), type); }
public static Node ToYamlNode(RubyContext/*!*/ context, object self, RubyRepresenter rep) { throw RubyExceptions.CreateTypeError("can't dump anonymous class " + context.GetClassDisplayName(self)); }
private object RequireWriteProtocol(RubyContext/*!*/ context, object value, string/*!*/ variableName) { if (!context.RespondTo(value, "write")) { throw RubyExceptions.CreateTypeError(String.Format("${0} must have write method, {1} given", variableName, context.GetClassDisplayName(value))); } return value; }
public static Exception/*!*/ MakeTypeConversionError(RubyContext/*!*/ context, object value, Type/*!*/ type) { return RubyExceptions.CreateTypeConversionError(context.GetClassDisplayName(value), context.GetTypeName(type, true)); }
public static MutableString/*!*/ Inspect(RubyContext/*!*/ context, Thread/*!*/ self) { RubyThreadInfo.RegisterThread(Thread.CurrentThread); MutableString result = MutableString.CreateMutable(RubyEncoding.ClassName); result.Append("#<"); result.Append(context.GetClassDisplayName(self)); result.Append(':'); RubyUtils.AppendFormatHexObjectId(result, RubyUtils.GetObjectId(context, self)); result.Append(' '); RubyThreadStatus status = GetStatus(self); switch (status) { case RubyThreadStatus.Unstarted: result.Append("unstarted"); break; case RubyThreadStatus.Running: result.Append("run"); break; case RubyThreadStatus.Sleeping: result.Append("sleep"); break; case RubyThreadStatus.Aborting: result.Append("aborting"); break; case RubyThreadStatus.Completed: case RubyThreadStatus.Aborted: result.Append("dead"); break; } result.Append('>'); return result; }
public static RubyArray Coerce(RubyContext/*!*/ context, BigInteger/*!*/ self, object other) { throw RubyExceptions.CreateTypeError(String.Format("can't coerce {0} to Bignum", context.GetClassDisplayName(other))); }
public static Exception /*!*/ CreateUnexpectedTypeError(RubyContext /*!*/ context, object param, string /*!*/ type) { return(CreateTypeError("wrong argument type {0} (expected {1})", context.GetClassDisplayName(param), type)); }
public override string GetObjectTypeName(object arg) { return(_context.GetClassDisplayName(arg)); }
public static Node ToYamlNode(RubyContext /*!*/ context, object self, RubyRepresenter rep) { throw RubyExceptions.CreateTypeError("can't dump anonymous class " + context.GetClassDisplayName(self)); }
internal static string /*!*/ ConvertToFieldName(RubyContext /*!*/ context, object name) { // MRI doesn't use a dynamic conversion: if (name is RubySymbol || name is MutableString) { return(name.ToString()); } else { throw RubyExceptions.CreateTypeError("unexpected type {0}, expected Symbol or String", context.GetClassDisplayName(name)); } }