diff --git a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractionAnalyzer.java b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractionAnalyzer.java index 1be49c6..c60ee1e 100644 --- a/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractionAnalyzer.java +++ b/src/org/ntlab/traceDebugger/analyzerProvider/DeltaExtractionAnalyzer.java @@ -46,13 +46,17 @@ String dstClassName = variable.getValueClassName(); TracePoint before = variable.getBeforeTracePoint(); before = before.duplicate(); - before.stepNext(); Reference reference = new Reference(srcId, dstId, srcClassName, dstClassName); - reference.setCollection(srcClassName.startsWith("java.util.")); // true�ɂ���ƃR���N�V�����ȊO���o�ł��Ȃ��Ȃ� + DeltaRelatedAliasCollector aliasCollector = new DeltaRelatedAliasCollector(srcId, dstId); + if (before.getStatement() instanceof FieldUpdate) { + extractedStructure = deltaExtractor.extract(before.duplicate(), aliasCollector); + } else { + before.stepNext(); + reference.setCollection(srcClassName.startsWith("java.util.")); // true�ɂ���ƃR���N�V�����ȊO���o�ł��Ȃ��Ȃ� + extractedStructure = deltaExtractor.extract(reference, before.duplicate(), aliasCollector); + } // �f���^���o - DeltaRelatedAliasCollector aliasCollector = new DeltaRelatedAliasCollector(srcId, dstId); - extractedStructure = deltaExtractor.extract(reference, before.duplicate(), aliasCollector); MethodExecution creationCallTree = extractedStructure.getCreationCallTree(); MethodExecution coordinator = extractedStructure.getCoordinator(); TracePoint bottomPoint = findTracePoint(reference, creationCallTree, before.getStatement().getTimeStamp());