// Author:
// Raja R Harinath <rharinath@novell.com>
//
-// (C) 2006 Novell, Inc.
+// Copyright 2006 Novell, Inc.
//
using System;
using System.Reflection;
namespace Mono.CSharp
{
+ public enum SpecialConstraint
+ {
+ Constructor,
+ ReferenceType,
+ ValueType
+ }
+
public abstract class GenericConstraints
{
+ public bool HasValueTypeConstraint {
+ get {
+ throw new NotImplementedException ();
+ }
+ }
+
public abstract string TypeParameter {
get;
}
}
}
- public abstract class Constraints : GenericConstraints
+ public class Constraints : GenericConstraints
{
+ public Constraints (string name, ArrayList constraints, Location loc)
+ {
+ }
+
public Constraints Clone ()
{
throw new NotImplementedException ();
}
-
- public abstract Location Location {
- get;
+
+ public Location Location {
+ get { return Location.Null; }
}
+
+ public override string TypeParameter {
+ get { throw new NotImplementedException (); }
+ }
- public abstract void VerifyClsCompliance ();
+ public void VerifyClsCompliance ()
+ {
+ }
}
public class TypeParameter : MemberCore, IMemberContainer
// IMemberContainer
//
- Type IMemberContainer.Type {
+ public Type Type {
get { throw new NotImplementedException (); }
}
public class TypeParameterExpr : TypeExpr
{
- public override string Name {
- get { throw new NotImplementedException (); }
- }
-
- public override string FullName {
- get { throw new NotImplementedException (); }
- }
-
public TypeParameterExpr (TypeParameter type_parameter, Location loc)
{
throw new NotImplementedException ();
{
return null;
}
+
+ public TypeParameter TypeParameter {
+ get {
+ throw new NotImplementedException ();
+ }
+ }
}
public class TypeParameterName : SimpleName
throw new NotImplementedException ();
}
- public override string Name {
- get { throw new NotImplementedException (); }
- }
-
- public override string FullName {
- get { throw new NotImplementedException (); }
- }
-
protected override TypeExpr DoResolveAsTypeStep (IResolveContext ec)
{
throw new NotImplementedException ();
throw new NotImplementedException ();
}
- public override bool DefineMembers ()
- {
- throw new NotImplementedException ();
- }
-
internal static void Error_ParameterNameCollision (Location loc, string name, string collisionWith)
{
}
public class TypeArguments
{
+ public readonly Location Location;
+ ArrayList args;
+ //Type[] atypes;
+ int dimension;
+ //bool has_type_args;
+ //bool created;
+
public TypeArguments (Location loc)
{
- throw new NotImplementedException ();
+ args = new ArrayList ();
+ this.Location = loc;
}
-
+
public TypeArguments (Location loc, params Expression[] types)
{
- throw new NotImplementedException ();
- }
+ this.Location = loc;
+ this.args = new ArrayList (types);
+ }
+
+ public TypeArguments (int dimension, Location loc)
+ {
+ this.dimension = dimension;
+ this.Location = loc;
+ }
public void Add (Expression type)
{
- throw new NotImplementedException ();
}
public void Add (TypeArguments new_args)
{
- throw new NotImplementedException ();
}
public bool Resolve (IResolveContext ec)
}
public int Count {
- get { throw new NotImplementedException (); }
+ get {
+ if (dimension > 0)
+ return dimension;
+ else
+ return args.Count;
+ }
}
public bool IsUnbound {