X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fgmcs%2Fgeneric.cs;h=c35134d2329f4231cf0bc8b17f947c908f38e294;hb=4bd57de01f582c42906bd3e9ad4f4df218606740;hp=4e66eb6cc66d66a6c1d82e53af4ba008a3d828ba;hpb=c7cfb1e7236af539cb992e125d29524e60e4d7ea;p=mono.git diff --git a/mcs/gmcs/generic.cs b/mcs/gmcs/generic.cs index 4e66eb6cc66..c35134d2329 100644 --- a/mcs/gmcs/generic.cs +++ b/mcs/gmcs/generic.cs @@ -36,6 +36,12 @@ namespace Mono.CSharp { // public class TypeParameterExpr : TypeExpr { string type_parameter; + + public string Name { + get { + return type_parameter; + } + } public TypeParameterExpr (string type_parameter, Location l) : base (typeof (object), l) @@ -53,4 +59,42 @@ namespace Mono.CSharp { Report.Error (-203, loc, "Can not use type parameter as unamanged type"); } } + + public class TypeArguments { + ArrayList args; + + public TypeArguments () + { + args = new ArrayList (); + } + + public void Add (Expression type) + { + args.Add (type); + } + } + + public class ConstructedType : Expression { + Expression container_type; + string name; + TypeArguments args; + + public ConstructedType (Expression container_type, string name, TypeArguments args, Location l) + { + loc = l; + this.container_type = container_type; + this.name = name; + this.args = args; + } + + public override Expression DoResolve (EmitContext ec) + { + throw new Exception ("IMPLEMENT ME"); + } + + public override void Emit (EmitContext ec) + { + throw new Exception ("IMPLEMENT ME"); + } + } }