private static Encoding extractEncodingFromObject(IRubyObject obj) { if (obj instanceof RubyEncoding) return ((RubyEncoding) obj).getEncoding(); if (obj instanceof EncodingCapable) return ((EncodingCapable) obj).getEncoding(); return null; }
public static IRubyObject encAssociateIndex(IRubyObject obj, Encoding encidx) { ((RubyBasicObject)obj).checkFrozen(); if (((EncodingCapable)obj).getEncoding() == encidx) { return obj; } if (!((RubyString)obj).isCodeRangeAsciiOnly() || encAsciicompat(encidx)) { ((RubyString)obj).clearCodeRange(); } ((EncodingCapable)obj).setEncoding(encidx); return obj; }
private IRubyObject ioEncStr(IRubyObject str) { str.setTaint(true); if (getRuntime().is1_9()) ((EncodingCapable)str).setEncoding(getReadEncoding()); return str; }
private IRubyObject ioEncStr(IRubyObject str) { str.setTaint(true); if (getRuntime().is1_9()) ((EncodingCapable)str).setEncoding(getReadEncoding()); return str; }
public static Encoding encGet(ThreadContext context, IRubyObject obj) { if (obj instanceof EncodingCapable) { return ((EncodingCapable)obj).getEncoding(); } return context.runtime.getDefaultInternalEncoding(); }
public static IRubyObject encAssociateIndex(IRubyObject obj, Encoding encidx) { ((RubyBasicObject)obj).checkFrozen(); if (((EncodingCapable)obj).getEncoding() == encidx) { return obj; } if (!((RubyString)obj).isCodeRangeAsciiOnly() || encAsciicompat(encidx)) { ((RubyString)obj).clearCodeRange(); } ((EncodingCapable)obj).setEncoding(encidx); return obj; }
strObj.setEncoding(UTF8Encoding.INSTANCE); } else { strObj.setEncoding(USASCIIEncoding.INSTANCE); strObj.setEncoding(encoding); continue;
public static Encoding encGet(ThreadContext context, IRubyObject obj) { if (obj instanceof EncodingCapable) { return ((EncodingCapable)obj).getEncoding(); } return context.runtime.getDefaultInternalEncoding(); }
public static IRubyObject encAssociateIndex(IRubyObject obj, Encoding encidx) { ((RubyBasicObject)obj).checkFrozen(); if (encidx == null) encidx = ASCIIEncoding.INSTANCE; if (((EncodingCapable)obj).getEncoding() == encidx) { return obj; } if (obj instanceof RubyString && ! CodeRangeSupport.isCodeRangeAsciiOnly((RubyString) obj) || encAsciicompat(encidx)) { ((RubyString)obj).clearCodeRange(); } ((EncodingCapable)obj).setEncoding(encidx); return obj; }
strObj.setEncoding(UTF8Encoding.INSTANCE); } else { strObj.setEncoding(USASCIIEncoding.INSTANCE); strObj.setEncoding(encoding); continue;
public static Encoding encGet(ThreadContext context, IRubyObject obj) { if (obj instanceof EncodingCapable) { return ((EncodingCapable)obj).getEncoding(); } return context.runtime.getDefaultInternalEncoding(); }
public static IRubyObject encAssociateIndex(IRubyObject obj, Encoding encidx) { ((RubyBasicObject)obj).checkFrozen(); if (encidx == null) encidx = ASCIIEncoding.INSTANCE; if (((EncodingCapable)obj).getEncoding() == encidx) { return obj; } if (obj instanceof RubyString && ! CodeRangeSupport.isCodeRangeAsciiOnly((RubyString) obj) || encAsciicompat(encidx)) { ((RubyString)obj).clearCodeRange(); } ((EncodingCapable)obj).setEncoding(encidx); return obj; }
public void defaultVariablesUnmarshal(IRubyObject object) throws IOException { int count = unmarshalInt(); RubyClass cls = object.getMetaClass().getRealClass(); for (int i = 0; i < count; i++) { IRubyObject key = unmarshalObject(false); if (object instanceof EncodingCapable) { EncodingCapable strObj = (EncodingCapable)object; Encoding enc = getEncodingFromUnmarshaled(key); if (enc != null) { // got encoding, set it and forget it strObj.setEncoding(enc); continue; } } String name = key.asJavaString(); IRubyObject value = unmarshalObject(); cls.getVariableAccessorForWrite(name).set(object, value); } }
private static Encoding extractEncodingFromObject(IRubyObject obj) { if (obj instanceof RubyEncoding) return ((RubyEncoding) obj).getEncoding(); if (obj instanceof EncodingCapable) return ((EncodingCapable) obj).getEncoding(); return null; }
public void defaultVariablesUnmarshal(IRubyObject object) throws IOException { int count = unmarshalInt(); RubyClass cls = object.getMetaClass().getRealClass(); for (int i = 0; i < count; i++) { IRubyObject key = unmarshalObject(false); if (object instanceof EncodingCapable) { EncodingCapable strObj = (EncodingCapable)object; Encoding enc = getEncodingFromUnmarshaled(key); if (enc != null) { // got encoding, set it and forget it strObj.setEncoding(enc); continue; } } String name = key.asJavaString(); IRubyObject value = unmarshalObject(); cls.getVariableAccessorForWrite(name).set(object, value); } }
public static Encoding encGet(ThreadContext context, IRubyObject obj) { if (obj instanceof EncodingCapable) { return ((EncodingCapable)obj).getEncoding(); } return context.runtime.getDefaultInternalEncoding(); }
private static Encoding extractEncodingFromObject(IRubyObject obj) { if (obj instanceof RubyEncoding) return ((RubyEncoding) obj).getEncoding(); if (obj instanceof RubySymbol) return ((RubySymbol) obj).asString().getEncoding(); if (obj instanceof EncodingCapable) return ((EncodingCapable) obj).getEncoding(); return null; }
private static Encoding extractEncodingFromObject(IRubyObject obj) { if (obj instanceof RubyEncoding) return ((RubyEncoding) obj).getEncoding(); if (obj instanceof RubySymbol) return ((RubySymbol) obj).asString().getEncoding(); if (obj instanceof EncodingCapable) return ((EncodingCapable) obj).getEncoding(); return null; }
final Encoding checkEncoding(EncodingCapable other) { Encoding enc = isCompatibleWith(other); if (enc == null) throw getRuntime().newEncodingCompatibilityError("incompatible character encodings: " + value.getEncoding() + " and " + other.getEncoding()); return enc; }
final Encoding checkEncoding(EncodingCapable other) { Encoding enc = isCompatibleWith(other); if (enc == null) throw getRuntime().newEncodingCompatibilityError("incompatible character encodings: " + value.getEncoding() + " and " + other.getEncoding()); return enc; }