本文整理汇总了Java中com.sonar.sslr.api.Token.getTrivia方法的典型用法代码示例。如果您正苦于以下问题:Java Token.getTrivia方法的具体用法?Java Token.getTrivia怎么用?Java Token.getTrivia使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sonar.sslr.api.Token
的用法示例。
在下文中一共展示了Token.getTrivia方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitToken
import com.sonar.sslr.api.Token; //导入方法依赖的package包/类
@Override
public void visitToken(Token token) {
if (token.getType().equals(PuppetTokenType.SINGLE_QUOTED_STRING_LITERAL) || token.getType().equals(PuppetTokenType.DOUBLE_QUOTED_STRING_LITERAL)) {
// case: string literal, including doc string
highlight(token, TypeOfText.STRING);
} else if (token.getType() instanceof PuppetKeyword) {
// case: keyword
highlight(token, TypeOfText.KEYWORD);
}
for (Trivia trivia : token.getTrivia()) {
// case: comment
highlight(trivia.getToken(), TypeOfText.COMMENT);
}
}
示例2: visitToken
import com.sonar.sslr.api.Token; //导入方法依赖的package包/类
public void visitToken(Token token) {
for (Trivia trivia : token.getTrivia()) {
String comment = trivia.getToken().getOriginalValue();
if (StringUtils.containsIgnoreCase(comment, pattern)) {
String[] lines = comment.split("\r\n?|\n");
for (int i = 0; i < lines.length; i++) {
if (StringUtils.containsIgnoreCase(lines[i], pattern) && !isLetterAround(lines[i], pattern)) {
check.addIssue(trivia.getToken().getLine() + i, check, message);
}
}
}
}
}
示例3: visitToken
import com.sonar.sslr.api.Token; //导入方法依赖的package包/类
public void visitToken(Token token) {
if (token.getType().equals(GenericTokenType.EOF)) {
return;
}
linesOfCode.add(token.getLine());
List<Trivia> trivias = token.getTrivia();
for (Trivia trivia : trivias) {
if (trivia.isComment()) {
linesOfComments.add(trivia.getToken().getLine());
}
}
}
示例4: visitToken
import com.sonar.sslr.api.Token; //导入方法依赖的package包/类
@Override
public void visitToken(Token token) {
if (token.getType().equals(GenericTokenType.EOF)) {
return;
}
linesOfCode.add(token.getLine());
List<Trivia> trivias = token.getTrivia();
for (Trivia trivia : trivias) {
if (trivia.isComment()) {
linesOfComments.add(trivia.getToken().getLine());
}
}
}
示例5: visitFile
import com.sonar.sslr.api.Token; //导入方法依赖的package包/类
@Override
public void visitFile(@Nullable AstNode astNode) {
NewHighlighting highlighting = context.newHighlighting();
File file = getContext().getFile();
InputFile inputFile = context.fileSystem().inputFile(context.fileSystem().predicates().is(file));
highlighting.onFile(inputFile);
NewCpdTokens cpdTokens = context.newCpdTokens();
cpdTokens.onFile(inputFile);
Iterator<Token> iterator = lexer.lex(file).iterator();
while (iterator.hasNext()) {
Token token = iterator.next();
TokenType tokenType = token.getType();
if (!tokenType.equals(GenericTokenType.EOF)) {
TokenLocation tokenLocation = new TokenLocation(token);
cpdTokens.addToken(tokenLocation.startLine(), tokenLocation.startCharacter(), tokenLocation.endLine(), tokenLocation.endCharacter(), getTokenImage(token));
}
if (tokenType.equals(LuaTokenType.NUMBER)) {
highlight(highlighting, token, TypeOfText.CONSTANT);
} else if (tokenType.equals(GenericTokenType.LITERAL)) {
highlight(highlighting, token, TypeOfText.STRING);
} else if (KEYWORDS.contains(tokenType)) {
highlight(highlighting, token, TypeOfText.KEYWORD);
}
for (Trivia trivia : token.getTrivia()) {
highlight(highlighting, trivia.getToken(), TypeOfText.COMMENT);
}
}
highlighting.save();
cpdTokens.save();
}