Skip to content
This repository was archived by the owner on May 13, 2025. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 24 additions & 3 deletions src/main/java/jp/naist/sd/kenja/factextractor/ast/ASTMethod.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package jp.naist.sd.kenja.factextractor.ast;

import java.lang.reflect.Modifier;
import java.util.List;

import jp.naist.sd.kenja.factextractor.Blob;
Expand All @@ -13,11 +14,13 @@ public class ASTMethod implements Treeable{

private Blob body;
private Blob parameters;
private Blob modifiers;

private Tree root;

private static final String BODY_BLOB_NAME = "body";
private static final String PARAMETERS_BLOB_NAME = "parameters";
private static final String MODIFIERS_BLOB_NAME = "modifiers";

private boolean isConstructor;

Expand All @@ -34,6 +37,9 @@ protected ASTMethod(MethodDeclaration node){
isConstructor = node.isConstructor();
setBody(node);
setParameters(node.parameters());

int methodModifiers = node.getModifiers();
setModifiers(methodModifiers);
}

private String getTreeName(MethodDeclaration node){
Expand All @@ -59,8 +65,8 @@ private void setBody(MethodDeclaration node){
body.setBody("");
else
body.setBody(node.getBody().toString());
root.append(body);

root.append(body);
}

private void setParameters(List parametersList){
Expand All @@ -76,7 +82,22 @@ private void setParameters(List parametersList){
}
parameters.setBody(parameterBody);
}


private void setModifiers(int modifiers_num){
modifiers = new Blob(MODIFIERS_BLOB_NAME);
root.append(modifiers);

if (Modifier.isPrivate(modifiers_num)) {
modifiers.setBody("private\n");
} else if (Modifier.isProtected(modifiers_num)) {
modifiers.setBody("protected\n");
} else if (Modifier.isPublic(modifiers_num)) {
modifiers.setBody("public\n");
} else {
modifiers.setBody("internal\n");
}
}

public String getName() {
return rootTreeName;
}
Expand Down