From 08ea921a4773ea07822e51e7340bb8ded624c680 Mon Sep 17 00:00:00 2001 From: iga Date: Thu, 3 Apr 2014 20:59:23 +0900 Subject: [PATCH] save --- jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java | 17 ++++++++++++----- .../output/jp/igapyon/jcfa/vo/JcfaField.jcfa | 2 +- .../output/jp/igapyon/jcfa/vo/JcfaFrame.jcfa | 7 ++++--- .../output/jp/igapyon/jcfa/vo/JcfaMethod.jcfa | 8 ++++---- .../output/jp/igapyon/jcfa/vo/JcfaNode.jcfa | 5 +++-- jcfa/testJavaClass/output/test/TestJavaClass001.jcfa | 8 +++++--- jcfa/testJavaClass/output/test/TestJavaClass002.jcfa | 2 +- jcfa/testJavaClass/output/test/TestJavaClass003.jcfa | 2 +- jcfa/testJavaClass/output/test/TestJavaClass011.jcfa | 8 +++++--- jcfa/testJavaClass/output/test/TestJavaClass021.jcfa | 6 ++++-- jcfa/testJavaClass/output/test/TestJavaClass031.jcfa | 3 ++- jcfa/testJavaClass/output/test/TestJavaClass032.jcfa | 2 +- jcfa/testJavaClass/output/test/TestJavaClass041.jcfa | 6 +++--- 13 files changed, 46 insertions(+), 30 deletions(-) diff --git a/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java b/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java index 4fc730b..b090b0b 100644 --- a/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java +++ b/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java @@ -14,6 +14,7 @@ import jp.igapyon.jcfa.vo.JcfaUnit; import jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable; import jp.igapyon.jcfa.vo.operandstack.JcfaOSNode; import jp.igapyon.jcfa.vo.operandstack.JcfaOSRef; +import jp.igapyon.jcfa.vo.operandstack.JcfaOSString; import org.apache.bcel.Constants; import org.apache.bcel.classfile.JavaClass; @@ -164,8 +165,12 @@ public class JcfaWriteUtil { break; } case Constants.LDC: { + final JcfaOSString osString = new JcfaOSString(); + jcfaMethod.getFrame().getOperandStack().push(osString); + osString.setString(JcfaUtil.getConstantString(jc, codes[1])); + jcfaCode.getComment().getCommentList() - .add(JcfaUtil.getConstantString(jc, codes[1])); + .add(osString.getString()); } break; case Constants.INVOKEVIRTUAL: @@ -181,11 +186,13 @@ public class JcfaWriteUtil { final JcfaOSNode osNodeArg0 = jcfaMethod.getFrame() .getOperandStack().pop(); - // final JcfaOSRef osRef = (JcfaOSRef) jcfaMethod.getFrame() - // .getOperandStack().pop(); + final JcfaOSRef osRef = (JcfaOSRef) jcfaMethod.getFrame() + .getOperandStack().pop(); - jcfaCode.getComment().getCommentList() - .add("" + osNodeArg0.toString()); + jcfaCode.getComment() + .getCommentList() + .add("" + osRef.getClassName() + "#" + + osNodeArg0.toString()); } break; diff --git a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaField.jcfa b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaField.jcfa index d2f7ee8..8f2c524 100644 --- a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaField.jcfa +++ b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaField.jcfa @@ -20,7 +20,7 @@ public class JcfaField extends jp.igapyon.jcfa.vo.JcfaNode { /* * 1: invokespecial jp/igapyon/jcfa/vo/JcfaNode#()V TODO get args * count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@a460f0 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@132a3e */ /* 4: return */ diff --git a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaFrame.jcfa b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaFrame.jcfa index 180abfb..5ebc09e 100644 --- a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaFrame.jcfa +++ b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaFrame.jcfa @@ -15,7 +15,8 @@ public class JcfaFrame { /* * 1: invokespecial java/lang/Object#()V TODO get args count from - * signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@74c252 + * signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e6c23c */ /* @@ -33,7 +34,7 @@ public class JcfaFrame { /* * 9: invokespecial java/util/ArrayList#()V TODO get args count * from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@181ab44 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@da1a1f */ /* @@ -55,7 +56,7 @@ public class JcfaFrame { /* * 20: invokespecial jp/igapyon/jcfa/vo/JcfaOperandStack#()V TODO * get args count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@132a3e + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@e9055b */ /* diff --git a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaMethod.jcfa b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaMethod.jcfa index 923bccb..e3884d7 100644 --- a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaMethod.jcfa +++ b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaMethod.jcfa @@ -24,7 +24,7 @@ public class JcfaMethod extends jp.igapyon.jcfa.vo.JcfaNode { /* * 1: invokespecial jp/igapyon/jcfa/vo/JcfaNode#()V TODO get args * count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1d8623b + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@3a4d82 */ /* @@ -42,7 +42,7 @@ public class JcfaMethod extends jp.igapyon.jcfa.vo.JcfaNode { /* * 9: invokespecial java/util/ArrayList#()V TODO get args count * from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@119510f + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1b6aea4 */ /* @@ -64,7 +64,7 @@ public class JcfaMethod extends jp.igapyon.jcfa.vo.JcfaNode { /* * 20: invokespecial java/util/ArrayList#()V TODO get args count * from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@118dc75 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@83d070 */ /* @@ -86,7 +86,7 @@ public class JcfaMethod extends jp.igapyon.jcfa.vo.JcfaNode { /* * 31: invokespecial jp/igapyon/jcfa/vo/JcfaFrame#()V TODO get * args count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@131a5af + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e9749c */ /* diff --git a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaNode.jcfa b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaNode.jcfa index 2925d15..2619498 100644 --- a/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaNode.jcfa +++ b/jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaNode.jcfa @@ -13,7 +13,8 @@ public class JcfaNode { /* * 1: invokespecial java/lang/Object#()V TODO get args count from - * signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@3a4d82 + * signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@5eae58 */ /* @@ -31,7 +32,7 @@ public class JcfaNode { /* * 9: invokespecial jp/igapyon/jcfa/vo/JcfaComment#()V TODO get * args count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1b6aea4 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@841c1 */ /* diff --git a/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa index 605190e..3129916 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa @@ -10,7 +10,8 @@ public class TestJavaClass001 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from - * signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@c9560e + * signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1670f2b */ /* 4: return */ @@ -30,8 +31,9 @@ public class TestJavaClass001 { /* * 5: invokevirtual java/io/PrintStream#println(Ljava/lang/String;)V - * TODO get args count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@30d77d + * TODO get args count from signature. java.lang.System#out + * type:Ljava/io + * /PrintStream;#jp.igapyon.jcfa.vo.operandstack.JcfaOSString@114f7c0 */ /* 8: return */ diff --git a/jcfa/testJavaClass/output/test/TestJavaClass002.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass002.jcfa index 8bc0924..c57192f 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass002.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass002.jcfa @@ -21,7 +21,7 @@ public class TestJavaClass002 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from * signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1ba0e0e + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@164813b */ /* diff --git a/jcfa/testJavaClass/output/test/TestJavaClass003.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass003.jcfa index 8d75ff0..938bd03 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass003.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass003.jcfa @@ -26,7 +26,7 @@ public class TestJavaClass003 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from * signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@11c8643 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1bc378f */ /* diff --git a/jcfa/testJavaClass/output/test/TestJavaClass011.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass011.jcfa index 3a35fdd..ee881c7 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass011.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass011.jcfa @@ -10,7 +10,8 @@ public class TestJavaClass011 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from - * signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@22b7f8 + * signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@e1ccdf */ /* 4: return */ @@ -28,8 +29,9 @@ public class TestJavaClass011 { /* * 5: invokevirtual java/io/PrintStream#println(Ljava/lang/String;)V - * TODO get args count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@15c0729 + * TODO get args count from signature. java.lang.System#out + * type:Ljava/io + * /PrintStream;#jp.igapyon.jcfa.vo.operandstack.JcfaOSString@51762a */ /* 8: return */ diff --git a/jcfa/testJavaClass/output/test/TestJavaClass021.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass021.jcfa index b586138..2801885 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass021.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass021.jcfa @@ -10,7 +10,8 @@ public class TestJavaClass021 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from - * signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@9d5bae + * signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1d0bf38 */ /* 4: return */ @@ -40,7 +41,8 @@ public class TestJavaClass021 { /* * 9: invokevirtual java/io/PrintStream#println(I)V TODO get args count - * from signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@ee25db + * from signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@1ba0e0e */ /* diff --git a/jcfa/testJavaClass/output/test/TestJavaClass031.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass031.jcfa index 78d0af4..7fcdc6d 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass031.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass031.jcfa @@ -10,7 +10,8 @@ public class TestJavaClass031 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from - * signature. jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@8df070 + * signature. + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@181ab44 */ /* 4: return */ diff --git a/jcfa/testJavaClass/output/test/TestJavaClass032.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass032.jcfa index 8941933..2c89cd9 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass032.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass032.jcfa @@ -11,7 +11,7 @@ public class TestJavaClass032 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from * signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1ef1258 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@bc8928 */ /* 4: return */ diff --git a/jcfa/testJavaClass/output/test/TestJavaClass041.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass041.jcfa index b98aa12..1a84c29 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass041.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass041.jcfa @@ -11,7 +11,7 @@ public class TestJavaClass041 { /* * 1: invokespecial java/lang/Object#()V TODO get args count from * signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1b2d8e0 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e39a7c */ /* 4: return */ @@ -35,7 +35,7 @@ public class TestJavaClass041 { * 6: invokespecial * java/lang/IllegalArgumentException#(Ljava/lang/String;)V TODO * get args count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@bc8928 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSString@1b34d17 */ /* @@ -54,7 +54,7 @@ public class TestJavaClass041 { * 12: invokevirtual * java/lang/IllegalArgumentException#printStackTrace()V TODO get args * count from signature. - * jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@1d0bf38 + * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@8a43ba */ /* 15: return */ -- 2.11.0