2009-09-03 Jb Evain <jbevain@novell.com>
[mcs.git] / class / System.Core / System.Linq.Expressions / ChangeLog
blob55387ee3ca23761ab2883a8a5a3bafa17a49a28b
1 2009-09-03  Jb Evain  <jbevain@novell.com>
3         * ConstantExpression.cs (Emit): add support for emitting
4         DateTime constants.
6 2009-03-05  Jb Evain  <jbevain@novell.com>
8         * EmitContext.cs
9         * ParameterExpression.cs:
10                 add support for hoisted locals.
12 2009-02-24  Jb Evain  <jbevain@novell.com>
14         * Expression.cs (BinaryCoreCheck): fix comparison of enums
16 2009-02-23  Jb Evain  <jbevain@novell.com>
18         * Expression.cs (IsNumber): actually decimal is rather a special
19         case, and not a primitive number.
21 2009-02-23  Jb Evain  <jbevain@novell.com>
23         * Expression.cs (BinaryCoreCheck): add decimal operations
24         are provided by custom operators.
26 2008-12-17  Jb Evain  <jbevain@novell.com>
28         * ExpressionTransformer.cs: fix VisitList.
30 2008-11-19  Jb Evain  <jbevain@novell.com>
32         * Expression.cs: protect against open generic methods.
34 2008-10-08  Atsushi Enomoto  <atsushi@ximian.com>
36         * Expression.cs : give us information about which type does not
37           implement Emit().
39 2008-10-03  Jb Evain  <jbevain@novell.com>
41         * Expression.cs: make sure we properly test complex generic methods
42         as a Call candidate.
44 2008-09-22  Jb Evain  <jbevain@novell.com>
46         * TypeBinaryExpression.cs: protect against testing void expressions.
47         Fixes bug #428309.
49 2008-09-01  Jb Evain  <jbevain@novell.com>
51         * MemberBinding.cs: make .ctor protected instead of public.
53 2008-09-01  Jb Evain  <jbevain@novell.com>
55         * Expression.cs: guard against null parameters passed to Lambda.
57 2008-08-30  Marek Safar  <marek.safar@gmail.com>
59         * MemberBinding.cs: Made MemberBinding ctor public
61 2008-08-07  Jb Evain  <jbevain@novell.com>
63         * Expression.cs (GetAssociatedProperty): strengthen accessors
64         comparisons.
66 2008-08-02  Zoltan Varga  <vargaz@gmail.com>
68         * BinaryExpression.cs (EmitBinaryOperator): Mask out the upper bits of the
69         shift amount like mcs compiled code does.
71 2008-07-19  Jb Evain  <jbevain@novell.com>
73         * Expression.cs (Call, Field, Property): disallow instance arguments
74         on static members. See ms connect #339351.
76 2008-07-18  Jb Evain  <jbevain@novell.com>
78         * Expression.cs, BinaryExpression.cs: fix retrieval of true and false
79         operators.
81 2008-06-20  Jb Evain  <jbevain@novell.com>
83         * LambdaExpression.cs, EmitContext.cs: refactor the emit context to
84         handle the fact that lambdas are compiled in a general context where
85         they share globals but are also able to use parameters from parent lambdas.
86         (Although parameter sharing is not implemented yet).
88         * BinaryExpression.cs (fix converted coalesce case to use the lambda
89         compilation code).
91 2008-06-09  Jb Evain  <jbevain@novell.com>
93         * Extensions.cs (Type.IsExpression): add
94         * Expression.cs (CheckMethodArguments): modify the argument list
95         to quote arguments when if necessary.
98 2008-06-09  Jb Evain  <jbevain@novell.com>
100         * Expression.cs (CheckLambda): quote body if required.
102 2008-06-07  Jb Evain  <jbevain@novell.com>
104         * BinaryExpression.cs (EmitConvertedCoalesce): implement.
106 2008-06-05  Jb Evain  <jbevain@novell.com>
108         * Expression.cs (GetUserConversionMethod): check for convertion
109         operators on both types.
111 2008-06-05  Jb Evain  <jbevain@novell.com>
113         * Expression.cs (ConditionalBinaryCheck): if a method is passed,
114         checked that the operators true and false are also defined.
116 2008-06-05  Jb Evain  <jbevain@novell.com>
118         * BinaryExpression.cs (Emit): deal with binary expressions
119         where only the left is lifted.
121 2008-06-05  Jb Evain  <jbevain@novell.com>
123         * Extensions.cs: Add Type.MakeNullableType helper.
124         * Expression.cs (MakeSimpleBinary, MakeBoolBinar): Properly
125         creat lifted/lifted to null/not lifted
126         user defined binary expressions.
127         * BinaryExpression.cs (Emit): implement compilation of
128         lifted and lifted to null user defined binary operators.
130 2008-06-05  Jb Evain  <jbevain@novell.com>
132         * Expression.cs (MakeSimpleUnary): properly create lifted/not lifted
133         unary expressions with user defined operators.
134         * UnaryExpression.cs (Emit): fix compilation of lifted user operators.
136 2008-05-30  Jb Evain  <jbevain@novell.com>
138         * UnaryExpression.cs (Emit): fix convertion from nullable
139         to nullable types.
141 2008-05-29  Jb Evain  <jbevain@novell.com>
143         * Expression.cs (Power): allow bool?.
144         * BinaryExpression.cs: properly deal with lifted power expression.
146 2008-05-29  Jb Evain  <jbevain@novell.com>
148         * BinaryExpression.cs (Emit): fix lifted andalso and orelse.
150 2008-05-29  Jb Evain  <jbevain@novell.com>
152         * BinaryExpression.cs (Emit): properly emit lifted to null
153         relational binary expressions.
155 2008-05-28  Jb Evain  <jbevain@novell.com>
157         * BinaryExpression.cs (Emit): rework compilation of
158         arithmetic and relational lifted binary expressions.
160 2008-05-28  Jb Evain  <jbevain@novell.com>
162         * UnaryExpression.cs (Emit): implement support for compiling
163         lifted unary expressions.
165 2008-05-27  Jb Evain  <jbevain@novell.com>
167         * UnaryExpression.cs (EmitConvert): implement nullable to nullable
168         convert.
170 2008-05-20  Roei Erez  <roeie@mainsoft.com>
172         * Extensions.cs: Add 'IsGenericImplementationOf' extension method
174 2008-05-15  Jb Evain  <jbevain@novell.com>
176         * UnaryExpression.cs, EmitContext.cs: emit convert from and
177         to nullable types.
179 2008-05-15  Jb Evain  <jbevain@novell.com>
181         * Extensions.cs: add a few useful extensions such as
182         IsGenericInstanceOf and MakeGenericFrom.
184 2008-05-15  Roei Erez  <roeie@mainsoft.com>
186         * ExpressionTransformer.cs: Add a base class for transforming Expressions.
187         In use at AsQueryable() implementation.
189 2008-05-14  Jb Evain  <jbevain@novell.com>
191         * EmitContext.cs: only generate a new lambda name if we're in
192         a debug context.
194 2008-05-14  Jb Evain  <jbevain@novell.com>
196         * LambdaExpression.cs, EmitContext.cs: When encountering a lambda
197         inside an ET, compile it as a read of a global. Based on a patch
198         by Roei Erez <roeie@mainsoft.com>
200 2008-05-08  Jb Evain  <jbevain@novell.com>
202         * Expression.cs, EmitContext.cs: deal with call to methods
203         with byref parameters.
205 2008-05-07  Roei Erez  <roeie@mainsoft.com>
207         * Add ifdef TARGET_JVM
209 2008-05-03  Jb Evain  <jbevain@novell.com>
211         * LambdaExpression.cs: move checks to Expression
212         * Expression.cs: apply check for both typed and untyped lambda
213         creation, so that the constructor does not throws exception.
214         Needed to create instances of Expression<> for untyped lambda
215         factory method. Fixes #386322.
217 2008-05-02  Jb Evain  <jbevain@novell.com>
219         * Expression.cs: make Emit virtual instead of abstract,
220         to allow externals libraries to extend Expression.
221         Patch by Jan Oravec <jan.oravec@6com.sk>. Fixes #386097.
223 2008-04-29  Jb Evain  <jbevain@novell.com>
225         * UnaryExpression.cs (EmitPrimitiveConversion): implement.
227 2008-04-28  Jb Evain  <jbevain@novell.com>
229         * EmitContext.cs: deal with globals when encountering them while
230         compiling, and not ahead of time with a dedicated visitor.
232 2008-04-27  Jb Evain  <jbevain@novell.com>
234         * ConstantExpression.cs (Emit): emit properly null nullable types.
236 2008-04-27  Jb Evain  <jbevain@novell.com>
238         * Expression.cs: improve method finder.
240 2008-04-24  Jb Evain  <jbevain@novell.com>
242         * UnaryExpression.cs, EmitContext.cs: implement compilation
243         of Quote as a global load.
245 2008-04-23  Jb Evain  <jbevain@novell.com>
247         * UnaryExpression.cs: start implementing EmitConvert.
249 2008-04-23  Jb Evain  <jbevain@novell.com>
251         * ConstantExpression.cs (Emit): properly Emit null constants.
253 2008-04-23  Jb Evain  <jbevain@novell.com>
255         * Expression.cs (Constant): check for assignability, not for type
256         equality, when a type is passed.
258 2008-04-23  Jb Evain  <jbevain@novell.com>
260         * ExpressionPrinter.cs: ToString convert properly.
262 2008-04-22  Jb Evain  <jbevain@novell.com>
264         * UnaryExpression.cs: implement IsLiftedToNull properly.
265         * Expression.cs (Convert, ConvertChecked): implemented computing
266         of IsLifted and IsLiftedToNull for conversions.
268 2008-04-22  Jb Evain  <jbevain@novell.com>
270         * Expression.cs (Convert, ConvertChecked): implement.
272 2008-04-21  Jb Evain  <jbevain@novell.com>
274         * Expression.cs (Call): don't rely on the fact that if the
275         instance expression is null, then it's a static call. Explicitely
276         check on the MethodInfo for that.
277         * EmitContext.cs (EmitCall): same pattern.
279 2008-04-20  Jb Evain  <jbevain@novell.com>
281         * MemberMemberBinding.cs (Emit): implement.
283 2008-04-19  Jb Evain  <jbevain@novell.com>
285         * EmitContext.cs: infrastructure work to attach a compiled
286         lambda expression to an execution scope, and to detect and store
287         external globals in the scope.
288         * ConstantExpression.cs: load globals from the scope.
290 2008-04-19  Jb Evain  <jbevain@novell.com>
292         * ExpressionVisitor.cs (Visit): don't die because of Power.
294 2008-04-09  Jb Evain  <jbevain@novell.com>
296         * Expression.cs: check for illegal booleab unary expressions.
298 2008-04-09  Jb Evain  <jbevain@novell.com>
300         * UnaryExpression.cs: implement compilation of negate.
302 2008-04-09  Jb Evain  <jbevain@novell.com>
304         * UnaryExpression.cs, Expression.cs: implement IsLifted and IsLifted
305         to null for simple unary operators. Implement Not compilation.
307 2008-04-08  Jb Evain  <jbevain@novell.com>
309         * ElementInit.cs: emit pop if the add method doesn't return void.
311 2008-03-20  Jb Evain  <jbevain@novell.com>
313         * Expression.cs: use the new and more complete IsAssignableTo
314         instead of IsAssignableFrom.
316 2008-03-19  Jb Evain  <jbevain@novell.com>
318         * LambdaExpression.cs: use the new standardified IsAssignableTo,
319         fixes ExpressionTest_NewArrayBounds.TestArrayAssignability.
321 2008-03-19  Jb Evain  <jbevain@novell.com>
323         * Extensions.cs (Type.IsAssignableTo): deal with arrays.
325 2008-03-13  Jb Evain  <jbevain@novell.com>
327         * NewArrayExpression.cs (EmitNewArrayBounds): implement.
329 2008-03-12  Jb Evain  <jbevain@novell.com>
331         * NewArrayExpression.cs (Emit): naive implementation of emit support
332         for array initialization.
334 2008-03-11  Jb Evain  <jbevain@novell.com>
336         * BinaryExpression.cs: very naive implementation of emitting
337         array accesses.
339 2008-03-11  Jb Evain  <jbevain@novell.com>
341         * *.cs: Move the different Emit* helpers to EmitContext,
342         so that they get used more naturally by the non Expression
343         types.
345 2008-03-10  Jb Evain  <jbevain@novell.com>
347         * TypeBinaryExpression.cs, Expression.cs: refactor an EmitIsInst.
348         * UnaryExpression.cs: implement TypeAs using the EmitIsInst.
350 2008-03-10  Jb Evain  <jbevain@novell.com>
352         * TypeBinaryExpression.cs (Emit): implement.
354 2008-03-08  Jb Evain  <jbevain@novell.com>
356         * MemberListBinding.cs (Emit): implement.
357         * MemberBinding.cs (EmitLoadMember): add helper.
359 2008-03-08  Jb Evain  <jbevain@novell.com>
361         * MemberAssignment.cs (Emit): implement.
363 2008-03-08  Jb Evain  <jbevain@novell.com>
365         * ElementInit.cs (Emit): implement.
367 2008-03-06  Jb Evain  <jbevain@novell.com>
369         * EmitContext.cs: the DebugContext delegate the CreateDelegate
370         to a DynamicContext to avoid visibility issues in debug mode.
372 2008-03-06  Jb Evain  <jbevain@novell.com>
374         * EmitContext.cs: Lambda methods bypass JIT visibility checks.
376 2008-03-06  Jb Evain  <jbevain@novell.com>
378         * MethodCallExpression.cs, Expression.cs: refactor method calling
379         into a more sophisticated EmitCall in Expression.
380         * InvocationExpression.cs (Emit): implement using the previous EmitCall.
382 2008-03-06  Jb Evain  <jbevain@novell.com>
384         * Expression.cs: add a EmitCall helper.
385         * MemberExpression.cs: implement property access.
387 2008-03-06  Jb Evain  <jbevain@novell.com>
389         * MethodCallExpression.cs, Expression.cs: refactor a EmitLoad in Expression.
390         * MemberExpression.cs: use EmitLoad to load the instance field if needed.
392 2008-03-06  Jb Evain  <jbevain@novell.com>
394         * BinaryExpression.cs, Expression.cs: move EmitStored from
395         BinaryExpression to Expression.
396         * MethodCallExpression.cs: allow method calls on structs.
398 2008-03-05  Jb Evain  <jbevain@novell.com>
400         * Expression.cs: Fix the Call method which takes an array
401         of type arguments.
403 2008-03-05  Jb Evain  <jbevain@novell.com>
405         * Expression.cs: fix for a good chunk of lifted/liftToNull tests.
407 2008-02-26  Jb Evain  <jbevain@novell.com>
409         * Expression.cs (Call): Guess the parameters type from the argument
410         types if needed.
412 2008-02-25  Jb Evain  <jbevain@novell.com>
414         * NewExpression.cs (Emit): deal with value types construction.
416 2008-02-25  Jb Evain  <jbevain@novell.com>
418         * Expression.cs, NewExpression.cs: deal with the fact that value types
419         don't have a parameterless constructor.
421 2008-02-24  Jb Evain  <jbevain@novell.com>
423         * LambdaExpression.cs, EmitContext.cs: make compilation
424         of delegate returning void work.
426 2008-02-24  Jb Evain  <jbevain@novell.com>
428         * MethodCallExpression.cs: emit call or callvirt depending
429         on the virtuality of the method.
431 2008-02-24  Jb Evain  <jbevain@novell.com>
433         * LambdaExpression.cs: properly format error message.
435 2008-02-21  Jb Evain  <jbevain@novell.com>
437         * BinaryExpression.cs (EmitCoalesce): fix setup_null.
439 2008-02-21  Jb Evain  <jbevain@novell.com>
441         * BinaryExpression.cs (Emit): fix the both_are_null case.
443 2008-02-20  Jb Evain  <jbevain@novell.com>
445         * Expression.cs, ExpressionPrinter.cs: implement MemberBind.
447 2008-02-20  Jb Evain  <jbevain@novell.com>
449         * Expression.cs, ExpressionPrinter.cs: implement ListInit.
451 2008-02-19  Jb Evain  <jbevain@novell.com>
453         * Expression.cs, ExpressionPrinter.cs: implement MemberInit.
455 2008-02-19  Jb Evain  <jbevain@novell.com>
457         * Expression.cs, ExpressionPrinter.cs: implement last New
458         overload for anonymous types.
460 2008-02-08  Jb Evain  <jbevain@novell.com>
462         * Expression.cs, InvocationExpression.cs, ExpressionPrinter.cs
463                 add support for Invoke.
465 2008-02-04  Jb Evain  <jbevain@novell.com>
467         * ExpressionPrinter.cs: fix printing of MemberListBinding.
469 2008-02-04  Jb Evain  <jbevain@novell.com>
471         * Expression.cs, NewExpression.cs: make New(Type) test pass.
473 2008-02-04  Jb Evain  <jbevain@novell.com>
475         * ExpressionPrinter.cs: fix and clean printing of ElementInit.
477 2008-02-02  Jb Evain  <jbevain@novell.com>
479         * Expression.cs: fix ListBind(MemberInfo,IEnumerable<ElementInit>).
481 2008-02-02  Jb Evain  <jbevain@novell.com>
483         * Expression.cs: fix ListBind(MethodInfo,IEnumerable<ElementInit>).
485 2008-02-01  Olivier Dufour  <olivier.duff@gmail.com>
487         * Expression.cs, ExpressionPrinter.cs:Add ListBind
489 2008-02-01  Olivier Dufour  <olivier.duff@gmail.com>
491         * Expression.cs, ExpressionPrinter.cs:Add Elementinit
493 2008-01-31  Jb Evain  <jbevain@novell.com>
495         * UnaryExpression.cs: emit array length.
497 2008-01-31  Jb Evain  <jbevain@novell.com>
499         * MemberExpression.cs: Simple support for emitting fields.
501 2008-01-30  Jb Evain  <jbevain@novell.com>
503         * MethodCallExpression.cs: very naive implementation of Emit.
505 2008-01-30  Jb Evain  <jbevain@novell.com>
507         * NewExpression.cs: add Emit support for reference types.
509 2008-01-30  Jb Evain  <jbevain@novell.com>
511         * LambdaExpression.cs, EmitContext.cs: small refactoring.
512         Extract the different EmitContexts to their own file.
514 2008-01-29  Jb Evain  <jbevain@novell.com>
516         * MethodCallExpression.cs, Expression.cs: complete Calls.
518 2008-01-29  Jb Evain  <jbevain@novell.com>
520         * Expression.cs, NewExpression.cs, ExpressionPrinter.cs:
521         implement the first flavors of New.
523 2008-01-27  Jb Evain  <jbevain@novell.com>
525         * ConditionalExpression.cs: implement Emit.
527 2008-01-27  Jb Evain  <jbevain@novell.com>
529         * Expression.cs: implement the last Lambda method.
531 2008-01-27  Jb Evain  <jbevain@novell.com>
533         * LambdaExpression.cs: fix the Type of the LambdaExpressions.
535 2008-01-27  Olivier Dufour  <olivier.duff@gmail.com>
537         * Expression.cs, InvocationExpession.cs,
538         ListInitExpression.cs, MemberInitExpression.cs
539         NewExpression.cs : Add all missing
540         constructor in Expressions and remove the base one
542 2008-01-25  Jb Evain  <jbevain@novell.com>
544         * Expression.cs, ExpressionPrinter.cs: implement Bind.
546 2008-01-25  Jb Evain  <jbevain@novell.com>
548         * MemberMemberBinding.cs, MemberListBinding.cs,
549         MemberAssignment.cs, MemberBinding.cs:
550         add constructors.
552 2008-01-25  Jb Evain  <jbevain@novell.com>
554         * Expression.cs: implement PropertyOrField.
556 2008-01-24  Jb Evain  <jbevain@novell.com>
558         * Expression.cs, MemberExpression.cs, ExpressionPrinter.cs:
559         implement Field and Property.
561 2008-01-22  Miguel de Icaza  <miguel@novell.com>
563         * BinaryExpression.cs: Unleash the power of cut and paste.
565         Bring a bunch of operatros from mcs/expression.cs
567         * Expression.cs: There is no op_LogicalAnd or op_LogicalOr, I just
568         used those from mcs, that was wrong.   use the proper ones, clean
569         up the result.
571         * BinaryExpression.cs: Add method invocations for binary methods.
573 2008-01-22  Jb Evain  <jbevain@novell.com>
575         * Expression.cs, ExpressionPrinter.cs: implement NewArrayList.
577 2008-01-22  Jb Evain  <jbevain@novell.com>
579         * Expression.cs, ExpressionPrinter.cs, NewArrayExpression.cs:
580         implement Expression.NewArrayBounds.
582 2008-01-22  Jb Evain  <jbevain@novell.com>
584         * ExpressionPrinter.cs: fix Lambda and Equal.
586 2008-01-22  Miguel de Icaza  <miguel@novell.com>
588         * BinaryExpression.cs (EmitCoalesce): Add support for emitting
589         code for Coalesce.
591         TODO: this does not use the "Conversion" Lambda, which am not sure
592         who generates this or what it is used for.
594         (EmitLogical): Fix a couple of bugs in AndAlso, OrElse.
596         * Expression.cs: Add support for Coalesce.
597         (BinaryCoreCheck): Move more checking here, instead of the helper
598         routines, will remove them next.
600         * LambdaExpression.cs (Compile): Create the delegate last, so we
601         manage to save the assembly while debugging in case of error
603 2008-01-21  Miguel de Icaza  <miguel@novell.com>
605         * Expression.cs (BinaryCoreCheck): Add checking for a few
606         operators here (to avoid doing a second pass, handles AndAlso and
607         OrElse).
609         (AndAlso, OrElse): Add some code.
611         * BinaryExpression.cs: Instead of using GetValueOrDefault use
612         get_Value, as we already probed for the lack of value.
614         Split out support for And/Or to a separate routine as the code is
615         not very easy to share with the arithmetics code.
617 2008-01-21  Marek Safar  <marek.safar@gmail.com>
619         * BinaryExpression.cs: Fixed initobj initialization.
621 2008-01-21  Jb Evain  <jbevain@novell.com>
623         * Expression.cs, UnaryExpression.cs, BinaryExpression.cs:
624         Move the IsUnsigned helper from BinaryExpression to Expression,
625         so it can be used in UnaryExpression.
627 2008-01-21  Miguel de Icaza  <miguel@novell.com>
629         * Start code generation for nullables, currently this generates
630         incorrect code for things like:
632         Expression<Func<int?, int?, int?>> e2 = (a, b) => a + b;
633         e2.Compile ().Invoke (null, 3))
635         This should return null, but returns something else.
637         * Introduce LINQ_DBG env variable, which generates a linq file in
638         /tmp;   It currently does not work as well as it should, as the
639         Func<> parameters do not mwatch the generated method.
640         Investigate.
643 2008-01-20  Miguel de Icaza  <miguel@novell.com>
645         Introduce support for Nullable arguments, no code is generated for
646         these yet, its only tests + node creation behavior at this point.
648         * Expression.cs (BinaryCoreCheck): Do not allow "int?" and "int"
649         as operators, they must both be nullable.
651         NullableTypes in the arguments are transformed into the underlying
652         values when doing the method validation.
654 2008-01-18  Miguel de Icaza  <miguel@novell.com>
656         * ParameterExpression.cs: Add emit support.
658 2008-01-18  Jb Evain  <jbevain@novell.com>
660         * Expression[Printer|Visitor].cs: implement UnaryPlus, Not, Negate.
662 2008-01-18  Miguel de Icaza  <miguel@novell.com>
664         * BinaryExpression.cs: Add support for emitting code for some
665         operators (ported from the Mono C# compiler).
667         Add tests.
669 2008-01-17  Miguel de Icaza  <miguel@novell.com>
671         Beginning of code generation framework for Linq.Expressions.
672         Some code was borrowed by from the C# compiler
674         * Expression_T.cs: Fill in the blanks.
676         * LambdaExpression.cs: Validation of parameters mostly, a tiny bit
677         of codegen.
679         * ConstantExpression.cs: Mostly done, need to write tests for
680         non-fundamental types and other ValueType initializations.
682 2008-01-17  Jb Evain  <jbevain@novell.com>
684         * Expression.cs: implement MakeMemberAccess.
686 2008-01-17  Jb Evain  <jbevain@novell.com>
688         * Expression.cs, ExpressionPrinter.cs, BinaryExpression.cs:
689         implement ArrayIndex.
691 2008-01-17  Jb Evain  <jbevain@novell.com>
693         * Expression.cs: Use TypeCode for IsInt and IsNumber.
695 2008-01-16  Miguel de Icaza  <miguel@novell.com>
697         * Expression.cs: Add support for user-defined operators.
699         Put back various binary operator tests.
701 2008-01-16  Jb Evain  <jbevain@novell.com>
703         * Expression.cs, ExpressionPrinter.cs: fix call for static methods.
705 2008-01-15  Miguel de Icaza  <miguel@novell.com>
707         * Expression.cs: Do validation on the method parameters and use
708         the return type if provided.
710 2008-01-15  Jb Evain  <jbevain@novell.com>
712         * MethodCallExpression.cs, Expression.cs
713         ExpressionPrinter.cs: Implement Call (Expression, ...)
715 2008-01-15  Jb Evain  <jbevain@novell.com>
717         * Expression.cs, ConditionalExpressionExpression.cs
718         ExpressionPrinter.cs : implement Expression.Condition.
720 2008-01-15  Jb Evain  <jbevain@novell.com>
722         * Expression.cs,
723         ParameterExpression.cs,
724         ExpressionPrinter.cs: implement Expression.Parameter
726 2008-01-15  Jb Evain  <jbevain@novell.com>
728         * ExpressionPrinter.cs (VisitBinaryExpression): simple
729         implementation (probably misses a few cases).
731 2008-01-14  Miguel de Icaza  <miguel@novell.com>
733         * Expression.cs: Bring back the (most) of binary operators.  Added
734         type checking as well and reorganized the source file by topic
735         instead of alphabetical sorting.
737 2008-01-14  Jb Evain  <jbevain@novell.com>
739         * ExpressionPrinter.cs: print ArrayLength.
741 2008-01-14  Jb Evain  <jbevain@novell.com>
743         * Expression.cs: TypeAs can't take value types.
744         * ExpressionPrinter.cs: implement TypeAs.
746 2008-01-14  Jb Evain  <jbevain@novell.com>
748         * Expression.cs: implement TypeIs.
749         * ExpressionPrinter.cs: implement VisitTypeBinaryExpression.
750         * TypeBinaryExpression.cs: add proper ctor.
752 2008-01-14  Jb Evain  <jbevain@novell.com>
754         * Expression.cs, ExpressionPrinter.cs: fix for Quote's type.
756 2008-01-14  Jb Evain  <jbevain@novell.com>
758         * BinaryExpression.cs,
759         * Expression.cs: revert part of Miguel's last patch.
760         MakeBinary is expected to call the appropriate factory
761         methods. Whose methods that are responsible for creating
762         the good BinaryExpression, wether they use a custom method
763         or not.
765 2008-01-14  Jb Evain  <jbevain@novell.com>
767         * Expression.cs: MakeUnary is expected to call the appropriate
768         factory methods.
770 2008-01-14  Miguel de Icaza  <miguel@novell.com>
772         * Expression.cs (Constant, MakeBinary and consumers of it): Some
773         more fill-up changes.
775         MakeBinary will need much more work to support user-provided
776         types.
778 2008-01-13  Jb Evain  <jbevain@novell.com>
780         * *.cs: fresh implementation.