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

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


The following commit(s) were added to refs/heads/GROOVY-9631 by this push:
     new 592acd6  Rename `getAndPut` to `getOrPut`
592acd6 is described below

commit 592acd633c5044fb09b268bbd2a8dc543f191aa0
Author: Daniel Sun <[email protected]>
AuthorDate: Fri Jul 10 01:39:50 2020 +0800

    Rename `getAndPut` to `getOrPut`
---
 src/main/java/groovy/util/ProxyGenerator.java                         | 2 +-
 src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java        | 2 +-
 src/main/java/org/codehaus/groovy/control/ResolveVisitor.java         | 2 +-
 src/main/java/org/codehaus/groovy/runtime/memoize/CommonCache.java    | 2 +-
 .../org/codehaus/groovy/runtime/memoize/ConcurrentCommonCache.java    | 2 +-
 src/main/java/org/codehaus/groovy/runtime/memoize/LRUCache.java       | 2 +-
 src/main/java/org/codehaus/groovy/runtime/memoize/Memoize.java        | 4 ++--
 src/main/java/org/codehaus/groovy/runtime/memoize/MemoizeCache.java   | 2 +-
 .../java/org/codehaus/groovy/runtime/memoize/StampedCommonCache.java  | 4 ++--
 .../org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.java | 2 +-
 .../codehaus/groovy/transform/stc/AbstractExtensionMethodCache.java   | 2 +-
 src/main/java/org/codehaus/groovy/vmplugin/v8/CacheableCallSite.java  | 2 +-
 src/test/org/codehaus/groovy/runtime/memoize/CommonCacheTest.java     | 2 +-
 .../codehaus/groovy/runtime/memoize/ConcurrentCommonCacheTest.java    | 4 ++--
 .../org/codehaus/groovy/runtime/memoize/StampedCommonCacheTest.java   | 4 ++--
 .../codehaus/groovy/runtime/memoize/UnlimitedConcurrentCacheTest.java | 2 +-
 16 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/src/main/java/groovy/util/ProxyGenerator.java 
