import jp.igapyon.jcfa.vo.JcfaField;
import jp.igapyon.jcfa.vo.JcfaMethod;
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 jp.igapyon.jcfa.vo.item.JcfaItem;
+import jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable;
+import jp.igapyon.jcfa.vo.item.JcfaItemReference;
import org.apache.bcel.Constants;
import org.apache.bcel.classfile.JavaClass;
switch (jcfaCode.getOpcode()) {
case Constants.ALOAD_0: {
- final JcfaOSLocalVariable osLocalVariable = new JcfaOSLocalVariable();
+ final JcfaItemLocalVariable osLocalVariable = new JcfaItemLocalVariable();
jcfaMethod.getFrame().getOperandStack().push(osLocalVariable);
osLocalVariable.setLocalVariable(jcfaMethod.getFrame()
.getLocalVariableList().get(0));
break;
}
case Constants.GETSTATIC: {
- final JcfaOSRef osRef = new JcfaOSRef();
+ final JcfaItemReference osRef = new JcfaItemReference();
jcfaMethod.getFrame().getOperandStack().push(osRef);
- osRef.setClassName(JcfaUtil.getConstantFieldrefString(jc,
+ osRef.setObject(JcfaUtil.getConstantFieldrefString(jc,
codes[1], codes[2]));
- jcfaCode.getComment().getCommentList()
- .add(osRef.getClassName());
+ jcfaCode.getComment().getCommentList().add(osRef.getObject());
break;
}
case Constants.LDC: {
- final JcfaOSString osString = new JcfaOSString();
+ final JcfaItemReference osString = new JcfaItemReference();
jcfaMethod.getFrame().getOperandStack().push(osString);
- osString.setString(JcfaUtil.getConstantString(jc, codes[1]));
+ osString.setObject(JcfaUtil.getConstantString(jc, codes[1]));
jcfaCode.getComment().getCommentList()
- .add(osString.getString());
+ .add(osString.getObject());
}
break;
case Constants.INVOKEVIRTUAL:
jcfaCode.getComment().getCommentList()
.add("TODO get args count from signature.");
// get n args.
- final JcfaOSNode osNodeArg0 = jcfaMethod.getFrame()
+ final JcfaItem osNodeArg0 = jcfaMethod.getFrame()
.getOperandStack().pop();
- final JcfaOSRef osRef = (JcfaOSRef) jcfaMethod.getFrame()
- .getOperandStack().pop();
+ final JcfaItemReference osRef = (JcfaItemReference) jcfaMethod
+ .getFrame().getOperandStack().pop();
jcfaCode.getComment()
.getCommentList()
- .add("" + osRef.getClassName() + "#"
+ .add("" + osRef.getObject() + "#"
+ osNodeArg0.toString());
}
import java.util.EmptyStackException;
import java.util.Stack;
-import jp.igapyon.jcfa.vo.operandstack.JcfaOSNode;
-import jp.igapyon.jcfa.vo.operandstack.JcfaOSRef;
+import jp.igapyon.jcfa.vo.item.JcfaItem;
+import jp.igapyon.jcfa.vo.item.JcfaItemReference;
public class JcfaOperandStack {
- protected final Stack<JcfaOSNode> operandStack = new Stack<JcfaOSNode>();
+ protected final Stack<JcfaItem> operandStack = new Stack<JcfaItem>();
- public void push(final JcfaOSNode operandStackNode) {
+ public void push(final JcfaItem operandStackNode) {
operandStack.push(operandStackNode);
}
- public JcfaOSNode pop() {
+ public JcfaItem pop() {
try {
return operandStack.pop();
} catch (EmptyStackException ex) {
ex.printStackTrace();
- return new JcfaOSRef();
+ return new JcfaItemReference();
}
}
}
--- /dev/null
+package jp.igapyon.jcfa.vo.item;
+
+public abstract class JcfaItem {
+}
-package jp.igapyon.jcfa.vo.operandstack;
+package jp.igapyon.jcfa.vo.item;
import jp.igapyon.jcfa.vo.JcfaLocalVariable;
-public class JcfaOSLocalVariable extends JcfaOSNode {
+public class JcfaItemLocalVariable extends JcfaItem {
protected JcfaLocalVariable localVariable;
public JcfaLocalVariable getLocalVariable() {
--- /dev/null
+package jp.igapyon.jcfa.vo.item;
+
+public class JcfaItemReference extends JcfaItem {
+ protected String object;
+
+ public String getObject() {
+ return object;
+ }
+
+ public void setObject(String object) {
+ this.object = object;
+ }
+}
+++ /dev/null
-package jp.igapyon.jcfa.vo.operandstack;
-
-public abstract class JcfaOSNode {
-}
+++ /dev/null
-package jp.igapyon.jcfa.vo.operandstack;
-
-public class JcfaOSRef extends JcfaOSNode {
- protected String className;
-
- public String getClassName() {
- return className;
- }
-
- public void setClassName(String className) {
- this.className = className;
- }
-}
+++ /dev/null
-package jp.igapyon.jcfa.vo.operandstack;
-
-public class JcfaOSString extends JcfaOSNode {
- protected String string;
-
- public String getString() {
- return string;
- }
-
- public void setString(String string) {
- this.string = string;
- }
-}
/*
* 1: invokespecial jp/igapyon/jcfa/vo/JcfaNode#<init>()V TODO get args
* count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@132a3e
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@118dc75
*/
/* 4: return */
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e6c23c
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@9046f8
*/
/*
/*
* 9: invokespecial java/util/ArrayList#<init>()V TODO get args count
* from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@da1a1f
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@2364e5
*/
/*
/*
* 20: invokespecial jp/igapyon/jcfa/vo/JcfaOperandStack#<init>()V TODO
* get args count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@e9055b
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@1b51748
*/
/*
/*
* 1: invokespecial jp/igapyon/jcfa/vo/JcfaNode#<init>()V TODO get args
* count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@3a4d82
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@131a5af
*/
/*
/*
* 9: invokespecial java/util/ArrayList#<init>()V TODO get args count
* from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1b6aea4
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@74c252
*/
/*
/*
* 20: invokespecial java/util/ArrayList#<init>()V TODO get args count
* from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@83d070
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@181ab44
*/
/*
/*
* 31: invokespecial jp/igapyon/jcfa/vo/JcfaFrame#<init>()V TODO get
* args count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e9749c
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@132a3e
*/
/*
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@5eae58
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@ba2e7
*/
/*
/*
* 9: invokespecial jp/igapyon/jcfa/vo/JcfaComment#<init>()V TODO get
* args count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@841c1
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@1f3f6ff
*/
/*
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1670f2b
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@ffab3f
*/
/* 4: return */
* 5: invokevirtual java/io/PrintStream#println(Ljava/lang/String;)V
* TODO get args count from signature. java.lang.System#out
* type:Ljava/io
- * /PrintStream;#jp.igapyon.jcfa.vo.operandstack.JcfaOSString@114f7c0
+ * /PrintStream;#jp.igapyon.jcfa.vo.item.JcfaItemReference@143c919
*/
/* 8: return */
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@164813b
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@1bc378f
*/
/*
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1bc378f
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@1d0bf38
*/
/*
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@e1ccdf
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@15c0729
*/
/* 4: return */
* 5: invokevirtual java/io/PrintStream#println(Ljava/lang/String;)V
* TODO get args count from signature. java.lang.System#out
* type:Ljava/io
- * /PrintStream;#jp.igapyon.jcfa.vo.operandstack.JcfaOSString@51762a
+ * /PrintStream;#jp.igapyon.jcfa.vo.item.JcfaItemReference@da1c9f
*/
/* 8: return */
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1d0bf38
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@1475116
*/
/* 4: return */
/*
* 9: invokevirtual java/io/PrintStream#println(I)V TODO get args count
* from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@1ba0e0e
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemReference@11c8643
*/
/*
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@181ab44
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@119510f
*/
/* 4: return */
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@bc8928
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@f75278
*/
/* 4: return */
/*
* 1: invokespecial java/lang/Object#<init>()V TODO get args count from
- * signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSLocalVariable@1e39a7c
+ * signature. null#jp.igapyon.jcfa.vo.item.JcfaItemLocalVariable@1ba0e0e
*/
/* 4: return */
* 6: invokespecial
* java/lang/IllegalArgumentException#<init>(Ljava/lang/String;)V TODO
* get args count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSString@1b34d17
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemReference@1f0d2a3
*/
/*
* 12: invokevirtual
* java/lang/IllegalArgumentException#printStackTrace()V TODO get args
* count from signature.
- * null#jp.igapyon.jcfa.vo.operandstack.JcfaOSRef@8a43ba
+ * null#jp.igapyon.jcfa.vo.item.JcfaItemReference@194e2e5
*/
/* 15: return */