You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/06/24 00:00:21 UTC
[groovy] branch GROOVY_3_0_X updated: Trivial refactoring:
Optional.isPresent() can be replaced with functional-style expression
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
new d970e80 Trivial refactoring: Optional.isPresent() can be replaced with functional-style expression
d970e80 is described below
commit d970e80e6fb609d472c2f07e59ced7073d1ae7c2
Author: Daniel Sun <su...@apache.org>
AuthorDate: Wed Jun 24 07:56:45 2020 +0800
Trivial refactoring: Optional.isPresent() can be replaced with functional-style expression
(cherry picked from commit 4c21dc17a1277b1db7006d122b1de6da991e3dac)
---
.../transform/stc/StaticTypeCheckingVisitor.java | 5 ++---
.../vmplugin/v8/PluginDefaultGroovyMethods.java | 20 ++++----------------
2 files changed, 6 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index 021bef5..24adb19 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -2005,9 +2005,8 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
private void visitPrefixOrPostifExpression(final Expression origin, final Expression operand, final int operator) {
Optional<Token> token = TokenUtil.asAssignment(operator);
- if (token.isPresent()) { // push "operand += 1" or "operand -= 1" onto stack for LHS checks
- typeCheckingContext.pushEnclosingBinaryExpression(binX(operand, token.get(), constX(1)));
- }
+ // push "operand += 1" or "operand -= 1" onto stack for LHS checks
+ token.ifPresent(value -> typeCheckingContext.pushEnclosingBinaryExpression(binX(operand, value, constX(1))));
try {
operand.visit(this);
SetterInfo setterInfo = removeSetterInfo(operand);
diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java
index 3313211..65f2181 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v8/PluginDefaultGroovyMethods.java
@@ -276,10 +276,7 @@ public class PluginDefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 3.0.0
*/
public static <T> OptionalInt mapToInt(final Optional<T> self, final ToIntFunction<? super T> mapper) {
- if (!self.isPresent()) {
- return OptionalInt.empty();
- }
- return OptionalInt.of(mapper.applyAsInt(self.get()));
+ return self.map(t -> OptionalInt.of(mapper.applyAsInt(t))).orElseGet(OptionalInt::empty);
}
/**
@@ -293,10 +290,7 @@ public class PluginDefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 3.0.0
*/
public static <T> OptionalLong mapToLong(final Optional<T> self, final ToLongFunction<? super T> mapper) {
- if (!self.isPresent()) {
- return OptionalLong.empty();
- }
- return OptionalLong.of(mapper.applyAsLong(self.get()));
+ return self.map(t -> OptionalLong.of(mapper.applyAsLong(t))).orElseGet(OptionalLong::empty);
}
/**
@@ -310,10 +304,7 @@ public class PluginDefaultGroovyMethods extends DefaultGroovyMethodsSupport {
* @since 3.0.0
*/
public static <T> OptionalDouble mapToDouble(final Optional<T> self, final ToDoubleFunction<? super T> mapper) {
- if (!self.isPresent()) {
- return OptionalDouble.empty();
- }
- return OptionalDouble.of(mapper.applyAsDouble(self.get()));
+ return self.map(t -> OptionalDouble.of(mapper.applyAsDouble(t))).orElseGet(OptionalDouble::empty);
}
/**
@@ -333,10 +324,7 @@ public class PluginDefaultGroovyMethods extends DefaultGroovyMethodsSupport {
public static <S,T> Optional<T> collect(final Optional<S> self, @ClosureParams(FirstParam.FirstGenericType.class) final Closure<T> transform) {
Objects.requireNonNull(self);
Objects.requireNonNull(transform);
- if (!self.isPresent()) {
- return Optional.empty();
- }
- return Optional.ofNullable(transform.call(self.get()));
+ return self.map(transform::call);
}
/**