commit | 6c24d79b0e9226dd80e54fbb088846acb35f55c2 | [log] [tgz] |
---|---|---|
author | Stephan Herrmann <stephan.herrmann@berlin.de> | Tue Jun 02 18:23:48 2015 +0200 |
committer | Stephan Herrmann <stephan.herrmann@berlin.de> | Tue Jun 02 18:23:48 2015 +0200 |
tree | 033f5c4b796d0b2541cb8c93f0d6c303b695c721 | |
parent | 34e3944c5b9c746a69c478f5b16e6dd519c6a092 [diff] |
Bug 469163: [otdre] Evaluation of ATTRIBUTE_ROLE_BASE_BINDINGS must skip '^' prefix for interfaces
diff --git a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java index c235796..f6f9edf 100644 --- a/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java +++ b/plugins/org.eclipse.objectteams.otredyn/src/org/eclipse/objectteams/otredyn/bytecode/asm/AsmClassVisitor.java
@@ -133,6 +133,8 @@ } } else if (attribute.type.equals(Attributes.ATTRIBUTE_ROLE_BASE_BINDINGS)) { for (String base : ((RoleBaseBindingsAttribute) attribute).bases) { + if (base.charAt(0) == '^') + base = base.substring(1); clazz.boundBaseClasses.add(base.replace('/', '.')); clazz.addBinding(new Binding(clazz, base)); }