本文整理汇总了Java中com.intellij.psi.tree.TokenSet.andNot方法的典型用法代码示例。如果您正苦于以下问题:Java TokenSet.andNot方法的具体用法?Java TokenSet.andNot怎么用?Java TokenSet.andNot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.psi.tree.TokenSet
的用法示例。
在下文中一共展示了TokenSet.andNot方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: annotate
import com.intellij.psi.tree.TokenSet; //导入方法依赖的package包/类
@Override
public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder annotationHolder) {
if (psiElement instanceof TagElement) {
TagElement tagElement = (TagElement) psiElement;
TokenSet allowedRBraces = SoyTokenTypes.RIGHT_BRACES;
if (mustCloseRBraceTags.contains(tagElement.getClass())) {
allowedRBraces = TokenSet.andNot(allowedRBraces, SoyTokenTypes.SLASH_R_BRACES);
} else if (mustCloseSlashRBraceTags.contains(tagElement.getClass())) {
allowedRBraces = TokenSet.andSet(allowedRBraces, SoyTokenTypes.SLASH_R_BRACES);
}
if (tagElement.isDoubleBraced()) {
allowedRBraces = TokenSet.andSet(allowedRBraces, SoyTokenTypes.DOUBLE_BRACES);
} else {
allowedRBraces = TokenSet.andNot(allowedRBraces, SoyTokenTypes.DOUBLE_BRACES);
}
if (!allowedRBraces.contains(tagElement.getClosingBraceType())) {
annotationHolder.createErrorAnnotation(tagElement, "Must close by " +
Stream.of(allowedRBraces.getTypes())
.map(SoyTokenTypes.BRACE_TYPE_TO_STRING::get)
.sorted()
.collect(Collectors.joining(" or ")));
}
}
}