Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/aspnet/MessagePack-CSharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@live.com>2022-07-23 16:39:59 +0300
committerGitHub <noreply@github.com>2022-07-23 16:39:59 +0300
commit8fe5fc94669f9cc1d3feb2bdbc5d5523e54d0e9a (patch)
tree2aaacf0d02af52bc3a1c34015c1fa45eadfa0777
parenteab5122e95f32443c686548e646523038ceb7543 (diff)
parentebb2040b53747eed245aa8afa133d102b3c14608 (diff)
Merge pull request #1462 from gllebede/user/gllebede/skip_properties_with_MessagePackFormatterAttribute
Skip type collection if property has MessagePackFormatterAttribute
-rw-r--r--src/MessagePack.GeneratorCore/CodeAnalysis/TypeCollector.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/MessagePack.GeneratorCore/CodeAnalysis/TypeCollector.cs b/src/MessagePack.GeneratorCore/CodeAnalysis/TypeCollector.cs
index 935ceb87..eeedbdad 100644
--- a/src/MessagePack.GeneratorCore/CodeAnalysis/TypeCollector.cs
+++ b/src/MessagePack.GeneratorCore/CodeAnalysis/TypeCollector.cs
@@ -720,7 +720,12 @@ namespace MessagePackCompiler.CodeAnalysis
stringMembers.Add(member.StringKey, member);
}
- this.CollectCore(item.Type); // recursive collect
+ var messagePackFormatter = item.GetAttributes().FirstOrDefault(x => x.AttributeClass.ApproximatelyEqual(this.typeReferences.MessagePackFormatterAttribute))?.ConstructorArguments[0];
+
+ if (messagePackFormatter == null)
+ {
+ this.CollectCore(item.Type); // recursive collect
+ }
}
foreach (IFieldSymbol item in type.GetAllMembers().OfType<IFieldSymbol>())