diff trunk/src/Types.d @ 153:66790fc2c0a2

- Added method parseIdentifierListType(). - Added code for parsing DotTemplateInstanceExpression. - Added code for parsing TemplateInstanceExpression. - Calling parseIdentifierListType() in parseBasicType(). - Added IdentifierListType and TemplateInstanceType.
author aziz
date Thu, 12 Jul 2007 22:30:01 +0000
parents 753bc07bf3a0
children 0e7cefb15e43
line wrap: on
line diff
--- a/trunk/src/Types.d	Thu Jul 12 21:23:00 2007 +0000
+++ b/trunk/src/Types.d	Thu Jul 12 22:30:01 2007 +0000
@@ -130,8 +130,10 @@
   Delegate,
   Pointer,
   Array,
+  IdentifierList,
   Identifier,
   Typeof,
+  TemplateInstance,
   Specialization,
 }
 
@@ -163,6 +165,15 @@
   }
 }
 
+class IdentifierListType : Type
+{
+  Type[] identList;
+  this(Type[] identList)
+  {
+    super(TID.IdentifierList, null);
+  }
+}
+
 class IdentifierType : Type
 {
   string[] idents;
@@ -173,6 +184,11 @@
     this.idents = idents;
   }
 
+  this(string ident)
+  {
+    super(TID.Identifier, null);
+  }
+
   this(TID tid)
   {
     super(tid);
@@ -194,6 +210,18 @@
   }
 }
 
+class TemplateInstanceType : Type
+{
+  string ident;
+  TemplateArguments targs;
+  this(string ident, TemplateArguments targs)
+  {
+    super(TID.TemplateInstance, null);
+    this.ident = ident;
+    this.targs = targs;
+  }
+}
+
 class PointerType : Type
 {
   this(Type t)