本文整理汇总了Java中org.sonar.api.batch.sensor.cpd.NewCpdTokens类的典型用法代码示例。如果您正苦于以下问题:Java NewCpdTokens类的具体用法?Java NewCpdTokens怎么用?Java NewCpdTokens使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NewCpdTokens类属于org.sonar.api.batch.sensor.cpd包,在下文中一共展示了NewCpdTokens类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: consumeFor
import org.sonar.api.batch.sensor.cpd.NewCpdTokens; //导入依赖的package包/类
@Override
void consumeFor(InputFile inputFile, CopyPasteTokenInfo message) {
NewCpdTokens cpdTokens = context.newCpdTokens().onFile(inputFile);
for (SonarAnalyzer.CopyPasteTokenInfo.TokenInfo tokenInfo : message.getTokenInfoList()) {
cpdTokens.addToken(toTextRange(inputFile, tokenInfo.getTextRange()), tokenInfo.getTokenValue());
}
cpdTokens.save();
}
示例2: addCpdToken
import org.sonar.api.batch.sensor.cpd.NewCpdTokens; //导入依赖的package包/类
private static void addCpdToken(final NewCpdTokens cpdTokens, InputFile file, final Token token,
final TextRange range) {
try {
cpdTokens.addToken(range, token.getText());
} catch (Throwable e) {
if (LOGGER.isDebugEnabled()) {
LOGGER.warn(format("Unexpected error adding cpd tokens on file %s", file.absolutePath()), e);
}
}
}
示例3: visitFile
import org.sonar.api.batch.sensor.cpd.NewCpdTokens; //导入依赖的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();
}
示例4: newCpdTokens
import org.sonar.api.batch.sensor.cpd.NewCpdTokens; //导入依赖的package包/类
@Override
public NewCpdTokens newCpdTokens() {
return NO_OP_NEW_CPD_TOKENS;
}