当前位置: 首页>>代码示例>>Java>>正文


Java RegExpGroup类代码示例

本文整理汇总了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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:RegExpBackrefImpl.java

示例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();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:RegExpNamedGroupRefImpl.java

示例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;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:RegExpPyNamedGroupRefImpl.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:JavaRegExpHost.java

示例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;
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:RegExpDocumentationProvider.java

示例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");
      }
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:ValueRegExpAnnotator.java

示例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;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:GroovyRegExpHost.java

示例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;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:15,代码来源:JavaRegExpHost.java

示例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");
      }
    }
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:31,代码来源:ValueRegExpAnnotator.java

示例10: supportsNamedGroupSyntax

import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
  return group.isPythonNamedGroup();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:PyStringLiteralExpressionImpl.java

示例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);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:RegExpFile.java

示例12: supportsNamedGroupSyntax

import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
    return true;
}
 
开发者ID:dryabov,项目名称:phpregexp,代码行数:5,代码来源:PhpRegexpHost.java

示例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);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:5,代码来源:RegExpLanguageHosts.java

示例14: supportsNamedGroupSyntax

import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group) {
  return false;
}
 
开发者ID:HaxeFoundation,项目名称:intellij-haxe,代码行数:5,代码来源:HaxeRegularExpressionImpl.java

示例15: supportsNamedGroupSyntax

import org.intellij.lang.regexp.psi.RegExpGroup; //导入依赖的package包/类
@Override
public boolean supportsNamedGroupSyntax(RegExpGroup group)
{
	return false;
}
 
开发者ID:consulo,项目名称:consulo-haxe,代码行数:6,代码来源:HaxeRegularExpressionImpl.java


注:本文中的org.intellij.lang.regexp.psi.RegExpGroup类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。