package com.redhat.ceylon.eclipse.code.search; import com.redhat.ceylon.compiler.typechecker.tree.Node; import com.redhat.ceylon.compiler.typechecker.tree.Tree; import com.redhat.ceylon.compiler.typechecker.tree.Visitor; @Deprecated /** * @deprecated use com.redhat.ceylon.ide.common.search.FindContainerVisitor instead */ public class FindContainerVisitor extends Visitor { private final Node node; private Tree.StatementOrArgument declaration; private Tree.StatementOrArgument currentDeclaration; public Tree.StatementOrArgument getStatementOrArgument() { return declaration; } public FindContainerVisitor(Node node) { this.node=node; } protected boolean accept(Tree.StatementOrArgument node) { return true; } @Override public void visit(Tree.ImportModule that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.Import that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.ModuleDescriptor that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.PackageDescriptor that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.ObjectDefinition that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.AnyAttribute that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.AttributeSetterDefinition that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.AnyMethod that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.AnyClass that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.AnyInterface that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visit(Tree.TypeAliasDeclaration that) { Tree.StatementOrArgument d = currentDeclaration; if (accept(that)) currentDeclaration = that; super.visit(that); currentDeclaration = d; } @Override public void visitAny(Node node) { if (this.node==node) { declaration=currentDeclaration; } if (declaration==null) { super.visitAny(node); } } }