aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-core/src/main/java/org/apache/velocity/util
diff options
context:
space:
mode:
authorClaude Brisson <cbrisson@apache.org>2020-01-07 09:37:17 +0000
committerClaude Brisson <cbrisson@apache.org>2020-01-07 09:37:17 +0000
commitdc99908057b194eb27ed1e87aed24ea946441fca (patch)
tree4af856cb8b791822e779b1e596bcd8e362c00df1 /velocity-engine-core/src/main/java/org/apache/velocity/util
parentdf5ee33762b7db2c83ab13b62a70e86fb8d69faf (diff)
downloadapache-velocity-engine-dc99908057b194eb27ed1e87aed24ea946441fca.tar.gz
[engine] Fix VELOCITY-924 - cache collision between an object and its class
git-svn-id: https://svn.apache.org/repos/asf/velocity/engine/trunk@1872422 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'velocity-engine-core/src/main/java/org/apache/velocity/util')
-rw-r--r--velocity-engine-core/src/main/java/org/apache/velocity/util/ClassUtils.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/velocity-engine-core/src/main/java/org/apache/velocity/util/ClassUtils.java b/velocity-engine-core/src/main/java/org/apache/velocity/util/ClassUtils.java
index d33bd978..b17eb681 100644
--- a/velocity-engine-core/src/main/java/org/apache/velocity/util/ClassUtils.java
+++ b/velocity-engine-core/src/main/java/org/apache/velocity/util/ClassUtils.java
@@ -179,9 +179,10 @@ public class ClassUtils {
/*
* check the cache
*/
- MethodCacheKey mck = new MethodCacheKey(methodName, paramClasses);
+ boolean classObject = (o instanceof Class);
+ MethodCacheKey mck = new MethodCacheKey(methodName, paramClasses, classObject);
IntrospectionCacheData icd = context.icacheGet(mck);
- Class clazz = o instanceof Class ? (Class)o : o.getClass();
+ Class clazz = classObject ? (Class)o : o.getClass();
/*
* like ASTIdentifier, if we have cache information, and the Class of