dadhi / FastExpressionCompiler

Fast Compiler for C# Expression Trees and the lightweight LightExpression alternative. Diagnostic and code generation tools for the expressions.
MIT License
1.18k stars 82 forks source link

Make AutoMapper FEC branch to pass all the tests #222

Open dadhi opened 5 years ago

dadhi commented 5 years ago

The branch: https://github.com/AutoMapper/AutoMapper/tree/FastExpressionCompiler

dadhi commented 5 years ago

Baseline:

image

jogibear9988 commented 4 years ago

image

jogibear9988 commented 4 years ago

The exception happens outside of running custom IL. Already generating crashes...

Also "dynamic" is used in some tests, don't think it is supported already?

dadhi commented 4 years ago

Hi, what is the version did you check?

Dynamic is not supported (or rather is not tested)

jogibear9988 commented 4 years ago

its the latest

dadhi commented 4 years ago

Ok. Thanks for checking.

I have started work to fix AM some time ago - here is the updated branch in my fork https://github.com/dadhi/AutoMapper/tree/FECv3

The main problem is that AM expressions are big and complex, and composed in a multiple places - so I wanted to expect them with lately added LightExpression.ToCodeString. So I've started to switch AM from the System Expression to FEC.LightExpression and immediately stuck on the missing ExpressionVisitor support. So I've copied System ExpressionVisitor and started the conversion - it is currently in progress - I've pushed it as-is (does not compile yet) into the branch.

I am not sure when I can return back to this code because I have other things to finish.

dadhi commented 3 years ago

v3.1 update:

image

dadhi commented 3 weeks ago

Done, but we should add some kind of regression testing for the new versions on FEC and AM