Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

832 lines
24 KiB
Plaintext

2010-07-26 Jb Evain <jbevain@novell.com>
* EmitContext.cs: Properly call methods on enumerations.
Fixes #625367.
2010-05-19 Jb Evain <jbevain@novell.com>
* ConstantExpression.cs: fix emission of nullable constants.
2010-01-08 Jb Evain <jbevain@novell.com>
* Expression.cs (Call): properly deal with zero length array
of type arguments for non generic methods. Fixes #568989.
2009-12-02 Gonzalo Paniagua Javier <gonzalo@novell.com>
* Expression.cs: expression can be null for static getters. Patch from
Miguel de Icaza (miguel@novell.com).
2009-11-15 Jb Evain <jbevain@novell.com>
* Expression (Call): deal with lambda expression <> delegate
comparison when filtering methods.
Fixes #536637.
2009-11-15 Jb Evain <jbevain@novell.com>
* Expression (Call): better filtering of generic methods.
Fixes #537768.
2009-11-14 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs: isolate quoted expressions.
* EmitContext.cs (ParameterReplacer): new helper type
to replace the parameters of isolated expressions.
Fix #550722.
2009-11-14 Jb Evain <jbevain@novell.com>
* ExpressionTransformer.cs: adjust return type of all
tranformation methods to make the transformer actually
useful.
2009-10-08 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs (Compile): use the interpreter on MonoTouch.
2009-09-03 Jb Evain <jbevain@novell.com>
* ConstantExpression.cs (Emit): add support to emit DBNull values.
2009-09-03 Jb Evain <jbevain@novell.com>
* ConstantExpression.cs (Emit): add support for emitting
DateTime constants.
2009-03-05 Jb Evain <jbevain@novell.com>
* EmitContext.cs
* ParameterExpression.cs:
add support for hoisted locals.
2009-02-24 Jb Evain <jbevain@novell.com>
* Expression.cs (BinaryCoreCheck): fix comparison of enums
2009-02-23 Jb Evain <jbevain@novell.com>
* Expression.cs (IsNumber): actually decimal is rather a special
case, and not a primitive number.
2009-02-23 Jb Evain <jbevain@novell.com>
* Expression.cs (BinaryCoreCheck): add decimal operations
are provided by custom operators.
2008-12-17 Jb Evain <jbevain@novell.com>
* ExpressionTransformer.cs: fix VisitList.
2008-11-19 Jb Evain <jbevain@novell.com>
* Expression.cs: protect against open generic methods.
2008-10-08 Atsushi Enomoto <atsushi@ximian.com>
* Expression.cs : give us information about which type does not
implement Emit().
2008-10-03 Jb Evain <jbevain@novell.com>
* Expression.cs: make sure we properly test complex generic methods
as a Call candidate.
2008-09-22 Jb Evain <jbevain@novell.com>
* TypeBinaryExpression.cs: protect against testing void expressions.
Fixes bug #428309.
2008-09-01 Jb Evain <jbevain@novell.com>
* MemberBinding.cs: make .ctor protected instead of public.
2008-09-01 Jb Evain <jbevain@novell.com>
* Expression.cs: guard against null parameters passed to Lambda.
2008-08-30 Marek Safar <marek.safar@gmail.com>
* MemberBinding.cs: Made MemberBinding ctor public
2008-08-07 Jb Evain <jbevain@novell.com>
* Expression.cs (GetAssociatedProperty): strengthen accessors
comparisons.
2008-08-02 Zoltan Varga <vargaz@gmail.com>
* BinaryExpression.cs (EmitBinaryOperator): Mask out the upper bits of the
shift amount like mcs compiled code does.
2008-07-19 Jb Evain <jbevain@novell.com>
* Expression.cs (Call, Field, Property): disallow instance arguments
on static members. See ms connect #339351.
2008-07-18 Jb Evain <jbevain@novell.com>
* Expression.cs, BinaryExpression.cs: fix retrieval of true and false
operators.
2008-06-20 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs, EmitContext.cs: refactor the emit context to
handle the fact that lambdas are compiled in a general context where
they share globals but are also able to use parameters from parent lambdas.
(Although parameter sharing is not implemented yet).
* BinaryExpression.cs (fix converted coalesce case to use the lambda
compilation code).
2008-06-09 Jb Evain <jbevain@novell.com>
* Extensions.cs (Type.IsExpression): add
* Expression.cs (CheckMethodArguments): modify the argument list
to quote arguments when if necessary.
2008-06-09 Jb Evain <jbevain@novell.com>
* Expression.cs (CheckLambda): quote body if required.
2008-06-07 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (EmitConvertedCoalesce): implement.
2008-06-05 Jb Evain <jbevain@novell.com>
* Expression.cs (GetUserConversionMethod): check for convertion
operators on both types.
2008-06-05 Jb Evain <jbevain@novell.com>
* Expression.cs (ConditionalBinaryCheck): if a method is passed,
checked that the operators true and false are also defined.
2008-06-05 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (Emit): deal with binary expressions
where only the left is lifted.
2008-06-05 Jb Evain <jbevain@novell.com>
* Extensions.cs: Add Type.MakeNullableType helper.
* Expression.cs (MakeSimpleBinary, MakeBoolBinar): Properly
creat lifted/lifted to null/not lifted
user defined binary expressions.
* BinaryExpression.cs (Emit): implement compilation of
lifted and lifted to null user defined binary operators.
2008-06-05 Jb Evain <jbevain@novell.com>
* Expression.cs (MakeSimpleUnary): properly create lifted/not lifted
unary expressions with user defined operators.
* UnaryExpression.cs (Emit): fix compilation of lifted user operators.
2008-05-30 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs (Emit): fix convertion from nullable
to nullable types.
2008-05-29 Jb Evain <jbevain@novell.com>
* Expression.cs (Power): allow bool?.
* BinaryExpression.cs: properly deal with lifted power expression.
2008-05-29 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (Emit): fix lifted andalso and orelse.
2008-05-29 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (Emit): properly emit lifted to null
relational binary expressions.
2008-05-28 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (Emit): rework compilation of
arithmetic and relational lifted binary expressions.
2008-05-28 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs (Emit): implement support for compiling
lifted unary expressions.
2008-05-27 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs (EmitConvert): implement nullable to nullable
convert.
2008-05-20 Roei Erez <roeie@mainsoft.com>
* Extensions.cs: Add 'IsGenericImplementationOf' extension method
2008-05-15 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs, EmitContext.cs: emit convert from and
to nullable types.
2008-05-15 Jb Evain <jbevain@novell.com>
* Extensions.cs: add a few useful extensions such as
IsGenericInstanceOf and MakeGenericFrom.
2008-05-15 Roei Erez <roeie@mainsoft.com>
* ExpressionTransformer.cs: Add a base class for transforming Expressions.
In use at AsQueryable() implementation.
2008-05-14 Jb Evain <jbevain@novell.com>
* EmitContext.cs: only generate a new lambda name if we're in
a debug context.
2008-05-14 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs, EmitContext.cs: When encountering a lambda
inside an ET, compile it as a read of a global. Based on a patch
by Roei Erez <roeie@mainsoft.com>
2008-05-08 Jb Evain <jbevain@novell.com>
* Expression.cs, EmitContext.cs: deal with call to methods
with byref parameters.
2008-05-07 Roei Erez <roeie@mainsoft.com>
* Add ifdef TARGET_JVM
2008-05-03 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs: move checks to Expression
* Expression.cs: apply check for both typed and untyped lambda
creation, so that the constructor does not throws exception.
Needed to create instances of Expression<> for untyped lambda
factory method. Fixes #386322.
2008-05-02 Jb Evain <jbevain@novell.com>
* Expression.cs: make Emit virtual instead of abstract,
to allow externals libraries to extend Expression.
Patch by Jan Oravec <jan.oravec@6com.sk>. Fixes #386097.
2008-04-29 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs (EmitPrimitiveConversion): implement.
2008-04-28 Jb Evain <jbevain@novell.com>
* EmitContext.cs: deal with globals when encountering them while
compiling, and not ahead of time with a dedicated visitor.
2008-04-27 Jb Evain <jbevain@novell.com>
* ConstantExpression.cs (Emit): emit properly null nullable types.
2008-04-27 Jb Evain <jbevain@novell.com>
* Expression.cs: improve method finder.
2008-04-24 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs, EmitContext.cs: implement compilation
of Quote as a global load.
2008-04-23 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs: start implementing EmitConvert.
2008-04-23 Jb Evain <jbevain@novell.com>
* ConstantExpression.cs (Emit): properly Emit null constants.
2008-04-23 Jb Evain <jbevain@novell.com>
* Expression.cs (Constant): check for assignability, not for type
equality, when a type is passed.
2008-04-23 Jb Evain <jbevain@novell.com>
* ExpressionPrinter.cs: ToString convert properly.
2008-04-22 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs: implement IsLiftedToNull properly.
* Expression.cs (Convert, ConvertChecked): implemented computing
of IsLifted and IsLiftedToNull for conversions.
2008-04-22 Jb Evain <jbevain@novell.com>
* Expression.cs (Convert, ConvertChecked): implement.
2008-04-21 Jb Evain <jbevain@novell.com>
* Expression.cs (Call): don't rely on the fact that if the
instance expression is null, then it's a static call. Explicitely
check on the MethodInfo for that.
* EmitContext.cs (EmitCall): same pattern.
2008-04-20 Jb Evain <jbevain@novell.com>
* MemberMemberBinding.cs (Emit): implement.
2008-04-19 Jb Evain <jbevain@novell.com>
* EmitContext.cs: infrastructure work to attach a compiled
lambda expression to an execution scope, and to detect and store
external globals in the scope.
* ConstantExpression.cs: load globals from the scope.
2008-04-19 Jb Evain <jbevain@novell.com>
* ExpressionVisitor.cs (Visit): don't die because of Power.
2008-04-09 Jb Evain <jbevain@novell.com>
* Expression.cs: check for illegal booleab unary expressions.
2008-04-09 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs: implement compilation of negate.
2008-04-09 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs, Expression.cs: implement IsLifted and IsLifted
to null for simple unary operators. Implement Not compilation.
2008-04-08 Jb Evain <jbevain@novell.com>
* ElementInit.cs: emit pop if the add method doesn't return void.
2008-03-20 Jb Evain <jbevain@novell.com>
* Expression.cs: use the new and more complete IsAssignableTo
instead of IsAssignableFrom.
2008-03-19 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs: use the new standardified IsAssignableTo,
fixes ExpressionTest_NewArrayBounds.TestArrayAssignability.
2008-03-19 Jb Evain <jbevain@novell.com>
* Extensions.cs (Type.IsAssignableTo): deal with arrays.
2008-03-13 Jb Evain <jbevain@novell.com>
* NewArrayExpression.cs (EmitNewArrayBounds): implement.
2008-03-12 Jb Evain <jbevain@novell.com>
* NewArrayExpression.cs (Emit): naive implementation of emit support
for array initialization.
2008-03-11 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs: very naive implementation of emitting
array accesses.
2008-03-11 Jb Evain <jbevain@novell.com>
* *.cs: Move the different Emit* helpers to EmitContext,
so that they get used more naturally by the non Expression
types.
2008-03-10 Jb Evain <jbevain@novell.com>
* TypeBinaryExpression.cs, Expression.cs: refactor an EmitIsInst.
* UnaryExpression.cs: implement TypeAs using the EmitIsInst.
2008-03-10 Jb Evain <jbevain@novell.com>
* TypeBinaryExpression.cs (Emit): implement.
2008-03-08 Jb Evain <jbevain@novell.com>
* MemberListBinding.cs (Emit): implement.
* MemberBinding.cs (EmitLoadMember): add helper.
2008-03-08 Jb Evain <jbevain@novell.com>
* MemberAssignment.cs (Emit): implement.
2008-03-08 Jb Evain <jbevain@novell.com>
* ElementInit.cs (Emit): implement.
2008-03-06 Jb Evain <jbevain@novell.com>
* EmitContext.cs: the DebugContext delegate the CreateDelegate
to a DynamicContext to avoid visibility issues in debug mode.
2008-03-06 Jb Evain <jbevain@novell.com>
* EmitContext.cs: Lambda methods bypass JIT visibility checks.
2008-03-06 Jb Evain <jbevain@novell.com>
* MethodCallExpression.cs, Expression.cs: refactor method calling
into a more sophisticated EmitCall in Expression.
* InvocationExpression.cs (Emit): implement using the previous EmitCall.
2008-03-06 Jb Evain <jbevain@novell.com>
* Expression.cs: add a EmitCall helper.
* MemberExpression.cs: implement property access.
2008-03-06 Jb Evain <jbevain@novell.com>
* MethodCallExpression.cs, Expression.cs: refactor a EmitLoad in Expression.
* MemberExpression.cs: use EmitLoad to load the instance field if needed.
2008-03-06 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs, Expression.cs: move EmitStored from
BinaryExpression to Expression.
* MethodCallExpression.cs: allow method calls on structs.
2008-03-05 Jb Evain <jbevain@novell.com>
* Expression.cs: Fix the Call method which takes an array
of type arguments.
2008-03-05 Jb Evain <jbevain@novell.com>
* Expression.cs: fix for a good chunk of lifted/liftToNull tests.
2008-02-26 Jb Evain <jbevain@novell.com>
* Expression.cs (Call): Guess the parameters type from the argument
types if needed.
2008-02-25 Jb Evain <jbevain@novell.com>
* NewExpression.cs (Emit): deal with value types construction.
2008-02-25 Jb Evain <jbevain@novell.com>
* Expression.cs, NewExpression.cs: deal with the fact that value types
don't have a parameterless constructor.
2008-02-24 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs, EmitContext.cs: make compilation
of delegate returning void work.
2008-02-24 Jb Evain <jbevain@novell.com>
* MethodCallExpression.cs: emit call or callvirt depending
on the virtuality of the method.
2008-02-24 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs: properly format error message.
2008-02-21 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (EmitCoalesce): fix setup_null.
2008-02-21 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs (Emit): fix the both_are_null case.
2008-02-20 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: implement MemberBind.
2008-02-20 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: implement ListInit.
2008-02-19 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: implement MemberInit.
2008-02-19 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: implement last New
overload for anonymous types.
2008-02-08 Jb Evain <jbevain@novell.com>
* Expression.cs, InvocationExpression.cs, ExpressionPrinter.cs
add support for Invoke.
2008-02-04 Jb Evain <jbevain@novell.com>
* ExpressionPrinter.cs: fix printing of MemberListBinding.
2008-02-04 Jb Evain <jbevain@novell.com>
* Expression.cs, NewExpression.cs: make New(Type) test pass.
2008-02-04 Jb Evain <jbevain@novell.com>
* ExpressionPrinter.cs: fix and clean printing of ElementInit.
2008-02-02 Jb Evain <jbevain@novell.com>
* Expression.cs: fix ListBind(MemberInfo,IEnumerable<ElementInit>).
2008-02-02 Jb Evain <jbevain@novell.com>
* Expression.cs: fix ListBind(MethodInfo,IEnumerable<ElementInit>).
2008-02-01 Olivier Dufour <olivier.duff@gmail.com>
* Expression.cs, ExpressionPrinter.cs:Add ListBind
2008-02-01 Olivier Dufour <olivier.duff@gmail.com>
* Expression.cs, ExpressionPrinter.cs:Add Elementinit
2008-01-31 Jb Evain <jbevain@novell.com>
* UnaryExpression.cs: emit array length.
2008-01-31 Jb Evain <jbevain@novell.com>
* MemberExpression.cs: Simple support for emitting fields.
2008-01-30 Jb Evain <jbevain@novell.com>
* MethodCallExpression.cs: very naive implementation of Emit.
2008-01-30 Jb Evain <jbevain@novell.com>
* NewExpression.cs: add Emit support for reference types.
2008-01-30 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs, EmitContext.cs: small refactoring.
Extract the different EmitContexts to their own file.
2008-01-29 Jb Evain <jbevain@novell.com>
* MethodCallExpression.cs, Expression.cs: complete Calls.
2008-01-29 Jb Evain <jbevain@novell.com>
* Expression.cs, NewExpression.cs, ExpressionPrinter.cs:
implement the first flavors of New.
2008-01-27 Jb Evain <jbevain@novell.com>
* ConditionalExpression.cs: implement Emit.
2008-01-27 Jb Evain <jbevain@novell.com>
* Expression.cs: implement the last Lambda method.
2008-01-27 Jb Evain <jbevain@novell.com>
* LambdaExpression.cs: fix the Type of the LambdaExpressions.
2008-01-27 Olivier Dufour <olivier.duff@gmail.com>
* 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 <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: implement Bind.
2008-01-25 Jb Evain <jbevain@novell.com>
* MemberMemberBinding.cs, MemberListBinding.cs,
MemberAssignment.cs, MemberBinding.cs:
add constructors.
2008-01-25 Jb Evain <jbevain@novell.com>
* Expression.cs: implement PropertyOrField.
2008-01-24 Jb Evain <jbevain@novell.com>
* Expression.cs, MemberExpression.cs, ExpressionPrinter.cs:
implement Field and Property.
2008-01-22 Miguel de Icaza <miguel@novell.com>
* BinaryExpression.cs: Unleash the power of cut and paste.
Bring a bunch of operatros from mcs/expression.cs
* Expression.cs: There is no op_LogicalAnd or op_LogicalOr, I just
used those from mcs, that was wrong. use the proper ones, clean
up the result.
* BinaryExpression.cs: Add method invocations for binary methods.
2008-01-22 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: implement NewArrayList.
2008-01-22 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs, NewArrayExpression.cs:
implement Expression.NewArrayBounds.
2008-01-22 Jb Evain <jbevain@novell.com>
* ExpressionPrinter.cs: fix Lambda and Equal.
2008-01-22 Miguel de Icaza <miguel@novell.com>
* BinaryExpression.cs (EmitCoalesce): Add support for emitting
code for Coalesce.
TODO: this does not use the "Conversion" Lambda, which am not sure
who generates this or what it is used for.
(EmitLogical): Fix a couple of bugs in AndAlso, OrElse.
* Expression.cs: Add support for Coalesce.
(BinaryCoreCheck): Move more checking here, instead of the helper
routines, will remove them next.
* LambdaExpression.cs (Compile): Create the delegate last, so we
manage to save the assembly while debugging in case of error
2008-01-21 Miguel de Icaza <miguel@novell.com>
* Expression.cs (BinaryCoreCheck): Add checking for a few
operators here (to avoid doing a second pass, handles AndAlso and
OrElse).
(AndAlso, OrElse): Add some code.
* BinaryExpression.cs: Instead of using GetValueOrDefault use
get_Value, as we already probed for the lack of value.
Split out support for And/Or to a separate routine as the code is
not very easy to share with the arithmetics code.
2008-01-21 Marek Safar <marek.safar@gmail.com>
* BinaryExpression.cs: Fixed initobj initialization.
2008-01-21 Jb Evain <jbevain@novell.com>
* Expression.cs, UnaryExpression.cs, BinaryExpression.cs:
Move the IsUnsigned helper from BinaryExpression to Expression,
so it can be used in UnaryExpression.
2008-01-21 Miguel de Icaza <miguel@novell.com>
* Start code generation for nullables, currently this generates
incorrect code for things like:
Expression<Func<int?, int?, int?>> e2 = (a, b) => a + b;
e2.Compile ().Invoke (null, 3))
This should return null, but returns something else.
* Introduce LINQ_DBG env variable, which generates a linq file in
/tmp; It currently does not work as well as it should, as the
Func<> parameters do not mwatch the generated method.
Investigate.
2008-01-20 Miguel de Icaza <miguel@novell.com>
Introduce support for Nullable arguments, no code is generated for
these yet, its only tests + node creation behavior at this point.
* Expression.cs (BinaryCoreCheck): Do not allow "int?" and "int"
as operators, they must both be nullable.
NullableTypes in the arguments are transformed into the underlying
values when doing the method validation.
2008-01-18 Miguel de Icaza <miguel@novell.com>
* ParameterExpression.cs: Add emit support.
2008-01-18 Jb Evain <jbevain@novell.com>
* Expression[Printer|Visitor].cs: implement UnaryPlus, Not, Negate.
2008-01-18 Miguel de Icaza <miguel@novell.com>
* BinaryExpression.cs: Add support for emitting code for some
operators (ported from the Mono C# compiler).
Add tests.
2008-01-17 Miguel de Icaza <miguel@novell.com>
Beginning of code generation framework for Linq.Expressions.
Some code was borrowed by from the C# compiler
* Expression_T.cs: Fill in the blanks.
* LambdaExpression.cs: Validation of parameters mostly, a tiny bit
of codegen.
* ConstantExpression.cs: Mostly done, need to write tests for
non-fundamental types and other ValueType initializations.
2008-01-17 Jb Evain <jbevain@novell.com>
* Expression.cs: implement MakeMemberAccess.
2008-01-17 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs, BinaryExpression.cs:
implement ArrayIndex.
2008-01-17 Jb Evain <jbevain@novell.com>
* Expression.cs: Use TypeCode for IsInt and IsNumber.
2008-01-16 Miguel de Icaza <miguel@novell.com>
* Expression.cs: Add support for user-defined operators.
Put back various binary operator tests.
2008-01-16 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: fix call for static methods.
2008-01-15 Miguel de Icaza <miguel@novell.com>
* Expression.cs: Do validation on the method parameters and use
the return type if provided.
2008-01-15 Jb Evain <jbevain@novell.com>
* MethodCallExpression.cs, Expression.cs
ExpressionPrinter.cs: Implement Call (Expression, ...)
2008-01-15 Jb Evain <jbevain@novell.com>
* Expression.cs, ConditionalExpressionExpression.cs
ExpressionPrinter.cs : implement Expression.Condition.
2008-01-15 Jb Evain <jbevain@novell.com>
* Expression.cs,
ParameterExpression.cs,
ExpressionPrinter.cs: implement Expression.Parameter
2008-01-15 Jb Evain <jbevain@novell.com>
* ExpressionPrinter.cs (VisitBinaryExpression): simple
implementation (probably misses a few cases).
2008-01-14 Miguel de Icaza <miguel@novell.com>
* Expression.cs: Bring back the (most) of binary operators. Added
type checking as well and reorganized the source file by topic
instead of alphabetical sorting.
2008-01-14 Jb Evain <jbevain@novell.com>
* ExpressionPrinter.cs: print ArrayLength.
2008-01-14 Jb Evain <jbevain@novell.com>
* Expression.cs: TypeAs can't take value types.
* ExpressionPrinter.cs: implement TypeAs.
2008-01-14 Jb Evain <jbevain@novell.com>
* Expression.cs: implement TypeIs.
* ExpressionPrinter.cs: implement VisitTypeBinaryExpression.
* TypeBinaryExpression.cs: add proper ctor.
2008-01-14 Jb Evain <jbevain@novell.com>
* Expression.cs, ExpressionPrinter.cs: fix for Quote's type.
2008-01-14 Jb Evain <jbevain@novell.com>
* BinaryExpression.cs,
* Expression.cs: revert part of Miguel's last patch.
MakeBinary is expected to call the appropriate factory
methods. Whose methods that are responsible for creating
the good BinaryExpression, wether they use a custom method
or not.
2008-01-14 Jb Evain <jbevain@novell.com>
* Expression.cs: MakeUnary is expected to call the appropriate
factory methods.
2008-01-14 Miguel de Icaza <miguel@novell.com>
* Expression.cs (Constant, MakeBinary and consumers of it): Some
more fill-up changes.
MakeBinary will need much more work to support user-provided
types.
2008-01-13 Jb Evain <jbevain@novell.com>
* *.cs: fresh implementation.