本文整理汇总了Java中org.intellij.lang.regexp.psi.RegExpGroup类的典型用法代码示例。如果您正苦于以下问题:Java RegExpGroup类的具体用法?Java RegExpGroup怎么用?Java RegExpGroup使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
RegExpGroup类属于org.intellij.lang.regexp.psi包,在下文中一共展示了RegExpGroup类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: resolve
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
public RegExpGroup resolve() {
final int index = getIndex();
final PsiElementProcessor.FindFilteredElement<RegExpElement> processor = new PsiElementProcessor.FindFilteredElement<RegExpElement>(new PsiElementFilter() {
int groupCount;
public boolean isAccepted(PsiElement element) {
if (element instanceof RegExpGroup) {
if (((RegExpGroup)element).isCapturing() && ++groupCount == index) {
return true;
}
}
return element == RegExpBackrefImpl.this;
}
});
PsiTreeUtil.processElements(getContainingFile(), processor);
if (processor.getFoundElement() instanceof RegExpGroup) {
return (RegExpGroup)processor.getFoundElement();
}
return null;
}
示例2: resolve
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Nullable
public RegExpGroup resolve() {
final PsiElementProcessor.FindFilteredElement<RegExpGroup> processor = new PsiElementProcessor.FindFilteredElement<RegExpGroup>(
new PsiElementFilter() {
public boolean isAccepted(PsiElement element) {
if (!(element instanceof RegExpGroup)) {
return false;
}
final RegExpGroup regExpGroup = (RegExpGroup)element;
return (regExpGroup.isPythonNamedGroup() || regExpGroup.isRubyNamedGroup()) &&
Comparing.equal(getGroupName(), regExpGroup.getGroupName());
}
}
);
PsiTreeUtil.processElements(getContainingFile(), processor);
return processor.getFoundElement();
}
示例3: resolve
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Nullable
public RegExpGroup resolve() {
final PsiElementProcessor.FindFilteredElement<RegExpElement> processor = new PsiElementProcessor.FindFilteredElement<RegExpElement>(new PsiElementFilter() {
public boolean isAccepted(PsiElement element) {
if (element instanceof RegExpGroup) {
if (((RegExpGroup)element).isPythonNamedGroup() && Comparing.equal(getGroupName(), ((RegExpGroup)element).getGroupName())) {
return true;
}
}
return element == RegExpPyNamedGroupRefImpl.this;
}
});
PsiTreeUtil.processElements(getContainingFile(), processor);
if (processor.getFoundElement() instanceof RegExpGroup) {
return (RegExpGroup) processor.getFoundElement();
}
return null;
}
示例4: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
if (group.isNamedGroup()) {
final JavaSdkVersion version = getJavaVersion(group);
return version != null && version.isAtLeast(JavaSdkVersion.JDK_1_7);
}
return false;
}
示例5: getQuickNavigateInfo
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Nullable
public String getQuickNavigateInfo(PsiElement element, PsiElement originalElement) {
if (element instanceof RegExpGroup) {
return "Capturing Group: " + ((RegExpElement)element).getUnescapedText();
} else {
return null;
}
}
示例6: annotate
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
public void annotate(@NotNull PsiElement psiElement, @NotNull AnnotationHolder holder) {
if (psiElement instanceof RegExpFile && psiElement.getCopyableUserData(KEY) == Boolean.TRUE) {
final PsiElement pattern = psiElement.getFirstChild();
if (!(pattern instanceof RegExpPattern)) {
return;
}
final RegExpBranch[] branches = ((RegExpPattern)pattern).getBranches();
if (branches.length == 1 && branches[0].getAtoms().length == 0) {
return;
}
for (RegExpBranch branch : branches) {
final int[] count = new int[1];
branch.accept(new RegExpRecursiveElementVisitor() {
@Override
public void visitRegExpGroup(RegExpGroup group) {
if (group.isCapturing()) {
count[0]++;
}
super.visitRegExpGroup(group);
}
});
if (count[0] != 1) {
holder.createWarningAnnotation(branch, "The pattern should contain exactly one capturing group");
}
}
}
}
示例7: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
if (group.isNamedGroup()) {
final String version = getGroovyVersion(group);
return version != null && version.compareTo(GroovyConfigUtils.GROOVY2_0) >= 0;
}
return false;
}
示例8: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
if (group.isRubyNamedGroup()) {
final Module module = ModuleUtilCore.findModuleForPsiElement(group);
if (module != null) {
final Sdk sdk = ModuleRootManager.getInstance(module).getSdk();
if (sdk != null && sdk.getSdkType() instanceof JavaSdk) {
final JavaSdkVersion version = JavaSdk.getInstance().getVersion(sdk);
return version != null && version.isAtLeast(JavaSdkVersion.JDK_1_7);
}
}
}
return false;
}
示例9: annotate
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
public void annotate(PsiElement psiElement, AnnotationHolder holder) {
if (psiElement instanceof RegExpFile && psiElement.getCopyableUserData(KEY) == Boolean.TRUE) {
final PsiElement pattern = psiElement.getFirstChild();
if (!(pattern instanceof RegExpPattern)) {
return;
}
final RegExpBranch[] branches = ((RegExpPattern)pattern).getBranches();
if (branches.length == 1 && branches[0].getAtoms().length == 0) {
return;
}
for (RegExpBranch branch : branches) {
final int[] count = new int[1];
branch.accept(new RegExpRecursiveElementVisitor() {
@Override
public void visitRegExpGroup(RegExpGroup group) {
if (group.isCapturing()) {
count[0]++;
}
super.visitRegExpGroup(group);
}
});
if (count[0] != 1) {
holder.createWarningAnnotation(branch, "The pattern should contain exactly one capturing group");
}
}
}
}
示例10: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
return group.isPythonNamedGroup();
}
示例11: getGroups
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
/**
* @return Regexp groups this file has
*/
@NotNull
public Collection<RegExpGroup> getGroups() {
return PsiTreeUtil.findChildrenOfType(this, RegExpGroup.class);
}
示例12: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
return true;
}
示例13: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
public boolean supportsNamedGroupSyntax(@Nullable final RegExpGroup group) {
final RegExpLanguageHost host = findRegExpHost(group);
return host != null && host.supportsNamedGroupSyntax(group);
}
示例14: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
return false;
}
示例15: supportsNamedGroupSyntax
import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group)
{
return false;
}