@Override public void visitToken(SyntaxToken syntaxToken) { String text = syntaxToken.text(); if (keywords.contains(text)) { if (isInterfaceOfAnnotationType(syntaxToken)) { ClassTreeImpl annotationType = (ClassTreeImpl) syntaxToken.parent(); highlight(annotationType.atToken(), annotationType.declarationKeyword(), TypeOfText.KEYWORD); } else { highlight(syntaxToken, TypeOfText.KEYWORD); } } else if (isRestrictedKeyword(syntaxToken)) { highlight(syntaxToken, TypeOfText.KEYWORD); } }
if (sonarComponents != null) { if(!sonarComponents.isSonarLintContext()) { codeVisitors = Iterables.concat(codeVisitors, Arrays.asList(new FileLinesVisitor(sonarComponents), new SyntaxHighlighterVisitor(sonarComponents))); testCodeVisitors.add(new SyntaxHighlighterVisitor(sonarComponents));
private int start(SyntaxTrivia syntaxTrivia) { return getOffset(syntaxTrivia.startLine(), syntaxTrivia.column()); }
private void highlight(Tree tree, TypeOfText typeOfText) { highlight(tree, tree, typeOfText); }
private int start(AnnotationTree annotationTree) { return start(annotationTree.atToken()); }
@Override public void visitFile(AstNode astNode) { if (astNode == null) { // parse error return; } highlighting = sonarComponents.highlightableFor(getContext().getFile()).newHighlighting(); lineStart = Lists.newArrayList(); final String content; try { content = Files.toString(getContext().getFile(), charset); } catch (IOException e) { throw Throwables.propagate(e); } lineStart.add(0); for (int i = 0; i < content.length(); i++) { if (content.charAt(i) == '\n' || (content.charAt(i) == '\r' && i + 1 < content.length() && content.charAt(i + 1) != '\n')) { lineStart.add(i + 1); } } }
@Override public void scanFile(JavaFileScannerContext context) { File file = context.getFile(); highlighting = sonarComponents.highlightableFor(file).newHighlighting(); lineStart = startLines(file, this.charset); super.scanFile(context); highlighting.done(); lineStart.clear(); }
private int end(AnnotationTree annotationTree) { TypeTree annotationType = annotationTree.annotationType(); SyntaxToken token; if (annotationType.is(Tree.Kind.MEMBER_SELECT)) { token = ((MemberSelectExpressionTree) annotationType).identifier().identifierToken(); } else { token = ((IdentifierTree) annotationType).identifierToken(); } return end(token); }
if (sonarComponents != null) { if(!sonarComponents.isSonarLintContext()) { codeVisitors = Iterables.concat(codeVisitors, Arrays.asList(new FileLinesVisitor(sonarComponents), new SyntaxHighlighterVisitor(sonarComponents))); testCodeVisitors.add(new SyntaxHighlighterVisitor(sonarComponents));
private int start(SyntaxToken token) { return getOffset(token.line(), token.column()); }
private void highlight(Tree tree, TypeOfText typeOfText) { highlight(tree, tree, typeOfText); }
Arrays.asList( new FileLinesVisitor(sonarComponents, conf.getCharset()), new SyntaxHighlighterVisitor(sonarComponents, conf.getCharset()) testCodeVisitors.add(new SyntaxHighlighterVisitor(sonarComponents, conf.getCharset())); classpath = sonarComponents.getJavaClasspath(); testClasspath = sonarComponents.getJavaTestClasspath();
private int end(SyntaxToken token) { return getOffset(token.line(), token.column()) + token.text().length(); }
@Override public void visitToken(SyntaxToken syntaxToken) { String text = syntaxToken.text(); if (keywords.contains(text)) { if (isInterfaceOfAnnotationType(syntaxToken)) { ClassTreeImpl annotationType = (ClassTreeImpl) syntaxToken.parent(); highlight(annotationType.atToken(), annotationType.declarationKeyword(), TypeOfText.KEYWORD); } else { highlight(syntaxToken, TypeOfText.KEYWORD); } } else if (isRestrictedKeyword(syntaxToken)) { highlight(syntaxToken, TypeOfText.KEYWORD); } }
@Override public void visitNode(Tree tree) { if (tree.is(Tree.Kind.MODULE)) { withinModule = true; return; } if (tree.is(Tree.Kind.ANNOTATION)) { AnnotationTree annotationTree = (AnnotationTree) tree; highlight(annotationTree.atToken(), annotationTree.annotationType(), typesByKind.get(Tree.Kind.ANNOTATION)); } else { highlight(tree, typesByKind.get(tree.kind())); } }
private void setupAstScanner(AstScanner astScanner, Iterable<CodeVisitor> visitorsToBridge, List<File> classpath, JavaConfiguration conf, @Nullable SonarComponents sonarComponents) { if(sonarComponents != null) { astScanner.accept(new FileLinesVisitor(sonarComponents, conf.getCharset())); astScanner.accept(new SyntaxHighlighterVisitor(sonarComponents, conf.getCharset())); } VisitorsBridge visitorsBridgeTest = new VisitorsBridge(visitorsToBridge, classpath, sonarComponents); visitorsBridgeTest.setCharset(conf.getCharset()); visitorsBridgeTest.setAnalyseAccessors(conf.separatesAccessorsFromMethods()); astScanner.accept(visitorsBridgeTest); }
private int end(SyntaxTrivia trivia) { return getOffset(trivia.startLine(), trivia.column()) + trivia.comment().length(); }
@Override public void visitNode(Tree tree) { if (tree.is(Tree.Kind.ANNOTATION)) { AnnotationTree annotationTree = (AnnotationTree) tree; highlighting.highlight(start(annotationTree), end(annotationTree), typesByKind.get(Tree.Kind.ANNOTATION)); } else { Tree.Kind kind = tree.kind(); if (typesByKind.containsKey(kind)) { SyntaxToken token = ((LiteralTree) tree).token(); highlighting.highlight(start(token), end(token), typesByKind.get(kind)); } } }