示例#1
0
        public static string GenerateSerializationPartialClass(
            this GeneratorExecutionContext context,
            INamedTypeSymbol classSymbol,
            AttributeData serializableAttr,
            bool embedded,
            ImmutableArray <ISymbol> fieldsAndProperties,
            JsonSerializerOptions jsonSerializerOptions,
            ImmutableArray <INamedTypeSymbol> serializableTypes,
            ImmutableArray <INamedTypeSymbol> embeddedSerializableTypes
            )
        {
            var version = (int)serializableAttr.ConstructorArguments[0].Value !;

            var migrations = context.GetMigrationsByAnalyzerConfig(
                classSymbol,
                version,
                jsonSerializerOptions
                );

            return(context.Compilation.GenerateSerializationPartialClass(
                       classSymbol,
                       serializableAttr,
                       null, // Do not generate schema
                       embedded,
                       null,
                       migrations.ToImmutableArray(),
                       fieldsAndProperties,
                       serializableTypes,
                       embeddedSerializableTypes
                       ));
        }