-
-
Notifications
You must be signed in to change notification settings - Fork 386
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support of lambda expressions (#140)
* Close #25 * First working prototype. * Added nested lambda test. * The lambda expression interpreter inherits the settings from its parent, so that it can access the same variables and types. Improve resolution of methods where the parameters are generic types. * Fix issue with lamba expressions where the return type is a generic type (e.g. SelectMany). * Remove type InferredType, it's not needed. * Check that a lambda expression has the same number of parameters than the method's parameters. * Added a parser settings to enable / disable lambda expressions parsing. It's disabled by default because it has a slight performance cost. * Fix infinite loop when a lambda expression is the sole expression. Allow a single lambda expression to be converted to a Func type. Edited documentation. * Prevent a lambda expression from being matched to a generic parameter. Only promote a lambda expression if the method's parameter is a delegate with the matching number of generic arguments. * Remove EnableLambdaExpressions. * Implement requested changes. * Fix typo. * Allow parameterless lambdas.
- Loading branch information
Showing
8 changed files
with
628 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.