import jp.igapyon.jcfa.util.JcfaUtil;\r
import jp.igapyon.jcfa.util.JcfaWriteUtil;\r
import jp.igapyon.jcfa.vo.JcfaClass;\r
+import jp.igapyon.jcfa.vo.JcfaCode;\r
import jp.igapyon.jcfa.vo.JcfaField;\r
import jp.igapyon.jcfa.vo.JcfaMethod;\r
import jp.igapyon.jcfa.vo.JcfaUnit;\r
\r
final byte[] codes = code.getCode();\r
for (int pc = 0; pc < codes.length; pc++) {\r
- final short opcode = JcfaUtil.byte2UnsignedByte(codes[pc]);\r
- short operands = Constants.NO_OF_OPERANDS[opcode];\r
+ final JcfaCode jcfaCode = new JcfaCode();\r
+ jcfaMethod.getCodeList().add(jcfaCode);\r
+\r
+ jcfaCode.setOpcode(JcfaUtil.byte2UnsignedByte(codes[pc]));\r
+ jcfaCode.getComment().getCommentList()\r
+ .add("opcode: " + jcfaCode.getOpcode());\r
+\r
+ short operands = Constants.NO_OF_OPERANDS[jcfaCode.getOpcode()];\r
if (operands < 0) {\r
- System.err.println(" TODO negative value:"\r
- + Constants.OPCODE_NAMES[opcode] + ": " + operands);\r
- // break;\r
+ jcfaCode.getComment()\r
+ .getCommentList()\r
+ .add("TODO negative value:"\r
+ + Constants.OPCODE_NAMES[jcfaCode.getOpcode()]\r
+ + ": " + operands);\r
+ break;\r
}\r
\r
- switch (opcode) {\r
+ switch (jcfaCode.getOpcode()) {\r
case Constants.RETURN: {\r
System.out.println(" " + pc + ": "\r
- + Constants.OPCODE_NAMES[opcode]);\r
+ + Constants.OPCODE_NAMES[jcfaCode.getOpcode()]);\r
break;\r
}\r
case Constants.GETSTATIC: {\r
System.out.println(" "\r
+ pc\r
+ ": "\r
- + Constants.OPCODE_NAMES[opcode]\r
+ + Constants.OPCODE_NAMES[jcfaCode.getOpcode()]\r
+ ": "\r
+ JcfaUtil.getConstantFieldrefString(jc, codes[pc + 1],\r
codes[pc + 2]));\r
}\r
case Constants.LDC: {\r
System.out.println(" " + pc + ": "\r
- + Constants.OPCODE_NAMES[opcode] + ": "\r
+ + Constants.OPCODE_NAMES[jcfaCode.getOpcode()] + ": "\r
+ JcfaUtil.getConstantString(jc, codes[pc + 1]));\r
}\r
break;\r
final int operand = JcfaUtil.byte2UnsignedShort(codes[pc + 1],\r
codes[pc + 2]);\r
System.out.println(" " + pc + ": "\r
- + Constants.OPCODE_NAMES[opcode] + ": "\r
+ + Constants.OPCODE_NAMES[jcfaCode.getOpcode()] + ": "\r
+ JcfaUtil.getConstantMethodRefString(jc, operand));\r
}\r
break;\r
break;\r
default: {\r
System.out.println(" " + pc + ": "\r
- + Constants.OPCODE_NAMES[opcode] + " (" + operands\r
- + ")");\r
+ + Constants.OPCODE_NAMES[jcfaCode.getOpcode()] + " ("\r
+ + operands + ")");\r
}\r
break;\r
}\r
import java.io.OutputStreamWriter;
import jp.igapyon.jcfa.vo.JcfaClass;
+import jp.igapyon.jcfa.vo.JcfaCode;
import jp.igapyon.jcfa.vo.JcfaComment;
import jp.igapyon.jcfa.vo.JcfaField;
import jp.igapyon.jcfa.vo.JcfaMethod;
result.append(")");
result.append("{");
+
+ for (JcfaCode jcfaCode : jcfaMethod.getCodeList()) {
+ writeToBuffer(jcfaCode.getComment(), result);
+ }
+
result.append("}");
}
protected String access;
+ protected final List<JcfaCode> codeList = new ArrayList<JcfaCode>();
+
public String getAccess() {
return access;
}
return arugumentTypeList;
}
+ public List<JcfaCode> getCodeList() {
+ return codeList;
+ }
+
public String getName() {
return name;
}
/** Default constructor. */
public JcfaClass() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 18 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 4 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/** Method. */
public java.lang.String getAccess() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getExtendsName() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.util.List getFieldList() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getLocalName() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 18 */
+
+ /* opcode: 182 */
+
+ /* opcode: 76 */
+
+ /* opcode: 43 */
+
+ /* opcode: 43 */
+
+ /* opcode: 190 */
+
+ /* opcode: 4 */
+
+ /* opcode: 100 */
+
+ /* opcode: 50 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.util.List getMethodList() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getName() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public boolean isMainClass() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 172 */
}
/**
* Method. java.lang.String
*/
public void setAccess(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setExtendsName(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. boolean
*/
public void setMainClass(boolean arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 27 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setName(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
/** Default constructor. */
public JcfaComment() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 3 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/** Method. */
public java.util.List getCommentList() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public boolean isJavaDoc() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 172 */
}
/**
* Method. java.util.List
*/
public void setCommentList(java.util.List arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. boolean
*/
public void setJavaDoc(boolean arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 27 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
/** Default constructor. */
public JcfaField() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 177 */
}
/** Method. */
public java.lang.String getAccess() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getConstantValue() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getName() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getType() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/**
* Method. java.lang.String
*/
public void setAccess(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setConstantValue(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setName(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setType(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
protected final java.util.List arugumentTypeList;
/** */
protected java.lang.String access;
+ /** */
+ protected final java.util.List codeList;
/** Default constructor. */
public JcfaMethod() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/** Method. */
public java.lang.String getAccess() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.util.List getArugumentTypeList() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
+ }
+
+ /** Method. */
+ public java.util.List getCodeList() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getName() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getType() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/**
* Method. java.lang.String
*/
public void setAccess(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setName(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String
*/
public void setType(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
/** Default constructor. */
public JcfaNode() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/** Method. */
public jp.igapyon.jcfa.vo.JcfaComment getComment() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/**
* Method. jp.igapyon.jcfa.vo.JcfaComment
*/
public void setComment(jp.igapyon.jcfa.vo.JcfaComment arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
/** Default constructor. */
public JcfaUnit() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 187 */
+
+ /* opcode: 89 */
+
+ /* opcode: 183 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/** Method. */
public java.util.List getClassList() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.lang.String getName() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/** Method. */
public java.io.File getTargetFile() {
+ /* opcode: 42 */
+
+ /* opcode: 180 */
+
+ /* opcode: 176 */
}
/**
* Method. java.lang.String
*/
public void setName(java.lang.String arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
/**
* Method. java.io.File
*/
public void setTargetFile(java.io.File arg0) {
+ /* opcode: 42 */
+
+ /* opcode: 43 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
public class TestJavaClass001 {
/** Default constructor. */
public TestJavaClass001() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 177 */
}
/**
* Method. java.lang.String[]
*/
public void main(java.lang.String[] arg0) {
+ /* opcode: 178 */
+
+ /* opcode: 18 */
+
+ /* opcode: 182 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
/** Default constructor. */
public TestJavaClass002() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 6 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
/** Default constructor. */
public TestJavaClass003() {
+ /* opcode: 42 */
+
+ /* opcode: 183 */
+
+ /* opcode: 42 */
+
+ /* opcode: 4 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 5 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 6 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 7 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 8 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 16 */
+
+ /* opcode: 181 */
+
+ /* opcode: 42 */
+
+ /* opcode: 16 */
+
+ /* opcode: 181 */
+
+ /* opcode: 177 */
}
}
\ No newline at end of file
+++ /dev/null
-package jp.igapyon.jcfa.vo;
-
-/** TODO import func. is missing. */
-public class JcfaClass extends jp.igapyon.jcfa.vo.JcfaNode {
- /** */
- protected java.lang.String access;
- /** */
- protected java.lang.String name;
- /** */
- protected java.lang.String extendsName;
- /** */
- protected boolean isMainClass;
- /** */
- protected final java.util.List fieldList;
- /** */
- protected final java.util.List methodList;
-
- /** Default constructor. */
- public JcfaClass() {
- }
-
- /** Method. */
- public java.lang.String getAccess() {
- }
-
- /** Method. */
- public java.lang.String getExtendsName() {
- }
-
- /** Method. */
- public java.util.List getFieldList() {
- }
-
- /** Method. */
- public java.lang.String getLocalName() {
- }
-
- /** Method. */
- public java.util.List getMethodList() {
- }
-
- /** Method. */
- public java.lang.String getName() {
- }
-
- /** Method. */
- public boolean isMainClass() {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setAccess(java.lang.String arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setExtendsName(java.lang.String arg0) {
- }
-
- /**
- * Method. boolean
- */
- public void setMainClass(boolean arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setName(java.lang.String arg0) {
- }
-}
\ No newline at end of file
+++ /dev/null
-package jp.igapyon.jcfa.vo;
-
-/** TODO import func. is missing. */
-public class JcfaComment {
- /** */
- protected boolean isJavaDoc;
- /** */
- protected java.util.List commentList;
-
- /** Default constructor. */
- public JcfaComment() {
- }
-
- /** Method. */
- public java.util.List getCommentList() {
- }
-
- /** Method. */
- public boolean isJavaDoc() {
- }
-
- /**
- * Method. java.util.List
- */
- public void setCommentList(java.util.List arg0) {
- }
-
- /**
- * Method. boolean
- */
- public void setJavaDoc(boolean arg0) {
- }
-}
\ No newline at end of file
+++ /dev/null
-package jp.igapyon.jcfa.vo;
-
-/** TODO import func. is missing. */
-public class JcfaField extends jp.igapyon.jcfa.vo.JcfaNode {
- /** */
- protected java.lang.String name;
- /** */
- protected java.lang.String type;
- /** */
- protected java.lang.String access;
- /** */
- protected java.lang.String constantValue;
-
- /** Default constructor. */
- public JcfaField() {
- }
-
- /** Method. */
- public java.lang.String getAccess() {
- }
-
- /** Method. */
- public java.lang.String getConstantValue() {
- }
-
- /** Method. */
- public java.lang.String getName() {
- }
-
- /** Method. */
- public java.lang.String getType() {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setAccess(java.lang.String arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setConstantValue(java.lang.String arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setName(java.lang.String arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setType(java.lang.String arg0) {
- }
-}
\ No newline at end of file
+++ /dev/null
-package jp.igapyon.jcfa.vo;
-
-/** TODO import func. is missing. */
-public class JcfaMethod extends jp.igapyon.jcfa.vo.JcfaNode {
- /** */
- protected java.lang.String name;
- /** */
- protected java.lang.String type;
- /** */
- protected final java.util.List arugumentTypeList;
- /** */
- protected java.lang.String access;
-
- /** Default constructor. */
- public JcfaMethod() {
- }
-
- /** Method. */
- public java.lang.String getAccess() {
- }
-
- /** Method. */
- public java.util.List getArugumentTypeList() {
- }
-
- /** Method. */
- public java.lang.String getName() {
- }
-
- /** Method. */
- public java.lang.String getType() {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setAccess(java.lang.String arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setName(java.lang.String arg0) {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setType(java.lang.String arg0) {
- }
-}
\ No newline at end of file
+++ /dev/null
-package jp.igapyon.jcfa.vo;
-
-/** TODO import func. is missing. */
-public class JcfaNode {
- /** */
- protected jp.igapyon.jcfa.vo.JcfaComment jcfaComment;
-
- /** Default constructor. */
- public JcfaNode() {
- }
-
- /** Method. */
- public jp.igapyon.jcfa.vo.JcfaComment getComment() {
- }
-
- /**
- * Method. jp.igapyon.jcfa.vo.JcfaComment
- */
- public void setComment(jp.igapyon.jcfa.vo.JcfaComment arg0) {
- }
-}
\ No newline at end of file
+++ /dev/null
-package jp.igapyon.jcfa.vo;
-
-/** TODO import func. is missing. */
-public class JcfaUnit extends jp.igapyon.jcfa.vo.JcfaNode {
- /** */
- protected java.lang.String name;
- /** */
- protected java.io.File targetFile;
- /** */
- protected final java.util.List classList;
-
- /** Default constructor. */
- public JcfaUnit() {
- }
-
- /** Method. */
- public java.util.List getClassList() {
- }
-
- /** Method. */
- public java.lang.String getName() {
- }
-
- /** Method. */
- public java.io.File getTargetFile() {
- }
-
- /**
- * Method. java.lang.String
- */
- public void setName(java.lang.String arg0) {
- }
-
- /**
- * Method. java.io.File
- */
- public void setTargetFile(java.io.File arg0) {
- }
-}
\ No newline at end of file