@Override @Nullable public SyntaxToken firstToken() { for (Tree child : getChildren()) { SyntaxToken first = child.firstToken(); if (first != null) { return first; } } return null; }
@Override @Nullable public SyntaxToken firstToken() { for (Tree child : getChildren()) { SyntaxToken first = child.firstToken(); if (first != null) { return first; } } return null; }
private static boolean intentionalFallThrough(Tree caseGroup, Tree nextCaseGroup) { // Check first token of next case group when comment is last element of case group it is attached to next group. FallThroughCommentVisitor visitor = new FallThroughCommentVisitor(); List<Tree> treesToScan = ImmutableList.<Tree>builder().addAll(((CaseGroupTree) caseGroup).body()) .add(nextCaseGroup.firstToken()).build(); visitor.scan(treesToScan); return visitor.hasComment; }
private static boolean intentionalFallThrough(Tree caseGroup, Tree nextCaseGroup) { // Check first token of next case group when comment is last element of case group it is attached to next group. FallThroughCommentVisitor visitor = new FallThroughCommentVisitor(); List<Tree> treesToScan = ImmutableList.<Tree>builder().addAll(((CaseGroupTree) caseGroup).body()) .add(nextCaseGroup.firstToken()).build(); visitor.scan(treesToScan); return visitor.hasComment; }
private static int isBefore(Tree t1, Tree t2) { SyntaxToken firstTokenT1 = t1.firstToken(); SyntaxToken firstTokenT2 = t2.firstToken(); int line = Integer.compare(firstTokenT1.line(), firstTokenT2.line()); return line != 0 ? line : Integer.compare(firstTokenT1.column(), firstTokenT2.column()); } }
private static int isBefore(Tree t1, Tree t2) { SyntaxToken firstTokenT1 = t1.firstToken(); SyntaxToken firstTokenT2 = t2.firstToken(); int line = Integer.compare(firstTokenT1.line(), firstTokenT2.line()); return line != 0 ? line : Integer.compare(firstTokenT1.column(), firstTokenT2.column()); } }
@Override public String toString() { String tree = ""; if (block instanceof CFG.Block) { List<Tree> elements = ((CFG.Block) block).elements(); if (i < elements.size()) { tree = "" + elements.get(i).kind() + elements.get(i).firstToken().line(); } } return "B" + block.id() + "." + i + " " + tree; }
@Override public String toString() { String tree = ""; if (block instanceof CFG.Block) { List<Tree> elements = ((CFG.Block) block).elements(); if (i < elements.size()) { tree = "" + elements.get(i).kind() + elements.get(i).firstToken().line(); } } return "B" + block.id() + "." + i + " " + tree; }
private static int startLineIncludingTrivia(Tree tree) { SyntaxToken firstToken = tree.firstToken(); // first token can't be null, because tree has @SuppressWarnings annotation if (!firstToken.trivias().isEmpty()) { return firstToken.trivias().get(0).startLine(); } return firstToken.line(); }
private void computeFilteredLinesForRule(@Nullable Tree tree, Class<? extends JavaCheck> filteredRule, boolean excludeLine) { if (tree == null) { return; } SyntaxToken firstSyntaxToken = tree.firstToken(); SyntaxToken lastSyntaxToken = tree.lastToken(); if (firstSyntaxToken != null && lastSyntaxToken != null) { Set<Integer> filteredlines = ContiguousSet.create(Range.closed(firstSyntaxToken.line(), lastSyntaxToken.line()), DiscreteDomain.integers()); computeFilteredLinesForRule(filteredlines, rulesKeysByRulesClass.get(filteredRule), excludeLine); } }
private void checkForEachExpression(Tree forEachIterable, ExpressionTree expressionTree) { if (SyntacticEquivalence.areEquivalent(expressionTree, forEachIterable)) { addIssue(expressionTree, forEachIterable.firstToken().line()); } }
private void computeFilteredLinesForRule(@Nullable Tree tree, Class<? extends JavaCheck> filteredRule, boolean excludeLine) { if (tree == null) { return; } SyntaxToken firstSyntaxToken = tree.firstToken(); SyntaxToken lastSyntaxToken = tree.lastToken(); if (firstSyntaxToken != null && lastSyntaxToken != null) { Set<Integer> filteredlines = ContiguousSet.create(Range.closed(firstSyntaxToken.line(), lastSyntaxToken.line()), DiscreteDomain.integers()); computeFilteredLinesForRule(filteredlines, rulesKeysByRulesClass.get(filteredRule), excludeLine); } }
public static AnalyzerMessage.TextSpan textSpanFor(Tree syntaxNode) { SyntaxToken firstSyntaxToken = getNonEmptyTree(syntaxNode).firstToken(); SyntaxToken lastSyntaxToken = getNonEmptyTree(syntaxNode).lastToken(); return textSpanBetween(firstSyntaxToken, lastSyntaxToken); }
public static AnalyzerMessage.TextSpan textSpanBetween(Tree startTree, Tree endTree) { SyntaxToken firstSyntaxToken = getNonEmptyTree(startTree).firstToken(); SyntaxToken lastSyntaxToken = getNonEmptyTree(endTree).lastToken(); return textSpanBetween(firstSyntaxToken, lastSyntaxToken); }
public static AnalyzerMessage.TextSpan textSpanBetween(Tree startTree, Tree endTree) { SyntaxToken firstSyntaxToken = getNonEmptyTree(startTree).firstToken(); SyntaxToken lastSyntaxToken = getNonEmptyTree(endTree).lastToken(); return textSpanBetween(firstSyntaxToken, lastSyntaxToken); }
public static AnalyzerMessage.TextSpan textSpanFor(Tree syntaxNode) { SyntaxToken firstSyntaxToken = getNonEmptyTree(syntaxNode).firstToken(); SyntaxToken lastSyntaxToken = getNonEmptyTree(syntaxNode).lastToken(); return textSpanBetween(firstSyntaxToken, lastSyntaxToken); }
private void checkForReport(StatementTree statement, Tree startTree, Tree endTree, String name) { if (!(statement.is(Tree.Kind.BLOCK) || statement.firstToken().column() > startTree.firstToken().column())) { context.reportIssue(this, startTree, endTree, "Use indentation to denote the code conditionally executed by this \"" + name + "\".", Collections.singletonList(new JavaFileScannerContext.Location("", statement)), null); } } }
private void checkForReport(StatementTree statement, Tree startTree, Tree endTree, String name) { if (!(statement.is(Tree.Kind.BLOCK) || statement.firstToken().column() > startTree.firstToken().column())) { context.reportIssue(this, startTree, endTree, "Use indentation to denote the code conditionally executed by this \"" + name + "\".", Collections.singletonList(new JavaFileScannerContext.Location("", statement)), null); } } }
private void highlight(Tree from, Tree to, TypeOfText typeOfText) { SyntaxToken firstToken = from.firstToken(); SyntaxToken lastToken = to.lastToken(); highlighting.highlight(firstToken.line(), firstToken.column(), lastToken.line(), lastToken.column() + lastToken.text().length(), typeOfText); }
private void highlight(Tree from, Tree to, TypeOfText typeOfText) { SyntaxToken firstToken = from.firstToken(); SyntaxToken lastToken = to.lastToken(); highlighting.highlight(firstToken.line(), firstToken.column(), lastToken.line(), lastToken.column() + lastToken.text().length(), typeOfText); }