public void splitCodeAndComment(CodeMethod cm) {
		List<String> src = new LinkedList<String>();
		List<String> comment = new LinkedList<String>();
		boolean comment_mode = false; // multi-line comment mode
		String comment_mark = "";
		StringBuilder sb = null;
		for (String sen : cm.body) {
			if (comment_mode) {
				if (sen.trim().endsWith(comment_mark)) {
					sb.append(sen.trim().substring(0, sen.trim().length() - 3));
					comment.add(sb.toString());
					comment_mode = false;
				} else {
					sb.append(sen.trim());
				}
			} else {
				if (sen.trim().startsWith("\"\"\"")
						|| sen.trim().startsWith("'''")) {
					comment_mode = true;
					comment_mark = sen.trim().substring(0, 3);
					sb = new StringBuilder();
					sb.append(sen.trim().substring(3));
				} else if (sen.trim().startsWith("#")) {
					comment.add(sen.trim().substring(1));
				} else {
					String[] tmp = sen.split("#");
					src.add(tmp[0]);
					if (tmp.length > 1) {
						comment.add(tmp[1]);
					}
				}
			}
		}
		cm.body = src;
		cm.comment = comment;
	}