This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new 4c21dc1  Trivial refactoring: Optional.isPresent() can be replaced 
with functional-style expression
4c21dc1 is described below

commit 4c21dc17a1277b1db7006d122b1de6da991e3dac
Author: Daniel Sun <[email protected]>
AuthorDate: Wed Jun 24 07:56:45 2020 +0800

    Trivial refactoring: Optional.isPresent() can be replaced with 
functional-style expression
---
 .../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 a374c98..325e4cc 100644
--- 
a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ 
b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -2006,9 +2006,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 af88b89..ec6d520 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);
     }
 
     /**

Reply via email to