OSDN Git Service

save
authoriga <tosiki.iga@nifty.ne.jp>
Thu, 3 Apr 2014 11:59:23 +0000 (20:59 +0900)
committeriga <tosiki.iga@nifty.ne.jp>
Thu, 3 Apr 2014 11:59:23 +0000 (20:59 +0900)
13 files changed:
jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java
jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaField.jcfa
jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaFrame.jcfa
jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaMethod.jcfa
jcfa/testJavaClass/output/jp/igapyon/jcfa/vo/JcfaNode.jcfa
jcfa/testJavaClass/output/test/TestJavaClass001.jcfa
jcfa/testJavaClass/output/test/TestJavaClass002.jcfa
jcfa/testJavaClass/output/test/TestJavaClass003.jcfa
jcfa/testJavaClass/output/test/TestJavaClass011.jcfa
jcfa/testJavaClass/output/test/TestJavaClass021.jcfa
jcfa/testJavaClass/output/test/TestJavaClass031.jcfa
jcfa/testJavaClass/output/test/TestJavaClass032.jcfa
jcfa/testJavaClass/output/test/TestJavaClass041.jcfa

index 4fc730b..b090b0b 100644 (file)
@@ -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;
index d2f7ee8..8f2c524 100644 (file)
@@ -20,7 +20,7 @@ public class JcfaField extends jp.igapyon.jcfa.vo.JcfaNode {
                /*
                 * 1: invokespecial jp/igapyon/jcfa/vo/JcfaNode#<init>()V TODO get args
                 * count from signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@a460f0
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@132a3e
                 */
 
                /* 4: return */
index 180abfb..5ebc09e 100644 (file)
@@ -15,7 +15,8 @@ public class JcfaFrame {
 
                /*
                 * 1: invokespecial java/lang/Object#<init>()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#<init>()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#<init>()V TODO
                 * get args count from signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@132a3e
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@e9055b
                 */
 
                /*
index 923bccb..e3884d7 100644 (file)
@@ -24,7 +24,7 @@ public class JcfaMethod extends jp.igapyon.jcfa.vo.JcfaNode {
                /*
                 * 1: invokespecial jp/igapyon/jcfa/vo/JcfaNode#<init>()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#<init>()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#<init>()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#<init>()V TODO get
                 * args count from signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@131a5af
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e9749c
                 */
 
                /*
index 2925d15..2619498 100644 (file)
@@ -13,7 +13,8 @@ public class JcfaNode {
 
                /*
                 * 1: invokespecial java/lang/Object#<init>()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#<init>()V TODO get
                 * args count from signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1b6aea4
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@841c1
                 */
 
                /*
index 605190e..3129916 100644 (file)
@@ -10,7 +10,8 @@ public class TestJavaClass001 {
 
                /*
                 * 1: invokespecial java/lang/Object#<init>()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 */
index 8bc0924..c57192f 100644 (file)
@@ -21,7 +21,7 @@ public class TestJavaClass002 {
                /*
                 * 1: invokespecial java/lang/Object#<init>()V TODO get args count from
                 * signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1ba0e0e
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@164813b
                 */
 
                /*
index 8d75ff0..938bd03 100644 (file)
@@ -26,7 +26,7 @@ public class TestJavaClass003 {
                /*
                 * 1: invokespecial java/lang/Object#<init>()V TODO get args count from
                 * signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@11c8643
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1bc378f
                 */
 
                /*
index 3a35fdd..ee881c7 100644 (file)
@@ -10,7 +10,8 @@ public class TestJavaClass011 {
 
                /*
                 * 1: invokespecial java/lang/Object#<init>()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 */
index b586138..2801885 100644 (file)
@@ -10,7 +10,8 @@ public class TestJavaClass021 {
 
                /*
                 * 1: invokespecial java/lang/Object#<init>()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
                 */
 
                /*
index 78d0af4..7fcdc6d 100644 (file)
@@ -10,7 +10,8 @@ public class TestJavaClass031 {
 
                /*
                 * 1: invokespecial java/lang/Object#<init>()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 */
index 8941933..2c89cd9 100644 (file)
@@ -11,7 +11,7 @@ public class TestJavaClass032 {
                /*
                 * 1: invokespecial java/lang/Object#<init>()V TODO get args count from
                 * signature.
-                * jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1ef1258
+                * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@bc8928
                 */
 
                /* 4: return */
index b98aa12..1a84c29 100644 (file)
@@ -11,7 +11,7 @@ public class TestJavaClass041 {
                /*
                 * 1: invokespecial java/lang/Object#<init>()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#<init>(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 */