aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/javassist/bytecode/annotation/ClassMemberValue.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/javassist/bytecode/annotation/ClassMemberValue.java')
-rw-r--r--src/main/javassist/bytecode/annotation/ClassMemberValue.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/javassist/bytecode/annotation/ClassMemberValue.java b/src/main/javassist/bytecode/annotation/ClassMemberValue.java
index e9fd7ec4..495a1e2a 100644
--- a/src/main/javassist/bytecode/annotation/ClassMemberValue.java
+++ b/src/main/javassist/bytecode/annotation/ClassMemberValue.java
@@ -18,6 +18,7 @@ package javassist.bytecode.annotation;
import java.io.IOException;
import java.lang.reflect.Method;
+import java.util.Map;
import javassist.ClassPool;
import javassist.bytecode.BadBytecode;
@@ -95,6 +96,20 @@ public class ClassMemberValue extends MemberValue {
return loadClass(cl, "java.lang.Class");
}
+ @Override
+ public void renameClass(String oldname, String newname) {
+ String value = cp.getUtf8Info(valueIndex);
+ String newValue = Descriptor.rename(value, oldname, newname);
+ setValue(Descriptor.toClassName(newValue));
+ }
+
+ @Override
+ public void renameClass(Map<String, String> classnames) {
+ String value = cp.getUtf8Info(valueIndex);
+ String newValue = Descriptor.rename(value, classnames);
+ setValue(Descriptor.toClassName(newValue));
+ }
+
/**
* Obtains the value of the member.
*