Author: mbenson
Date: Tue May 17 20:36:30 2016
New Revision: 1744322
URL: http://svn.apache.org/viewvc?rev=1744322&view=rev
Log:
[WEAVER-11] use java.lang.Object for asm common superclass to avoid issues of
unavailable classes in inheritance hierarchy due to compilation target
different than compilation JVM
Modified:
commons/proper/weaver/trunk/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java
commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
Modified:
commons/proper/weaver/trunk/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java
URL:
http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java?rev=1744322&r1=1744321&r2=1744322&view=diff
==============================================================================
---
commons/proper/weaver/trunk/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java
(original)
+++
commons/proper/weaver/trunk/modules/normalizer/src/main/java/org/apache/commons/weaver/normalizer/Normalizer.java
Tue May 17 20:36:30 2016
@@ -235,27 +235,7 @@ public class Normalizer {
@Override
protected String getCommonSuperClass(final String type1, final String
type2) {
- Class<?> class1;
- Class<?> class2;
- try {
- class1 = Class.forName(type1.replace('/', '.'), false,
env.classLoader);
- class2 = Class.forName(type2.replace('/', '.'), false,
env.classLoader);
- } catch (Exception e) {
- throw new RuntimeException(e.toString());
- }
- if (class1.isAssignableFrom(class2)) {
- return type1;
- }
- if (class2.isAssignableFrom(class1)) {
- return type2;
- }
- if (class1.isInterface() || class2.isInterface()) {
- return "java/lang/Object";
- }
- do {
- class1 = class1.getSuperclass();
- } while (!class1.isAssignableFrom(class2));
- return class1.getName().replace('.', '/');
+ return "java/lang/Object";
}
}
Modified:
commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
URL:
http://svn.apache.org/viewvc/commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java?rev=1744322&r1=1744321&r2=1744322&view=diff
==============================================================================
---
commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
(original)
+++
commons/proper/weaver/trunk/modules/privilizer/weaver/src/main/java/org/apache/commons/weaver/privilizer/Privilizer.java
Tue May 17 20:36:30 2016
@@ -88,27 +88,7 @@ public class Privilizer {
@Override
protected String getCommonSuperClass(final String type1, final String
type2) {
- Class<?> class1;
- Class<?> class2;
- try {
- class1 = Class.forName(type1.replace('/', '.'), false,
env.classLoader);
- class2 = Class.forName(type2.replace('/', '.'), false,
env.classLoader);
- } catch (Exception e) {
- throw new RuntimeException(e.toString());
- }
- if (class1.isAssignableFrom(class2)) {
- return type1;
- }
- if (class2.isAssignableFrom(class1)) {
- return type2;
- }
- if (class1.isInterface() || class2.isInterface()) {
- return "java/lang/Object";
- }
- do {
- class1 = class1.getSuperclass();
- } while (!class1.isAssignableFrom(class2));
- return class1.getName().replace('.', '/');
+ return "java/lang/Object";
}
}