Incorporates some major refactoring to make Flee easier to use and more flexible.
New features
- Can now choose to create a dynamic or generic expression
- Can define an expression without specifying an owner
- Can change the instance of an owner after an expression is created
- Can mix variables and expression owner members
- Can specify a prefix when importing a static type
- Can specify culture that expressions are parsed in
- Internal: Implemented custom method overload resolution instead of using the .NET DefaultBinder
- Due to the above, only members that are accessible are considered in a bind. This allows ambiguous matches to be resolved in languages that have case-sensitive members
Breaking Changes:
- Refactored how expressions are created and exposed
- Removed Serialization support
- Removed global import option
- Member access on the expression owner: Removed boolean properties and replaced them with OwnerMemberAccess property which uses the BindingFlags enumeration
- Member access on the expression owner: Changed default so that only public members of the ExpressionOwner are accessible
- Changed CompileExceptionReason.AmbiguousCall to AmbiguousMatch
Bug fixes:
- Fixed bug with method call of non-overriden method on valuetype
Release filesThe release consists of the following packages:
- Source: The source code for the library, demo, and test projects.
- Library: The compiled assembly with chm documentation.
- Demo: An application that uses the library to generate images from expressions.