List of usage examples for org.eclipse.jdt.internal.compiler.parser.diagnose DiagnoseParser DiagnoseParser
public DiagnoseParser(Parser parser, int firstToken, int start, int end, int[] intervalStartToSkip, int[] intervalEndToSkip, int[] intervalFlagsToSkip, CompilerOptions options)
From source file:org.eclipse.jdt.internal.compiler.parser.Parser.java
License:Open Source License
protected void reportSyntaxErrors(boolean isDietParse, int oldFirstToken) { if (this.referenceContext instanceof MethodDeclaration) { MethodDeclaration methodDeclaration = (MethodDeclaration) this.referenceContext; if ((methodDeclaration.bits & ASTNode.ErrorInSignature) != 0) { return; }/* www. ja v a 2 s. c om*/ } this.compilationUnit.compilationResult.lineSeparatorPositions = this.scanner.getLineEnds(); this.scanner.recordLineSeparator = false; int start = this.scanner.initialPosition; int end = this.scanner.eofPosition == Integer.MAX_VALUE ? this.scanner.eofPosition : this.scanner.eofPosition - 1; if (isDietParse) { TypeDeclaration[] types = this.compilationUnit.types; int[][] intervalToSkip = org.eclipse.jdt.internal.compiler.parser.diagnose.RangeUtil .computeDietRange(types); DiagnoseParser diagnoseParser = new DiagnoseParser(this, oldFirstToken, start, end, intervalToSkip[0], intervalToSkip[1], intervalToSkip[2], this.options); diagnoseParser.diagnoseParse(false); reportSyntaxErrorsForSkippedMethod(types); this.scanner.resetTo(start, end); } else { DiagnoseParser diagnoseParser = new DiagnoseParser(this, oldFirstToken, start, end, this.options); diagnoseParser.diagnoseParse(this.options.performStatementsRecovery); } }