changeset 291:c0e857931ff6

- Changed FunctionType and DelegateType. Both receive return type and parameters.
author aziz
date Wed, 08 Aug 2007 12:04:01 +0000
parents 7933a0c17c9f
children 076152e945e0
files trunk/src/Parser.d trunk/src/Types.d
diffstat 2 files changed, 9 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Parser.d	Wed Aug 08 11:54:03 2007 +0000
+++ b/trunk/src/Parser.d	Wed Aug 08 12:04:01 2007 +0000
@@ -3656,11 +3656,10 @@
         TOK tok = token.type;
         nT();
         auto parameters = parseParameterList();
-        t = new FunctionType(t, parameters);
         if (tok == T.Function)
-          t = new PointerType(t);
+          t = new FunctionType(t, parameters);
         else
-          t = new DelegateType(t);
+          t = new DelegateType(t, parameters);
         break;
       default:
         return t;
--- a/trunk/src/Types.d	Wed Aug 08 11:54:03 2007 +0000
+++ b/trunk/src/Types.d	Wed Aug 08 12:04:01 2007 +0000
@@ -352,23 +352,25 @@
 {
   Type returnType;
   Parameters parameters;
-  TemplateParameters tparams;
-  this(Type returnType, Parameters parameters, TemplateParameters tparams = null)
+  this(Type returnType, Parameters parameters)
   {
     super(TID.Function);
     mixin(set_kind);
     this.returnType = returnType;
     this.parameters = parameters;
-    this.tparams = tparams;
   }
 }
 
 class DelegateType : Type
 {
-  this(Type func)
+  Type returnType;
+  Parameters parameters;
+  this(Type returnType, Parameters parameters)
   {
-    super(TID.Delegate, func);
+    super(TID.Delegate);
     mixin(set_kind);
+    this.returnType = returnType;
+    this.parameters = parameters;
   }
 }