This PR refactors parts of the Midas and Python typers handling function calls, overload matching, argument matchin, etc. into a dedicate CallDispatcher class. This class is generic on the AST expression type so that it can be used for both Midas and Python AST expressions.
Some parts, such as function unwrapping, have been improved too.
Other small features including parsing of binary operations (plus and minus) in Midas definitions, definition of min/max functions in the preamble, and improvements to the evaluation of constraints on literals (e.g. list / dict items, unary operations, error handling)
This PR refactors parts of the Midas and Python typers handling function calls, overload matching, argument matchin, etc. into a dedicate `CallDispatcher` class. This class is generic on the AST expression type so that it can be used for both Midas and Python AST expressions.
Some parts, such as function unwrapping, have been improved too.
Other small features including parsing of binary operations (plus and minus) in Midas definitions, definition of `min`/`max` functions in the preamble, and improvements to the evaluation of constraints on literals (e.g. list / dict items, unary operations, error handling)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR refactors parts of the Midas and Python typers handling function calls, overload matching, argument matchin, etc. into a dedicate
CallDispatcherclass. This class is generic on the AST expression type so that it can be used for both Midas and Python AST expressions.Some parts, such as function unwrapping, have been improved too.
Other small features including parsing of binary operations (plus and minus) in Midas definitions, definition of
min/maxfunctions in the preamble, and improvements to the evaluation of constraints on literals (e.g. list / dict items, unary operations, error handling)