OSDN Git Service

save
[jcfa/jcfa.git] / jcfa / src / jp / igapyon / jcfa / util / JcfaWriteUtil.java
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;