Update AstJsonSerializer.cs

This commit is contained in:
2025-07-23 05:31:44 -04:00
parent 5439aeb081
commit 6b1f3d7124

View File

@@ -154,6 +154,7 @@ namespace MarketAlly.IronJava.Core.Serialization
result["superClass"] = node.SuperClass?.Accept(this);
result["interfaces"] = node.Interfaces.Select(i => i.Accept(this)).ToList();
result["members"] = node.Members.Select(m => m.Accept(this)).ToList();
result["nestedTypes"] = node.NestedTypes.Select(t => t.Accept(this)).ToList();
result["isRecord"] = node.IsRecord;
return result;
}
@@ -163,6 +164,7 @@ namespace MarketAlly.IronJava.Core.Serialization
var result = CreateTypeDeclarationBase(node);
result["extendedInterfaces"] = node.ExtendedInterfaces.Select(i => i.Accept(this)).ToList();
result["members"] = node.Members.Select(m => m.Accept(this)).ToList();
result["nestedTypes"] = node.NestedTypes.Select(t => t.Accept(this)).ToList();
return result;
}
@@ -172,6 +174,7 @@ namespace MarketAlly.IronJava.Core.Serialization
result["interfaces"] = node.Interfaces.Select(i => i.Accept(this)).ToList();
result["constants"] = node.Constants.Select(c => c.Accept(this)).ToList();
result["members"] = node.Members.Select(m => m.Accept(this)).ToList();
result["nestedTypes"] = node.NestedTypes.Select(t => t.Accept(this)).ToList();
return result;
}
@@ -179,6 +182,7 @@ namespace MarketAlly.IronJava.Core.Serialization
{
var result = CreateTypeDeclarationBase(node);
result["members"] = node.Members.Select(m => m.Accept(this)).ToList();
result["nestedTypes"] = node.NestedTypes.Select(t => t.Accept(this)).ToList();
return result;
}
@@ -829,8 +833,12 @@ namespace MarketAlly.IronJava.Core.Serialization
var interfaces = DeserializeList<ClassOrInterfaceType>(element.GetProperty("interfaces"));
var members = DeserializeList<MemberDeclaration>(element.GetProperty("members"));
var nestedTypes = DeserializeList<TypeDeclaration>(element.GetProperty("nestedTypes"));
var isRecord = element.GetProperty("isRecord").GetBoolean();
var nestedTypes = element.TryGetProperty("nestedTypes", out var nestedTypesEl)
? DeserializeList<TypeDeclaration>(nestedTypesEl)
: new List<TypeDeclaration>();
var isRecord = element.TryGetProperty("isRecord", out var isRecordEl)
? isRecordEl.GetBoolean()
: false;
return new ClassDeclaration(location, name, modifiers, annotations, typeParameters, superClass, interfaces, members, nestedTypes, javaDoc, isRecord);
}
@@ -847,7 +855,9 @@ namespace MarketAlly.IronJava.Core.Serialization
var extendedInterfaces = DeserializeList<ClassOrInterfaceType>(element.GetProperty("extendedInterfaces"));
var members = DeserializeList<MemberDeclaration>(element.GetProperty("members"));
var nestedTypes = DeserializeList<TypeDeclaration>(element.GetProperty("nestedTypes"));
var nestedTypes = element.TryGetProperty("nestedTypes", out var nestedTypesEl)
? DeserializeList<TypeDeclaration>(nestedTypesEl)
: new List<TypeDeclaration>();
return new InterfaceDeclaration(location, name, modifiers, annotations, typeParameters, extendedInterfaces, members, nestedTypes, javaDoc);
}
@@ -864,7 +874,9 @@ namespace MarketAlly.IronJava.Core.Serialization
var interfaces = DeserializeList<ClassOrInterfaceType>(element.GetProperty("interfaces"));
var constants = DeserializeList<EnumConstant>(element.GetProperty("constants"));
var members = DeserializeList<MemberDeclaration>(element.GetProperty("members"));
var nestedTypes = DeserializeList<TypeDeclaration>(element.GetProperty("nestedTypes"));
var nestedTypes = element.TryGetProperty("nestedTypes", out var nestedTypesEl)
? DeserializeList<TypeDeclaration>(nestedTypesEl)
: new List<TypeDeclaration>();
return new EnumDeclaration(location, name, modifiers, annotations, interfaces, constants, members, nestedTypes, javaDoc);
}
@@ -879,7 +891,9 @@ namespace MarketAlly.IronJava.Core.Serialization
: null;
var members = DeserializeList<AnnotationMember>(element.GetProperty("members"));
var nestedTypes = DeserializeList<TypeDeclaration>(element.GetProperty("nestedTypes"));
var nestedTypes = element.TryGetProperty("nestedTypes", out var nestedTypesEl)
? DeserializeList<TypeDeclaration>(nestedTypesEl)
: new List<TypeDeclaration>();
return new AnnotationDeclaration(location, name, modifiers, annotations, members, nestedTypes, javaDoc);
}