@Deprecated public String internalId() { return INTERNAL_ID.toString(); }
private static String internedStringFromByteList(ByteList val) { try { return Helpers.byteListToString(val).intern(); } catch (UnsupportedCharsetException e) { return val.toString().intern(); } }
private static String internedStringFromByteList(ByteList val) { try { return Helpers.byteListToString(val).intern(); } catch (UnsupportedCharsetException e) { return val.toString().intern(); } }
protected int error(RubyLexer lexer, int len, ByteList str, ByteList eos) { lexer.compile_error("can't find string \"" + eos.toString() + "\" anywhere before EOF"); return -1; }
public Instruction visitStrNode(StrNode iVisited) { print(iVisited.getValue().toString()); return null; } }
public Node asSymbol(ISourcePosition position, Node value) { // FIXME: This might have an encoding issue since toString generally uses iso-8859-1 if (value instanceof StrNode) return new SymbolNode(position, ((StrNode) value).getValue().toString().intern()); return new DSymbolNode(position, (DStrNode) value); }
public Node asSymbol(ISourcePosition position, Node value) { // FIXME: This might have an encoding issue since toString generally uses iso-8859-1 if (value instanceof StrNode) return new SymbolNode(position, ((StrNode) value).getValue().toString().intern()); return new DSymbolNode(position, (DStrNode) value); }
protected void setEncoding(ByteList name) { Encoding newEncoding = parser.getRuntime().getEncodingService().loadEncoding(name); if (newEncoding == null) { compile_error("unknown encoding name: " + name.toString()); return; } if (!newEncoding.isAsciiCompatible()) { compile_error(name.toString() + " is not ASCII compatible"); return; } setEncoding(newEncoding); }
protected void setEncoding(ByteList name) { Encoding newEncoding = parser.getRuntime().getEncodingService().loadEncoding(name); if (newEncoding == null) { compile_error("unknown encoding name: " + name.toString()); return; } if (!newEncoding.isAsciiCompatible()) { compile_error(name.toString() + " is not ASCII compatible"); return; } setEncoding(newEncoding); }
protected void setEncoding(ByteList name) { Ruby runtime = parserSupport.getConfiguration().getRuntime(); Encoding newEncoding = runtime.getEncodingService().loadEncoding(name); if (newEncoding == null) throw runtime.newArgumentError("unknown encoding name: " + name.toString()); if (!newEncoding.isAsciiCompatible()) throw runtime.newArgumentError(name.toString() + " is not ASCII compatible"); setEncoding(newEncoding); }
public Instruction visitXStrNode(XStrNode iVisited) { print('`'); print(iVisited.getValue().toString()); print('`'); return null; }
protected void setEncoding(ByteList name) { Ruby runtime = parserSupport.getConfiguration().getRuntime(); Encoding newEncoding = runtime.getEncodingService().loadEncoding(name); if (newEncoding == null) throw runtime.newArgumentError("unknown encoding name: " + name.toString()); if (!newEncoding.isAsciiCompatible()) throw runtime.newArgumentError(name.toString() + " is not ASCII compatible"); setEncoding(newEncoding); }
private void setEncoding(ByteList name) { Encoding newEncoding = parserSupport.getConfiguration().getEncodingService().loadEncoding(name); if (newEncoding == null) { throw new SyntaxException(PID.UNKNOWN_ENCODING, getPosition(), null, "unknown encoding name: " + name.toString()); } if (!newEncoding.isAsciiCompatible()) { throw new SyntaxException(PID.NOT_ASCII_COMPATIBLE, getPosition(), null, name.toString() + " is not ASCII compatible"); } setEncoding(newEncoding); }
public ArgsTailHolder new_args_tail(ISourcePosition position, ListNode keywordArg, ByteList keywordRestArgName, BlockArgNode blockArg) { if (keywordRestArgName == null) return new ArgsTailHolder(position, keywordArg, null, blockArg); ByteList restKwargsName = keywordRestArgName; String raw = restKwargsName.toString(); int slot = currentScope.exists(raw); if (slot == -1) slot = currentScope.addVariable(raw); KeywordRestArgNode keywordRestArg = new KeywordRestArgNode(position, symbolID(restKwargsName), slot); return new ArgsTailHolder(position, keywordArg, keywordRestArg, blockArg); }
public ArgsTailHolder new_args_tail(ISourcePosition position, ListNode keywordArg, ByteList keywordRestArgName, BlockArgNode blockArg) { if (keywordRestArgName == null) return new ArgsTailHolder(position, keywordArg, null, blockArg); ByteList restKwargsName = keywordRestArgName; String raw = restKwargsName.toString(); int slot = currentScope.exists(raw); if (slot == -1) slot = currentScope.addVariable(raw); KeywordRestArgNode keywordRestArg = new KeywordRestArgNode(position, symbolID(restKwargsName), slot); return new ArgsTailHolder(position, keywordArg, keywordRestArg, blockArg); }
public void createNewString(ByteList value) { // FIXME: this is sub-optimal, storing string value in a java.lang.String again loadRuntime(); getCacheCompiler().cacheByteList(this, value.toString()); invokeIRuby("newStringShared", sig(RubyString.class, params(ByteList.class))); }
public Instruction visitRegexpNode(RegexpNode iVisited) { print(getFirstRegexpEnclosure(iVisited)); print(iVisited.getValue().toString()); print(getSecondRegexpEnclosure(iVisited)); printRegexpOptions(iVisited.getOptions()); return null; }
@JRubyMethod(name = "load", required = 1, optional = 1, frame = true, module = true, visibility = PRIVATE) public static IRubyObject load(IRubyObject recv, IRubyObject[] args, Block block) { Ruby runtime = recv.getRuntime(); RubyString file = args[0].convertToString(); boolean wrap = args.length == 2 ? args[1].isTrue() : false; runtime.getLoadService().load(file.getByteList().toString(), wrap); return runtime.getTrue(); }
private Regex getStringPattern19(Ruby runtime, IRubyObject obj) { RubyString str = getStringForPattern(obj); if (str.scanForCodeRange() == CR_BROKEN) { throw runtime.newRegexpError("invalid multybyte character: " + RubyRegexp.regexpDescription19(runtime, str.value, new RegexpOptions(), str.value.getEncoding()).toString()); } if (str.value.getEncoding().isDummy()) { throw runtime.newArgumentError("can't make regexp with dummy encoding"); } return RubyRegexp.getQuotedRegexpFromCache19(runtime, str.value, new RegexpOptions(), str.isAsciiOnly()); }
private Regex getStringPattern19(Ruby runtime, IRubyObject obj) { RubyString str = getStringForPattern(obj); if (str.scanForCodeRange() == CR_BROKEN) { throw runtime.newRegexpError("invalid multybyte character: " + RubyRegexp.regexpDescription19(runtime, str.value, new RegexpOptions(), str.value.getEncoding()).toString()); } if (str.value.getEncoding().isDummy()) { throw runtime.newArgumentError("can't make regexp with dummy encoding"); } return RubyRegexp.getQuotedRegexpFromCache19(runtime, str.value, new RegexpOptions(), str.isAsciiOnly()); }