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 -> upgrade to writelock -> 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"));
}