@Test public void error_location_method_exception() { TextPointer errorLocation1 = converter.getErrorLocation(mock(StandardError.class)); assertThat(errorLocation1).isNull(); assertThat(logTester.logs()).contains("No location information available for parse error"); }
TextPointer getErrorLocation(StandardError e) { try { IRubyObject diagnostic = (IRubyObject) invokeMethod(e.getException(), "diagnostic", null); IRubyObject location = (IRubyObject) invokeMethod(diagnostic, "location", null); if (location != null) { return new RangeAdapter(runtime, location).toTextRange().start(); } } catch (NoMethodError nme) { } LOG.warn("No location information available for parse error"); return null; }
RubyConverter implements ASTConverter { TextPointer getErrorLocation(StandardError e) { try { IRubyObject diagnostic = (IRubyObject) invokeMethod(e.getException(), "diagnostic", null); IRubyObject location = (IRubyObject) invokeMethod(diagnostic, "location", null); if (location != null) { return new RangeAdapter(runtime, location).toTextRange().start(); } } catch (NoMethodError nme) { } LOG.warn("No location information available for parse error"); return null; } }
RubyConverter implements ASTConverter { TextPointer getErrorLocation(StandardError e) { try { IRubyObject diagnostic = (IRubyObject) invokeMethod(e.getException(), "diagnostic", null); IRubyObject location = (IRubyObject) invokeMethod(diagnostic, "location", null); if (location != null) { return new RangeAdapter(runtime, location).toTextRange().start(); } } catch (NoMethodError nme) { } LOG.warn("No location information available for parse error"); return null; } RubyConverter(RubyRuntimeAdapter rubyRuntimeAdapter);  RubyConverter(); }
RubyConverter implements ASTConverter { TextPointer getErrorLocation(StandardError e) { try { IRubyObject diagnostic = (IRubyObject) invokeMethod(e.getException(), "diagnostic", null); IRubyObject location = (IRubyObject) invokeMethod(diagnostic, "location", null); if (location != null) { return new RangeAdapter(runtime, location).toTextRange().start(); } } catch (NoMethodError nme) { } LOG.warn("No location information available for parse error"); return null; } RubyConverter(RubyRuntimeAdapter rubyRuntimeAdapter);  RubyConverter(); @Override void terminate(); @Override Tree parse(String content); }
RubyConverter implements ASTConverter { TextPointer getErrorLocation(StandardError e) { try { IRubyObject diagnostic = (IRubyObject) invokeMethod(e.getException(), "diagnostic", null); IRubyObject location = (IRubyObject) invokeMethod(diagnostic, "location", null); if (location != null) { return new RangeAdapter(runtime, location).toTextRange().start(); } } catch (NoMethodError nme) { } LOG.warn("No location information available for parse error"); return null; } RubyConverter(RubyRuntimeAdapter rubyRuntimeAdapter);  RubyConverter(); @Override void terminate(); @Override Tree parse(String content);  }