diff options
author | Claude Brisson <cbrisson@apache.org> | 2020-01-07 09:37:17 +0000 |
---|---|---|
committer | Claude Brisson <cbrisson@apache.org> | 2020-01-07 09:37:17 +0000 |
commit | dc99908057b194eb27ed1e87aed24ea946441fca (patch) | |
tree | 4af856cb8b791822e779b1e596bcd8e362c00df1 /velocity-engine-core/src/main/java/org/apache/velocity/util | |
parent | df5ee33762b7db2c83ab13b62a70e86fb8d69faf (diff) | |
download | apache-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.java | 5 |
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 |