public override bool VisitDeclaration(Declaration decl) { if (decl.IsIncomplete && decl.CompleteDeclaration != null) { decl = decl.CompleteDeclaration; } if (recordStack.Contains(decl)) { return(ShouldVisitChilds(decl)); } Declarations.Add(recordStack.Push(decl)); decl.Visit(this); recordStack.Pop(); return(false); }