diff options
author | chibash <chiba@javassist.org> | 2013-12-02 01:51:27 +0900 |
---|---|---|
committer | chibash <chiba@javassist.org> | 2013-12-02 01:51:27 +0900 |
commit | 81215a06fb666657faca5dc55e9373baaaf8a039 (patch) | |
tree | d195bf752f6c129591c4e819aff4c361957689f4 /src/test | |
parent | f2106b67e240fb43ce218216092901c85b088329 (diff) | |
download | javassist-81215a06fb666657faca5dc55e9373baaaf8a039.tar.gz javassist-81215a06fb666657faca5dc55e9373baaaf8a039.zip |
fixed JASSIST-212
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/javassist/JvstTest4.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/javassist/JvstTest4.java b/src/test/javassist/JvstTest4.java index 85ee4b0f..df4533bb 100644 --- a/src/test/javassist/JvstTest4.java +++ b/src/test/javassist/JvstTest4.java @@ -919,4 +919,23 @@ public class JvstTest4 extends JvstTestRoot { } catch (Exception e) {} } + + public void testJIRA212() throws Exception { + CtClass cc = sloader.get("test4.JIRA212"); + for (final CtBehavior behavior : cc.getDeclaredBehaviors()) { + behavior.instrument(new ExprEditor() { + public void edit(FieldAccess fieldAccess) throws CannotCompileException { + String fieldName = fieldAccess.getFieldName().substring(0,1).toUpperCase() + fieldAccess.getFieldName().substring(1); + if (fieldAccess.isReader()) { + // Rewrite read access + fieldAccess.replace("$_ = $0.get" + fieldName + "();"); + } else if (fieldAccess.isWriter()) { + // Rewrite write access + fieldAccess.replace("$0.set" + fieldName + "($1);"); + } + }}); + } + cc.writeFile(); + Object obj = make(cc.getName()); + } } |