b/src/main/java/groovy/util/ProxyGenerator.java
index 06d6a2a..02b448c 100644
--- a/src/main/java/groovy/util/ProxyGenerator.java
+++ b/src/main/java/groovy/util/ProxyGenerator.java
@@ -227,7 +227,7 @@ public class ProxyGenerator {
         CacheKey key = new CacheKey(base, useDelegate ? delegateClass : 
Object.class, keys, intfs, emptyMethods, useDelegate);
         final Class b = base;
 
-        return (ProxyGeneratorAdapter) adapterCache.getAndPut(
+        return (ProxyGeneratorAdapter) adapterCache.getOrPut(
                 key,
                 k -> new ProxyGeneratorAdapter(closureMap, b, intfs, 
useDelegate
                         ? delegateClass.getClassLoader()
diff --git a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java 
b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
index edff680..da06f6d 100644
--- a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
+++ b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
@@ -695,7 +695,7 @@ public class GenericsUtils {
             return findParameterizedType(genericsClass, actualType, 
tryToFindExactType);
         }
 
-        SoftReference<ClassNode> sr = PARAMETERIZED_TYPE_CACHE.getAndPut(new 
ParameterizedTypeCacheKey(genericsClass, actualType), key -> new 
SoftReference<>(findParameterizedType(key.getGenericsClass(), 
key.getActualType(), tryToFindExactType)));
+        SoftReference<ClassNode> sr = PARAMETERIZED_TYPE_CACHE.getOrPut(new 
ParameterizedTypeCacheKey(genericsClass, actualType), key -> new 
SoftReference<>(findParameterizedType(key.getGenericsClass(), 
key.getActualType(), tryToFindExactType)));
 
         return null == sr ? null : sr.get();
     }
diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java 
b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
index 4395dc8..6a487b5 100644
--- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
+++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
@@ -657,7 +657,7 @@ public class ResolveVisitor extends 
ClassCodeExpressionTransformer {
                 type.setRedirect(tmp.redirect());
 
                 if (DEFAULT_IMPORTS == packagePrefixes) { // Only the 
non-cached type and packages should be cached
-                    Set<String> packagePrefixSet = 
DEFAULT_IMPORT_CLASS_AND_PACKAGES_CACHE.getAndPut(typeName, key -> new 
HashSet<>(2));
+                    Set<String> packagePrefixSet = 
DEFAULT_IMPORT_CLASS_AND_PACKAGES_CACHE.getOrPut(typeName, key -> new 
HashSet<>(2));
                     packagePrefixSet.add(packagePrefix);
                 }
 
diff --git a/src/main/java/org/codehaus/groovy/runtime/memoize/CommonCache.java 
b/src/main/java/org/codehaus/groovy/runtime/memoize/CommonCache.java
index 0f7fb75..92d90d6 100644
--- a/src/main/java/org/codehaus/groovy/runtime/memoize/CommonCache.java
+++ b/src/main/java/org/codehaus/groovy/runtime/memoize/CommonCache.java
@@ -124,7 +124,7 @@ public class CommonCache<K, V> implements EvictableCache<K, 
V>, ValueConvertable
      * {@inheritDoc}
      */
     @Override
-    public V getAndPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
+    public V getOrPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
         return getAndPut(key, valueProvider, true);
     }
 
diff --git 
a/src/main/java/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCache.java 
b/src/main/java/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCache.java
index ace4ae6..b2e608d 100644
--- 
a/src/main/java/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCache.java
+++ 
b/src/main/java/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCache.java
@@ -109,7 +109,7 @@ public class ConcurrentCommonCache<K, V> implements 
EvictableCache<K, V>, ValueC
      * {@inheritDoc}
      */
     @Override
-    public V getAndPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
+    public V getOrPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
         return getAndPut(key, valueProvider, true);
     }
 
diff --git a/src/main/java/org/codehaus/groovy/runtime/memoize/LRUCache.java 
b/src/main/java/org/codehaus/groovy/runtime/memoize/LRUCache.java
index 75b134c..9e9b361 100644
--- a/src/main/java/org/codehaus/groovy/runtime/memoize/LRUCache.java
+++ b/src/main/java/org/codehaus/groovy/runtime/memoize/LRUCache.java
@@ -59,7 +59,7 @@ public final class LRUCache<K, V> implements MemoizeCache<K, 
V> {
      * @param valueProvider provide the value if the associated value not found
      */
     @Override
-    public V getAndPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
+    public V getOrPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
         return map.computeIfAbsent(key, valueProvider::provide);
     }
 
diff --git a/src/main/java/org/codehaus/groovy/runtime/memoize/Memoize.java 
b/src/main/java/org/codehaus/groovy/runtime/memoize/Memoize.java
index 21608df..9956fd0 100644
--- a/src/main/java/org/codehaus/groovy/runtime/memoize/Memoize.java
+++ b/src/main/java/org/codehaus/groovy/runtime/memoize/Memoize.java
@@ -133,7 +133,7 @@ public abstract class Memoize {
         @Override
         public V call(final Object... args) {
             final Object key = generateKey(args);
-            Object result = cache.getAndPut(key, k -> {
+            Object result = cache.getOrPut(key, k -> {
                 Object r = closure.call(args);
                 //noinspection GroovyConditionalCanBeElvis
                 return r != null ? r : MEMOIZE_NULL;
@@ -164,7 +164,7 @@ public abstract class Memoize {
             if (queue.poll() != null) cleanUpNullReferences(cache, queue);  // 
if something has been evicted, do a clean-up
             final Object key = generateKey(args);
 
-            SoftReference reference = (SoftReference) cache.getAndPut(key, k 
-> {
+            SoftReference reference = (SoftReference) cache.getOrPut(key, k -> 
{
                 Object r = closure.call(args);
 
                 return null != r ? new SoftReference<Object>(r, queue) : new 
SoftReference<Object>(MEMOIZE_NULL);
diff --git 
a/src/main/java/org/codehaus/groovy/runtime/memoize/MemoizeCache.java 
b/src/main/java/org/codehaus/groovy/runtime/memoize/MemoizeCache.java
index c525919..fc0c2cd 100644
--- a/src/main/java/org/codehaus/groovy/runtime/memoize/MemoizeCache.java
+++ b/src/main/java/org/codehaus/groovy/runtime/memoize/MemoizeCache.java
@@ -48,7 +48,7 @@ public interface MemoizeCache<K, V> {
      * @param valueProvider provide the value if the associated value not found
      * @return the cached value
      */
-    default V getAndPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
+    default V getOrPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
         V value = this.get(key);
 
         if (null == value) {
diff --git 
a/src/main/java/org/codehaus/groovy/runtime/memoize/StampedCommonCache.java 
b/src/main/java/org/codehaus/groovy/runtime/memoize/StampedCommonCache.java
index 1b1da7a..e7b88bb 100644
--- a/src/main/java/org/codehaus/groovy/runtime/memoize/StampedCommonCache.java
+++ b/src/main/java/org/codehaus/groovy/runtime/memoize/StampedCommonCache.java
@@ -28,7 +28,7 @@ import java.util.concurrent.locks.StampedLock;
 /**
  * Represents a simple key-value cache, which is thread safe and backed by a 
{@link Map} instance.
  * StampedCommonCache has better performance than {@link 
ConcurrentCommonCache},
- * but it is not reentrant, in other words, <b>it may cause deadlock</b> if 
{@link #getAndPut(Object, MemoizeCache.ValueProvider)}
+ * but it is not reentrant, in other words, <b>it may cause deadlock</b> if 
{@link #getOrPut(Object, MemoizeCache.ValueProvider)}
  * or {@link #getAndPut(Object, MemoizeCache.ValueProvider, boolean)} is 
called recursively:
  * readlock -&gt; upgrade to writelock -&gt; readlock (fails to get and waits 
forever)
  *
@@ -111,7 +111,7 @@ public class StampedCommonCache<K, V> implements 
EvictableCache<K, V>, ValueConv
      * {@inheritDoc}
      */
     @Override
-    public V getAndPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
+    public V getOrPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
         return getAndPut(key, valueProvider, true);
     }
 
diff --git 
a/src/main/java/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.java
 
b/src/main/java/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.java
index a813620..21555c8 100644
--- 
a/src/main/java/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.java
+++ 
b/src/main/java/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.java
@@ -191,7 +191,7 @@ public final class UnlimitedConcurrentCache<K, V> 
implements EvictableCache<K, V
      * @return the cached value
      */
     @Override
-    public V getAndPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
+    public V getOrPut(K key, ValueProvider<? super K, ? extends V> 
valueProvider) {
         return map.computeIfAbsent(key, valueProvider::provide);
     }
 
diff --git 
a/src/main/java/org/codehaus/groovy/transform/stc/AbstractExtensionMethodCache.java
 
b/src/main/java/org/codehaus/groovy/transform/stc/AbstractExtensionMethodCache.java
index df8f8b6..1445732 100644
--- 
a/src/main/java/org/codehaus/groovy/transform/stc/AbstractExtensionMethodCache.java
+++ 
b/src/main/java/org/codehaus/groovy/transform/stc/AbstractExtensionMethodCache.java
@@ -48,7 +48,7 @@ public abstract class AbstractExtensionMethodCache {
     final EvictableCache<ClassLoader, Map<String, List<MethodNode>>> cache = 
new StampedCommonCache<>(new WeakHashMap<>());
 
     public Map<String, List<MethodNode>> get(ClassLoader loader) {
-        return cache.getAndPut(loader, this::getMethodsFromClassLoader);
+        return cache.getOrPut(loader, this::getMethodsFromClassLoader);
     }
 
     private Map<String, List<MethodNode>> 
getMethodsFromClassLoader(ClassLoader classLoader) {
diff --git 
a/src/main/java/org/codehaus/groovy/vmplugin/v8/CacheableCallSite.java 
b/src/main/java/org/codehaus/groovy/vmplugin/v8/CacheableCallSite.java
index a6e4c4c..d1befe7 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v8/CacheableCallSite.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v8/CacheableCallSite.java
@@ -45,7 +45,7 @@ public class CacheableCallSite extends MutableCallSite {
     }
 
     public MethodHandleWrapper getAndPut(String className, 
MemoizeCache.ValueProvider<? super String, ? extends MethodHandleWrapper> 
valueProvider) {
-        final MethodHandleWrapper result = cache.getAndPut(className, 
valueProvider);
+        final MethodHandleWrapper result = cache.getOrPut(className, 
valueProvider);
         final MethodHandleWrapper lhmh = latestHitMethodHandleWrapper;
 
         if (lhmh == result) {
diff --git a/src/test/org/codehaus/groovy/runtime/memoize/CommonCacheTest.java 
b/src/test/org/codehaus/groovy/runtime/memoize/CommonCacheTest.java
index 2223e54..2b056aa 100644
--- a/src/test/org/codehaus/groovy/runtime/memoize/CommonCacheTest.java
+++ b/src/test/org/codehaus/groovy/runtime/memoize/CommonCacheTest.java
@@ -65,7 +65,7 @@ public class CommonCacheTest {
         Assert.assertEquals("Chinese", sc.getAndPut("language", vp,false));
         Assert.assertNull(sc.get("language"));
 
-        Assert.assertEquals("Chinese", sc.getAndPut("language", vp));
+        Assert.assertEquals("Chinese", sc.getOrPut("language", vp));
         Assert.assertEquals("Chinese", sc.get("language"));
     }
 
diff --git 
a/src/test/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCacheTest.java 
b/src/test/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCacheTest.java
index efbb054..3769aa0 100644
--- 
a/src/test/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCacheTest.java
+++ 
b/src/test/org/codehaus/groovy/runtime/memoize/ConcurrentCommonCacheTest.java
@@ -66,7 +66,7 @@ public class ConcurrentCommonCacheTest {
         Assert.assertEquals("Chinese", sc.getAndPut("language", vp,false));
         Assert.assertNull(sc.get("language"));
 
-        Assert.assertEquals("Chinese", sc.getAndPut("language", vp));
+        Assert.assertEquals("Chinese", sc.getOrPut("language", vp));
         Assert.assertEquals("Chinese", sc.get("language"));
     }
 
@@ -213,7 +213,7 @@ public class ConcurrentCommonCacheTest {
                 try {
                     countDownLatch.await();
 
-                    m.getAndPut(123, k -> cnt.getAndIncrement());
+                    m.getOrPut(123, k -> cnt.getAndIncrement());
                 } catch (InterruptedException e) {
                     e.printStackTrace();
                 } finally {
diff --git 
a/src/test/org/codehaus/groovy/runtime/memoize/StampedCommonCacheTest.java 
b/src/test/org/codehaus/groovy/runtime/memoize/StampedCommonCacheTest.java
index 2fc6ff6..ca3391c 100644
--- a/src/test/org/codehaus/groovy/runtime/memoize/StampedCommonCacheTest.java
+++ b/src/test/org/codehaus/groovy/runtime/memoize/StampedCommonCacheTest.java
@@ -66,7 +66,7 @@ public class StampedCommonCacheTest {
         Assert.assertEquals("Chinese", sc.getAndPut("language", vp,false));
         Assert.assertNull(sc.get("language"));
 
-        Assert.assertEquals("Chinese", sc.getAndPut("language", vp));
+        Assert.assertEquals("Chinese", sc.getOrPut("language", vp));
         Assert.assertEquals("Chinese", sc.get("language"));
     }
 
@@ -213,7 +213,7 @@ public class StampedCommonCacheTest {
                 try {
                     countDownLatch.await();
 
-                    m.getAndPut(123, k -> cnt.getAndIncrement());
+                    m.getOrPut(123, k -> cnt.getAndIncrement());
                 } catch (InterruptedException e) {
                     e.printStackTrace();
                 } finally {
diff --git 
a/src/test/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCacheTest.java
 
b/src/test/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCacheTest.java
index ab5d4ad..e8f56ba 100644
--- 
a/src/test/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCacheTest.java
+++ 
b/src/test/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCacheTest.java
@@ -64,7 +64,7 @@ public class UnlimitedConcurrentCacheTest {
         EvictableCache.ValueProvider vp =
                 (EvictableCache.ValueProvider<String, String>) key -> 
"Chinese";
 
-        Assert.assertEquals("Chinese", sc.getAndPut("language", vp));
+        Assert.assertEquals("Chinese", sc.getOrPut("language", vp));
         Assert.assertEquals("Chinese", sc.get("language"));
     }
 

Reply via email to