From d8d6c0424b31d43d67ba61fc72e3ecb4708108c0 Mon Sep 17 00:00:00 2001 From: iga Date: Tue, 1 Apr 2014 21:22:34 +0900 Subject: [PATCH] save --- .../src/jp/igapyon/jcfa/JavaClassFileAnalyzer.java | 6 +++++ jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java | 26 ++++++++++++++++++++-- jcfa/src/jp/igapyon/jcfa/vo/JcfaMethod.java | 20 +++++++++++++++++ .../output/test/TestJavaClass001.jcfa | 6 +++-- 4 files changed, 54 insertions(+), 4 deletions(-) diff --git a/jcfa/src/jp/igapyon/jcfa/JavaClassFileAnalyzer.java b/jcfa/src/jp/igapyon/jcfa/JavaClassFileAnalyzer.java index a11794f..1ae2884 100644 --- a/jcfa/src/jp/igapyon/jcfa/JavaClassFileAnalyzer.java +++ b/jcfa/src/jp/igapyon/jcfa/JavaClassFileAnalyzer.java @@ -18,6 +18,7 @@ import org.apache.bcel.classfile.ConstantValue; import org.apache.bcel.classfile.Field; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; +import org.apache.bcel.generic.Type; public class JavaClassFileAnalyzer { protected JcfaUnit jcfaUnit = new JcfaUnit(); @@ -156,6 +157,11 @@ public class JavaClassFileAnalyzer { jcfaMethod.getComment().getCommentList().add("Method."); } + for (Type type : method.getArgumentTypes()) { + jcfaMethod.getComment().getCommentList().add(type.toString()); + } + jcfaMethod.setType(method.getReturnType().getSignature()); + final Code code = method.getCode(); if (code == null) { return; diff --git a/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java b/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java index d24d4a0..0917c22 100644 --- a/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java +++ b/jcfa/src/jp/igapyon/jcfa/util/JcfaWriteUtil.java @@ -84,6 +84,13 @@ public class JcfaWriteUtil { result.append(";"); } + /** + * Write method. + * + * @param jcfaClass + * @param jcfaMethod + * @param result + */ public static void writeToBuffer(final JcfaClass jcfaClass, final JcfaMethod jcfaMethod, final StringBuffer result) { @@ -92,12 +99,19 @@ public class JcfaWriteUtil { if (jcfaMethod.getName().equals("")) { result.append("public " + jcfaClass.getLocalName() + "() {"); } else { - result.append("public void " + jcfaMethod.getName() + "() {"); + result.append("public " + jcfaMethod.getType() + " " + + jcfaMethod.getName() + "() {"); } result.append("}"); } + /** + * Write comment. + * + * @param jcfaComment + * @param result + */ public static void writeToBuffer(final JcfaComment jcfaComment, final StringBuffer result) { if (jcfaComment.isJavaDoc()) { @@ -106,8 +120,16 @@ public class JcfaWriteUtil { result.append("\n/* "); } + if (jcfaComment.getCommentList().size() > 1) { + result.append("\n"); + } + for (String comment : jcfaComment.getCommentList()) { - result.append(" " + comment + " "); + if (jcfaComment.getCommentList().size() > 1) { + result.append(" * " + comment + "\n"); + } else { + result.append(comment); + } } result.append(" */\n"); diff --git a/jcfa/src/jp/igapyon/jcfa/vo/JcfaMethod.java b/jcfa/src/jp/igapyon/jcfa/vo/JcfaMethod.java index 34cdbcf..8e6b3e0 100644 --- a/jcfa/src/jp/igapyon/jcfa/vo/JcfaMethod.java +++ b/jcfa/src/jp/igapyon/jcfa/vo/JcfaMethod.java @@ -3,12 +3,32 @@ package jp.igapyon.jcfa.vo; public class JcfaMethod extends JcfaNode { protected String name; + protected String type; + + protected String access; + + public String getAccess() { + return access; + } + public String getName() { return name; } + public String getType() { + return type; + } + + public void setAccess(String access) { + this.access = access; + } + public void setName(String name) { this.name = name; } + public void setType(String type) { + this.type = type; + } + } diff --git a/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa b/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa index 030a2ae..c8fd808 100644 --- a/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa +++ b/jcfa/testJavaClass/output/test/TestJavaClass001.jcfa @@ -6,7 +6,9 @@ public class TestJavaClass001 { public TestJavaClass001() { } - /** Method. */ - public void main() { + /** + * Method. java.lang.String[] + */ + public V main() { } } \ No newline at end of file -- 2.11.0