Index: scripts/astgen.boo =================================================================== --- scripts/astgen.boo (revision 1293) +++ scripts/astgen.boo (working copy) @@ -252,6 +252,10 @@ """) for field as Field in node.Members: + if field.Name == "Name": + writer.WriteLine(""" + [System.Xml.Serialization.XmlAttribute]""") + writer.WriteLine(""" public ${field.Type} ${field.Name} { Index: src/Boo.Lang.Compiler/Ast/Statement.cs =================================================================== --- src/Boo.Lang.Compiler/Ast/Statement.cs (revision 1293) +++ src/Boo.Lang.Compiler/Ast/Statement.cs (working copy) @@ -45,6 +45,7 @@ [System.Xml.Serialization.XmlInclude(typeof(RaiseStatement))] [System.Xml.Serialization.XmlInclude(typeof(UnpackStatement))] [System.Xml.Serialization.XmlInclude(typeof(ExpressionStatement))] + [System.Xml.Serialization.XmlInclude(typeof(MacroStatement))] [Serializable] public abstract class Statement : StatementImpl { Index: src/Boo.Lang.Compiler/Ast/Node.cs =================================================================== --- src/Boo.Lang.Compiler/Ast/Node.cs (revision 1293) +++ src/Boo.Lang.Compiler/Ast/Node.cs (working copy) @@ -31,6 +31,7 @@ using System; using System.Collections; using System.IO; + using System.Xml.Serialization; /// /// Base class for every node in the AST. @@ -77,6 +78,7 @@ /// /// true when the node was constructed by the compiler. /// + [XmlAttribute] public bool IsSynthetic { get @@ -90,6 +92,7 @@ } } + [XmlIgnore] public Boo.Lang.Compiler.TypeSystem.IEntity Entity { get @@ -150,7 +153,7 @@ } } - [System.Xml.Serialization.XmlIgnore] + [XmlIgnore] public LexicalInfo LexicalInfo { get