package com.haskforce.stubs.types; import com.haskforce.psi.HaskellNamedElement; import com.haskforce.stubs.index.HaskellAllNameIndex; import com.haskforce.utils.HaskellUtil; import com.intellij.psi.stubs.IndexSink; import com.intellij.psi.stubs.NamedStubBase; import org.jetbrains.annotations.NotNull; /** * Define how to index stubs for named elements. */ public abstract class HaskellNamedStubElementType<S extends NamedStubBase<T>, T extends HaskellNamedElement> extends HaskellStubElementType<S, T> { public HaskellNamedStubElementType(String debugName) { super(debugName); } @Override public void indexStub(@NotNull S stub, @NotNull IndexSink sink) { final String name = stub.getName(); if (name != null) { sink.occurrence(HaskellAllNameIndex.KEY, name); } } }