// This is a generated file. Not intended for manual editing.
package org.intellij.erlang.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static org.intellij.erlang.ErlangTypes.*;
import org.intellij.erlang.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public class ErlangCaseExpressionImpl extends ErlangExpressionImpl implements ErlangCaseExpression {
public ErlangCaseExpressionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull ErlangVisitor visitor) {
visitor.visitCaseExpression(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof ErlangVisitor) accept((ErlangVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List<ErlangCrClause> getCrClauseList() {
return PsiTreeUtil.getChildrenOfTypeAsList(this, ErlangCrClause.class);
}
@Override
@Nullable
public ErlangExpression getExpression() {
return PsiTreeUtil.getChildOfType(this, ErlangExpression.class);
}
@Override
@NotNull
public PsiElement getCase() {
return notNullChild(findChildByType(ERL_CASE));
}
@Override
@Nullable
public PsiElement getEnd() {
return findChildByType(ERL_END);
}
@Override
@Nullable
public PsiElement getOf() {
return findChildByType(ERL_OF);
}
public boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place) {
return ErlangPsiImplUtil.processDeclarations(this, processor, state, lastParent, place);
}
}