本文整理汇总了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;
}
});
}
示例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);
}
示例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);
}
示例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());
}
示例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;
}
});
}
示例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);
}
示例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;
}
}));
}
示例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);
}
示例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);
}
示例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);
}
示例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));
}
示例12: rightAfterElement
import com.intellij.psi.filters.position.FilterPattern; //导入依赖的package包/类
private static FilterPattern rightAfterElement(Class<? extends PsiElement> aClass) {
return rightAfterElement(psiElement(aClass));
}
示例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)));
}