import java.io.File;\r
import java.io.IOException;\r
\r
+import jp.igapyon.jcfa.util.JcfaEclipseUtil;\r
import jp.igapyon.jcfa.util.JcfaUtil;\r
import jp.igapyon.jcfa.vo.JcfaClass;\r
import jp.igapyon.jcfa.vo.JcfaField;\r
\r
jcfaUnit.setTargetFile(new File(actualyTargetDir,\r
split[split.length - 1] + ".jcfa"));\r
- \r
- \r
+\r
+ writeToFile(jcfaUnit);\r
} catch (ClassFormatException e) {\r
e.printStackTrace();\r
} catch (IOException e) {\r
}\r
}\r
\r
+ private void writeToFile(final JcfaUnit jcfaUnit) {\r
+ final StringBuffer result = new StringBuffer();\r
+ for (JcfaClass jcfaClass : jcfaUnit.getClassList()) {\r
+ writeToBuffer(jcfaClass, result);\r
+ }\r
+\r
+ System.out.println(JcfaEclipseUtil.formatSource(result.toString()));\r
+ }\r
+\r
+ private void writeToBuffer(final JcfaClass jcfaClass,\r
+ final StringBuffer result) {\r
+ result.append(jcfaClass.getAccess());\r
+ result.append(" class " + jcfaClass.getLocalName());\r
+ if (jcfaClass.getExtendsName() != null\r
+ && jcfaClass.getExtendsName().length() > 0\r
+ && jcfaClass.getExtendsName().equals("java.lang.Object") == false) {\r
+ result.append(" extends " + jcfaClass.getExtendsName());\r
+ }\r
+ result.append("{");\r
+\r
+ for (JcfaField jcfaField : jcfaClass.getFieldList()) {\r
+ writeToBuffer(jcfaField, result);\r
+ }\r
+\r
+ for (JcfaMethod jcfaMethod : jcfaClass.getMethodList()) {\r
+ writeToBuffer(jcfaMethod, result);\r
+ }\r
+\r
+ result.append("}");\r
+ }\r
+\r
+ private void writeToBuffer(final JcfaField jcfaField,\r
+ final StringBuffer result) {\r
+\r
+ }\r
+\r
+ private void writeToBuffer(final JcfaMethod jcfaMethod,\r
+ final StringBuffer result) {\r
+\r
+ }\r
+\r
private void analyzeFields(final JavaClass jc, final JcfaClass jcfaClass) {\r
final org.apache.bcel.classfile.Field[] fields = jc.getFields();\r
for (int indexField = 0; indexField < fields.length; indexField++) {\r
* @return Formatted source.
*/
public static String formatSource(final String source) {
+ if (false)
+ System.out.println("TRACE: " + source);
+
final CodeFormatter cf = ToolFactory.createCodeFormatter(null);
final TextEdit te = cf.format(CodeFormatter.K_UNKNOWN, source, 0,
source.length(), 0, null);