You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2021/04/12 09:23:35 UTC
[groovy] 18/25: GROOVY-9649: Sonar refactoring
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 4cbaec4dd65329570887ba4218438c8bcbe4483f
Author: Iiro Kiviluoma <ii...@outlook.com>
AuthorDate: Fri Apr 9 11:49:29 2021 +0300
GROOVY-9649: Sonar refactoring
- NumberRange: Extracted nested ternary operations of hasNext into independent statements
- NumberRange: Inverted if-condition in fetchNextIfNeeded to reduce its cognitive complexity
---
src/main/java/groovy/lang/NumberRange.java | 35 +++++++++++++++++++-----------
1 file changed, 22 insertions(+), 13 deletions(-)
diff --git a/src/main/java/groovy/lang/NumberRange.java b/src/main/java/groovy/lang/NumberRange.java
index 8677740..e19a367 100644
--- a/src/main/java/groovy/lang/NumberRange.java
+++ b/src/main/java/groovy/lang/NumberRange.java
@@ -624,9 +624,18 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
@Override
public boolean hasNext() {
fetchNextIfNeeded();
- return (next != null) && (isAscending
- ? (range.inclusiveRight ? compareLessThanEqual(next, range.getTo()) : compareLessThan(next, range.getTo()))
- : (range.inclusiveRight ? compareGreaterThanEqual(next, range.getFrom()) : compareGreaterThan(next, range.getFrom())));
+ if (next == null) {
+ return false;
+ }
+ if (isAscending) {
+ return range.inclusiveRight
+ ? compareLessThanEqual(next, range.getTo())
+ : compareLessThan(next, range.getTo());
+ }
+ return range.inclusiveRight
+ ? compareGreaterThanEqual(next, range.getFrom())
+ : compareGreaterThan(next, range.getFrom());
+
}
@Override
@@ -641,18 +650,18 @@ public class NumberRange extends AbstractList<Comparable> implements Range<Compa
}
private void fetchNextIfNeeded() {
- if (!isNextFetched) {
- isNextFetched = true;
-
- if (next == null) {
- // make the first fetch lazy too
- next = isAscending ? range.getFrom() : range.getTo();
- if (!range.inclusiveLeft) {
- next = isAscending ? increment(next, step) : decrement(next, step);
- }
- } else {
+ if (isNextFetched) {
+ return;
+ }
+ isNextFetched = true;
+ if (next == null) {
+ // make the first fetch lazy too
+ next = isAscending ? range.getFrom() : range.getTo();
+ if (!range.inclusiveLeft) {
next = isAscending ? increment(next, step) : decrement(next, step);
}
+ } else {
+ next = isAscending ? increment(next, step) : decrement(next, step);
}
}