/** * Find a non-special encoding Entry, raising argument error if it does not exist. * * @param name the name of the encoding to look up * @return the EncodingDB.Entry object found, or raises ArgumentError */ private Entry findEntryWithError(ByteList name) { Entry e = findEncodingOrAliasEntry(name); if (e == null) throw runtime.newArgumentError("unknown encoding name - " + name); return e; }
/** * Find a non-special encoding Entry, raising argument error if it does not exist. * * @param name the name of the encoding to look up * @return the EncodingDB.Entry object found, or raises ArgumentError */ private Entry findEntryWithError(ByteList name) { Entry e = findEncodingOrAliasEntry(name); if (e == null) throw runtime.newArgumentError("unknown encoding name - " + name); return e; }
/** * Find a non-special encoding Entry, raising argument error if it does not exist. * * @param name the name of the encoding to look up * @return the EncodingDB.Entry object found, or raises ArgumentError */ private Entry findEntryWithError(ByteList name) { Entry e = findEncodingOrAliasEntry(name); if (e == null) throw runtime.newArgumentError("unknown encoding name - " + name); return e; }
public Encoding getLocaleEncoding() { final Encoding consoleEncoding = getConsoleEncoding(); if (consoleEncoding != null) { return consoleEncoding; } ByteList encName = defaultCharsetName; if (encName == null) { encName = new ByteList(Charset.defaultCharset().name().getBytes(), false); defaultCharsetName = encName; } final Entry entry = findEncodingOrAliasEntry(encName); return entry == null ? ASCIIEncoding.INSTANCE : entry.getEncoding(); }
public Encoding loadEncoding(ByteList name) { Entry entry = findEncodingOrAliasEntry(name); if (entry == null) return null; loadEncodingEntry(entry); // should not attempt RubyEncoding#getEncoding() here return entry.getEncoding(); }
public Encoding loadEncoding(ByteList name) { Entry entry = findEncodingOrAliasEntry(name); if (entry == null) return null; loadEncodingEntry(entry); // should not attempt RubyEncoding#getEncoding() here return entry.getEncoding(); }
public Encoding loadEncoding(ByteList name) { Entry entry = findEncodingOrAliasEntry(name); if (entry == null) return null; Encoding enc = entry.getEncoding(); // load the encoding int index = enc.getIndex(); if (index >= encodingIndex.length) { RubyEncoding tmp[] = new RubyEncoding[index + 4]; System.arraycopy(encodingIndex, 0, tmp, 0, encodingIndex.length); encodingIndex = tmp; } encodingIndex[index] = (RubyEncoding)encodingList[entry.getIndex()]; return enc; }
public Encoding loadEncoding(ByteList name) { Entry entry = findEncodingOrAliasEntry(name); if (entry == null) return null; Encoding enc = entry.getEncoding(); // load the encoding int index = enc.getIndex(); if (index >= encodingIndex.length) { RubyEncoding tmp[] = new RubyEncoding[index + 4]; System.arraycopy(encodingIndex, 0, tmp, 0, encodingIndex.length); encodingIndex = tmp; } encodingIndex[index] = (RubyEncoding)encodingList[entry.getIndex()]; return enc; }
@JIT public static Encoding retrieveJCodingsEncoding(ThreadContext context, String name) { return context.runtime.getEncodingService().findEncodingOrAliasEntry(name.getBytes()).getEncoding(); }
@JIT public static Encoding retrieveJCodingsEncoding(ThreadContext context, String name) { return context.runtime.getEncodingService().findEncodingOrAliasEntry(name.getBytes()).getEncoding(); }
public EncodingService(Ruby runtime) { this.runtime = runtime; encodings = EncodingDB.getEncodings(); aliases = EncodingDB.getAliases(); ascii8bit = encodings.get("ASCII-8BIT".getBytes()).getEncoding(); String javaDefaultCharset = Charset.defaultCharset().name(); Entry javaDefaultEntry = findEncodingOrAliasEntry(javaDefaultCharset.getBytes()); javaDefault = javaDefaultEntry == null ? ascii8bit : javaDefaultEntry.getEncoding(); encodingList = new IRubyObject[encodings.size()]; }
public EncodingService(Ruby runtime) { this.runtime = runtime; encodings = EncodingDB.getEncodings(); aliases = EncodingDB.getAliases(); ascii8bit = encodings.get("ASCII-8BIT".getBytes()).getEncoding(); String javaDefaultCharset = Charset.defaultCharset().name(); Entry javaDefaultEntry = findEncodingOrAliasEntry(javaDefaultCharset.getBytes()); javaDefault = javaDefaultEntry == null ? ascii8bit : javaDefaultEntry.getEncoding(); encodingList = new IRubyObject[encodings.size()]; }
public RubyEncoding getEncoding(Encoding enc) { int index = enc.getIndex(); RubyEncoding rubyEncoding; RubyEncoding[] encodingIndex = this.encodingIndex; if (index < encodingIndex.length && (rubyEncoding = encodingIndex[index]) != null) { return rubyEncoding; } // loadEncoding : Entry entry = findEncodingOrAliasEntry(enc.getName()); return loadEncodingEntry(entry); }
public RubyEncoding getEncoding(Encoding enc) { int index = enc.getIndex(); RubyEncoding rubyEncoding; RubyEncoding[] encodingIndex = this.encodingIndex; if (index < encodingIndex.length && (rubyEncoding = encodingIndex[index]) != null) { return rubyEncoding; } // loadEncoding : Entry entry = findEncodingOrAliasEntry(enc.getName()); return loadEncodingEntry(entry); }
private Encoding findEncodingCommon(ByteList name, boolean error) { checkAsciiEncodingName(name); SpecialEncoding special = SpecialEncoding.valueOf(name); if (special != null) { return special.toEncoding(runtime); } if (error) return findEncodingWithError(name); Entry e = findEncodingOrAliasEntry(name); if (e == null) return null; return e.getEncoding(); }
private Encoding findEncodingCommon(ByteList name, boolean error) { checkAsciiEncodingName(name); SpecialEncoding special = SpecialEncoding.valueOf(name); if (special != null) { return special.toEncoding(runtime); } if (error) return findEncodingWithError(name); Entry e = findEncodingOrAliasEntry(name); if (e == null) return null; return e.getEncoding(); }
private Encoding findEncodingCommon(IRubyObject str, boolean error) { ByteList name = str.convertToString().getByteList(); checkAsciiEncodingName(name); SpecialEncoding special = SpecialEncoding.valueOf(name); if (special != null) { return special.toEncoding(runtime); } if (error) return findEncodingWithError(name); Entry e = findEncodingOrAliasEntry(name); if (e == null) return null; return e.getEncoding(); }
@JRubyMethod public IRubyObject replacement(ThreadContext context) { int ret = ec.makeReplacement(); if (ret == -1) { throw context.runtime.newUndefinedConversionError("replacement character setup failed"); } return context.runtime.newString(new ByteList( ec.replacementString, 0, ec.replacementLength, context.runtime.getEncodingService().findEncodingOrAliasEntry(ec.replacementEncoding).getEncoding(), true)); }
@JRubyMethod public IRubyObject replacement(ThreadContext context) { int ret = ec.makeReplacement(); if (ret == -1) { throw context.runtime.newUndefinedConversionError("replacement character setup failed"); } return context.runtime.newString(new ByteList( ec.replacementString, 0, ec.replacementLength, context.runtime.getEncodingService().findEncodingOrAliasEntry(ec.replacementEncoding).getEncoding(), true)); }
private static RaiseException makeEConvExceptionSetEncs(RaiseException exc, Ruby runtime, EConv ec) { exc.getException().setInternalVariable("source_encoding_name", RubyString.newString(runtime, ec.lastError.getSource())); exc.getException().setInternalVariable("destination_encoding_name", RubyString.newString(runtime, ec.lastError.getDestination())); EncodingDB.Entry entry = runtime.getEncodingService().findEncodingOrAliasEntry(ec.lastError.getSource()); if (entry != null) { exc.getException().setInternalVariable("source_encoding", runtime.getEncodingService().convertEncodingToRubyEncoding(entry.getEncoding())); } entry = runtime.getEncodingService().findEncodingOrAliasEntry(ec.lastError.getDestination()); if (entry != null) { exc.getException().setInternalVariable("destination_encoding", runtime.getEncodingService().convertEncodingToRubyEncoding(entry.getEncoding())); } return exc; }