X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Core%2FSystem.Linq.Expressions%2FChangeLog;h=ca61a4a94b7e582b631effe3927741ebcb88ad0e;hb=75fd246e8843fa689070839d3c8580fee87b6ad6;hp=78c5d4fcd9fc3f968e5592c7fc9278d4d9017b97;hpb=1953afe3d298a0b5f234da7c77f606ca70627812;p=mono.git diff --git a/mcs/class/System.Core/System.Linq.Expressions/ChangeLog b/mcs/class/System.Core/System.Linq.Expressions/ChangeLog index 78c5d4fcd9f..ca61a4a94b7 100644 --- a/mcs/class/System.Core/System.Linq.Expressions/ChangeLog +++ b/mcs/class/System.Core/System.Linq.Expressions/ChangeLog @@ -1,3 +1,297 @@ +2008-04-19 Jb Evain + + * 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 + + * ExpressionVisitor.cs (Visit): don't die because of Power. + +2008-04-09 Jb Evain + + * Expression.cs: check for illegal booleab unary expressions. + +2008-04-09 Jb Evain + + * UnaryExpression.cs: implement compilation of negate. + +2008-04-09 Jb Evain + + * UnaryExpression.cs, Expression.cs: implement IsLifted and IsLifted + to null for simple unary operators. Implement Not compilation. + +2008-04-08 Jb Evain + + * ElementInit.cs: emit pop if the add method doesn't return void. + +2008-03-20 Jb Evain + + * Expression.cs: use the new and more complete IsAssignableTo + instead of IsAssignableFrom. + +2008-03-19 Jb Evain + + * LambdaExpression.cs: use the new standardified IsAssignableTo, + fixes ExpressionTest_NewArrayBounds.TestArrayAssignability. + +2008-03-19 Jb Evain + + * Extensions.cs (Type.IsAssignableTo): deal with arrays. + +2008-03-13 Jb Evain + + * NewArrayExpression.cs (EmitNewArrayBounds): implement. + +2008-03-12 Jb Evain + + * NewArrayExpression.cs (Emit): naive implementation of emit support + for array initialization. + +2008-03-11 Jb Evain + + * BinaryExpression.cs: very naive implementation of emitting + array accesses. + +2008-03-11 Jb Evain + + * *.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 + + * TypeBinaryExpression.cs, Expression.cs: refactor an EmitIsInst. + * UnaryExpression.cs: implement TypeAs using the EmitIsInst. + +2008-03-10 Jb Evain + + * TypeBinaryExpression.cs (Emit): implement. + +2008-03-08 Jb Evain + + * MemberListBinding.cs (Emit): implement. + * MemberBinding.cs (EmitLoadMember): add helper. + +2008-03-08 Jb Evain + + * MemberAssignment.cs (Emit): implement. + +2008-03-08 Jb Evain + + * ElementInit.cs (Emit): implement. + +2008-03-06 Jb Evain + + * EmitContext.cs: the DebugContext delegate the CreateDelegate + to a DynamicContext to avoid visibility issues in debug mode. + +2008-03-06 Jb Evain + + * EmitContext.cs: Lambda methods bypass JIT visibility checks. + +2008-03-06 Jb Evain + + * 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 + + * Expression.cs: add a EmitCall helper. + * MemberExpression.cs: implement property access. + +2008-03-06 Jb Evain + + * 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 + + * BinaryExpression.cs, Expression.cs: move EmitStored from + BinaryExpression to Expression. + * MethodCallExpression.cs: allow method calls on structs. + +2008-03-05 Jb Evain + + * Expression.cs: Fix the Call method which takes an array + of type arguments. + +2008-03-05 Jb Evain + + * Expression.cs: fix for a good chunk of lifted/liftToNull tests. + +2008-02-26 Jb Evain + + * Expression.cs (Call): Guess the parameters type from the argument + types if needed. + +2008-02-25 Jb Evain + + * NewExpression.cs (Emit): deal with value types construction. + +2008-02-25 Jb Evain + + * Expression.cs, NewExpression.cs: deal with the fact that value types + don't have a parameterless constructor. + +2008-02-24 Jb Evain + + * LambdaExpression.cs, EmitContext.cs: make compilation + of delegate returning void work. + +2008-02-24 Jb Evain + + * MethodCallExpression.cs: emit call or callvirt depending + on the virtuality of the method. + +2008-02-24 Jb Evain + + * LambdaExpression.cs: properly format error message. + +2008-02-21 Jb Evain + + * BinaryExpression.cs (EmitCoalesce): fix setup_null. + +2008-02-21 Jb Evain + + * BinaryExpression.cs (Emit): fix the both_are_null case. + +2008-02-20 Jb Evain + + * Expression.cs, ExpressionPrinter.cs: implement MemberBind. + +2008-02-20 Jb Evain + + * Expression.cs, ExpressionPrinter.cs: implement ListInit. + +2008-02-19 Jb Evain + + * Expression.cs, ExpressionPrinter.cs: implement MemberInit. + +2008-02-19 Jb Evain + + * Expression.cs, ExpressionPrinter.cs: implement last New + overload for anonymous types. + +2008-02-08 Jb Evain + + * Expression.cs, InvocationExpression.cs, ExpressionPrinter.cs + add support for Invoke. + +2008-02-04 Jb Evain + + * ExpressionPrinter.cs: fix printing of MemberListBinding. + +2008-02-04 Jb Evain + + * Expression.cs, NewExpression.cs: make New(Type) test pass. + +2008-02-04 Jb Evain + + * ExpressionPrinter.cs: fix and clean printing of ElementInit. + +2008-02-02 Jb Evain + + * Expression.cs: fix ListBind(MemberInfo,IEnumerable). + +2008-02-02 Jb Evain + + * Expression.cs: fix ListBind(MethodInfo,IEnumerable). + +2008-02-01 Olivier Dufour + + * Expression.cs, ExpressionPrinter.cs:Add ListBind + +2008-02-01 Olivier Dufour + + * Expression.cs, ExpressionPrinter.cs:Add Elementinit + +2008-01-31 Jb Evain + + * UnaryExpression.cs: emit array length. + +2008-01-31 Jb Evain + + * MemberExpression.cs: Simple support for emitting fields. + +2008-01-30 Jb Evain + + * MethodCallExpression.cs: very naive implementation of Emit. + +2008-01-30 Jb Evain + + * NewExpression.cs: add Emit support for reference types. + +2008-01-30 Jb Evain + + * LambdaExpression.cs, EmitContext.cs: small refactoring. + Extract the different EmitContexts to their own file. + +2008-01-29 Jb Evain + + * MethodCallExpression.cs, Expression.cs: complete Calls. + +2008-01-29 Jb Evain + + * Expression.cs, NewExpression.cs, ExpressionPrinter.cs: + implement the first flavors of New. + +2008-01-27 Jb Evain + + * ConditionalExpression.cs: implement Emit. + +2008-01-27 Jb Evain + + * Expression.cs: implement the last Lambda method. + +2008-01-27 Jb Evain + + * LambdaExpression.cs: fix the Type of the LambdaExpressions. + +2008-01-27 Olivier Dufour + + * 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 + + * Expression.cs, ExpressionPrinter.cs: implement Bind. + +2008-01-25 Jb Evain + + * MemberMemberBinding.cs, MemberListBinding.cs, + MemberAssignment.cs, MemberBinding.cs: + add constructors. + +2008-01-25 Jb Evain + + * Expression.cs: implement PropertyOrField. + +2008-01-24 Jb Evain + + * Expression.cs, MemberExpression.cs, ExpressionPrinter.cs: + implement Field and Property. + +2008-01-22 Miguel de Icaza + + * 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 + + * Expression.cs, ExpressionPrinter.cs: implement NewArrayList. + 2008-01-22 Jb Evain * Expression.cs, ExpressionPrinter.cs, NewArrayExpression.cs: @@ -15,12 +309,12 @@ 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. + (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 @@ -28,7 +322,7 @@ * Expression.cs (BinaryCoreCheck): Add checking for a few operators here (to avoid doing a second pass, handles AndAlso and - OrElse). + OrElse). (AndAlso, OrElse): Add some code. @@ -36,7 +330,7 @@ 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. + not very easy to share with the arithmetics code. 2008-01-21 Marek Safar @@ -52,7 +346,7 @@ * Start code generation for nullables, currently this generates incorrect code for things like: - + Expression> e2 = (a, b) => a + b; e2.Compile ().Invoke (null, 3)) @@ -61,19 +355,19 @@ * 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. - + Investigate. + 2008-01-20 Miguel de Icaza 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. + values when doing the method validation. 2008-01-18 Miguel de Icaza @@ -86,7 +380,7 @@ 2008-01-18 Miguel de Icaza * BinaryExpression.cs: Add support for emitting code for some - operators (ported from the Mono C# compiler). + operators (ported from the Mono C# compiler). Add tests. @@ -94,14 +388,14 @@ 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. + non-fundamental types and other ValueType initializations. 2008-01-17 Jb Evain @@ -118,7 +412,7 @@ 2008-01-16 Miguel de Icaza - * Expression.cs: Add support for user-defined operators. + * Expression.cs: Add support for user-defined operators. Put back various binary operator tests.