diff --git a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractor.java b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractor.java index a323951..06dc2dc 100644 --- a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractor.java +++ b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractor.java @@ -1,6 +1,7 @@ package org.ntlab.traceDebugger.analyzerProvider; import java.util.ArrayList; +import java.util.List; import org.ntlab.traceAnalysisPlatform.tracer.trace.FieldAccess; import org.ntlab.traceAnalysisPlatform.tracer.trace.FieldUpdate; @@ -36,13 +37,17 @@ protected static final boolean DEBUG1 = true; protected static final boolean DEBUG2 = true; - protected final IAliasCollector defaultAliasCollector = new IAliasCollector() { + protected final IAliasTracker defaultAliasCollector = new IAliasTracker() { @Override public void changeTrackingObject(String from, String to, boolean isSrcSide) { } @Override public void addAlias(Alias alias) { } + @Override + public List getAliasList() { + return null; + } }; public DeltaExtractor(String traceFile) { @@ -103,7 +108,7 @@ * @return ���‚������R�[�f�B�l�[�^ * @throws TraceFileException */ - protected MethodExecution callerSearch(Trace trace, TracePoint tracePoint, ArrayList objList, MethodExecution childMethodExecution, IAliasCollector aliasCollector) { + protected MethodExecution callerSearch(Trace trace, TracePoint tracePoint, ArrayList objList, MethodExecution childMethodExecution, IAliasTracker aliasCollector) { MethodExecution methodExecution = tracePoint.getMethodExecution(); methodExecution.setAugmentation(new DeltaAugmentationInfo()); eStructure.createParent(methodExecution); @@ -510,7 +515,7 @@ * @param index�@objList���̂ǂ̃I�u�W�F�N�g��ǐՂ��Ă��̃��\�b�h���s�ɓ����Ă����̂� * @throws TraceFileException */ - protected void calleeSearch(Trace trace, TracePoint tracePoint, ArrayList objList, Boolean isStatic, int index, IAliasCollector aliasCollector) { + protected void calleeSearch(Trace trace, TracePoint tracePoint, ArrayList objList, Boolean isStatic, int index, IAliasTracker aliasCollector) { MethodExecution methodExecution = tracePoint.getMethodExecution(); Boolean isResolved = false; String objectId = objList.get(index); // calleeSearch() �ł͒ǐՑΏۂ̃I�u�W�F�N�g�͈�‚����A��objList��index�Ԗڂ̗v�f�ȊO�ύX���Ă͂����Ȃ� @@ -801,7 +806,7 @@ * @param aliasCollector �f���^���o���ɒǐՂ����I�u�W�F�N�g�̑S�G�C���A�X�����W���郊�X�i * @return ���o���� */ - public ExtractedStructure extract(Reference targetRef, TracePoint before, IAliasCollector aliasCollector) { + public ExtractedStructure extract(Reference targetRef, TracePoint before, IAliasTracker aliasCollector) { TracePoint creationTracePoint; if (targetRef.isArray()) { // srcId �̔z��� dstId ���������Ă���”\�������郁�\�b�h���s���擾�i�z���p�̏����j @@ -845,7 +850,7 @@ * @param aliasCollector �f���^���o���ɒǐՂ����I�u�W�F�N�g�̑S�G�C���A�X�����W���郊�X�i * @return ���o���� */ - public ExtractedStructure extract(TracePoint creationTracePoint, IAliasCollector aliasCollector) { + public ExtractedStructure extract(TracePoint creationTracePoint, IAliasTracker aliasCollector) { creationTracePoint = creationTracePoint.duplicate(); Statement statement = creationTracePoint.getStatement(); if (statement instanceof FieldUpdate) { @@ -856,7 +861,7 @@ } } - private ExtractedStructure extractSub(TracePoint creationTracePoint, Reference targetRef, IAliasCollector aliasCollector) { + private ExtractedStructure extractSub(TracePoint creationTracePoint, Reference targetRef, IAliasTracker aliasCollector) { eStructure = new ExtractedStructure(); eStructure.setRelatedTracePoint(creationTracePoint.duplicate()); ArrayList objList = new ArrayList(); @@ -893,7 +898,7 @@ * @param aliasCollector �f���^���o���ɒǐՂ����I�u�W�F�N�g�̑S�G�C���A�X�����W���郊�X�i * @return�@���o���� */ - public ExtractedStructure extract(MethodExecution calledMethodExecution, IAliasCollector aliasCollector) { + public ExtractedStructure extract(MethodExecution calledMethodExecution, IAliasTracker aliasCollector) { ObjectReference callee = new ObjectReference(calledMethodExecution.getThisObjId(), calledMethodExecution.getThisClassName()); return extract(calledMethodExecution.getCallerTracePoint(), callee, aliasCollector); } @@ -915,7 +920,7 @@ * @param aliasCollector �f���^���o���ɒǐՂ����I�u�W�F�N�g�̑S�G�C���A�X�����W���郊�X�i * @return ���o���� */ - public ExtractedStructure extract(TracePoint thisTracePoint, ObjectReference anotherObj, IAliasCollector aliasCollector) { + public ExtractedStructure extract(TracePoint thisTracePoint, ObjectReference anotherObj, IAliasTracker aliasCollector) { eStructure = new ExtractedStructure(); eStructure.setRelatedTracePoint(thisTracePoint.duplicate()); MethodExecution methodExecution = thisTracePoint.getMethodExecution(); @@ -935,7 +940,7 @@ return extractSub2(thisTracePoint, objList, aliasCollector); } - private ExtractedStructure extractSub2(TracePoint tracePoint, ArrayList objList, IAliasCollector aliasCollector) { + private ExtractedStructure extractSub2(TracePoint tracePoint, ArrayList objList, IAliasTracker aliasCollector) { eStructure.setCreationMethodExecution(tracePoint.getMethodExecution()); MethodExecution coordinator = callerSearch(trace, tracePoint, objList, null, aliasCollector); eStructure.setCoordinator(coordinator); @@ -989,7 +994,7 @@ * @param aliasCollector �f���^���o���ɒǐՂ����I�u�W�F�N�g�̑S�G�C���A�X�����W���郊�X�i * @return�@���o���� */ - public ExtractedStructure extract(Object srcObj, Object dstObj, TracePoint before, IAliasCollector aliasCollector) { + public ExtractedStructure extract(Object srcObj, Object dstObj, TracePoint before, IAliasTracker aliasCollector) { Reference targetRef = new Reference(Integer.toString(System.identityHashCode(srcObj)), Integer.toString(System.identityHashCode(dstObj)), null, null); return extract(targetRef, before, aliasCollector); } @@ -1010,7 +1015,7 @@ * @param arg ��������ɂ���Q�Ɛ�I�u�W�F�N�g(���[�J���ϐ�������ɂ��Q�Ɛ�) * @return ���o���� */ - public ExtractedStructure extract(TracePoint tracePoint, Object arg, IAliasCollector aliasCollector) { + public ExtractedStructure extract(TracePoint tracePoint, Object arg, IAliasTracker aliasCollector) { ObjectReference argObj = new ObjectReference(Integer.toString(System.identityHashCode(arg))); return extract(tracePoint, argObj, aliasCollector); } diff --git a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractorJSON.java b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractorJSON.java index 22b60da..4cf1ae8 100644 --- a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractorJSON.java +++ b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractorJSON.java @@ -45,7 +45,7 @@ * @return ���‚������R�[�f�B�l�[�^ * @throws TraceFileException */ - protected MethodExecution callerSearch(Trace trace, TracePoint tracePoint, ArrayList objList, MethodExecution childMethodExecution, IAliasCollector aliasCollector) { + protected MethodExecution callerSearch(Trace trace, TracePoint tracePoint, ArrayList objList, MethodExecution childMethodExecution, IAliasTracker aliasCollector) { MethodExecution methodExecution = tracePoint.getMethodExecution(); methodExecution.setAugmentation(new DeltaAugmentationInfo()); eStructure.createParent(methodExecution); @@ -416,7 +416,7 @@ * @param index�@objList���̂ǂ̃I�u�W�F�N�g��ǐՂ��Ă��̃��\�b�h���s�ɓ����Ă����̂� * @throws TraceFileException */ - protected void calleeSearch(Trace trace, TracePoint tracePoint, ArrayList objList, Boolean isStatic, int index, IAliasCollector aliasCollector) { + protected void calleeSearch(Trace trace, TracePoint tracePoint, ArrayList objList, Boolean isStatic, int index, IAliasTracker aliasCollector) { MethodExecution methodExecution = tracePoint.getMethodExecution(); Boolean isResolved = false; String objectId = objList.get(index); // calleeSearch() �ł͒ǐՑΏۂ̃I�u�W�F�N�g�͈�‚����A��objList��index�Ԗڂ̗v�f�ȊO�ύX���Ă͂����Ȃ� diff --git a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaRelatedAliasCollector.java b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaRelatedAliasCollector.java index 5542610..55da16e 100644 --- a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaRelatedAliasCollector.java +++ b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaRelatedAliasCollector.java @@ -3,7 +3,7 @@ import java.util.ArrayList; import java.util.List; -public class DeltaRelatedAliasCollector implements IAliasCollector { +public class DeltaRelatedAliasCollector implements IAliasTracker { private List srcSideRelatedAliases = new ArrayList<>(); private List dstSideRelatedAliases = new ArrayList<>(); private List srcSideIdList = new ArrayList<>(); @@ -80,7 +80,7 @@ } } - public List getRelatedAliases() { + public List getAliasList() { return relatedAliases; } diff --git a/src/org/ntlab/traceDebugger/analyzerProvider/IAliasCollector.java b/src/org/ntlab/traceDebugger/analyzerProvider/IAliasCollector.java index 31379f7..5c7a21a 100644 --- a/src/org/ntlab/traceDebugger/analyzerProvider/IAliasCollector.java +++ b/src/org/ntlab/traceDebugger/analyzerProvider/IAliasCollector.java @@ -1,9 +1,11 @@ package org.ntlab.traceDebugger.analyzerProvider; +import java.util.List; + public interface IAliasCollector { - + void addAlias(Alias alias); - - void changeTrackingObject(String from, String to, boolean isSrcSide); - + + List getAliasList(); + } \ No newline at end of file diff --git a/src/org/ntlab/traceDebugger/analyzerProvider/IAliasTracker.java b/src/org/ntlab/traceDebugger/analyzerProvider/IAliasTracker.java new file mode 100644 index 0000000..c761b18 --- /dev/null +++ b/src/org/ntlab/traceDebugger/analyzerProvider/IAliasTracker.java @@ -0,0 +1,7 @@ +package org.ntlab.traceDebugger.analyzerProvider; + +public interface IAliasTracker extends IAliasCollector { + + void changeTrackingObject(String from, String to, boolean isSrcSide); + +} \ No newline at end of file