aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorchibash <chiba@javassist.org>2013-12-02 01:51:27 +0900
committerchibash <chiba@javassist.org>2013-12-02 01:51:27 +0900
commit81215a06fb666657faca5dc55e9373baaaf8a039 (patch)
treed195bf752f6c129591c4e819aff4c361957689f4 /src/test
parentf2106b67e240fb43ce218216092901c85b088329 (diff)
downloadjavassist-81215a06fb666657faca5dc55e9373baaaf8a039.tar.gz
javassist-81215a06fb666657faca5dc55e9373baaaf8a039.zip
fixed JASSIST-212
Diffstat (limited to 'src/test')
-rw-r--r--src/test/javassist/JvstTest4.java19
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());
+ }
}