[ 
https://issues.apache.org/jira/browse/GROOVY-12215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18100450#comment-18100450
 ] 

ASF GitHub Bot commented on GROOVY-12215:
-----------------------------------------

codecov-commenter commented on PR #2750:
URL: https://github.com/apache/groovy/pull/2750#issuecomment-5131687373

   ## 
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2750?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 Report
   :x: Patch coverage is `75.52448%` with `35 lines` in your changes missing 
coverage. Please review.
   :white_check_mark: Project coverage is 69.9435%. Comparing base 
([`4c9b312`](https://app.codecov.io/gh/apache/groovy/commit/4c9b31231fcca14f217a707cf43e866328d40b89?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
 to head 
([`aec9586`](https://app.codecov.io/gh/apache/groovy/commit/aec9586c711f5a59d6442bd60efa5eef40990991?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2750?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../codehaus/groovy/runtime/DefaultGroovyMethods.java](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fruntime%2FDefaultGroovyMethods.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3J1bnRpbWUvRGVmYXVsdEdyb292eU1ldGhvZHMuamF2YQ==)
 | 75.2000% | [21 Missing and 10 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   | 
[...rg/codehaus/groovy/runtime/ArrayGroovyMethods.java](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fruntime%2FArrayGroovyMethods.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3J1bnRpbWUvQXJyYXlHcm9vdnlNZXRob2RzLmphdmE=)
 | 77.7778% | [2 Missing and 2 partials :warning: 
](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   [![Impacted file tree 
graph](https://app.codecov.io/gh/apache/groovy/pull/2750/graphs/tree.svg?width=650&height=150&src=pr&token=1r45138NfQ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   ```diff
   @@                Coverage Diff                 @@
   ##               master      #2750        +/-   ##
   ==================================================
   + Coverage     69.9204%   69.9435%   +0.0231%     
   - Complexity      35314      35355        +41     
   ==================================================
     Files            1555       1555                
     Lines          131192     131326       +134     
     Branches        24070      24094        +24     
   ==================================================
   + Hits            91730      91854       +124     
   - Misses          31162      31165         +3     
   - Partials         8300       8307         +7     
   ```
   
   | [Files with missing 
lines](https://app.codecov.io/gh/apache/groovy/pull/2750?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[...rg/codehaus/groovy/runtime/ArrayGroovyMethods.java](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fruntime%2FArrayGroovyMethods.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3J1bnRpbWUvQXJyYXlHcm9vdnlNZXRob2RzLmphdmE=)
 | `88.7749% <77.7778%> (-0.1140%)` | :arrow_down: |
   | 
[.../codehaus/groovy/runtime/DefaultGroovyMethods.java](https://app.codecov.io/gh/apache/groovy/pull/2750?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fruntime%2FDefaultGroovyMethods.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L3J1bnRpbWUvRGVmYXVsdEdyb292eU1ldGhvZHMuamF2YQ==)
 | `75.2004% <75.2000%> (+0.1804%)` | :arrow_up: |
   
   ... and [2 files with indirect coverage 
changes](https://app.codecov.io/gh/apache/groovy/pull/2750/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   </details>
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :snowflake: [Test 
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, 
report on failures, and find test suite problems.
   - :package: [JS Bundle 
Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save 
yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>




> Fat-free variants for collectMany, countBy, split, take/dropWhile, groupBy
> --------------------------------------------------------------------------
>
>                 Key: GROOVY-12215
>                 URL: https://issues.apache.org/jira/browse/GROOVY-12215
>             Project: Groovy
>          Issue Type: Sub-task
>            Reporter: Paul King
>            Assignee: Paul King
>            Priority: Major
>
> h3. Summary
> Sub-task of GROOVY-12205. Adds the straightforward "fat-free" 
> functional-interface twins — a single {{java.util.function}} overload beside 
> each existing {{Closure}} overload — for the mapping/filtering DGM methods 
> that currently have none. These are mechanical, following the conventions 
> established in GROOVY-12054; no design decisions are involved.
> h3. Methods
> ||Method||Closure overloads without a twin||Functional type||Receivers||
> |{{collectMany}}|8|{{Function<? super E, ? extends Collection<? extends 
> T>>}}|Iterable (x2), Map (x2), Iterator (x2), {{E[]}} (x2)|
> |{{collectingMany}}|1|{{Function}} (lazy)|Iterator|
> |{{countBy}}|4|{{Function<? super E, ? extends K>}}|Iterable, Iterator, Map, 
> {{E[]}}|
> |{{split}}|5|{{Predicate<? super T>}}|Object, Collection, List, Set, {{T[]}}|
> |{{groupBy}} (single-key)|2|{{Function<? super T, ? extends K>}}|Map, 
> {{Object[]}} (the Iterable twin already exists)|
> |{{takeWhile}}|6|{{Predicate<? super T>}}|List, Iterable, SortedSet, Map, 
> Iterator, {{T[]}}|
> |{{dropWhile}}|6|{{Predicate<? super T>}}|SortedSet, List, Iterable, Map, 
> Iterator, {{T[]}}|
> Total: 32 new overloads.
> h3. Conventions (per GROOVY-12054)
> * PECS wildcards on the functional parameter; {{@since 6.0.0}}.
> * Inline javadoc example using {{<pre class="language-groovy 
> groovyTestCase">}}, cross-linking the {{Closure}} counterpart via {{@link}}.
> * Plain single-SAM overloads only — *not* {{@Incubating}}; that annotation is 
> reserved for the curried {{(BiXxx, param)}} forms, which are a separate item.
> h3. Exclusions
> * {{groupBy}} multi-key forms ({{Object...}} / {{List<Closure>}}) — no clean 
> functional analogue.
> * {{takeWhile}}/{{dropWhile}} on {{CharSequence}}/{{GString}} (the SGM 
> char-by-char forms) — a String-domain 
> {{Predicate<Character>}}/{{IntPredicate}} decision, out of scope for this 
> collection-focused sub-task (keeps the count at 6 each).
> h3. Compatibility
> Existing closure/lambda call sites are unaffected: a {{Closure}} literal 
> binds to the {{Closure}} overload, while method references and typed 
> functional values select the twin under {{@CompileStatic}} (per 
> GROOVY-12214). Only check: an existing {{@CompileStatic}} call passing a 
> literal {{null}} to one of these currently-single-overload methods would 
> become ambiguous — a rare, grep-checkable case, resolved with a cast if found.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to