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(