2 // generic.cs: Support classes for generics to reduce differences from GMCS
5 // Raja R Harinath <rharinath@novell.com>
7 // (C) 2006 Novell, Inc.
10 using System.Reflection;
11 using System.Reflection.Emit;
12 using System.Collections;
16 public abstract class GenericConstraints
18 public abstract string TypeParameter {
23 public abstract class Constraints : GenericConstraints
25 public abstract Location Location {
30 public class TypeParameter : MemberCore, IMemberContainer
32 public TypeParameter (DeclSpace parent, DeclSpace decl, string name,
33 Constraints constraints, Attributes attrs, Location loc)
34 : base (parent, new MemberName (name, loc), attrs)
36 throw new NotImplementedException ();
39 public static string GetSignatureForError (TypeParameter[] tp)
41 throw new NotImplementedException ();
48 public override bool Define ()
53 public override void ApplyAttributeBuilder (Attribute a,
54 CustomAttributeBuilder cb)
56 throw new NotImplementedException ();
59 public override AttributeTargets AttributeTargets {
60 get { throw new NotImplementedException (); }
63 public override string[] ValidAttributeTargets {
65 return new string [] { "type parameter" };
69 public override string DocCommentHeader {
70 get { throw new NotImplementedException (); }
77 Type IMemberContainer.Type {
78 get { throw new NotImplementedException (); }
81 string IMemberContainer.Name {
82 get { throw new NotImplementedException (); }
85 MemberCache IMemberContainer.BaseCache {
86 get { throw new NotImplementedException (); }
89 bool IMemberContainer.IsInterface {
90 get { throw new NotImplementedException (); }
93 MemberList IMemberContainer.GetMembers (MemberTypes mt, BindingFlags bf)
95 throw new NotImplementedException ();
98 MemberCache IMemberContainer.MemberCache {
99 get { throw new NotImplementedException (); }
102 public bool IsSubclassOf (Type t)
104 throw new NotImplementedException ();
107 public MemberList FindMembers (MemberTypes mt, BindingFlags bf,
108 MemberFilter filter, object criteria)
110 throw new NotImplementedException ();
114 public class TypeParameterExpr : TypeExpr
116 public override string Name {
117 get { throw new NotImplementedException (); }
120 public override string FullName {
121 get { throw new NotImplementedException (); }
124 public TypeParameterExpr (TypeParameter type_parameter, Location loc)
126 throw new NotImplementedException ();
129 protected override TypeExpr DoResolveAsTypeStep (IResolveContext ec)
135 public class TypeParameterName : SimpleName
137 Attributes attributes;
139 public TypeParameterName (string name, Attributes attrs, Location loc)
145 public Attributes OptAttributes {
152 public abstract class GenericMethod : DeclSpace
154 public GenericMethod (NamespaceEntry ns, DeclSpace parent, MemberName name,
155 Expression return_type, Parameters parameters)
156 : base (ns, parent, name, null)
158 throw new NotImplementedException ();
162 public abstract class TypeArguments
165 get { throw new NotImplementedException (); }
168 public bool IsUnbound {
169 get { throw new NotImplementedException (); }
172 public TypeParameterName[] GetDeclarations ()
174 throw new NotImplementedException ();