Author: olivier
Date: 2008-01-27 03:26:00 -0500 (Sun, 27 Jan 2008)
New Revision: 94036

Modified:
   trunk/mcs/class/System.Core/System.Linq.Expressions/ChangeLog
   trunk/mcs/class/System.Core/System.Linq.Expressions/Expression.cs
   trunk/mcs/class/System.Core/System.Linq.Expressions/InvocationExpression.cs
   trunk/mcs/class/System.Core/System.Linq.Expressions/ListInitExpression.cs
   trunk/mcs/class/System.Core/System.Linq.Expressions/MemberInitExpression.cs
   trunk/mcs/class/System.Core/System.Linq.Expressions/NewExpression.cs
Log:
2008-01-27  Olivier Dufour  <[EMAIL PROTECTED]>

        * Expression.cs, InvocationExpession.cs,
        ListInitExpression.cs, MemberInitExpression.cs
        NewExpression.cs : Add all missing 
        constructor in Expressions and remove the base one

Modified: trunk/mcs/class/System.Core/System.Linq.Expressions/ChangeLog
===================================================================
--- trunk/mcs/class/System.Core/System.Linq.Expressions/ChangeLog       
2008-01-27 00:27:06 UTC (rev 94035)
+++ trunk/mcs/class/System.Core/System.Linq.Expressions/ChangeLog       
2008-01-27 08:26:00 UTC (rev 94036)
@@ -1,3 +1,10 @@
+2008-01-27  Olivier Dufour  <[EMAIL PROTECTED]>
+
+       * Expression.cs, InvocationExpession.cs,
+       ListInitExpression.cs, MemberInitExpression.cs
+       NewExpression.cs : Add all missing 
+       constructor in Expressions and remove the base one
+
 2008-01-25  Jb Evain  <[EMAIL PROTECTED]>
 
        * Expression.cs, ExpressionPrinter.cs: implement Bind.

Modified: trunk/mcs/class/System.Core/System.Linq.Expressions/Expression.cs
===================================================================
--- trunk/mcs/class/System.Core/System.Linq.Expressions/Expression.cs   
2008-01-27 00:27:06 UTC (rev 94035)
+++ trunk/mcs/class/System.Core/System.Linq.Expressions/Expression.cs   
2008-01-27 08:26:00 UTC (rev 94036)
@@ -54,12 +54,6 @@
                        get { return type; }
                }
 
-               // TODO: remove when all Expression subtypes
-               // have their constructor implemented
-               protected Expression ()
-               {
-               }
-
                protected Expression (ExpressionType node_type, Type type)
                {
                        this.node_type = node_type;

Modified: 
trunk/mcs/class/System.Core/System.Linq.Expressions/InvocationExpression.cs
===================================================================
--- trunk/mcs/class/System.Core/System.Linq.Expressions/InvocationExpression.cs 
2008-01-27 00:27:06 UTC (rev 94035)
+++ trunk/mcs/class/System.Core/System.Linq.Expressions/InvocationExpression.cs 
2008-01-27 08:26:00 UTC (rev 94036)
@@ -45,7 +45,14 @@
                public ReadOnlyCollection<Expression> Arguments {
                        get { return arguments; }
                }
-
+               
+               internal InvocationExpression (Expression lambda, 
ReadOnlyCollection<Expression> arguments)
+                       : base (ExpressionType.Invoke, lambda.Type)
+               {
+                       this.lambda = lambda;
+                       this.arguments = arguments;
+               }
+               
                internal override void Emit (EmitContext ec)
                {
                        throw new NotImplementedException ();

Modified: 
trunk/mcs/class/System.Core/System.Linq.Expressions/ListInitExpression.cs
===================================================================
--- trunk/mcs/class/System.Core/System.Linq.Expressions/ListInitExpression.cs   
2008-01-27 00:27:06 UTC (rev 94035)
+++ trunk/mcs/class/System.Core/System.Linq.Expressions/ListInitExpression.cs   
2008-01-27 08:26:00 UTC (rev 94036)
@@ -45,7 +45,14 @@
                public ReadOnlyCollection<ElementInit> Initializers {
                        get { return initializers; }
                }
-
+               
+               internal ListInitExpression (NewExpression new_expression, 
ReadOnlyCollection<ElementInit> initializers)
+                       : base (ExpressionType.ListInit, new_expression.Type)
+               {
+                       this.new_expression = new_expression;
+                       this.initializers = initializers;
+               }
+               
                internal override void Emit (EmitContext ec)
                {
                        throw new NotImplementedException ();

Modified: 
trunk/mcs/class/System.Core/System.Linq.Expressions/MemberInitExpression.cs
===================================================================
--- trunk/mcs/class/System.Core/System.Linq.Expressions/MemberInitExpression.cs 
2008-01-27 00:27:06 UTC (rev 94035)
+++ trunk/mcs/class/System.Core/System.Linq.Expressions/MemberInitExpression.cs 
2008-01-27 08:26:00 UTC (rev 94036)
@@ -44,7 +44,14 @@
                public ReadOnlyCollection<MemberBinding> Bindings {
                        get { return bindings; }
                }
-
+               
+               internal MemberInitExpression (NewExpression new_expression, 
ReadOnlyCollection<MemberBinding> bindings)
+                       : base (ExpressionType.MemberInit, new_expression.Type)
+               {
+                       this.new_expression = new_expression;
+                       this.bindings = bindings;
+               }
+               
                internal override void Emit (EmitContext ec)
                {
                        throw new NotImplementedException ();

Modified: trunk/mcs/class/System.Core/System.Linq.Expressions/NewExpression.cs
===================================================================
--- trunk/mcs/class/System.Core/System.Linq.Expressions/NewExpression.cs        
2008-01-27 00:27:06 UTC (rev 94035)
+++ trunk/mcs/class/System.Core/System.Linq.Expressions/NewExpression.cs        
2008-01-27 08:26:00 UTC (rev 94036)
@@ -49,7 +49,15 @@
                public ReadOnlyCollection<MemberInfo> Members {
                        get { return members; }
                }
-
+               
+               internal NewExpression (ConstructorInfo constructor, 
ReadOnlyCollection<Expression> arguments,  ReadOnlyCollection<MemberInfo> 
members)
+                       : base (ExpressionType.New, constructor.DeclaringType)
+               {
+                       this.constructor = constructor;
+                       this.arguments = arguments;
+                       this.members = members;
+               }
+               
                internal override void Emit (EmitContext ec)
                {
                        throw new NotImplementedException ();

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to