package org.fandev.lang.fan.psi.impl.statements.expressions; import com.intellij.lang.ASTNode; import com.intellij.psi.PsiType; import com.intellij.psi.PsiElement; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiClass; import com.intellij.psi.util.PsiTreeUtil; import org.fandev.lang.fan.psi.api.statements.expressions.FanSuperReferenceExpression; import org.fandev.lang.fan.psi.api.statements.typeDefs.FanTypeDefinition; import org.fandev.lang.fan.psi.FanFile; import org.fandev.utils.FanUtil; import org.jetbrains.annotations.Nullable; /** * Date: Jul 19, 2009 * Time: 10:24:08 PM * * @author Dror Bereznitsky */ public class FanSuperReferenceExpressionImpl extends FanExpressionImpl implements FanSuperReferenceExpression { public FanSuperReferenceExpressionImpl(final ASTNode astNode) { super(astNode); } @Nullable public FanTypeDefinition getReferencedType() { final FanTypeDefinition thisTypeDefinition = FanUtil.getContainingType(this); if (thisTypeDefinition != null) { return thisTypeDefinition.getSuperType(); } return null; } }