Skip to content

System.ArgumentException: in DBusSourceGenerator.GetOrAddWriteArrayMethod #34

@KirillOsenkov

Description

@KirillOsenkov

I randomly noticed this while working on a solution that has the generator installed

System.ArgumentException: An item with the same key has already been added.
   at void System.Collections.Generic.Dictionary<TKey, TValue>.Insert(TKey key, TValue value, bool add)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteArrayMethod(DBusDotnetType dBusDotnetType)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteMethod(DBusDotnetType dBusDotnetType)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteStructMethod(DBusDotnetType dBusDotnetType)+(DBusDotnetType x, int i) => { }
   at IEnumerable<TResult> System.Linq.Enumerable.SelectIterator<TSource, TResult>(IEnumerable<TSource> source, Func<TSource, int, TResult> selector)+MoveNext()
   at new System.Linq.Buffer<TElement>(IEnumerable<TElement> source)
   at TSource[] System.Linq.Enumerable.ToArray<TSource>(IEnumerable<TSource> source)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteStructMethod(DBusDotnetType dBusDotnetType)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteMethod(DBusDotnetType dBusDotnetType)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteArrayMethod(DBusDotnetType dBusDotnetType)
   at string Tmds.DBus.SourceGenerator.DBusSourceGenerator.GetOrAddWriteMethod(DBusDotnetType dBusDotnetType)
   at void Tmds.DBus.SourceGenerator.DBusSourceGenerator.AddHandlerProperties(ref ClassDeclarationSyntax cl, DBusInterface dBusInterface)+(DBusProperty property) => { }
   at bool System.Linq.Enumerable+WhereSelectArrayIterator<TSource, TResult>.MoveNext()
   at SyntaxNode Microsoft.CodeAnalysis.SyntaxList<TNode>.CreateNode(IEnumerable<TNode> nodes) in C:/Roslyn/src/Compilers/Core/Portable/Syntax/SyntaxList`1.cs:line 89
   at void Tmds.DBus.SourceGenerator.DBusSourceGenerator.AddHandlerProperties(ref ClassDeclarationSyntax cl, DBusInterface dBusInterface)
   at ClassDeclarationSyntax Tmds.DBus.SourceGenerator.DBusSourceGenerator.GenerateHandler(DBusInterface dBusInterface)
   at void Tmds.DBus.SourceGenerator.DBusSourceGenerator.Initialize(IncrementalGeneratorInitializationContext context)+(SourceProductionContext productionContext, ImmutableArray<ValueTuple<DBusNode, string>> provider) => { } [5]
   at void Microsoft.CodeAnalysis.UserFunctionExtensions+<>c__DisplayClass3_0<TInput1, TInput2>.<WrapUserAction>b__0(?)+(TInput1 input1, TInput2 input2, CancellationToken token) => { } in C:/Roslyn/src/Compilers/Core/Portable/SourceGeneration/UserFunction.cs:line 103
   at NodeStateTable<ValueTuple<IEnumerable<GeneratedSourceText>, IEnumerable<Diagnostic>>> Microsoft.CodeAnalysis.SourceOutputNode<TInput>.UpdateStateTable(Builder graphState, NodeStateTable<ValueTuple<IEnumerable<GeneratedSourceText>, IEnumerable<Diagnostic>>> previousTable, CancellationToken cancellationToken) in C:/Roslyn/src/Compilers/Core/Portable/SourceGeneration/Nodes/SourceOutputNode.cs:line 72
   at NodeStateTable<T> Microsoft.CodeAnalysis.DriverStateTable+Builder.GetLatestStateTableForNode<T>(IIncrementalGeneratorNode<T> source) in C:/Roslyn/src/Compilers/Core/Portable/SourceGeneration/Nodes/DriverStateTable.cs:line 60
   at void Microsoft.CodeAnalysis.SourceOutputNode<TInput>.AppendOutputs(IncrementalExecutionContext context, CancellationToken cancellationToken) in C:/Roslyn/src/Compilers/Core/Portable/SourceGeneration/Nodes/SourceOutputNode.cs:line 102
   at IncrementalExecutionContext Microsoft.CodeAnalysis.GeneratorDriver.UpdateOutputs(ImmutableArray<IIncrementalGeneratorOutputNode> outputNodes, IncrementalGeneratorOutputKind outputKind, Builder generatorRunStateBuilder, CancellationToken cancellationToken, Builder driverStateBuilder) in C:/Roslyn/src/Compilers/Core/Portable/SourceGeneration/GeneratorDriver.cs:line 358

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions