diff options
author | chibash <chiba@javassist.org> | 2020-07-13 09:02:22 +0900 |
---|---|---|
committer | chibash <chiba@javassist.org> | 2020-07-13 09:02:22 +0900 |
commit | da043b46bc20f3a186bd0434dad617f7a71b98de (patch) | |
tree | f2c087faea0e08d6dca9d929853b4e5adaa50e39 /src/main | |
parent | 5e3b6a8f64a291ac98f1b50cb82da4cc1cff8f90 (diff) | |
download | javassist-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.java | 14 |
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 {} |