Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'othersrc/OTRE')
-rw-r--r--othersrc/OTRE/src/org/eclipse/objectteams/otre/RepositoryAccess.java3
-rw-r--r--othersrc/OTRE/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java5
2 files changed, 6 insertions, 2 deletions
diff --git a/othersrc/OTRE/src/org/eclipse/objectteams/otre/RepositoryAccess.java b/othersrc/OTRE/src/org/eclipse/objectteams/otre/RepositoryAccess.java
index 590a6584b..4a249262d 100644
--- a/othersrc/OTRE/src/org/eclipse/objectteams/otre/RepositoryAccess.java
+++ b/othersrc/OTRE/src/org/eclipse/objectteams/otre/RepositoryAccess.java
@@ -102,6 +102,9 @@ public class RepositoryAccess {
} catch (ClassNotFoundException e) {
// consider classes as incommensurable if they can't both be loaded in the current class loader
return false;
+ } catch (ClassCircularityError e) {
+ // assume that circularity was caused by resolving framework classes during class loading
+ return false;
}
}
diff --git a/othersrc/OTRE/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java b/othersrc/OTRE/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java
index 745174715..9db6ab0b0 100644
--- a/othersrc/OTRE/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java
+++ b/othersrc/OTRE/src/org/eclipse/objectteams/otre/jplis/ObjectTeamsTransformer.java
@@ -110,8 +110,9 @@ public class ObjectTeamsTransformer implements ClassFileTransformer {
ProtectionDomain protectionDomain, byte[] classfileBuffer)
throws IllegalClassFormatException
{
- if (className.startsWith("org/eclipse/objectteams/otre")
- || className.startsWith("org/apache/bcel"))
+ if ( className.startsWith("org/eclipse/objectteams/otre")
+ || className.startsWith("org/apache/bcel")
+ || className.equals("java/util/LinkedHashMap$KeyIterator")) // saw class loading circularity caused by accessing this class
{
// skip OTRE and BCEL classes
return null;

Back to the top