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


Java FilterPattern类代码示例

本文整理汇总了Java中com.intellij.psi.filters.position.FilterPattern的典型用法代码示例。如果您正苦于以下问题:Java FilterPattern类的具体用法?Java FilterPattern怎么用?Java FilterPattern使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


FilterPattern类属于com.intellij.psi.filters.position包,在下文中一共展示了FilterPattern类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: hasLanguageLevel

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public static FilterPattern hasLanguageLevel(@NotNull final Processor<LanguageLevel> processor) {
  return new FilterPattern(new ElementFilter() {
    @Override
    public boolean isAcceptable(Object element, @Nullable PsiElement context) {
      if (element instanceof PsiElement) {
        return processor.process(LanguageLevel.forElement((PsiElement)element));
      }
      return false;
    }

    @Override
    public boolean isClassAcceptable(Class hintClass) {
      return true;
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:PyMetaClassCompletionContributor.java

示例2: registerXmlAttributeValueReferenceProvider

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public static void registerXmlAttributeValueReferenceProvider(PsiReferenceRegistrar registrar,
                                                              @Nullable @NonNls String[] attributeNames,
                                                              @Nullable ElementFilter elementFilter,
                                                              boolean caseSensitive,
                                                              @NotNull PsiReferenceProvider provider,
                                                              double priority) {
  if (attributeNames == null) {
    registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().and(new FilterPattern(elementFilter)), provider, priority);
    return;
  }

  final StringPattern namePattern = caseSensitive
                                    ? StandardPatterns.string().oneOf(attributeNames)
                                    : StandardPatterns.string().oneOfIgnoreCase(attributeNames);
  registrar
    .registerReferenceProvider(XmlPatterns.xmlAttributeValue().withLocalName(namePattern).and(new FilterPattern(elementFilter)), provider,
                               priority);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:XmlUtil.java

示例3: registerXmlTagReferenceProvider

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public static void registerXmlTagReferenceProvider(PsiReferenceRegistrar registrar,
                                                   @NonNls String[] names,
                                                   @Nullable ElementFilter elementFilter,
                                                   boolean caseSensitive,
                                                   @NotNull PsiReferenceProvider provider) {
  if (names == null) {
    registrar.registerReferenceProvider(XmlPatterns.xmlTag().and(new FilterPattern(elementFilter)), provider,
                                        PsiReferenceRegistrar.DEFAULT_PRIORITY);
    return;
  }


  final StringPattern namePattern =
    caseSensitive ? StandardPatterns.string().oneOf(names) : StandardPatterns.string().oneOfIgnoreCase(names);
  registrar.registerReferenceProvider(XmlPatterns.xmlTag().withLocalName(namePattern).and(new FilterPattern(elementFilter)), provider,
                                      PsiReferenceRegistrar.DEFAULT_PRIORITY);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:XmlUtil.java

示例4: registerReferenceProviders

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public void registerReferenceProviders(@NotNull final PsiReferenceRegistrar registrar) {

    final JavaClassListReferenceProvider classListProvider = new JavaClassListReferenceProvider();
    registrar.registerReferenceProvider(xmlAttributeValue(), classListProvider, PsiReferenceRegistrar.LOWER_PRIORITY);
    registrar.registerReferenceProvider(xmlTag(), classListProvider, PsiReferenceRegistrar.LOWER_PRIORITY);

    final PsiReferenceProvider filePathReferenceProvider = new FilePathReferenceProvider();
    registrar.registerReferenceProvider(PlatformPatterns.psiElement(PsiLiteralExpression.class).and(new FilterPattern(new ElementFilter() {
      public boolean isAcceptable(Object element, PsiElement context) {
        PsiLiteralExpression literalExpression = (PsiLiteralExpression) context;
        final Map<String, Object> annotationParams = new HashMap<String, Object>();
        annotationParams.put(AnnotationUtil.PROPERTY_KEY_RESOURCE_BUNDLE_PARAMETER, null);
        return !JavaI18nUtil.mustBePropertyKey(context.getProject(), literalExpression, annotationParams);
      }

      public boolean isClassAcceptable(Class hintClass) {
        return true;
      }
    })), filePathReferenceProvider);
    registrar.registerReferenceProvider(PlatformPatterns.psiElement(PsiDocToken.class),
                                        CommentsReferenceContributor.COMMENTS_REFERENCE_PROVIDER_TYPE.getProvider());
  }
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:JavaReferenceContributor.java

示例5: isPossibleHere

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
@NotNull
private ElementPattern isPossibleHere(@NotNull final String keyword) {
    return new FilterPattern(new ElementFilter() {
        public boolean isAcceptable(final Object element, final PsiElement context) {
            final CompletionParameters parameters = getCompletionParameters(element);
            if (parameters == null) return false;

            final PsiElement dummyElement = createDummyElement(parameters, keyword, false);
            return dummyElement != null && isCorrect(dummyElement);
        }

        public boolean isClassAcceptable(@NotNull final Class hintClass) {
            return true;
        }
    });
}
 
开发者ID:traff,项目名称:intellij-ocaml,代码行数:17,代码来源:OCamlCompletionContributor.java

示例6: registerReferenceProviders

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public void registerReferenceProviders(final PsiReferenceRegistrar registrar) {

    final JavaClassListReferenceProvider classListProvider = new JavaClassListReferenceProvider();
    registrar.registerReferenceProvider(xmlAttributeValue(), classListProvider, PsiReferenceRegistrar.LOWER_PRIORITY);
    registrar.registerReferenceProvider(xmlTag(), classListProvider, PsiReferenceRegistrar.LOWER_PRIORITY);

    final PsiReferenceProvider filePathReferenceProvider = new FilePathReferenceProvider();
    registrar.registerReferenceProvider(PlatformPatterns.psiElement(PsiLiteralExpression.class).and(new FilterPattern(new ElementFilter() {
      public boolean isAcceptable(Object element, PsiElement context) {
        PsiLiteralExpression literalExpression = (PsiLiteralExpression) context;
        final Map<String, Object> annotationParams = new HashMap<String, Object>();
        annotationParams.put(AnnotationUtil.PROPERTY_KEY_RESOURCE_BUNDLE_PARAMETER, null);
        return !JavaI18nUtil.mustBePropertyKey(context.getProject(), literalExpression, annotationParams);
      }

      public boolean isClassAcceptable(Class hintClass) {
        return true;
      }
    })), filePathReferenceProvider);
  }
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:21,代码来源:JavaReferenceContributor.java

示例7: literalInProperty

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
private static PsiElementPattern.Capture<JSLiteralExpression> literalInProperty(final String propertyName) {
    return PlatformPatterns.psiElement(JSLiteralExpression.class).and(new FilterPattern(new ElementFilter() {
        @Override
        public boolean isAcceptable(Object element, @Nullable PsiElement context) {
            if (element instanceof JSLiteralExpression) {
                final JSLiteralExpression literal = (JSLiteralExpression)element;
                if (literal.isQuotedLiteral()) {
                    final PsiElement parent = literal.getParent();
                    if (parent instanceof JSProperty && propertyName.equals(((JSProperty)parent).getName())) {
                        return EmberIndexUtil.hasEmberJS(literal.getProject());
                    }
                }
            }
            return false;
        }

        @Override
        public boolean isClassAcceptable(Class hintClass) {
            return true;
        }
    }));
}
 
开发者ID:kristianmandrup,项目名称:emberjs-plugin,代码行数:23,代码来源:EmberJSReferencesContributor.java

示例8: registerXmlAttributeValueReferenceProvider

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public static void registerXmlAttributeValueReferenceProvider(PsiReferenceRegistrar registrar,
		@Nullable @NonNls String[] attributeNames,
		@Nullable ElementFilter elementFilter,
		boolean caseSensitive,
		@NotNull PsiReferenceProvider provider,
		double priority)
{
	if(attributeNames == null)
	{
		registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().and(new FilterPattern(elementFilter)), provider, priority);
		return;
	}

	final StringPattern namePattern = caseSensitive ? StandardPatterns.string().oneOf(attributeNames) : StandardPatterns.string().oneOfIgnoreCase(attributeNames);
	registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withLocalName(namePattern).and(new FilterPattern(elementFilter)), provider, priority);
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:17,代码来源:XmlUtil.java

示例9: registerXmlTagReferenceProvider

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
public static void registerXmlTagReferenceProvider(PsiReferenceRegistrar registrar,
		@NonNls String[] names,
		@Nullable ElementFilter elementFilter,
		boolean caseSensitive,
		@NotNull PsiReferenceProvider provider)
{
	if(names == null)
	{
		registrar.registerReferenceProvider(XmlPatterns.xmlTag().and(new FilterPattern(elementFilter)), provider, PsiReferenceRegistrar.DEFAULT_PRIORITY);
		return;
	}


	final StringPattern namePattern = caseSensitive ? StandardPatterns.string().oneOf(names) : StandardPatterns.string().oneOfIgnoreCase(names);
	registrar.registerReferenceProvider(XmlPatterns.xmlTag().withLocalName(namePattern).and(new FilterPattern(elementFilter)), provider, PsiReferenceRegistrar.DEFAULT_PRIORITY);
}
 
开发者ID:consulo,项目名称:consulo-xml,代码行数:17,代码来源:XmlUtil.java

示例10: registerReferenceProvider

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
/**
 * @deprecated {@see com.intellij.psi.PsiReferenceContributor
 */
public void registerReferenceProvider(@Nullable ElementFilter elementFilter,
                                      @Nonnull Class scope,
                                      @Nonnull PsiReferenceProvider provider,
                                      double priority) {
  PsiElementPattern.Capture<PsiElement> capture = PlatformPatterns.psiElement(scope);
  registerReferenceProvider(capture.and(new FilterPattern(elementFilter)), provider, priority);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:11,代码来源:PsiReferenceRegistrarImpl.java

示例11: compute

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
@NotNull
@Override
protected ElementPattern<PsiElement> compute()
{
	return psiElement().andNot(psiElement().afterLeaf("@", ".")).
			andOr(psiElement().and(new FilterPattern(CLASS_BODY.getValue())).
					andOr(new FilterPattern(END_OF_BLOCK.getValue()), psiElement().afterLeaf(or(psiElement().inside(PsiModifierList.class), psiElement().withElementType(JavaTokenType.GT)
							.inside(PsiTypeParameterList.class)))), psiElement().withParents(PsiJavaCodeReferenceElement.class, PsiTypeElement.class, PsiMember.class), psiElement()
					.withParents(PsiJavaCodeReferenceElement.class, PsiTypeElement.class, PsiClassLevelDeclarationStatement.class));
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:11,代码来源:JavaKeywordCompletion.java

示例12: rightAfterElement

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
private static FilterPattern rightAfterElement(Class<? extends PsiElement> aClass) {
  return rightAfterElement(psiElement(aClass));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:4,代码来源:JqlCompletionContributor.java

示例13: getElementPattern

import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
private static PsiElementPattern.Capture<PsiLiteralExpression> getElementPattern(String annotation) {
  return PlatformPatterns.psiElement(PsiLiteralExpression.class).and(new FilterPattern(new TestAnnotationFilter(annotation)));
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:4,代码来源:TestNGReferenceContributor.java


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