package consulo.javascript.ecmascript6.psi.impl;

import com.intellij.lang.ASTNode;
import com.intellij.lang.javascript.psi.impl.JSStatementImpl;
import consulo.javascript.ecmascript6.psi.ES6ExportDefaultAssignment;

/**
 * @author VISTALL
 * @since 2019-12-14
 */
public class ES6ExportDefaultAssignmentImpl extends JSStatementImpl implements ES6ExportDefaultAssignment
{
	public ES6ExportDefaultAssignmentImpl(ASTNode node)
	{
		super(node);
	}
}

package consulo.javascript.ecmascript6.psi.impl;

import com.intellij.lang.ASTNode;
import com.intellij.lang.javascript.psi.JSClass;
import com.intellij.lang.javascript.psi.JSElement;
import com.intellij.lang.javascript.psi.impl.JSStatementImpl;
import com.intellij.psi.PsiElement;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
import consulo.javascript.ecmascript6.psi.ES6ExportDefaultAssignment;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

/**
 * @author VISTALL
 * @since 2019-12-14
 */
public class ES6ExportDefaultAssignmentImpl extends JSStatementImpl implements ES6ExportDefaultAssignment
{
	public ES6ExportDefaultAssignmentImpl(ASTNode node)
	{
		super(node);
	}

	@Nullable
	public JSElement getElement()
	{
		return findChildByClass(JSClass.class);
	}

	@Override
	public boolean processDeclarations(@Nonnull PsiScopeProcessor processor, @Nonnull ResolveState state, PsiElement lastParent, @Nonnull PsiElement place)
	{
		JSElement element = getElement();
		if(element != null && !element.processDeclarations(processor, state, lastParent, place))
		{
			return false;
		}
		return super.processDeclarations(processor, state, lastParent, place);
	}
}

allow search class from export default