package org.elixir_lang.psi.impl;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiNameIdentifierOwner;
import com.intellij.psi.stubs.IStubElementType;
import com.intellij.psi.stubs.StubElement;
import org.jetbrains.annotations.NotNull;
public abstract class NamedStubbedPsiElementBase<T extends StubElement<?>> extends StubbedPsiElementBase<T> implements PsiNameIdentifierOwner {
public NamedStubbedPsiElementBase(@NotNull T stub, @NotNull IStubElementType nodeType) {
super(stub, nodeType);
}
public NamedStubbedPsiElementBase(@NotNull ASTNode node) {
super(node);
}
@Override
public int getTextOffset() {
PsiElement nameIdentifier = getNameIdentifier();
return nameIdentifier != null ? nameIdentifier.getTextOffset() : super.getTextOffset();
}
}