mirror of
https://github.com/wiz0u/WTelegramClient.git
synced 2025-12-06 06:52:01 +01:00
Fix fields serialization order on KeyboardButtonSimpleWebView
This commit is contained in:
parent
8836f8372b
commit
5358471574
|
|
@ -54,7 +54,6 @@ public class MTProtoGenerator : IIncrementalGenerator
|
||||||
var tldef = symbol.GetAttributes().FirstOrDefault(a => a.AttributeClass == tlDefAttribute);
|
var tldef = symbol.GetAttributes().FirstOrDefault(a => a.AttributeClass == tlDefAttribute);
|
||||||
if (tldef == null) continue;
|
if (tldef == null) continue;
|
||||||
var id = (uint)tldef.ConstructorArguments[0].Value;
|
var id = (uint)tldef.ConstructorArguments[0].Value;
|
||||||
var inheritBefore = (bool?)tldef.NamedArguments.FirstOrDefault(k => k.Key == "inheritBefore").Value.Value ?? false;
|
|
||||||
StringBuilder writeTl = new(), readTL = new();
|
StringBuilder writeTl = new(), readTL = new();
|
||||||
var ns = symbol.BaseType.ContainingNamespace.ToString();
|
var ns = symbol.BaseType.ContainingNamespace.ToString();
|
||||||
var name = symbol.BaseType.Name;
|
var name = symbol.BaseType.Name;
|
||||||
|
|
@ -105,8 +104,12 @@ public class MTProtoGenerator : IIncrementalGenerator
|
||||||
.AppendLine($"\t\t\twriter.Write(0x{id:X8});");
|
.AppendLine($"\t\t\twriter.Write(0x{id:X8});");
|
||||||
var members = symbol.GetMembers().ToList();
|
var members = symbol.GetMembers().ToList();
|
||||||
for (var parent = symbol.BaseType; parent != object_; parent = parent.BaseType)
|
for (var parent = symbol.BaseType; parent != object_; parent = parent.BaseType)
|
||||||
|
{
|
||||||
|
var inheritBefore = (bool?)tldef.NamedArguments.FirstOrDefault(k => k.Key == "inheritBefore").Value.Value ?? false;
|
||||||
if (inheritBefore) members.InsertRange(0, parent.GetMembers());
|
if (inheritBefore) members.InsertRange(0, parent.GetMembers());
|
||||||
else members.AddRange(parent.GetMembers());
|
else members.AddRange(parent.GetMembers());
|
||||||
|
tldef = parent.GetAttributes().FirstOrDefault(a => a.AttributeClass == tlDefAttribute);
|
||||||
|
}
|
||||||
foreach (var member in members.OfType<IFieldSymbol>())
|
foreach (var member in members.OfType<IFieldSymbol>())
|
||||||
{
|
{
|
||||||
if (member.DeclaredAccessibility != Accessibility.Public || member.IsStatic) continue;
|
if (member.DeclaredAccessibility != Accessibility.Public || member.IsStatic) continue;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue