package org.fandev.lang.fan.psi.stubs.elements; import com.intellij.psi.stubs.IStubElementType; import com.intellij.psi.stubs.StubElement; import com.intellij.util.io.StringRef; import org.fandev.lang.fan.FanElementTypes; import org.fandev.lang.fan.psi.api.statements.typeDefs.members.FanMethod; import org.fandev.lang.fan.psi.impl.statements.typedefs.members.FanMethodImpl; import org.fandev.lang.fan.psi.stubs.FanMethodStub; import org.fandev.lang.fan.psi.stubs.impl.FanMethodStubImpl; import org.jetbrains.annotations.NotNull; /** * @author Dror Bereznitsky * @date Jan 10, 2009 6:56:12 PM */ public class FanMethodElementType extends FanSlotElementType<FanMethod, FanMethodStub> { public FanMethodElementType(@NotNull final String debugName) { super(debugName); } public FanMethod createPsi(final FanMethodStub stub) { return new FanMethodImpl(stub, (IStubElementType) FanElementTypes.METHOD_DEFINITION); } protected FanMethodStubImpl createStubImpl(final StubElement element, final StringRef name, final String[] facets) { return new FanMethodStubImpl(element, name, facets); } }