2009-08-12 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / generic-mcs.cs
index da4a2300ba9f27ef7f74a7f45d22f8a1fa8f0b89..39227ebfd5c35f5ca82d1dd132f0458703cc6f31 100644 (file)
@@ -26,13 +26,40 @@ namespace Mono.CSharp
                ReferenceType,
                ValueType
        }
+
+       public abstract class GenericTypeParameterBuilder : Type
+       {
+       }
+
+       public class InternalsVisibleToAttribute
+       {
+               public string AssemblyName;
+       }
+
+       class ConstraintChecker
+       {
+               public static bool CheckConstraints (EmitContext ec, MethodBase a, MethodBase b, Location loc)
+               {
+                       throw new NotSupportedException ();
+               }
+       }
        
        public abstract class GenericConstraints
        {
+               public bool HasConstructorConstraint {
+                       get { throw new NotImplementedException (); }
+               }
+
                public bool HasValueTypeConstraint {
-                       get {
-                               throw new NotImplementedException ();
-                       }
+                       get { throw new NotImplementedException (); }
+               }
+
+               public bool HasClassConstraint {
+                       get { throw new NotImplementedException (); }
+               }
+
+               public bool HasReferenceTypeConstraint {
+                       get { throw new NotImplementedException (); }
                }
                        
                public abstract string TypeParameter {
@@ -45,7 +72,19 @@ namespace Mono.CSharp
                
                public bool IsValueType { 
                        get { throw new NotSupportedException (); }
-               }               
+               }
+
+               public Type[] InterfaceConstraints {
+                       get { throw new NotSupportedException (); }
+               }
+
+               public Type ClassConstraint {
+                       get { throw new NotSupportedException (); }
+               }
+
+               public Type EffectiveBaseClass {
+                       get { throw new NotSupportedException (); }
+               }
        }
 
        public class Constraints : GenericConstraints
@@ -85,6 +124,10 @@ namespace Mono.CSharp
                {
                        throw new NotImplementedException ();
                }
+               
+               public void ErrorInvalidVariance (MemberCore mc, Variance v)
+               {
+               }
 
                //
                // MemberContainer
@@ -95,6 +138,10 @@ namespace Mono.CSharp
                        return true;
                }
 
+               public void Define (Type t)
+               {
+               }
+
                public override void ApplyAttributeBuilder (Attribute a, CustomAttributeBuilder cb, PredefinedAttributes pa)
                {
                        throw new NotImplementedException ();
@@ -185,6 +232,11 @@ namespace Mono.CSharp
                {
                        throw new NotImplementedException ();
                }
+
+               public void SetConstraints (GenericTypeParameterBuilder type)
+               {
+                       throw new NotImplementedException ();
+               }
        }
 
        public class TypeParameterExpr : TypeExpr
@@ -258,7 +310,11 @@ namespace Mono.CSharp
                        throw new NotImplementedException ();
                }
 
-               public bool VerifyVariantTypeParameters ()
+               public TypeArguments TypeArguments {
+                       get { throw new NotImplementedException (); }
+               }
+
+               public bool VerifyVariantTypeParameters (IResolveContext rc)
                {
                        throw new NotImplementedException ();
                }
@@ -373,6 +429,13 @@ namespace Mono.CSharp
 
        public class TypeInferenceContext
        {
+               public Type[] InferredTypeArguments;
+               
+               public void AddCommonTypeBound (Type type)
+               {
+                       throw new NotImplementedException ();
+               }
+               
                public void ExactInference (Type u, Type v)
                {
                        throw new NotImplementedException ();
@@ -382,5 +445,28 @@ namespace Mono.CSharp
                {
                        throw new NotImplementedException ();           
                }
+               
+               public bool FixAllTypes ()
+               {
+                       return false;
+               }
+       }
+       
+       partial class TypeManager
+       {
+               public static Variance CheckTypeVariance (Type type, Variance v, MemberCore mc)
+               {
+                       return v;
+               }
+               
+               public static bool IsVariantOf (Type a, Type b)
+               {
+                       return false;
+               }
+               
+               public static TypeContainer LookupGenericTypeContainer (Type t)
+               {
+                       throw new NotImplementedException ();
+               }
        }
 }