1 2009-02-23 Jb Evain <jbevain@novell.com>
3 * Expression.cs (IsNumber): actually decimal is rather a special
4 case, and not a primitive number.
6 2009-02-23 Jb Evain <jbevain@novell.com>
8 * Expression.cs (BinaryCoreCheck): add decimal operations
9 are provided by custom operators.
11 2008-12-17 Jb Evain <jbevain@novell.com>
13 * ExpressionTransformer.cs: fix VisitList.
15 2008-11-19 Jb Evain <jbevain@novell.com>
17 * Expression.cs: protect against open generic methods.
19 2008-10-08 Atsushi Enomoto <atsushi@ximian.com>
21 * Expression.cs : give us information about which type does not
24 2008-10-03 Jb Evain <jbevain@novell.com>
26 * Expression.cs: make sure we properly test complex generic methods
29 2008-09-22 Jb Evain <jbevain@novell.com>
31 * TypeBinaryExpression.cs: protect against testing void expressions.
34 2008-09-01 Jb Evain <jbevain@novell.com>
36 * MemberBinding.cs: make .ctor protected instead of public.
38 2008-09-01 Jb Evain <jbevain@novell.com>
40 * Expression.cs: guard against null parameters passed to Lambda.
42 2008-08-30 Marek Safar <marek.safar@gmail.com>
44 * MemberBinding.cs: Made MemberBinding ctor public
46 2008-08-07 Jb Evain <jbevain@novell.com>
48 * Expression.cs (GetAssociatedProperty): strengthen accessors
51 2008-08-02 Zoltan Varga <vargaz@gmail.com>
53 * BinaryExpression.cs (EmitBinaryOperator): Mask out the upper bits of the
54 shift amount like mcs compiled code does.
56 2008-07-19 Jb Evain <jbevain@novell.com>
58 * Expression.cs (Call, Field, Property): disallow instance arguments
59 on static members. See ms connect #339351.
61 2008-07-18 Jb Evain <jbevain@novell.com>
63 * Expression.cs, BinaryExpression.cs: fix retrieval of true and false
66 2008-06-20 Jb Evain <jbevain@novell.com>
68 * LambdaExpression.cs, EmitContext.cs: refactor the emit context to
69 handle the fact that lambdas are compiled in a general context where
70 they share globals but are also able to use parameters from parent lambdas.
71 (Although parameter sharing is not implemented yet).
73 * BinaryExpression.cs (fix converted coalesce case to use the lambda
76 2008-06-09 Jb Evain <jbevain@novell.com>
78 * Extensions.cs (Type.IsExpression): add
79 * Expression.cs (CheckMethodArguments): modify the argument list
80 to quote arguments when if necessary.
83 2008-06-09 Jb Evain <jbevain@novell.com>
85 * Expression.cs (CheckLambda): quote body if required.
87 2008-06-07 Jb Evain <jbevain@novell.com>
89 * BinaryExpression.cs (EmitConvertedCoalesce): implement.
91 2008-06-05 Jb Evain <jbevain@novell.com>
93 * Expression.cs (GetUserConversionMethod): check for convertion
94 operators on both types.
96 2008-06-05 Jb Evain <jbevain@novell.com>
98 * Expression.cs (ConditionalBinaryCheck): if a method is passed,
99 checked that the operators true and false are also defined.
101 2008-06-05 Jb Evain <jbevain@novell.com>
103 * BinaryExpression.cs (Emit): deal with binary expressions
104 where only the left is lifted.
106 2008-06-05 Jb Evain <jbevain@novell.com>
108 * Extensions.cs: Add Type.MakeNullableType helper.
109 * Expression.cs (MakeSimpleBinary, MakeBoolBinar): Properly
110 creat lifted/lifted to null/not lifted
111 user defined binary expressions.
112 * BinaryExpression.cs (Emit): implement compilation of
113 lifted and lifted to null user defined binary operators.
115 2008-06-05 Jb Evain <jbevain@novell.com>
117 * Expression.cs (MakeSimpleUnary): properly create lifted/not lifted
118 unary expressions with user defined operators.
119 * UnaryExpression.cs (Emit): fix compilation of lifted user operators.
121 2008-05-30 Jb Evain <jbevain@novell.com>
123 * UnaryExpression.cs (Emit): fix convertion from nullable
126 2008-05-29 Jb Evain <jbevain@novell.com>
128 * Expression.cs (Power): allow bool?.
129 * BinaryExpression.cs: properly deal with lifted power expression.
131 2008-05-29 Jb Evain <jbevain@novell.com>
133 * BinaryExpression.cs (Emit): fix lifted andalso and orelse.
135 2008-05-29 Jb Evain <jbevain@novell.com>
137 * BinaryExpression.cs (Emit): properly emit lifted to null
138 relational binary expressions.
140 2008-05-28 Jb Evain <jbevain@novell.com>
142 * BinaryExpression.cs (Emit): rework compilation of
143 arithmetic and relational lifted binary expressions.
145 2008-05-28 Jb Evain <jbevain@novell.com>
147 * UnaryExpression.cs (Emit): implement support for compiling
148 lifted unary expressions.
150 2008-05-27 Jb Evain <jbevain@novell.com>
152 * UnaryExpression.cs (EmitConvert): implement nullable to nullable
155 2008-05-20 Roei Erez <roeie@mainsoft.com>
157 * Extensions.cs: Add 'IsGenericImplementationOf' extension method
159 2008-05-15 Jb Evain <jbevain@novell.com>
161 * UnaryExpression.cs, EmitContext.cs: emit convert from and
164 2008-05-15 Jb Evain <jbevain@novell.com>
166 * Extensions.cs: add a few useful extensions such as
167 IsGenericInstanceOf and MakeGenericFrom.
169 2008-05-15 Roei Erez <roeie@mainsoft.com>
171 * ExpressionTransformer.cs: Add a base class for transforming Expressions.
172 In use at AsQueryable() implementation.
174 2008-05-14 Jb Evain <jbevain@novell.com>
176 * EmitContext.cs: only generate a new lambda name if we're in
179 2008-05-14 Jb Evain <jbevain@novell.com>
181 * LambdaExpression.cs, EmitContext.cs: When encountering a lambda
182 inside an ET, compile it as a read of a global. Based on a patch
183 by Roei Erez <roeie@mainsoft.com>
185 2008-05-08 Jb Evain <jbevain@novell.com>
187 * Expression.cs, EmitContext.cs: deal with call to methods
188 with byref parameters.
190 2008-05-07 Roei Erez <roeie@mainsoft.com>
192 * Add ifdef TARGET_JVM
194 2008-05-03 Jb Evain <jbevain@novell.com>
196 * LambdaExpression.cs: move checks to Expression
197 * Expression.cs: apply check for both typed and untyped lambda
198 creation, so that the constructor does not throws exception.
199 Needed to create instances of Expression<> for untyped lambda
200 factory method. Fixes #386322.
202 2008-05-02 Jb Evain <jbevain@novell.com>
204 * Expression.cs: make Emit virtual instead of abstract,
205 to allow externals libraries to extend Expression.
206 Patch by Jan Oravec <jan.oravec@6com.sk>. Fixes #386097.
208 2008-04-29 Jb Evain <jbevain@novell.com>
210 * UnaryExpression.cs (EmitPrimitiveConversion): implement.
212 2008-04-28 Jb Evain <jbevain@novell.com>
214 * EmitContext.cs: deal with globals when encountering them while
215 compiling, and not ahead of time with a dedicated visitor.
217 2008-04-27 Jb Evain <jbevain@novell.com>
219 * ConstantExpression.cs (Emit): emit properly null nullable types.
221 2008-04-27 Jb Evain <jbevain@novell.com>
223 * Expression.cs: improve method finder.
225 2008-04-24 Jb Evain <jbevain@novell.com>
227 * UnaryExpression.cs, EmitContext.cs: implement compilation
228 of Quote as a global load.
230 2008-04-23 Jb Evain <jbevain@novell.com>
232 * UnaryExpression.cs: start implementing EmitConvert.
234 2008-04-23 Jb Evain <jbevain@novell.com>
236 * ConstantExpression.cs (Emit): properly Emit null constants.
238 2008-04-23 Jb Evain <jbevain@novell.com>
240 * Expression.cs (Constant): check for assignability, not for type
241 equality, when a type is passed.
243 2008-04-23 Jb Evain <jbevain@novell.com>
245 * ExpressionPrinter.cs: ToString convert properly.
247 2008-04-22 Jb Evain <jbevain@novell.com>
249 * UnaryExpression.cs: implement IsLiftedToNull properly.
250 * Expression.cs (Convert, ConvertChecked): implemented computing
251 of IsLifted and IsLiftedToNull for conversions.
253 2008-04-22 Jb Evain <jbevain@novell.com>
255 * Expression.cs (Convert, ConvertChecked): implement.
257 2008-04-21 Jb Evain <jbevain@novell.com>
259 * Expression.cs (Call): don't rely on the fact that if the
260 instance expression is null, then it's a static call. Explicitely
261 check on the MethodInfo for that.
262 * EmitContext.cs (EmitCall): same pattern.
264 2008-04-20 Jb Evain <jbevain@novell.com>
266 * MemberMemberBinding.cs (Emit): implement.
268 2008-04-19 Jb Evain <jbevain@novell.com>
270 * EmitContext.cs: infrastructure work to attach a compiled
271 lambda expression to an execution scope, and to detect and store
272 external globals in the scope.
273 * ConstantExpression.cs: load globals from the scope.
275 2008-04-19 Jb Evain <jbevain@novell.com>
277 * ExpressionVisitor.cs (Visit): don't die because of Power.
279 2008-04-09 Jb Evain <jbevain@novell.com>
281 * Expression.cs: check for illegal booleab unary expressions.
283 2008-04-09 Jb Evain <jbevain@novell.com>
285 * UnaryExpression.cs: implement compilation of negate.
287 2008-04-09 Jb Evain <jbevain@novell.com>
289 * UnaryExpression.cs, Expression.cs: implement IsLifted and IsLifted
290 to null for simple unary operators. Implement Not compilation.
292 2008-04-08 Jb Evain <jbevain@novell.com>
294 * ElementInit.cs: emit pop if the add method doesn't return void.
296 2008-03-20 Jb Evain <jbevain@novell.com>
298 * Expression.cs: use the new and more complete IsAssignableTo
299 instead of IsAssignableFrom.
301 2008-03-19 Jb Evain <jbevain@novell.com>
303 * LambdaExpression.cs: use the new standardified IsAssignableTo,
304 fixes ExpressionTest_NewArrayBounds.TestArrayAssignability.
306 2008-03-19 Jb Evain <jbevain@novell.com>
308 * Extensions.cs (Type.IsAssignableTo): deal with arrays.
310 2008-03-13 Jb Evain <jbevain@novell.com>
312 * NewArrayExpression.cs (EmitNewArrayBounds): implement.
314 2008-03-12 Jb Evain <jbevain@novell.com>
316 * NewArrayExpression.cs (Emit): naive implementation of emit support
317 for array initialization.
319 2008-03-11 Jb Evain <jbevain@novell.com>
321 * BinaryExpression.cs: very naive implementation of emitting
324 2008-03-11 Jb Evain <jbevain@novell.com>
326 * *.cs: Move the different Emit* helpers to EmitContext,
327 so that they get used more naturally by the non Expression
330 2008-03-10 Jb Evain <jbevain@novell.com>
332 * TypeBinaryExpression.cs, Expression.cs: refactor an EmitIsInst.
333 * UnaryExpression.cs: implement TypeAs using the EmitIsInst.
335 2008-03-10 Jb Evain <jbevain@novell.com>
337 * TypeBinaryExpression.cs (Emit): implement.
339 2008-03-08 Jb Evain <jbevain@novell.com>
341 * MemberListBinding.cs (Emit): implement.
342 * MemberBinding.cs (EmitLoadMember): add helper.
344 2008-03-08 Jb Evain <jbevain@novell.com>
346 * MemberAssignment.cs (Emit): implement.
348 2008-03-08 Jb Evain <jbevain@novell.com>
350 * ElementInit.cs (Emit): implement.
352 2008-03-06 Jb Evain <jbevain@novell.com>
354 * EmitContext.cs: the DebugContext delegate the CreateDelegate
355 to a DynamicContext to avoid visibility issues in debug mode.
357 2008-03-06 Jb Evain <jbevain@novell.com>
359 * EmitContext.cs: Lambda methods bypass JIT visibility checks.
361 2008-03-06 Jb Evain <jbevain@novell.com>
363 * MethodCallExpression.cs, Expression.cs: refactor method calling
364 into a more sophisticated EmitCall in Expression.
365 * InvocationExpression.cs (Emit): implement using the previous EmitCall.
367 2008-03-06 Jb Evain <jbevain@novell.com>
369 * Expression.cs: add a EmitCall helper.
370 * MemberExpression.cs: implement property access.
372 2008-03-06 Jb Evain <jbevain@novell.com>
374 * MethodCallExpression.cs, Expression.cs: refactor a EmitLoad in Expression.
375 * MemberExpression.cs: use EmitLoad to load the instance field if needed.
377 2008-03-06 Jb Evain <jbevain@novell.com>
379 * BinaryExpression.cs, Expression.cs: move EmitStored from
380 BinaryExpression to Expression.
381 * MethodCallExpression.cs: allow method calls on structs.
383 2008-03-05 Jb Evain <jbevain@novell.com>
385 * Expression.cs: Fix the Call method which takes an array
388 2008-03-05 Jb Evain <jbevain@novell.com>
390 * Expression.cs: fix for a good chunk of lifted/liftToNull tests.
392 2008-02-26 Jb Evain <jbevain@novell.com>
394 * Expression.cs (Call): Guess the parameters type from the argument
397 2008-02-25 Jb Evain <jbevain@novell.com>
399 * NewExpression.cs (Emit): deal with value types construction.
401 2008-02-25 Jb Evain <jbevain@novell.com>
403 * Expression.cs, NewExpression.cs: deal with the fact that value types
404 don't have a parameterless constructor.
406 2008-02-24 Jb Evain <jbevain@novell.com>
408 * LambdaExpression.cs, EmitContext.cs: make compilation
409 of delegate returning void work.
411 2008-02-24 Jb Evain <jbevain@novell.com>
413 * MethodCallExpression.cs: emit call or callvirt depending
414 on the virtuality of the method.
416 2008-02-24 Jb Evain <jbevain@novell.com>
418 * LambdaExpression.cs: properly format error message.
420 2008-02-21 Jb Evain <jbevain@novell.com>
422 * BinaryExpression.cs (EmitCoalesce): fix setup_null.
424 2008-02-21 Jb Evain <jbevain@novell.com>
426 * BinaryExpression.cs (Emit): fix the both_are_null case.
428 2008-02-20 Jb Evain <jbevain@novell.com>
430 * Expression.cs, ExpressionPrinter.cs: implement MemberBind.
432 2008-02-20 Jb Evain <jbevain@novell.com>
434 * Expression.cs, ExpressionPrinter.cs: implement ListInit.
436 2008-02-19 Jb Evain <jbevain@novell.com>
438 * Expression.cs, ExpressionPrinter.cs: implement MemberInit.
440 2008-02-19 Jb Evain <jbevain@novell.com>
442 * Expression.cs, ExpressionPrinter.cs: implement last New
443 overload for anonymous types.
445 2008-02-08 Jb Evain <jbevain@novell.com>
447 * Expression.cs, InvocationExpression.cs, ExpressionPrinter.cs
448 add support for Invoke.
450 2008-02-04 Jb Evain <jbevain@novell.com>
452 * ExpressionPrinter.cs: fix printing of MemberListBinding.
454 2008-02-04 Jb Evain <jbevain@novell.com>
456 * Expression.cs, NewExpression.cs: make New(Type) test pass.
458 2008-02-04 Jb Evain <jbevain@novell.com>
460 * ExpressionPrinter.cs: fix and clean printing of ElementInit.
462 2008-02-02 Jb Evain <jbevain@novell.com>
464 * Expression.cs: fix ListBind(MemberInfo,IEnumerable<ElementInit>).
466 2008-02-02 Jb Evain <jbevain@novell.com>
468 * Expression.cs: fix ListBind(MethodInfo,IEnumerable<ElementInit>).
470 2008-02-01 Olivier Dufour <olivier.duff@gmail.com>
472 * Expression.cs, ExpressionPrinter.cs:Add ListBind
474 2008-02-01 Olivier Dufour <olivier.duff@gmail.com>
476 * Expression.cs, ExpressionPrinter.cs:Add Elementinit
478 2008-01-31 Jb Evain <jbevain@novell.com>
480 * UnaryExpression.cs: emit array length.
482 2008-01-31 Jb Evain <jbevain@novell.com>
484 * MemberExpression.cs: Simple support for emitting fields.
486 2008-01-30 Jb Evain <jbevain@novell.com>
488 * MethodCallExpression.cs: very naive implementation of Emit.
490 2008-01-30 Jb Evain <jbevain@novell.com>
492 * NewExpression.cs: add Emit support for reference types.
494 2008-01-30 Jb Evain <jbevain@novell.com>
496 * LambdaExpression.cs, EmitContext.cs: small refactoring.
497 Extract the different EmitContexts to their own file.
499 2008-01-29 Jb Evain <jbevain@novell.com>
501 * MethodCallExpression.cs, Expression.cs: complete Calls.
503 2008-01-29 Jb Evain <jbevain@novell.com>
505 * Expression.cs, NewExpression.cs, ExpressionPrinter.cs:
506 implement the first flavors of New.
508 2008-01-27 Jb Evain <jbevain@novell.com>
510 * ConditionalExpression.cs: implement Emit.
512 2008-01-27 Jb Evain <jbevain@novell.com>
514 * Expression.cs: implement the last Lambda method.
516 2008-01-27 Jb Evain <jbevain@novell.com>
518 * LambdaExpression.cs: fix the Type of the LambdaExpressions.
520 2008-01-27 Olivier Dufour <olivier.duff@gmail.com>
522 * Expression.cs, InvocationExpession.cs,
523 ListInitExpression.cs, MemberInitExpression.cs
524 NewExpression.cs : Add all missing
525 constructor in Expressions and remove the base one
527 2008-01-25 Jb Evain <jbevain@novell.com>
529 * Expression.cs, ExpressionPrinter.cs: implement Bind.
531 2008-01-25 Jb Evain <jbevain@novell.com>
533 * MemberMemberBinding.cs, MemberListBinding.cs,
534 MemberAssignment.cs, MemberBinding.cs:
537 2008-01-25 Jb Evain <jbevain@novell.com>
539 * Expression.cs: implement PropertyOrField.
541 2008-01-24 Jb Evain <jbevain@novell.com>
543 * Expression.cs, MemberExpression.cs, ExpressionPrinter.cs:
544 implement Field and Property.
546 2008-01-22 Miguel de Icaza <miguel@novell.com>
548 * BinaryExpression.cs: Unleash the power of cut and paste.
550 Bring a bunch of operatros from mcs/expression.cs
552 * Expression.cs: There is no op_LogicalAnd or op_LogicalOr, I just
553 used those from mcs, that was wrong. use the proper ones, clean
556 * BinaryExpression.cs: Add method invocations for binary methods.
558 2008-01-22 Jb Evain <jbevain@novell.com>
560 * Expression.cs, ExpressionPrinter.cs: implement NewArrayList.
562 2008-01-22 Jb Evain <jbevain@novell.com>
564 * Expression.cs, ExpressionPrinter.cs, NewArrayExpression.cs:
565 implement Expression.NewArrayBounds.
567 2008-01-22 Jb Evain <jbevain@novell.com>
569 * ExpressionPrinter.cs: fix Lambda and Equal.
571 2008-01-22 Miguel de Icaza <miguel@novell.com>
573 * BinaryExpression.cs (EmitCoalesce): Add support for emitting
576 TODO: this does not use the "Conversion" Lambda, which am not sure
577 who generates this or what it is used for.
579 (EmitLogical): Fix a couple of bugs in AndAlso, OrElse.
581 * Expression.cs: Add support for Coalesce.
582 (BinaryCoreCheck): Move more checking here, instead of the helper
583 routines, will remove them next.
585 * LambdaExpression.cs (Compile): Create the delegate last, so we
586 manage to save the assembly while debugging in case of error
588 2008-01-21 Miguel de Icaza <miguel@novell.com>
590 * Expression.cs (BinaryCoreCheck): Add checking for a few
591 operators here (to avoid doing a second pass, handles AndAlso and
594 (AndAlso, OrElse): Add some code.
596 * BinaryExpression.cs: Instead of using GetValueOrDefault use
597 get_Value, as we already probed for the lack of value.
599 Split out support for And/Or to a separate routine as the code is
600 not very easy to share with the arithmetics code.
602 2008-01-21 Marek Safar <marek.safar@gmail.com>
604 * BinaryExpression.cs: Fixed initobj initialization.
606 2008-01-21 Jb Evain <jbevain@novell.com>
608 * Expression.cs, UnaryExpression.cs, BinaryExpression.cs:
609 Move the IsUnsigned helper from BinaryExpression to Expression,
610 so it can be used in UnaryExpression.
612 2008-01-21 Miguel de Icaza <miguel@novell.com>
614 * Start code generation for nullables, currently this generates
615 incorrect code for things like:
617 Expression<Func<int?, int?, int?>> e2 = (a, b) => a + b;
618 e2.Compile ().Invoke (null, 3))
620 This should return null, but returns something else.
622 * Introduce LINQ_DBG env variable, which generates a linq file in
623 /tmp; It currently does not work as well as it should, as the
624 Func<> parameters do not mwatch the generated method.
628 2008-01-20 Miguel de Icaza <miguel@novell.com>
630 Introduce support for Nullable arguments, no code is generated for
631 these yet, its only tests + node creation behavior at this point.
633 * Expression.cs (BinaryCoreCheck): Do not allow "int?" and "int"
634 as operators, they must both be nullable.
636 NullableTypes in the arguments are transformed into the underlying
637 values when doing the method validation.
639 2008-01-18 Miguel de Icaza <miguel@novell.com>
641 * ParameterExpression.cs: Add emit support.
643 2008-01-18 Jb Evain <jbevain@novell.com>
645 * Expression[Printer|Visitor].cs: implement UnaryPlus, Not, Negate.
647 2008-01-18 Miguel de Icaza <miguel@novell.com>
649 * BinaryExpression.cs: Add support for emitting code for some
650 operators (ported from the Mono C# compiler).
654 2008-01-17 Miguel de Icaza <miguel@novell.com>
656 Beginning of code generation framework for Linq.Expressions.
657 Some code was borrowed by from the C# compiler
659 * Expression_T.cs: Fill in the blanks.
661 * LambdaExpression.cs: Validation of parameters mostly, a tiny bit
664 * ConstantExpression.cs: Mostly done, need to write tests for
665 non-fundamental types and other ValueType initializations.
667 2008-01-17 Jb Evain <jbevain@novell.com>
669 * Expression.cs: implement MakeMemberAccess.
671 2008-01-17 Jb Evain <jbevain@novell.com>
673 * Expression.cs, ExpressionPrinter.cs, BinaryExpression.cs:
674 implement ArrayIndex.
676 2008-01-17 Jb Evain <jbevain@novell.com>
678 * Expression.cs: Use TypeCode for IsInt and IsNumber.
680 2008-01-16 Miguel de Icaza <miguel@novell.com>
682 * Expression.cs: Add support for user-defined operators.
684 Put back various binary operator tests.
686 2008-01-16 Jb Evain <jbevain@novell.com>
688 * Expression.cs, ExpressionPrinter.cs: fix call for static methods.
690 2008-01-15 Miguel de Icaza <miguel@novell.com>
692 * Expression.cs: Do validation on the method parameters and use
693 the return type if provided.
695 2008-01-15 Jb Evain <jbevain@novell.com>
697 * MethodCallExpression.cs, Expression.cs
698 ExpressionPrinter.cs: Implement Call (Expression, ...)
700 2008-01-15 Jb Evain <jbevain@novell.com>
702 * Expression.cs, ConditionalExpressionExpression.cs
703 ExpressionPrinter.cs : implement Expression.Condition.
705 2008-01-15 Jb Evain <jbevain@novell.com>
708 ParameterExpression.cs,
709 ExpressionPrinter.cs: implement Expression.Parameter
711 2008-01-15 Jb Evain <jbevain@novell.com>
713 * ExpressionPrinter.cs (VisitBinaryExpression): simple
714 implementation (probably misses a few cases).
716 2008-01-14 Miguel de Icaza <miguel@novell.com>
718 * Expression.cs: Bring back the (most) of binary operators. Added
719 type checking as well and reorganized the source file by topic
720 instead of alphabetical sorting.
722 2008-01-14 Jb Evain <jbevain@novell.com>
724 * ExpressionPrinter.cs: print ArrayLength.
726 2008-01-14 Jb Evain <jbevain@novell.com>
728 * Expression.cs: TypeAs can't take value types.
729 * ExpressionPrinter.cs: implement TypeAs.
731 2008-01-14 Jb Evain <jbevain@novell.com>
733 * Expression.cs: implement TypeIs.
734 * ExpressionPrinter.cs: implement VisitTypeBinaryExpression.
735 * TypeBinaryExpression.cs: add proper ctor.
737 2008-01-14 Jb Evain <jbevain@novell.com>
739 * Expression.cs, ExpressionPrinter.cs: fix for Quote's type.
741 2008-01-14 Jb Evain <jbevain@novell.com>
743 * BinaryExpression.cs,
744 * Expression.cs: revert part of Miguel's last patch.
745 MakeBinary is expected to call the appropriate factory
746 methods. Whose methods that are responsible for creating
747 the good BinaryExpression, wether they use a custom method
750 2008-01-14 Jb Evain <jbevain@novell.com>
752 * Expression.cs: MakeUnary is expected to call the appropriate
755 2008-01-14 Miguel de Icaza <miguel@novell.com>
757 * Expression.cs (Constant, MakeBinary and consumers of it): Some
758 more fill-up changes.
760 MakeBinary will need much more work to support user-provided
763 2008-01-13 Jb Evain <jbevain@novell.com>
765 * *.cs: fresh implementation.