From 5439aeb081d2e8842e46e9901782226f7450c3d2 Mon Sep 17 00:00:00 2001 From: Dave Friedel Date: Wed, 23 Jul 2025 05:24:18 -0400 Subject: [PATCH] Resolved build errors 1. Fixed constructor calls in AstTransformer.cs by adding missing nestedTypes parameter 2. Fixed constructor calls in AstJsonSerializer.cs by adding logic to deserialize nestedTypes 3. Fixed constructor calls in AstBuilder.cs by adding empty nestedTypes lists and correct parameters 4. Fixed test files by updating ClassDeclaration constructors with proper parameters --- IronJava.Core/AST/Builders/AstBuilder.cs | 20 ++++++++++++------- .../AST/Transformation/AstTransformer.cs | 3 +++ .../Serialization/AstJsonSerializer.cs | 12 +++++++---- .../AstQueryAndTransformationTests.cs | 12 ++++++++--- IronJava.Tests/AstVisitorPatternTests.cs | 16 +++++++++++---- 5 files changed, 45 insertions(+), 18 deletions(-) diff --git a/IronJava.Core/AST/Builders/AstBuilder.cs b/IronJava.Core/AST/Builders/AstBuilder.cs index bb5058b..45b79b1 100644 --- a/IronJava.Core/AST/Builders/AstBuilder.cs +++ b/IronJava.Core/AST/Builders/AstBuilder.cs @@ -201,7 +201,7 @@ namespace MarketAlly.IronJava.Core.AST.Builders return new ClassDeclaration( location, name, modifiers, annotations, typeParameters, - superClass, interfaces, members, javaDoc + superClass, interfaces, members, new List(), javaDoc, false ); } @@ -218,7 +218,7 @@ namespace MarketAlly.IronJava.Core.AST.Builders return new InterfaceDeclaration( location, name, modifiers, annotations, typeParameters, - extendedInterfaces, members, javaDoc + extendedInterfaces, members, new List(), javaDoc ); } @@ -236,7 +236,7 @@ namespace MarketAlly.IronJava.Core.AST.Builders return new EnumDeclaration( location, name, modifiers, annotations, - interfaces, constants, members, javaDoc + interfaces, constants, members, new List(), javaDoc ); } @@ -250,7 +250,7 @@ namespace MarketAlly.IronJava.Core.AST.Builders var javaDoc = ExtractJavaDoc(context); return new AnnotationDeclaration( - location, name, modifiers, annotations, members, javaDoc + location, name, modifiers, annotations, members, new List(), javaDoc ); } @@ -1125,7 +1125,9 @@ namespace MarketAlly.IronJava.Core.AST.Builders null, new List(), members, - null + new List(), + null, + false ); } @@ -2108,7 +2110,9 @@ namespace MarketAlly.IronJava.Core.AST.Builders type, new List(), members, - null + new List(), + null, + false ); } @@ -2829,7 +2833,9 @@ namespace MarketAlly.IronJava.Core.AST.Builders type, new List(), members, - null + new List(), + null, + false ); } diff --git a/IronJava.Core/AST/Transformation/AstTransformer.cs b/IronJava.Core/AST/Transformation/AstTransformer.cs index 37181cb..2feb93d 100644 --- a/IronJava.Core/AST/Transformation/AstTransformer.cs +++ b/IronJava.Core/AST/Transformation/AstTransformer.cs @@ -149,6 +149,7 @@ namespace MarketAlly.IronJava.Core.AST.Transformation node.SuperClass, node.Interfaces, transformedMembers, + node.NestedTypes, node.JavaDoc, node.IsRecord ); @@ -201,6 +202,7 @@ namespace MarketAlly.IronJava.Core.AST.Transformation node.SuperClass, node.Interfaces, transformedMembers, + node.NestedTypes, node.JavaDoc, node.IsRecord ); @@ -336,6 +338,7 @@ namespace MarketAlly.IronJava.Core.AST.Transformation node.SuperClass, node.Interfaces, transformedMembers, + node.NestedTypes, node.JavaDoc, node.IsRecord ); diff --git a/IronJava.Core/Serialization/AstJsonSerializer.cs b/IronJava.Core/Serialization/AstJsonSerializer.cs index 79f8456..cc7bd34 100644 --- a/IronJava.Core/Serialization/AstJsonSerializer.cs +++ b/IronJava.Core/Serialization/AstJsonSerializer.cs @@ -829,9 +829,10 @@ namespace MarketAlly.IronJava.Core.Serialization var interfaces = DeserializeList(element.GetProperty("interfaces")); var members = DeserializeList(element.GetProperty("members")); + var nestedTypes = DeserializeList(element.GetProperty("nestedTypes")); var isRecord = element.GetProperty("isRecord").GetBoolean(); - return new ClassDeclaration(location, name, modifiers, annotations, typeParameters, superClass, interfaces, members, javaDoc, isRecord); + return new ClassDeclaration(location, name, modifiers, annotations, typeParameters, superClass, interfaces, members, nestedTypes, javaDoc, isRecord); } private InterfaceDeclaration DeserializeInterfaceDeclaration(JsonElement element, SourceRange location) @@ -846,8 +847,9 @@ namespace MarketAlly.IronJava.Core.Serialization var extendedInterfaces = DeserializeList(element.GetProperty("extendedInterfaces")); var members = DeserializeList(element.GetProperty("members")); + var nestedTypes = DeserializeList(element.GetProperty("nestedTypes")); - return new InterfaceDeclaration(location, name, modifiers, annotations, typeParameters, extendedInterfaces, members, javaDoc); + return new InterfaceDeclaration(location, name, modifiers, annotations, typeParameters, extendedInterfaces, members, nestedTypes, javaDoc); } private EnumDeclaration DeserializeEnumDeclaration(JsonElement element, SourceRange location) @@ -862,8 +864,9 @@ namespace MarketAlly.IronJava.Core.Serialization var interfaces = DeserializeList(element.GetProperty("interfaces")); var constants = DeserializeList(element.GetProperty("constants")); var members = DeserializeList(element.GetProperty("members")); + var nestedTypes = DeserializeList(element.GetProperty("nestedTypes")); - return new EnumDeclaration(location, name, modifiers, annotations, interfaces, constants, members, javaDoc); + return new EnumDeclaration(location, name, modifiers, annotations, interfaces, constants, members, nestedTypes, javaDoc); } private AnnotationDeclaration DeserializeAnnotationDeclaration(JsonElement element, SourceRange location) @@ -876,8 +879,9 @@ namespace MarketAlly.IronJava.Core.Serialization : null; var members = DeserializeList(element.GetProperty("members")); + var nestedTypes = DeserializeList(element.GetProperty("nestedTypes")); - return new AnnotationDeclaration(location, name, modifiers, annotations, members, javaDoc); + return new AnnotationDeclaration(location, name, modifiers, annotations, members, nestedTypes, javaDoc); } private FieldDeclaration DeserializeFieldDeclaration(JsonElement element, SourceRange location) diff --git a/IronJava.Tests/AstQueryAndTransformationTests.cs b/IronJava.Tests/AstQueryAndTransformationTests.cs index 58e1523..c61ab8c 100644 --- a/IronJava.Tests/AstQueryAndTransformationTests.cs +++ b/IronJava.Tests/AstQueryAndTransformationTests.cs @@ -246,7 +246,9 @@ namespace MarketAlly.IronJava.Tests null ) }, - null + new List(), + null, + false ); var builder = new TransformationBuilder() @@ -348,7 +350,9 @@ namespace MarketAlly.IronJava.Tests null, new List(), new List { mainMethod, helperMethod, field }, - null + new List(), + null, + false ); return new CompilationUnit( @@ -393,7 +397,9 @@ namespace MarketAlly.IronJava.Tests null, new List { serializableInterface }, new List { serializeMethod }, - null + new List(), + null, + false ); return new CompilationUnit( diff --git a/IronJava.Tests/AstVisitorPatternTests.cs b/IronJava.Tests/AstVisitorPatternTests.cs index 189ee9a..03a20a2 100644 --- a/IronJava.Tests/AstVisitorPatternTests.cs +++ b/IronJava.Tests/AstVisitorPatternTests.cs @@ -55,7 +55,9 @@ namespace MarketAlly.IronJava.Tests null, new List(), new List { mainMethod }, - null + new List(), + null, + false ); var compilationUnit = new CompilationUnit( @@ -137,7 +139,9 @@ namespace MarketAlly.IronJava.Tests null, new List(), new List(), - null + new List(), + null, + false ); var outerClass = new ClassDeclaration( @@ -149,7 +153,9 @@ namespace MarketAlly.IronJava.Tests null, new List(), new List(), - null + new List(), + null, + false ); // Navigate the AST @@ -194,7 +200,9 @@ namespace MarketAlly.IronJava.Tests null, new List(), new List { field }, - null + new List(), + null, + false ); var compilationUnit = new CompilationUnit(