// // // // // $Revision$ // using System; using System.Collections.Generic; namespace NRefactoryASTGenerator.Ast { interface INode {} interface INullable {} struct Location {} enum Modifiers { None } [CustomImplementation] abstract class AbstractNode : INode {} abstract class AttributedNode : AbstractNode { List attributes; Modifiers modifier; public AttributedNode() {} public AttributedNode(List attributes) {} public AttributedNode(Modifiers modifier, List attributes) {} } abstract class ParametrizedNode : AttributedNode { string name; List parameters; public ParametrizedNode() {} public ParametrizedNode(Modifiers modifier, List attributes, string name, List parameters) : base(modifier, attributes) {} } [CustomImplementation] class TypeReference : AbstractNode { List genericTypes; } [CustomImplementation] class InnerClassTypeReference : TypeReference { TypeReference baseType; } class AttributeSection : AbstractNode, INullable { string attributeTarget; List attributes; } class Attribute : AbstractNode { string name; List positionalArguments; List namedArguments; public Attribute() {} public Attribute(string name, List positionalArguments, List namedArguments) {} } }