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