1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using System.Collections.Generic;
7
namespace NRefactoryASTGenerator.Ast
10
interface INullable {}
13
enum Modifiers { None }
15
[CustomImplementation]
16
abstract class AbstractNode : INode {}
18
abstract class AttributedNode : AbstractNode
20
List<AttributeSection> attributes;
23
public AttributedNode() {}
24
public AttributedNode(List<AttributeSection> attributes) {}
25
public AttributedNode(Modifiers modifier, List<AttributeSection> attributes) {}
28
abstract class ParametrizedNode : AttributedNode
31
List<ParameterDeclarationExpression> parameters;
33
public ParametrizedNode() {}
35
public ParametrizedNode(Modifiers modifier, List<AttributeSection> attributes,
36
string name, List<ParameterDeclarationExpression> parameters)
37
: base(modifier, attributes)
41
[CustomImplementation]
42
class TypeReference : AbstractNode, INullable
44
List<TypeReference> genericTypes;
47
[CustomImplementation]
48
class InnerClassTypeReference : TypeReference
50
TypeReference baseType;
53
class AttributeSection : AbstractNode, INullable
55
string attributeTarget;
56
List<Attribute> attributes;
59
class Attribute : AbstractNode
62
List<Expression> positionalArguments;
63
List<NamedArgumentExpression> namedArguments;
66
public Attribute(string name, List<Expression> positionalArguments, List<NamedArgumentExpression> namedArguments) {}