changeset 44:ea4769860460

TemplateValueParameter.defaultArg
author korDen
date Sat, 21 Aug 2010 07:21:54 +0400
parents a509c8688fbd
children ccbc1e0bb3f0
files dmd/TemplateValueParameter.d
diffstat 1 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dmd/TemplateValueParameter.d	Sat Aug 21 07:20:15 2010 +0400
+++ b/dmd/TemplateValueParameter.d	Sat Aug 21 07:21:54 2010 +0400
@@ -14,6 +14,7 @@
 import dmd.VarDeclaration;
 import dmd.Initializer;
 import dmd.ExpInitializer;
+import dmd.DefaultInitExp;
 import dmd.STC;
 import dmd.Util;
 import dmd.TY;
@@ -120,7 +121,20 @@
 
     Object defaultArg(Loc loc, Scope sc)
 	{
-		assert(false);
+		Expression e = defaultValue;
+		if (e)
+		{
+			e = e.syntaxCopy();
+			e = e.semantic(sc);
+version (DMDV2) {
+			if (e.op == TOKdefault)
+			{  
+				DefaultInitExp de = cast(DefaultInitExp)e;
+				e = de.resolve(loc, sc);
+			}
+}
+		}
+		return e;
 	}
 
     bool overloadMatch(TemplateParameter tp)