確認用のprint文を削除.
1 parent 18984c7 commit 1a5f43fd47af30f6328b08d2980a682f7d62f52e
r-isitani authored on 11 Dec 2018
Showing 1 changed file
View
14
org.ntlab.reverseDebugger/src/org/ntlab/reverseDebugger/analyzerProvider/ReverseDebuggerAnalyzer.java
 
public class ReverseDebuggerAnalyzer {
 
public static ArrayList<Alias> findAllStartAlias(MethodExecution me) {
System.out.println("OnlineTraceAnalyzer#findAllStartAlias(MethodExecution)が呼ばれたよ!");
ArrayList<Alias> startAliasList = new ArrayList<>();
List<Statement> statements = me.getStatements();
String[] primitives = {"byte", "short", "int", "long", "float", "double", "char", "boolean"};
List<String> primitiveList = Arrays.asList(primitives);
}
}
}
}
for (Alias startAlias : startAliasList) {
System.out.println(startAlias);
}
return startAliasList;
}
 
private static TracePoint getRecentlyFieldUpdate(TracePoint tp) {
System.out.println("OnlineTraceAnalyzer#getRecentlyFieldUpdate(TracePoint)が呼ばれたよ!");
Statement statement = tp.getStatement();
if (statement instanceof FieldAccess) {
FieldAccess fa = (FieldAccess)statement;
// return TraceJSON.getFieldUpdateTracePoint(fa.getContainerObjId(), fa.getFieldName(), tp);
return null;
}
private static TracePoint getRecentlyArrayUpdate(TracePoint tp) {
System.out.println("OnlineTraceAnalyzer#getRecentlyArrayUpdate(TracePoint)が呼ばれたよ!");
Statement statement = tp.getStatement();
if (statement instanceof ArrayAccess) {
ArrayAccess aa = (ArrayAccess)statement;
// return TraceJSON.getArrayUpdateTracePoint(aa.getArrayObjectId(), aa.getIndex(), tp);
return null;
}
 
public static ArrayList<ArrayList<Alias>> getObjectFlow(Alias startAlias) {
System.out.println("OnlineTraceAnalyzer#getObjectFlow(Alias)が呼ばれたよ!");
ArrayList<ArrayList<Alias>> aliasLists = new ArrayList<>();
ArrayList<Alias> aliasList = new ArrayList<>();
aliasLists.add(aliasList);
// aliasList.add(alias);
// if (lastAliasOccurrenceEXP != Alias.OCCURRENCE_EXP_RETURN) {
// resultLists.remove(resultList); // 末尾のエイリアスが配列生成やコンストラクタ呼び出しではないリストを削除する
// }
// }
for (List<Alias> resultList : resultLists) {
for (Alias resultAlias : resultList) {
System.out.println(resultAlias);
}
}
return resultLists;
}
 
private static ArrayList<ArrayList<Alias>> getObjectFlow(ArrayList<ArrayList<Alias>> aliasLists,
String objId, TracePoint tp, int side) {
System.out.println("OnlineTraceAnalyzer#getObjectFlow(ArrayList, String, TracePoint, int)が呼ばれたよ!");
ArrayList<Alias> aliasList = aliasLists.get(aliasLists.size() - 1); // このgetObjectFlowメソッド実行内で見つかったエイリアスを入れていくリスト
do {
Statement statement = tp.getStatement();
if (statement instanceof FieldAccess) {
return aliasLists;
}
public static int countMethodExecutionInTraceCollector(List<MethodExecution> methodExecutions, String targetSignature, int count, String indent) {
System.out.println("OnlineTraceAnalyzer#countMethodExecutionInTraceCollector(List, String, int, String)が呼ばれたよ!");
if (methodExecutions == null || methodExecutions.isEmpty()) {
return count;
}
for (int i = 0; i < methodExecutions.size(); i++) {