private static void renderBacktraceMRI(RubyStackTraceElement[] trace, String linePrefix, StringBuilder buffer, boolean color) { for (int i = 0; i < trace.length; i++) { RubyStackTraceElement element = trace[i]; buffer .append(linePrefix) .append(element.getFileName()) .append(':') .append(element.getLineNumber()) .append(":in `") .append(element.getMethodName()) .append("'\n"); } }
private static void renderBacktraceMRI(RubyStackTraceElement[] trace, String linePrefix, StringBuilder buffer, boolean color) { for (int i = 0; i < trace.length; i++) { RubyStackTraceElement element = trace[i]; buffer .append(linePrefix) .append(element.getFileName()) .append(':') .append(element.getLineNumber()) .append(":in `") .append(element.getMethodName()) .append("'\n"); } }
@JRubyMethod public IRubyObject lineno(ThreadContext context) { return context.runtime.newFixnum(element.getLineNumber()); }
@JRubyMethod public IRubyObject lineno(ThreadContext context) { return context.runtime.newFixnum(element.getLineNumber()); }
@JRubyMethod public IRubyObject lineno(ThreadContext context) { return context.runtime.newFixnum(element.getLineNumber()); }
@JRubyMethod public IRubyObject lineno(ThreadContext context) { return context.runtime.newFixnum(element.getLineNumber()); }
public void warn(ID id, String message) { if (!runtime.warningsEnabled()) return; RubyStackTraceElement[] stack = getRubyStackTrace(runtime); String file; int line; if (stack.length == 0) { file = "(unknown)"; line = -1; } else { file = stack[0].getFileName(); line = stack[0].getLineNumber(); } warn(id, file, line, message); }
private static void printExceptionSummary(Ruby runtime, RubyException rEx) { RubyStackTraceElement[] elements = rEx.getBacktraceElements(); RubyStackTraceElement firstElement = elements.length > 0 ? elements[0] : new RubyStackTraceElement("", "", "(empty)", 0, false); String msg = String.format("Exception `%s' at %s:%s - %s\n", rEx.getMetaClass(), firstElement.getFileName(), firstElement.getLineNumber(), TypeConverter.convertToType(rEx, runtime.getString(), "to_s")); runtime.getErrorStream().print(msg); }
private static void printExceptionSummary(Ruby runtime, RubyException rEx) { RubyStackTraceElement[] elements = rEx.getBacktraceElements(); RubyStackTraceElement firstElement = elements.length > 0 ? elements[0] : new RubyStackTraceElement("", "", "(empty)", 0, false); String msg = String.format("Exception `%s' at %s:%s - %s\n", rEx.getMetaClass(), firstElement.getFileName(), firstElement.getLineNumber(), TypeConverter.convertToType(rEx, runtime.getString(), "to_s")); runtime.getErrorStream().print(msg); }
public static void logBacktrace(RubyStackTraceElement[] trace) { LOG.info("Backtrace generated:"); for (RubyStackTraceElement element : trace) { LOG.info(" " + element.getFileName() + ":" + element.getLineNumber() + " in " + element.getMethodName()); } }
public static void logBacktrace(RubyStackTraceElement[] trace) { LOG.info("Backtrace generated:"); for (RubyStackTraceElement element : trace) { LOG.info(" " + element.getFileName() + ":" + element.getLineNumber() + " in " + element.getMethodName()); } }
private static void writeWarning(Ruby runtime, ID id, String message) { RubyStackTraceElement[] stack = getRubyStackTrace(runtime); String file; int line; if (stack.length == 0) { file = "(unknown)"; line = -1; } else { file = stack[0].getFileName(); line = stack[0].getLineNumber(); } runtime.getWarnings().warning(id, file, line, message); }
private static void writeWarning(Ruby runtime, ID id, String message) { RubyStackTraceElement[] stack = getRubyStackTrace(runtime); String file; int line; if (stack.length == 0) { file = "(unknown)"; line = -1; } else { file = stack[0].getFileName(); line = stack[0].getLineNumber(); } runtime.getWarnings().warning(id, file, line, message); }
public void warning(ID id, String message) { if (!runtime.warningsEnabled()) return; RubyStackTraceElement[] stack = getRubyStackTrace(runtime); String file; int line; if (stack.length == 0) { file = "(unknown)"; line = -1; } else { file = stack[0].getFileName(); line = stack[0].getLineNumber(); } warning(id, file, line, message); }
private static void printExceptionSummary(ThreadContext context, Ruby runtime, RubyException rEx) { RubyStackTraceElement[] elements = rEx.getBacktraceElements(); RubyStackTraceElement firstElement = elements.length > 0 ? elements[0] : new RubyStackTraceElement("", "", "(empty)", 0, false); String msg = String.format("Exception `%s' at %s:%s - %s\n", rEx.getMetaClass(), firstElement.getFileName(), firstElement.getLineNumber(), runtime.is1_9() ? TypeConverter.convertToType(rEx, runtime.getString(), "to_s") : rEx.convertToString().toString()); runtime.getErrorStream().print(msg); }
private static void printExceptionSummary(ThreadContext context, Ruby runtime, RubyException rEx) { RubyStackTraceElement[] elements = rEx.getBacktraceElements(); RubyStackTraceElement firstElement = elements.length > 0 ? elements[0] : new RubyStackTraceElement("", "", "(empty)", 0, false); String msg = String.format("Exception `%s' at %s:%s - %s\n", rEx.getMetaClass(), firstElement.getFileName(), firstElement.getLineNumber(), runtime.is1_9() ? TypeConverter.convertToType(rEx, runtime.getString(), "to_s") : rEx.convertToString().toString()); runtime.getErrorStream().print(msg); }
public static IRubyObject generateMRIBacktrace(Ruby runtime, RubyStackTraceElement[] trace) { if (trace == null) { return runtime.getNil(); } RubyArray traceArray = RubyArray.newArray(runtime); for (int i = 0; i < trace.length; i++) { RubyStackTraceElement element = trace[i]; RubyString str = RubyString.newString(runtime, element.getFileName() + ":" + element.getLineNumber() + ":in `" + element.getMethodName() + "'"); traceArray.append(str); } return traceArray; }
public static IRubyObject generateMRIBacktrace(Ruby runtime, RubyStackTraceElement[] trace) { if (trace == null) { return runtime.getNil(); } RubyArray traceArray = RubyArray.newArray(runtime); for (int i = 0; i < trace.length; i++) { RubyStackTraceElement element = trace[i]; RubyString str = RubyString.newString(runtime, element.getFileName() + ":" + element.getLineNumber() + ":in `" + element.getMethodName() + "'"); traceArray.append(str); } return traceArray; }
public static RubyString to_s_mri(ThreadContext context, RubyStackTraceElement element) { RubySymbol methodSym = context.runtime.newSymbol(element.getMethodName()); RubyString line = context.runtime.newString(new ByteList(methodSym.getBytes().length() + element.getFileName().length() + 18)); line.setEncoding(methodSym.getEncoding()); line.cat(element.getFileName().getBytes()); line.cat(CommonByteLists.COLON); line.cat(ConvertBytes.longToByteList(element.getLineNumber())); line.cat(CommonByteLists.BACKTRACE_IN); if (element.getFrameType() == FrameType.BLOCK) line.catString("block in "); line.cat(methodSym.getBytes()); line.cat('\''); return line; }
public static RubyString to_s_mri(ThreadContext context, RubyStackTraceElement element) { RubySymbol methodSym = context.runtime.newSymbol(element.getMethodName()); RubyString line = context.runtime.newString(new ByteList(methodSym.getBytes().length() + element.getFileName().length() + 18)); line.setEncoding(methodSym.getEncoding()); line.cat(element.getFileName().getBytes()); line.cat(CommonByteLists.COLON); line.cat(ConvertBytes.longToByteList(element.getLineNumber())); line.cat(CommonByteLists.BACKTRACE_IN); if (element.getFrameType() == FrameType.BLOCK) line.catString("block in "); line.cat(methodSym.getBytes()); line.cat('\''); return line; }