icsharpcode / NRefactory

NRefactory - Refactoring Your C# Code
684 stars 261 forks source link

An item with the same key has already been added. #525

Open lomovod opened 7 years ago

lomovod commented 7 years ago

Sometimes we get the following exception:

System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryASTConvertVisitor.VisitAttributes(IList`1 attributes, ClassFinder context)
   at ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryASTConvertVisitor.ConvertAttributes(AttributedNode from, AbstractEntity to)
   at ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryASTConvertVisitor.VisitTypeDeclaration(TypeDeclaration typeDeclaration, Object data)
   at ICSharpCode.NRefactory.Ast.TypeDeclaration.AcceptVisitor(IAstVisitor visitor, Object data)
   at ICSharpCode.NRefactory.Ast.AbstractNode.AcceptChildren(IAstVisitor visitor, Object data)
   at ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryASTConvertVisitor.VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, Object data)
   at ICSharpCode.NRefactory.Ast.NamespaceDeclaration.AcceptVisitor(IAstVisitor visitor, Object data)
   at ICSharpCode.NRefactory.Ast.AbstractNode.AcceptChildren(IAstVisitor visitor, Object data)
   at ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.NRefactoryASTConvertVisitor.VisitCompilationUnit(CompilationUnit compilationUnit, Object data)

Unfortunatelly I cannot provide scenario to reproduce, this issue is quite rare.