private boolean performLocatingRun(InputBuffer inputBuffer) { resetValueStack(); ParseRunner<V> locatingRunner = new ErrorLocatingParseRunner<V>(rootMatcherWithoutPTB, getInnerHandler()) .withParseErrors(getParseErrors()) .withValueStack(getValueStack()); lastParsingResult = locatingRunner.run(inputBuffer); errorIndex = lastParsingResult.matched ? -1 : getParseErrors().remove(getParseErrors().size() - 1).getStartIndex(); return lastParsingResult.matched; }
@Override protected ParsingResult<BaseTemplate> runReportingMatch( final InputBuffer inputBuffer, final int errorIndex) { ParseRunner<BaseTemplate> reportingRunner = new SafeErrorReportingParseRunner( getRootMatcher(), errorIndex) .withParseErrors(getParseErrors()) .withValueStack(getValueStack()); return reportingRunner.run(inputBuffer); } }
private void performReportingRun() { resetValueStack(); ParseRunner<V> reportingRunner = new ErrorReportingParseRunner<V>(rootMatcherWithoutPTB, errorIndex, getInnerHandler()) .withParseErrors(getParseErrors()) .withValueStack(getValueStack()); ParsingResult<V> result = reportingRunner.run(buffer); Preconditions.checkState(!result.matched); // we failed before so we should really be failing again currentError = (InvalidInputError) getParseErrors().get(getParseErrors().size() - 1); }
protected ParsingResult<V> runReportingMatch(InputBuffer inputBuffer, int errorIndex) { ParseRunner<V> reportingRunner = new ErrorReportingParseRunner<V>(getRootMatcher(), errorIndex) .withParseErrors(getParseErrors()) .withValueStack(getValueStack()); return reportingRunner.run(inputBuffer); } }
protected ParsingResult<V> runBasicMatch(InputBuffer inputBuffer) { ParseRunner<V> basicRunner = new BasicParseRunner<V>(getRootMatcher()) .withParseErrors(getParseErrors()) .withValueStack(getValueStack()); return basicRunner.run(inputBuffer); }
.withValueStack(getValueStack()); lastParsingResult = basicRunner.run(inputBuffer);