public static RubyString newUsAsciiStringShared(Ruby runtime, ByteList bytes) { RubyString str = newStringNoCopy(runtime, bytes, USASCIIEncoding.INSTANCE, CR_7BIT); str.shareLevel = SHARE_LEVEL_BYTELIST; return str; }
public static RubyString newUsAsciiStringShared(Ruby runtime, ByteList bytes) { RubyString str = newStringNoCopy(runtime, bytes, USASCIIEncoding.INSTANCE, CR_7BIT); str.shareLevel = SHARE_LEVEL_BYTELIST; return str; }
/** * Creates a ruby string from a byte array and sets the taint flag on it * * @param runtime The ruby runtime * @param bytes The array to make into a ruby string. * @return A ruby string. */ public static final RubyString newTaintedString(Ruby runtime, byte[] bytes) { RubyString s = RubyString.newStringNoCopy(runtime, bytes); s.setTaint(true); return s; }
/** * Creates a ruby string from a byte array and sets the taint flag on it * * @param runtime The ruby runtime * @param bytes The array to make into a ruby string. * @return A ruby string. */ public static final RubyString newTaintedString(Ruby runtime, byte[] bytes) { RubyString s = RubyString.newStringNoCopy(runtime, bytes); s.setTaint(true); return s; }
/** * Creates a ruby string from a byte array and sets the taint flag on it * * @param runtime The ruby runtime * @param bytes The array to make into a ruby string. * @return A ruby string. */ public static final RubyString newTaintedString(Ruby runtime, byte[] bytes) { RubyString s = RubyString.newStringNoCopy(runtime, bytes); s.setTaint(true); return s; }
private static RubyArray asRubyStringList(Ruby runtime, List<ByteList> dirs) { final int size = dirs.size(); if ( size == 0 ) return RubyArray.newEmptyArray(runtime); IRubyObject[] dirStrings = new IRubyObject[ size ]; for ( int i = 0; i < size; i++ ) { dirStrings[i] = RubyString.newStringNoCopy(runtime, dirs.get(i)); } return RubyArray.newArrayMayCopy(runtime, dirStrings); }
@JRubyMethod() public IRubyObject finish() { IRubyObject digest = RubyString.newStringNoCopy(getRuntime(), algo.digest()); algo.reset(); return digest; }
@JRubyMethod() public IRubyObject finish() { IRubyObject digest = RubyString.newStringNoCopy(getRuntime(), algo.digest()); algo.reset(); return digest; }
private static RubyArray asRubyStringList(Ruby runtime, List<ByteList> dirs) { final int size = dirs.size(); if ( size == 0 ) return RubyArray.newEmptyArray(runtime); IRubyObject[] dirStrings = new IRubyObject[ size ]; for ( int i = 0; i < size; i++ ) { dirStrings[i] = RubyString.newStringNoCopy(runtime, dirs.get(i)); } return RubyArray.newArrayMayCopy(runtime, dirStrings); }
@Override public void write(byte[] b, int off, int len) throws IOException { RubyIO.this.write(runtime.getCurrentContext(), RubyString.newStringNoCopy(runtime, b, off, len)); }
@JRubyMethod(meta = true) public static IRubyObject hex(ThreadContext context, IRubyObject self, IRubyObject n) { return RubyString.newStringNoCopy(context.runtime, ConvertBytes.twosComplementToHexBytes(nextBytes(context, n), false)); }
@JRubyMethod(meta = true) public static IRubyObject uuid(ThreadContext context, IRubyObject self) { return RubyString.newStringNoCopy(context.runtime, ConvertBytes.bytesToUUIDBytes(nextBytes(context, 16), false)); }
public static long newString(Ruby runtime, byte[] bytes, int length, boolean tainted) { IRubyObject retval = RubyString.newStringNoCopy(runtime, bytes); if (tainted) { retval.setTaint(tainted); } ((RubyString) retval).getByteList().setRealSize(length); return Handle.nativeHandle(retval); }
public IRubyObject get(ThreadContext context, StructLayout.Storage cache, Member m, AbstractMemory ptr) { MemoryIO io = ptr.getMemoryIO().getMemoryIO(m.getOffset(ptr)); if (io == null || io.isNull()) { return context.nil; } return RubyString.newStringNoCopy(context.runtime, io.getZeroTerminatedByteArray(0)); }
public IRubyObject get(ThreadContext context, StructLayout.Storage cache, Member m, AbstractMemory ptr) { MemoryIO io = ptr.getMemoryIO().getMemoryIO(m.getOffset(ptr)); if (io == null || io.isNull()) { return context.nil; } return RubyString.newStringNoCopy(context.runtime, io.getZeroTerminatedByteArray(0)); }
public IRubyObject get(ThreadContext context, StructLayout.Storage cache, Member m, AbstractMemory ptr) { MemoryIO io = ptr.getMemoryIO().getMemoryIO(m.getOffset(ptr)); if (io == null || io.isNull()) { return context.runtime.getNil(); } return RubyString.newStringNoCopy(context.runtime, io.getZeroTerminatedByteArray(0)); }
private IRubyObject inspect1() { final Ruby runtime = getRuntime(); if (pos == 0) return RubyString.newEmptyString(runtime); if (pos > INSPECT_LENGTH) { return RubyString.newStringNoCopy(runtime, DOT_BYTES). append(str.substr(runtime, pos - INSPECT_LENGTH, INSPECT_LENGTH)).inspect(); } return str.substr(runtime, 0, pos).inspect(); }
private IRubyObject inspect1() { if (pos == 0) return RubyString.newEmptyString(getRuntime()); if (pos > INSPECT_LENGTH) { return RubyString.newStringNoCopy(getRuntime(), "...".getBytes()). append(str.substr(getRuntime(), pos - INSPECT_LENGTH, INSPECT_LENGTH)).inspect(); } else { return str.substr(getRuntime(), 0, pos).inspect(); } }
@JRubyMethod() public static IRubyObject inspect(ThreadContext context, IRubyObject self) { return RubyString.newStringNoCopy(self.getRuntime(), ByteList.plain("#<" + self.getMetaClass().getRealClass().getName() + ": " + hexdigest(context, self, null) + ">")); }
@JRubyMethod(name = "+", required = 1) public IRubyObject op_plus19(ThreadContext context, IRubyObject arg) { RubyString str = arg.convertToString(); Encoding enc = checkEncoding(str); long len = (long) value.getRealSize() + str.value.getRealSize(); // we limit to int because ByteBuffer can only allocate int sizes if (len > Integer.MAX_VALUE) throw context.runtime.newArgumentError("argument too big"); RubyString resultStr = newStringNoCopy(context.runtime, StringSupport.addByteLists(value, str.value), enc, CodeRangeSupport.codeRangeAnd(getCodeRange(), str.getCodeRange())); resultStr.infectBy(flags | str.flags); return resultStr; }