summaryrefslogtreecommitdiffstats
path: root/libart/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'libart/src/main/java')
-rw-r--r--libart/src/main/java/java/lang/reflect/AbstractMethod.java4
-rw-r--r--libart/src/main/java/java/lang/reflect/Method.java2
2 files changed, 3 insertions, 3 deletions
diff --git a/libart/src/main/java/java/lang/reflect/AbstractMethod.java b/libart/src/main/java/java/lang/reflect/AbstractMethod.java
index c1412e1..6a4b8e9 100644
--- a/libart/src/main/java/java/lang/reflect/AbstractMethod.java
+++ b/libart/src/main/java/java/lang/reflect/AbstractMethod.java
@@ -195,7 +195,7 @@ public abstract class AbstractMethod extends AccessibleObject {
Class<?>[] parametersArray = new Class[types.length];
for (int i = 0; i < types.length; i++) {
// Note, in the case of a Proxy the dex cache types are equal.
- parametersArray[i] = getDexCacheType(dex, types[i]);
+ parametersArray[i] = getDexCacheType(dex, types[i] & 0xFFFF);
}
return parametersArray;
}
@@ -212,7 +212,7 @@ public abstract class AbstractMethod extends AccessibleObject {
return false;
}
for (int i = 0; i < types.length; i++) {
- if (getDexCacheType(dex, types[i]) != params[i]) {
+ if (getDexCacheType(dex, types[i] & 0xFFFF) != params[i]) {
return false;
}
}
diff --git a/libart/src/main/java/java/lang/reflect/Method.java b/libart/src/main/java/java/lang/reflect/Method.java
index 5096745..ce3d99e 100644
--- a/libart/src/main/java/java/lang/reflect/Method.java
+++ b/libart/src/main/java/java/lang/reflect/Method.java
@@ -255,7 +255,7 @@ public final class Method extends AbstractMethod implements GenericDeclaration,
short[] types = dex.parameterTypeIndicesFromMethodIndex(methodDexIndex);
int length = Math.min(types.length, params.length);
for (int i = 0; i < types.length; i++) {
- Class<?> aType = getDexCacheType(dex, types[i]);
+ Class<?> aType = getDexCacheType(dex, types[i] & 0xFFFF);
Class<?> bType = params[i];
if (aType != bType) {
int comparison = aType.getName().compareTo(bType.getName());