From e39b305ee01ee752a49d2c9bcdc3af178e0bfb9e Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Fri, 21 Aug 2015 20:17:39 +0300 Subject: [PATCH] [groovy] trait fields index: custom input filter accepting only files ending with '$Trait$FieldHelper.class' --- .../lang/resolve/GroovyTraitFieldsFileIndex.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/GroovyTraitFieldsFileIndex.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/GroovyTraitFieldsFileIndex.java index eddbc24e131e..8e21eb19f132 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/GroovyTraitFieldsFileIndex.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/resolve/GroovyTraitFieldsFileIndex.java @@ -15,12 +15,13 @@ */ package org.jetbrains.plugins.groovy.lang.resolve; -import com.intellij.ide.highlighter.JavaClassFileType; import com.intellij.openapi.util.Pair; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.impl.cache.TypeInfo; import com.intellij.psi.impl.compiled.StubBuildingVisitor; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.indexing.*; +import com.intellij.util.indexing.FileBasedIndex.InputFilter; import com.intellij.util.io.DataExternalizer; import com.intellij.util.io.EnumeratorIntegerDescriptor; import com.intellij.util.io.KeyDescriptor; @@ -48,6 +49,12 @@ public class GroovyTraitFieldsFileIndex DataExternalizer> { public static final ID> INDEX_ID = ID.create("groovy.trait.fields"); + public static final InputFilter INPUT_FILTER = new InputFilter() { + @Override + public boolean acceptInput(@NotNull VirtualFile file) { + return file.getName().endsWith("$Trait$FieldHelper.class"); + } + }; private static final String INSTANCE_PREFIX = "$ins"; private static final String STATIC_PREFIX = "$static"; @@ -81,8 +88,8 @@ public class GroovyTraitFieldsFileIndex @NotNull @Override - public FileBasedIndex.InputFilter getInputFilter() { - return new DefaultFileTypeSpecificInputFilter(JavaClassFileType.INSTANCE); + public InputFilter getInputFilter() { + return INPUT_FILTER; } @Override @@ -92,7 +99,7 @@ public class GroovyTraitFieldsFileIndex @Override public int getVersion() { - return 1; + return 2; } @NotNull