In the case of void methods with multiple out parameters, the return type is changed to a Record with named parameters corresponding to the out parameters' types.
Finally, when dealing with non-void methods that have out parameter(s), the return type is transformed into a Record with one positional parameter representing the original return type and named parameters representing the out parameters' types.
For instance:
int getMany(int itemsSize, List<String> items) {...}
Description
Here are three scenarios to consider when modifying method signatures:
1-) void methods with a single
out
parameterWhen dealing with void methods that have a single out parameter, the return type of the method is replaced with the type of the out parameter.
For instance, consider the following method:
The modified signature would look like this:
2-) void methods with multiple
out
parametersIn the case of void methods with multiple out parameters, the return type is changed to a
Record
with named parameters corresponding to the out parameters' types.For example:
The updated signature would be:
3-) non-void methods with
out
parameter(s)Finally, when dealing with non-void methods that have out parameter(s), the return type is transformed into a
Record
with one positional parameter representing the original return type and named parameters representing the out parameters' types.For instance:
The modified signature would be:
Related Issue
Fixes #284
Type of Change
feat
-- New feature (non-breaking change which adds functionality)fix
-- Bug fix (non-breaking change which fixes an issue)!
-- Breaking change (fix or feature that would cause existing functionality to change)refactor
-- Code refactorci
-- Build configuration changedocs
-- Documentationtest
-- Testchore
-- Chore