summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorchibash <chiba@javassist.org>2020-07-13 09:02:22 +0900
committerchibash <chiba@javassist.org>2020-07-13 09:02:22 +0900
commitda043b46bc20f3a186bd0434dad617f7a71b98de (patch)
treef2c087faea0e08d6dca9d929853b4e5adaa50e39 /src/main
parent5e3b6a8f64a291ac98f1b50cb82da4cc1cff8f90 (diff)
downloadjavassist-da043b46bc20f3a186bd0434dad617f7a71b98de.tar.gz
javassist-da043b46bc20f3a186bd0434dad617f7a71b98de.zip
fixes a bug of javassist.bytecode.stackmap, which was reported as Issue #328.
Diffstat (limited to 'src/main')
-rw-r--r--src/main/javassist/bytecode/stackmap/TypeData.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/javassist/bytecode/stackmap/TypeData.java b/src/main/javassist/bytecode/stackmap/TypeData.java
index 9bc837d3..4762eb85 100644
--- a/src/main/javassist/bytecode/stackmap/TypeData.java
+++ b/src/main/javassist/bytecode/stackmap/TypeData.java
@@ -206,7 +206,12 @@ public abstract class TypeData {
}
@Override
- public boolean eq(TypeData d) { return getName().equals(d.getName()); }
+ public boolean eq(TypeData d) {
+ if (d.isUninit())
+ return d.eq(this);
+ else
+ return getName().equals(d.getName());
+ }
}
/* a type variable representing a class type or a basic type.
@@ -853,7 +858,12 @@ public abstract class TypeData {
}
@Override
- public boolean eq(TypeData d) { return name.equals(d.getName()); }
+ public boolean eq(TypeData d) {
+ if (d.isUninit())
+ return d.eq(this);
+ else
+ return name.equals(d.getName());
+ }
@Override
public void setType(String typeName, ClassPool cp) throws BadBytecode {}