1 2008-10-08 Atsushi Enomoto <atsushi@ximian.com>
3 * Expression.cs : give us information about which type does not
6 2008-10-03 Jb Evain <jbevain@novell.com>
8 * Expression.cs: make sure we properly test complex generic methods
11 2008-09-22 Jb Evain <jbevain@novell.com>
13 * TypeBinaryExpression.cs: protect against testing void expressions.
16 2008-09-01 Jb Evain <jbevain@novell.com>
18 * MemberBinding.cs: make .ctor protected instead of public.
20 2008-09-01 Jb Evain <jbevain@novell.com>
22 * Expression.cs: guard against null parameters passed to Lambda.
24 2008-08-30 Marek Safar <marek.safar@gmail.com>
26 * MemberBinding.cs: Made MemberBinding ctor public
28 2008-08-07 Jb Evain <jbevain@novell.com>
30 * Expression.cs (GetAssociatedProperty): strengthen accessors
33 2008-08-02 Zoltan Varga <vargaz@gmail.com>
35 * BinaryExpression.cs (EmitBinaryOperator): Mask out the upper bits of the
36 shift amount like mcs compiled code does.
38 2008-07-19 Jb Evain <jbevain@novell.com>
40 * Expression.cs (Call, Field, Property): disallow instance arguments
41 on static members. See ms connect #339351.
43 2008-07-18 Jb Evain <jbevain@novell.com>
45 * Expression.cs, BinaryExpression.cs: fix retrieval of true and false
48 2008-06-20 Jb Evain <jbevain@novell.com>
50 * LambdaExpression.cs, EmitContext.cs: refactor the emit context to
51 handle the fact that lambdas are compiled in a general context where
52 they share globals but are also able to use parameters from parent lambdas.
53 (Although parameter sharing is not implemented yet).
55 * BinaryExpression.cs (fix converted coalesce case to use the lambda
58 2008-06-09 Jb Evain <jbevain@novell.com>
60 * Extensions.cs (Type.IsExpression): add
61 * Expression.cs (CheckMethodArguments): modify the argument list
62 to quote arguments when if necessary.
65 2008-06-09 Jb Evain <jbevain@novell.com>
67 * Expression.cs (CheckLambda): quote body if required.
69 2008-06-07 Jb Evain <jbevain@novell.com>
71 * BinaryExpression.cs (EmitConvertedCoalesce): implement.
73 2008-06-05 Jb Evain <jbevain@novell.com>
75 * Expression.cs (GetUserConversionMethod): check for convertion
76 operators on both types.
78 2008-06-05 Jb Evain <jbevain@novell.com>
80 * Expression.cs (ConditionalBinaryCheck): if a method is passed,
81 checked that the operators true and false are also defined.
83 2008-06-05 Jb Evain <jbevain@novell.com>
85 * BinaryExpression.cs (Emit): deal with binary expressions
86 where only the left is lifted.
88 2008-06-05 Jb Evain <jbevain@novell.com>
90 * Extensions.cs: Add Type.MakeNullableType helper.
91 * Expression.cs (MakeSimpleBinary, MakeBoolBinar): Properly
92 creat lifted/lifted to null/not lifted
93 user defined binary expressions.
94 * BinaryExpression.cs (Emit): implement compilation of
95 lifted and lifted to null user defined binary operators.
97 2008-06-05 Jb Evain <jbevain@novell.com>
99 * Expression.cs (MakeSimpleUnary): properly create lifted/not lifted
100 unary expressions with user defined operators.
101 * UnaryExpression.cs (Emit): fix compilation of lifted user operators.
103 2008-05-30 Jb Evain <jbevain@novell.com>
105 * UnaryExpression.cs (Emit): fix convertion from nullable
108 2008-05-29 Jb Evain <jbevain@novell.com>
110 * Expression.cs (Power): allow bool?.
111 * BinaryExpression.cs: properly deal with lifted power expression.
113 2008-05-29 Jb Evain <jbevain@novell.com>
115 * BinaryExpression.cs (Emit): fix lifted andalso and orelse.
117 2008-05-29 Jb Evain <jbevain@novell.com>
119 * BinaryExpression.cs (Emit): properly emit lifted to null
120 relational binary expressions.
122 2008-05-28 Jb Evain <jbevain@novell.com>
124 * BinaryExpression.cs (Emit): rework compilation of
125 arithmetic and relational lifted binary expressions.
127 2008-05-28 Jb Evain <jbevain@novell.com>
129 * UnaryExpression.cs (Emit): implement support for compiling
130 lifted unary expressions.
132 2008-05-27 Jb Evain <jbevain@novell.com>
134 * UnaryExpression.cs (EmitConvert): implement nullable to nullable
137 2008-05-20 Roei Erez <roeie@mainsoft.com>
139 * Extensions.cs: Add 'IsGenericImplementationOf' extension method
141 2008-05-15 Jb Evain <jbevain@novell.com>
143 * UnaryExpression.cs, EmitContext.cs: emit convert from and
146 2008-05-15 Jb Evain <jbevain@novell.com>
148 * Extensions.cs: add a few useful extensions such as
149 IsGenericInstanceOf and MakeGenericFrom.
151 2008-05-15 Roei Erez <roeie@mainsoft.com>
153 * ExpressionTransformer.cs: Add a base class for transforming Expressions.
154 In use at AsQueryable() implementation.
156 2008-05-14 Jb Evain <jbevain@novell.com>
158 * EmitContext.cs: only generate a new lambda name if we're in
161 2008-05-14 Jb Evain <jbevain@novell.com>
163 * LambdaExpression.cs, EmitContext.cs: When encountering a lambda
164 inside an ET, compile it as a read of a global. Based on a patch
165 by Roei Erez <roeie@mainsoft.com>
167 2008-05-08 Jb Evain <jbevain@novell.com>
169 * Expression.cs, EmitContext.cs: deal with call to methods
170 with byref parameters.
172 2008-05-07 Roei Erez <roeie@mainsoft.com>
174 * Add ifdef TARGET_JVM
176 2008-05-03 Jb Evain <jbevain@novell.com>
178 * LambdaExpression.cs: move checks to Expression
179 * Expression.cs: apply check for both typed and untyped lambda
180 creation, so that the constructor does not throws exception.
181 Needed to create instances of Expression<> for untyped lambda
182 factory method. Fixes #386322.
184 2008-05-02 Jb Evain <jbevain@novell.com>
186 * Expression.cs: make Emit virtual instead of abstract,
187 to allow externals libraries to extend Expression.
188 Patch by Jan Oravec <jan.oravec@6com.sk>. Fixes #386097.
190 2008-04-29 Jb Evain <jbevain@novell.com>
192 * UnaryExpression.cs (EmitPrimitiveConversion): implement.
194 2008-04-28 Jb Evain <jbevain@novell.com>
196 * EmitContext.cs: deal with globals when encountering them while
197 compiling, and not ahead of time with a dedicated visitor.
199 2008-04-27 Jb Evain <jbevain@novell.com>
201 * ConstantExpression.cs (Emit): emit properly null nullable types.
203 2008-04-27 Jb Evain <jbevain@novell.com>
205 * Expression.cs: improve method finder.
207 2008-04-24 Jb Evain <jbevain@novell.com>
209 * UnaryExpression.cs, EmitContext.cs: implement compilation
210 of Quote as a global load.
212 2008-04-23 Jb Evain <jbevain@novell.com>
214 * UnaryExpression.cs: start implementing EmitConvert.
216 2008-04-23 Jb Evain <jbevain@novell.com>
218 * ConstantExpression.cs (Emit): properly Emit null constants.
220 2008-04-23 Jb Evain <jbevain@novell.com>
222 * Expression.cs (Constant): check for assignability, not for type
223 equality, when a type is passed.
225 2008-04-23 Jb Evain <jbevain@novell.com>
227 * ExpressionPrinter.cs: ToString convert properly.
229 2008-04-22 Jb Evain <jbevain@novell.com>
231 * UnaryExpression.cs: implement IsLiftedToNull properly.
232 * Expression.cs (Convert, ConvertChecked): implemented computing
233 of IsLifted and IsLiftedToNull for conversions.
235 2008-04-22 Jb Evain <jbevain@novell.com>
237 * Expression.cs (Convert, ConvertChecked): implement.
239 2008-04-21 Jb Evain <jbevain@novell.com>
241 * Expression.cs (Call): don't rely on the fact that if the
242 instance expression is null, then it's a static call. Explicitely
243 check on the MethodInfo for that.
244 * EmitContext.cs (EmitCall): same pattern.
246 2008-04-20 Jb Evain <jbevain@novell.com>
248 * MemberMemberBinding.cs (Emit): implement.
250 2008-04-19 Jb Evain <jbevain@novell.com>
252 * EmitContext.cs: infrastructure work to attach a compiled
253 lambda expression to an execution scope, and to detect and store
254 external globals in the scope.
255 * ConstantExpression.cs: load globals from the scope.
257 2008-04-19 Jb Evain <jbevain@novell.com>
259 * ExpressionVisitor.cs (Visit): don't die because of Power.
261 2008-04-09 Jb Evain <jbevain@novell.com>
263 * Expression.cs: check for illegal booleab unary expressions.
265 2008-04-09 Jb Evain <jbevain@novell.com>
267 * UnaryExpression.cs: implement compilation of negate.
269 2008-04-09 Jb Evain <jbevain@novell.com>
271 * UnaryExpression.cs, Expression.cs: implement IsLifted and IsLifted
272 to null for simple unary operators. Implement Not compilation.
274 2008-04-08 Jb Evain <jbevain@novell.com>
276 * ElementInit.cs: emit pop if the add method doesn't return void.
278 2008-03-20 Jb Evain <jbevain@novell.com>
280 * Expression.cs: use the new and more complete IsAssignableTo
281 instead of IsAssignableFrom.
283 2008-03-19 Jb Evain <jbevain@novell.com>
285 * LambdaExpression.cs: use the new standardified IsAssignableTo,
286 fixes ExpressionTest_NewArrayBounds.TestArrayAssignability.
288 2008-03-19 Jb Evain <jbevain@novell.com>
290 * Extensions.cs (Type.IsAssignableTo): deal with arrays.
292 2008-03-13 Jb Evain <jbevain@novell.com>
294 * NewArrayExpression.cs (EmitNewArrayBounds): implement.
296 2008-03-12 Jb Evain <jbevain@novell.com>
298 * NewArrayExpression.cs (Emit): naive implementation of emit support
299 for array initialization.
301 2008-03-11 Jb Evain <jbevain@novell.com>
303 * BinaryExpression.cs: very naive implementation of emitting
306 2008-03-11 Jb Evain <jbevain@novell.com>
308 * *.cs: Move the different Emit* helpers to EmitContext,
309 so that they get used more naturally by the non Expression
312 2008-03-10 Jb Evain <jbevain@novell.com>
314 * TypeBinaryExpression.cs, Expression.cs: refactor an EmitIsInst.
315 * UnaryExpression.cs: implement TypeAs using the EmitIsInst.
317 2008-03-10 Jb Evain <jbevain@novell.com>
319 * TypeBinaryExpression.cs (Emit): implement.
321 2008-03-08 Jb Evain <jbevain@novell.com>
323 * MemberListBinding.cs (Emit): implement.
324 * MemberBinding.cs (EmitLoadMember): add helper.
326 2008-03-08 Jb Evain <jbevain@novell.com>
328 * MemberAssignment.cs (Emit): implement.
330 2008-03-08 Jb Evain <jbevain@novell.com>
332 * ElementInit.cs (Emit): implement.
334 2008-03-06 Jb Evain <jbevain@novell.com>
336 * EmitContext.cs: the DebugContext delegate the CreateDelegate
337 to a DynamicContext to avoid visibility issues in debug mode.
339 2008-03-06 Jb Evain <jbevain@novell.com>
341 * EmitContext.cs: Lambda methods bypass JIT visibility checks.
343 2008-03-06 Jb Evain <jbevain@novell.com>
345 * MethodCallExpression.cs, Expression.cs: refactor method calling
346 into a more sophisticated EmitCall in Expression.
347 * InvocationExpression.cs (Emit): implement using the previous EmitCall.
349 2008-03-06 Jb Evain <jbevain@novell.com>
351 * Expression.cs: add a EmitCall helper.
352 * MemberExpression.cs: implement property access.
354 2008-03-06 Jb Evain <jbevain@novell.com>
356 * MethodCallExpression.cs, Expression.cs: refactor a EmitLoad in Expression.
357 * MemberExpression.cs: use EmitLoad to load the instance field if needed.
359 2008-03-06 Jb Evain <jbevain@novell.com>
361 * BinaryExpression.cs, Expression.cs: move EmitStored from
362 BinaryExpression to Expression.
363 * MethodCallExpression.cs: allow method calls on structs.
365 2008-03-05 Jb Evain <jbevain@novell.com>
367 * Expression.cs: Fix the Call method which takes an array
370 2008-03-05 Jb Evain <jbevain@novell.com>
372 * Expression.cs: fix for a good chunk of lifted/liftToNull tests.
374 2008-02-26 Jb Evain <jbevain@novell.com>
376 * Expression.cs (Call): Guess the parameters type from the argument
379 2008-02-25 Jb Evain <jbevain@novell.com>
381 * NewExpression.cs (Emit): deal with value types construction.
383 2008-02-25 Jb Evain <jbevain@novell.com>
385 * Expression.cs, NewExpression.cs: deal with the fact that value types
386 don't have a parameterless constructor.
388 2008-02-24 Jb Evain <jbevain@novell.com>
390 * LambdaExpression.cs, EmitContext.cs: make compilation
391 of delegate returning void work.
393 2008-02-24 Jb Evain <jbevain@novell.com>
395 * MethodCallExpression.cs: emit call or callvirt depending
396 on the virtuality of the method.
398 2008-02-24 Jb Evain <jbevain@novell.com>
400 * LambdaExpression.cs: properly format error message.
402 2008-02-21 Jb Evain <jbevain@novell.com>
404 * BinaryExpression.cs (EmitCoalesce): fix setup_null.
406 2008-02-21 Jb Evain <jbevain@novell.com>
408 * BinaryExpression.cs (Emit): fix the both_are_null case.
410 2008-02-20 Jb Evain <jbevain@novell.com>
412 * Expression.cs, ExpressionPrinter.cs: implement MemberBind.
414 2008-02-20 Jb Evain <jbevain@novell.com>
416 * Expression.cs, ExpressionPrinter.cs: implement ListInit.
418 2008-02-19 Jb Evain <jbevain@novell.com>
420 * Expression.cs, ExpressionPrinter.cs: implement MemberInit.
422 2008-02-19 Jb Evain <jbevain@novell.com>
424 * Expression.cs, ExpressionPrinter.cs: implement last New
425 overload for anonymous types.
427 2008-02-08 Jb Evain <jbevain@novell.com>
429 * Expression.cs, InvocationExpression.cs, ExpressionPrinter.cs
430 add support for Invoke.
432 2008-02-04 Jb Evain <jbevain@novell.com>
434 * ExpressionPrinter.cs: fix printing of MemberListBinding.
436 2008-02-04 Jb Evain <jbevain@novell.com>
438 * Expression.cs, NewExpression.cs: make New(Type) test pass.
440 2008-02-04 Jb Evain <jbevain@novell.com>
442 * ExpressionPrinter.cs: fix and clean printing of ElementInit.
444 2008-02-02 Jb Evain <jbevain@novell.com>
446 * Expression.cs: fix ListBind(MemberInfo,IEnumerable<ElementInit>).
448 2008-02-02 Jb Evain <jbevain@novell.com>
450 * Expression.cs: fix ListBind(MethodInfo,IEnumerable<ElementInit>).
452 2008-02-01 Olivier Dufour <olivier.duff@gmail.com>
454 * Expression.cs, ExpressionPrinter.cs:Add ListBind
456 2008-02-01 Olivier Dufour <olivier.duff@gmail.com>
458 * Expression.cs, ExpressionPrinter.cs:Add Elementinit
460 2008-01-31 Jb Evain <jbevain@novell.com>
462 * UnaryExpression.cs: emit array length.
464 2008-01-31 Jb Evain <jbevain@novell.com>
466 * MemberExpression.cs: Simple support for emitting fields.
468 2008-01-30 Jb Evain <jbevain@novell.com>
470 * MethodCallExpression.cs: very naive implementation of Emit.
472 2008-01-30 Jb Evain <jbevain@novell.com>
474 * NewExpression.cs: add Emit support for reference types.
476 2008-01-30 Jb Evain <jbevain@novell.com>
478 * LambdaExpression.cs, EmitContext.cs: small refactoring.
479 Extract the different EmitContexts to their own file.
481 2008-01-29 Jb Evain <jbevain@novell.com>
483 * MethodCallExpression.cs, Expression.cs: complete Calls.
485 2008-01-29 Jb Evain <jbevain@novell.com>
487 * Expression.cs, NewExpression.cs, ExpressionPrinter.cs:
488 implement the first flavors of New.
490 2008-01-27 Jb Evain <jbevain@novell.com>
492 * ConditionalExpression.cs: implement Emit.
494 2008-01-27 Jb Evain <jbevain@novell.com>
496 * Expression.cs: implement the last Lambda method.
498 2008-01-27 Jb Evain <jbevain@novell.com>
500 * LambdaExpression.cs: fix the Type of the LambdaExpressions.
502 2008-01-27 Olivier Dufour <olivier.duff@gmail.com>
504 * Expression.cs, InvocationExpession.cs,
505 ListInitExpression.cs, MemberInitExpression.cs
506 NewExpression.cs : Add all missing
507 constructor in Expressions and remove the base one
509 2008-01-25 Jb Evain <jbevain@novell.com>
511 * Expression.cs, ExpressionPrinter.cs: implement Bind.
513 2008-01-25 Jb Evain <jbevain@novell.com>
515 * MemberMemberBinding.cs, MemberListBinding.cs,
516 MemberAssignment.cs, MemberBinding.cs:
519 2008-01-25 Jb Evain <jbevain@novell.com>
521 * Expression.cs: implement PropertyOrField.
523 2008-01-24 Jb Evain <jbevain@novell.com>
525 * Expression.cs, MemberExpression.cs, ExpressionPrinter.cs:
526 implement Field and Property.
528 2008-01-22 Miguel de Icaza <miguel@novell.com>
530 * BinaryExpression.cs: Unleash the power of cut and paste.
532 Bring a bunch of operatros from mcs/expression.cs
534 * Expression.cs: There is no op_LogicalAnd or op_LogicalOr, I just
535 used those from mcs, that was wrong. use the proper ones, clean
538 * BinaryExpression.cs: Add method invocations for binary methods.
540 2008-01-22 Jb Evain <jbevain@novell.com>
542 * Expression.cs, ExpressionPrinter.cs: implement NewArrayList.
544 2008-01-22 Jb Evain <jbevain@novell.com>
546 * Expression.cs, ExpressionPrinter.cs, NewArrayExpression.cs:
547 implement Expression.NewArrayBounds.
549 2008-01-22 Jb Evain <jbevain@novell.com>
551 * ExpressionPrinter.cs: fix Lambda and Equal.
553 2008-01-22 Miguel de Icaza <miguel@novell.com>
555 * BinaryExpression.cs (EmitCoalesce): Add support for emitting
558 TODO: this does not use the "Conversion" Lambda, which am not sure
559 who generates this or what it is used for.
561 (EmitLogical): Fix a couple of bugs in AndAlso, OrElse.
563 * Expression.cs: Add support for Coalesce.
564 (BinaryCoreCheck): Move more checking here, instead of the helper
565 routines, will remove them next.
567 * LambdaExpression.cs (Compile): Create the delegate last, so we
568 manage to save the assembly while debugging in case of error
570 2008-01-21 Miguel de Icaza <miguel@novell.com>
572 * Expression.cs (BinaryCoreCheck): Add checking for a few
573 operators here (to avoid doing a second pass, handles AndAlso and
576 (AndAlso, OrElse): Add some code.
578 * BinaryExpression.cs: Instead of using GetValueOrDefault use
579 get_Value, as we already probed for the lack of value.
581 Split out support for And/Or to a separate routine as the code is
582 not very easy to share with the arithmetics code.
584 2008-01-21 Marek Safar <marek.safar@gmail.com>
586 * BinaryExpression.cs: Fixed initobj initialization.
588 2008-01-21 Jb Evain <jbevain@novell.com>
590 * Expression.cs, UnaryExpression.cs, BinaryExpression.cs:
591 Move the IsUnsigned helper from BinaryExpression to Expression,
592 so it can be used in UnaryExpression.
594 2008-01-21 Miguel de Icaza <miguel@novell.com>
596 * Start code generation for nullables, currently this generates
597 incorrect code for things like:
599 Expression<Func<int?, int?, int?>> e2 = (a, b) => a + b;
600 e2.Compile ().Invoke (null, 3))
602 This should return null, but returns something else.
604 * Introduce LINQ_DBG env variable, which generates a linq file in
605 /tmp; It currently does not work as well as it should, as the
606 Func<> parameters do not mwatch the generated method.
610 2008-01-20 Miguel de Icaza <miguel@novell.com>
612 Introduce support for Nullable arguments, no code is generated for
613 these yet, its only tests + node creation behavior at this point.
615 * Expression.cs (BinaryCoreCheck): Do not allow "int?" and "int"
616 as operators, they must both be nullable.
618 NullableTypes in the arguments are transformed into the underlying
619 values when doing the method validation.
621 2008-01-18 Miguel de Icaza <miguel@novell.com>
623 * ParameterExpression.cs: Add emit support.
625 2008-01-18 Jb Evain <jbevain@novell.com>
627 * Expression[Printer|Visitor].cs: implement UnaryPlus, Not, Negate.
629 2008-01-18 Miguel de Icaza <miguel@novell.com>
631 * BinaryExpression.cs: Add support for emitting code for some
632 operators (ported from the Mono C# compiler).
636 2008-01-17 Miguel de Icaza <miguel@novell.com>
638 Beginning of code generation framework for Linq.Expressions.
639 Some code was borrowed by from the C# compiler
641 * Expression_T.cs: Fill in the blanks.
643 * LambdaExpression.cs: Validation of parameters mostly, a tiny bit
646 * ConstantExpression.cs: Mostly done, need to write tests for
647 non-fundamental types and other ValueType initializations.
649 2008-01-17 Jb Evain <jbevain@novell.com>
651 * Expression.cs: implement MakeMemberAccess.
653 2008-01-17 Jb Evain <jbevain@novell.com>
655 * Expression.cs, ExpressionPrinter.cs, BinaryExpression.cs:
656 implement ArrayIndex.
658 2008-01-17 Jb Evain <jbevain@novell.com>
660 * Expression.cs: Use TypeCode for IsInt and IsNumber.
662 2008-01-16 Miguel de Icaza <miguel@novell.com>
664 * Expression.cs: Add support for user-defined operators.
666 Put back various binary operator tests.
668 2008-01-16 Jb Evain <jbevain@novell.com>
670 * Expression.cs, ExpressionPrinter.cs: fix call for static methods.
672 2008-01-15 Miguel de Icaza <miguel@novell.com>
674 * Expression.cs: Do validation on the method parameters and use
675 the return type if provided.
677 2008-01-15 Jb Evain <jbevain@novell.com>
679 * MethodCallExpression.cs, Expression.cs
680 ExpressionPrinter.cs: Implement Call (Expression, ...)
682 2008-01-15 Jb Evain <jbevain@novell.com>
684 * Expression.cs, ConditionalExpressionExpression.cs
685 ExpressionPrinter.cs : implement Expression.Condition.
687 2008-01-15 Jb Evain <jbevain@novell.com>
690 ParameterExpression.cs,
691 ExpressionPrinter.cs: implement Expression.Parameter
693 2008-01-15 Jb Evain <jbevain@novell.com>
695 * ExpressionPrinter.cs (VisitBinaryExpression): simple
696 implementation (probably misses a few cases).
698 2008-01-14 Miguel de Icaza <miguel@novell.com>
700 * Expression.cs: Bring back the (most) of binary operators. Added
701 type checking as well and reorganized the source file by topic
702 instead of alphabetical sorting.
704 2008-01-14 Jb Evain <jbevain@novell.com>
706 * ExpressionPrinter.cs: print ArrayLength.
708 2008-01-14 Jb Evain <jbevain@novell.com>
710 * Expression.cs: TypeAs can't take value types.
711 * ExpressionPrinter.cs: implement TypeAs.
713 2008-01-14 Jb Evain <jbevain@novell.com>
715 * Expression.cs: implement TypeIs.
716 * ExpressionPrinter.cs: implement VisitTypeBinaryExpression.
717 * TypeBinaryExpression.cs: add proper ctor.
719 2008-01-14 Jb Evain <jbevain@novell.com>
721 * Expression.cs, ExpressionPrinter.cs: fix for Quote's type.
723 2008-01-14 Jb Evain <jbevain@novell.com>
725 * BinaryExpression.cs,
726 * Expression.cs: revert part of Miguel's last patch.
727 MakeBinary is expected to call the appropriate factory
728 methods. Whose methods that are responsible for creating
729 the good BinaryExpression, wether they use a custom method
732 2008-01-14 Jb Evain <jbevain@novell.com>
734 * Expression.cs: MakeUnary is expected to call the appropriate
737 2008-01-14 Miguel de Icaza <miguel@novell.com>
739 * Expression.cs (Constant, MakeBinary and consumers of it): Some
740 more fill-up changes.
742 MakeBinary will need much more work to support user-provided
745 2008-01-13 Jb Evain <jbevain@novell.com>
747 * *.cs: fresh implementation.