+
+ 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");
+ }
+ }