Merge pull request #66 from nitta-lab/toMakeCallStaticMethods
> ToMakeCallStaticMethods

確認しました。ありがとうございます。
commit 524603e0fc7eded5ea1aeb347746fb63bf25c8b9
2 parents e9194ed + bb5636b
Hongo Aki authored on 20 Sep 2021
Showing 7 changed files
View
10
src/org/ntlab/deltaExtractor/DeltaExtractor.java
// コレクション型の場合、内部で個々の要素を直接保持していると仮定する
if (objectId.equals(srcObject.getId())) {
r = new Reference(thisObj, srcObject);
r.setCollection(true);
if (methodExecution.getSignature().contains(".iterator()")
|| methodExecution.getSignature().contains(".listIterator()")
|| methodExecution.getSignature().contains(".entrySet()")
|| methodExecution.getSignature().contains(".keySet()")
|| methodExecution.getSignature().contains(".values()")) r.setCreation(true); // イテレータオブジェクト等を生成したとみなす
eStructure.addSrcSide(r);
srcObject = thisObj;
aliasCollector.changeTrackingObject(objectId, thisObjectId, true);
aliasCollector.addAlias(new Alias(Alias.AliasType.THIS, 0, thisObjectId, tracePoint.duplicate()));
} else if(objectId.equals(dstObject.getId())) {
r = new Reference(thisObj, dstObject);
r.setCollection(true);
if (methodExecution.getSignature().contains(".iterator()")
|| methodExecution.getSignature().contains(".listIterator()")
|| methodExecution.getSignature().contains(".entrySet()")
|| methodExecution.getSignature().contains(".keySet()")
|| methodExecution.getSignature().contains(".values()")) r.setCreation(true); // イテレータオブジェクト等を生成したとみなす
eStructure.addDstSide(r);
dstObject =thisObj;
aliasCollector.changeTrackingObject(objectId, thisObjectId, false);
aliasCollector.addAlias(new Alias(Alias.AliasType.THIS, 0, thisObjectId, tracePoint.duplicate()));
View
24
src/org/ntlab/deltaViewer/CollaborationLayout.java
import com.mxgraph.model.mxICell;
import com.mxgraph.util.mxPoint;
 
public class CollaborationLayout implements IObjectLayout {
private static final int angleStep = 15;
private static final int angleStep = 30;
private mxPoint coordinatorPoint = new mxPoint(0, 100);
private double step;
private double padding;
 
idx = references.indexOf(r);
if (idx < 0) {
references.add(r);
idx = references.indexOf(r);
}
}
}
} else if (a.getAliasType() == AliasType.CONSTRACTOR_INVOCATION) {
MethodInvocation c = (MethodInvocation) a.getOccurrencePoint().getStatement();
String srcObjId = a.getMethodExecution().getThisObjId();
idx = references.indexOf(r);
}
}
}
} else if (a.getAliasType() == AliasType.FORMAL_PARAMETER) {
MethodExecution methodExec = a.getOccurrencePoint().getMethodExecution();
if (methodExec.isStatic()) {
// For calls to a static method.
String dstClassName = methodExec.getThisClassName();
String srcClassName = methodExec.getCallerMethodExecution().getThisClassName();
String dstObjId = methodExec.getThisObjId() + ":" + dstClassName;
String srcObjId = null;
if (!methodExec.getCallerMethodExecution().isStatic()) {
srcObjId = methodExec.getCallerMethodExecution().getThisObjId();
} else {
srcObjId = methodExec.getCallerMethodExecution().getThisObjId() + ":" + srcClassName;
}
Reference r = new Reference(srcObjId, dstObjId, srcClassName, dstClassName);
idx = references.indexOf(r);
if (idx < 0) {
references.add(r);
idx = references.indexOf(r);
}
}
}
if (idx >= 0) {
Reference r = references.get(idx);
List<Integer> rHIstory = referenceHistory.get(r);
View
src/org/ntlab/deltaViewer/CollaborationObjectCallGraph.java
View
src/org/ntlab/deltaViewer/CollaborationViewer.java
View
src/org/ntlab/deltaViewer/DeltaViewer.java
View
src/org/ntlab/deltaViewer/Edge.java
View
src/org/ntlab/deltaViewer/MagnetRONViewer.java