diff --git a/src/org/ntlab/traceDebugger/CallStackView.java b/src/org/ntlab/traceDebugger/CallStackView.java index 028eaa7..5d26e9e 100644 --- a/src/org/ntlab/traceDebugger/CallStackView.java +++ b/src/org/ntlab/traceDebugger/CallStackView.java @@ -98,7 +98,7 @@ TracePoint tp = selectedCallStackModel.getTracePoint(); TracePoint debuggingTp = DebuggingController.getInstance().getCurrentTp(); VariableView variableView = (VariableView)TraceDebuggerPlugin.getActiveView(VariableView.ID); - variableView.updateVariablesByTracePoint(tp, false, debuggingTp); + variableView.updateVariablesByTracePoints(tp, debuggingTp); } public void updateByTracePoint(TracePoint tp) { diff --git a/src/org/ntlab/traceDebugger/DebuggingController.java b/src/org/ntlab/traceDebugger/DebuggingController.java index 77dd02d..8fcc9e2 100644 --- a/src/org/ntlab/traceDebugger/DebuggingController.java +++ b/src/org/ntlab/traceDebugger/DebuggingController.java @@ -435,9 +435,9 @@ callStackView.updateByTracePoint(to); VariableView variableView = ((VariableView)TraceDebuggerPlugin.getActiveView(VariableView.ID)); if (!isReturned && canDifferentialUpdateVariables) { - variableView.updateVariablesForDifferential(from, to, isReturned); + variableView.updateVariablesForDifferential(from, to); } else { - variableView.updateVariablesByTracePoint(from, to, isReturned); + variableView.updateVariablesByTracePointsFromAToB(from, to); } if (TraceDebuggerPlugin.getActiveView(DeltaMarkerView.ID) != null) { refreshRelatedDelta(to); diff --git a/src/org/ntlab/traceDebugger/Variable.java b/src/org/ntlab/traceDebugger/Variable.java index 125ff5f..8ea1fe1 100644 --- a/src/org/ntlab/traceDebugger/Variable.java +++ b/src/org/ntlab/traceDebugger/Variable.java @@ -29,7 +29,6 @@ private String containerId; private TracePoint lastUpdatePoint; private TracePoint before; - private boolean isReturned; private DeepHierarchy deepHierarchy; private boolean alreadyCreatedChildHierarchy = false; private boolean alreadyCreatedGrandChildHierarchy = false; @@ -60,22 +59,17 @@ } public Variable(String variableName, String containerClassName, String containerId, - String valueClassName, String valueId, TracePoint before, boolean isReturned) { - this(variableName, containerClassName, containerId, valueClassName, valueId, before, isReturned, VariableType.USE_VALUE); - } - - public Variable(String variableName, String containerClassName, String containerId, - String valueClassName, String valueId, TracePoint before, boolean isReturned, VariableType variableType) { - init(variableName, variableName, containerClassName, containerId, valueClassName, valueId, null, before, isReturned, variableType); + String valueClassName, String valueId, TracePoint before, VariableType variableType) { + init(variableName, variableName, containerClassName, containerId, valueClassName, valueId, null, before, variableType); } public Variable(String variableName, String fullyQualifiedVariableName, String containerClassName, String containerId, - String valueClassName, String valueId, TracePoint lastUpdatePoint, TracePoint before, boolean isReturned, VariableType variableType) { - init(variableName, fullyQualifiedVariableName, containerClassName, containerId, valueClassName, valueId, lastUpdatePoint, before, isReturned, variableType); - } + String valueClassName, String valueId, TracePoint lastUpdatePoint, TracePoint before, VariableType variableType) { + init(variableName, fullyQualifiedVariableName, containerClassName, containerId, valueClassName, valueId, lastUpdatePoint, before, variableType); + } private void init(String variableName, String fullyQualifiedVariableName, String containerClassName, String containerId, - String valueClassName, String valueId, TracePoint lastUpdatePoint, TracePoint before, boolean isReturned, VariableType variableType) { + String valueClassName, String valueId, TracePoint lastUpdatePoint, TracePoint before, VariableType variableType) { this.variableName = variableName; this.fullyQualifiedVariableName = fullyQualifiedVariableName; this.containerClassName = containerClassName; @@ -84,7 +78,6 @@ this.valueId = valueId; this.lastUpdatePoint = lastUpdatePoint; this.before = before; - this.isReturned = isReturned; this.variableType = variableType; this.deepHierarchy = checkDeepHierarchy(); this.alreadyCreatedChildHierarchy = false; @@ -93,8 +86,8 @@ this.additionalAttributes.clear(); } - public void update(String valueClassName, String valueId, TracePoint lastUpdatePoint, boolean isReturned) { - init(variableName, fullyQualifiedVariableName, containerClassName, containerId, valueClassName, valueId, lastUpdatePoint, lastUpdatePoint, isReturned, variableType); + public void update(String valueClassName, String valueId, TracePoint lastUpdatePoint) { + init(variableName, fullyQualifiedVariableName, containerClassName, containerId, valueClassName, valueId, lastUpdatePoint, lastUpdatePoint, variableType); } public String getVariableName() { @@ -278,10 +271,10 @@ // �t�B�[���h��ID��Type���擾(String) String nextValueId = (fieldUpdate != null) ? fieldUpdate.getValueObjId() : "---"; String nextValueClassName = (fieldUpdate != null) ? fieldUpdate.getValueClassName() : NULL_VALUE; - Variable fieldData = new Variable(fieldName, fullyQualifiedFieldName, nextClassName, nextContainerId, nextValueClassName, nextValueId, updateTracePoint, before, isReturned, VariableType.USE_VALUE); + Variable fieldData = new Variable(fieldName, fullyQualifiedFieldName, nextClassName, nextContainerId, nextValueClassName, nextValueId, updateTracePoint, before, VariableType.USE_VALUE); this.addChild(fieldData); } else { - Variable fieldData = new Variable(fieldName, fullyQualifiedFieldName, valueClassName, valueId, NULL_VALUE, "---", updateTracePoint, before, isReturned, VariableType.USE_VALUE); + Variable fieldData = new Variable(fieldName, fullyQualifiedFieldName, valueClassName, valueId, NULL_VALUE, "---", updateTracePoint, before, VariableType.USE_VALUE); this.addChild(fieldData); } } @@ -306,7 +299,7 @@ nextValueId = arrayUpdate.getValueObjectId(); nextValueClassName = arrayUpdate.getValueClassName(); } - Variable arrayIndexData = new Variable(arrayIndexName, fullyArrayIndexName, nextClassName, nextContainerId, nextValueClassName, nextValueId, updateTracePoint, before, isReturned, VariableType.USE_VALUE); + Variable arrayIndexData = new Variable(arrayIndexName, fullyArrayIndexName, nextClassName, nextContainerId, nextValueClassName, nextValueId, updateTracePoint, before, VariableType.USE_VALUE); this.addChild(arrayIndexData); } } diff --git a/src/org/ntlab/traceDebugger/VariableView.java b/src/org/ntlab/traceDebugger/VariableView.java index ed40c40..b409e81 100644 --- a/src/org/ntlab/traceDebugger/VariableView.java +++ b/src/org/ntlab/traceDebugger/VariableView.java @@ -136,26 +136,22 @@ viewer.setInput(variables.getVariablesTreeNodesList()); viewer.refresh(); } - - public void updateVariablesByTracePoint(TracePoint tp, boolean isReturned) { - updateVariablesByTracePoint(tp, isReturned, null); - } - public void updateVariablesByTracePoint(TracePoint tp, boolean isReturned, TracePoint before) { - updateVariablesByTracePoint(null, tp, isReturned, before); + public void updateVariablesByTracePoints(TracePoint tp, TracePoint before) { + updateVariablesByTracePoints(null, tp, before); } - public void updateVariablesByTracePoint(TracePoint from, TracePoint to, boolean isReturned) { - updateVariablesByTracePoint(from, to, isReturned, null); + public void updateVariablesByTracePointsFromAToB(TracePoint from, TracePoint to) { + updateVariablesByTracePoints(from, to, null); } - public void updateVariablesByTracePoint(TracePoint from, TracePoint to, boolean isReturned, TracePoint before) { - variables.updateAllObjectDataByTracePoint(from, to, isReturned, before); + public void updateVariablesByTracePoints(TracePoint from, TracePoint to, TracePoint before) { + variables.updateAllObjectDataByTracePoint(from, to, before); viewer.setInput(variables.getVariablesTreeNodesList()); } - public void updateVariablesForDifferential(TracePoint from, TracePoint to, boolean isReturned) { - variables.updateForDifferential(from, to, isReturned); + public void updateVariablesForDifferential(TracePoint from, TracePoint to) { + variables.updateForDifferential(from, to); viewer.refresh(); } } diff --git a/src/org/ntlab/traceDebugger/Variables.java b/src/org/ntlab/traceDebugger/Variables.java index 705653f..f30de4a 100644 --- a/src/org/ntlab/traceDebugger/Variables.java +++ b/src/org/ntlab/traceDebugger/Variables.java @@ -51,35 +51,35 @@ List statements = methodExecution.getStatements(); int lastOrder = statements.size() - 1; TracePoint tp = methodExecution.getTracePoint(lastOrder); - updateAllObjectData(null, tp, false, null); + updateAllObjectData(null, tp, null); } - public void updateAllObjectDataByTracePoint(TracePoint from, TracePoint to, boolean isReturned, TracePoint before) { - updateAllObjectData(from, to, isReturned, before); + public void updateAllObjectDataByTracePoint(TracePoint from, TracePoint to, TracePoint before) { + updateAllObjectData(from, to, before); } - private void updateAllObjectData(TracePoint from, TracePoint to, boolean isReturned, TracePoint before) { + private void updateAllObjectData(TracePoint from, TracePoint to, TracePoint before) { resetData(); MethodExecution me = to.getMethodExecution(); - updateRootThisState(me, to, isReturned, before); - updateArgsState(me, to, isReturned, before); + updateRootThisState(me, to, before); + updateArgsState(me, to, before); for (int i = 0; i < roots.size(); i++) { Variable rootVariableData = roots.get(i); createVariablesTreeNodeList(null, rootTreeNodes, i, rootVariableData); } - createSpecialVariables(from, to, isReturned); + createSpecialVariables(from, to); } - private void updateRootThisState(MethodExecution methodExecution, TracePoint tp, boolean isReturned, TracePoint before) { + private void updateRootThisState(MethodExecution methodExecution, TracePoint tp, TracePoint before) { String thisObjId = methodExecution.getThisObjId(); String thisClassName = methodExecution.getThisClassName(); if (before == null) before = tp; - Variable variable = new Variable("this", null, null, thisClassName, thisObjId, before, isReturned, VariableType.THIS); + Variable variable = new Variable("this", null, null, thisClassName, thisObjId, before, VariableType.THIS); roots.add(variable); variable.createNextHierarchyState(); } - private void updateArgsState(MethodExecution methodExecution, TracePoint tp, boolean isReturned, TracePoint before) { + private void updateArgsState(MethodExecution methodExecution, TracePoint tp, TracePoint before) { // methodExecution������arguments���擾(ArrayList)���A����arguments�̃T�C�Y���擾(int) List args = methodExecution.getArguments(); if (before == null) before = tp; @@ -93,7 +93,7 @@ ObjectReference arg = args.get(i); String argId = arg.getId(); String argType = arg.getActualType(); - Variable argData = new Variable(argName, null, null, argType, argId, before, isReturned, VariableType.PARAMETER); + Variable argData = new Variable(argName, null, null, argType, argId, before, VariableType.PARAMETER); argData.createNextHierarchyState(); roots.add(argData); } @@ -133,10 +133,10 @@ } } - public void updateForDifferential(TracePoint from, TracePoint to, boolean isReturned) { + public void updateForDifferential(TracePoint from, TracePoint to) { updateForDifferential(to); resetSpecialValues(); - createSpecialVariables(from, to, isReturned); + createSpecialVariables(from, to); } private void updateForDifferential(TracePoint before) { @@ -175,7 +175,7 @@ } private void updateForDifferentialField(Variable variable, String valueClassName, String valueId, TracePoint lastUpdatePoint) { - variable.update(valueClassName, valueId, lastUpdatePoint, false); + variable.update(valueClassName, valueId, lastUpdatePoint); variable.createNextHierarchyState(); MyTreeNode node = getTreeNodeFor(variable, rootTreeNodes); List childList = node.getChildList(); @@ -186,7 +186,7 @@ } } - private void createSpecialVariables(TracePoint from, TracePoint to, boolean isReturned) { + private void createSpecialVariables(TracePoint from, TracePoint to) { List specialVariablesOfUseSide = new ArrayList<>(); List specialVariablesDefSide = new ArrayList<>(); String parentNodeNameOfUseSide = null; @@ -200,8 +200,8 @@ String containerObjId = fa.getContainerObjId(); String valueClassName = fa.getValueClassName(); String valueObjId = fa.getValueObjId(); - Variable container = new Variable(Variable.CONTAINER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, isReturned, VariableType.USE_CONTAINER); - Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, isReturned, VariableType.USE_VALUE); + Variable container = new Variable(Variable.CONTAINER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, VariableType.USE_CONTAINER); + Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, VariableType.USE_VALUE); specialVariablesOfUseSide.add(container); specialVariablesOfUseSide.add(value); parentNodeNameOfUseSide = TraceDebuggerPlugin.isJapanese() ? "�t�B�[���h�Q�ƌ�:" : "after field get of:"; @@ -212,8 +212,8 @@ String arrayObjId = aa.getArrayObjectId(); String valueClassName = aa.getValueClassName(); String valueObjId = aa.getValueObjectId(); - Variable array = new Variable(Variable.CONTAINER_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, from, isReturned, VariableType.USE_CONTAINER); - Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, from, isReturned, VariableType.USE_VALUE); + Variable array = new Variable(Variable.CONTAINER_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, from, VariableType.USE_CONTAINER); + Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, from, VariableType.USE_VALUE); specialVariablesOfUseSide.add(array); specialVariablesOfUseSide.add(value); parentNodeNameOfUseSide = TraceDebuggerPlugin.isJapanese() ? "�z��v�f�Q�ƌ�:" : "after array get of:"; @@ -227,8 +227,8 @@ String containerObjId = calledME.getThisObjId(); String valueClassName = returnValue.getActualType(); String valueObjId = returnValue.getId(); - Variable receiver = new Variable(Variable.RECEIVER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, isReturned, VariableType.USE_RECEIVER); - Variable returned = new Variable(Variable.RETURN_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, isReturned, VariableType.USE_RETURN); + Variable receiver = new Variable(Variable.RECEIVER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, VariableType.USE_RECEIVER); + Variable returned = new Variable(Variable.RETURN_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, from, VariableType.USE_RETURN); specialVariablesOfUseSide.add(receiver); specialVariablesOfUseSide.add(returned); if (calledME.isConstructor()) { @@ -251,8 +251,8 @@ String containerObjId = fu.getContainerObjId(); String valueClassName = fu.getValueClassName(); String valueObjId = fu.getValueObjId(); - Variable container = new Variable(Variable.CONTAINER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, isReturned, VariableType.DEF_CONTAINER); - Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, isReturned, VariableType.DEF_VALUE); + Variable container = new Variable(Variable.CONTAINER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, VariableType.DEF_CONTAINER); + Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, VariableType.DEF_VALUE); specialVariablesDefSide.add(container); specialVariablesDefSide.add(value); parentNodeNameOfDefSide = TraceDebuggerPlugin.isJapanese() ? "�t�B�[���h����O:" : "before field set of:"; @@ -263,8 +263,8 @@ String arrayObjId = au.getArrayObjectId(); String valueClassName = au.getValueClassName(); String valueObjId = au.getValueObjectId(); - Variable array = new Variable(Variable.CONTAINER_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, to, isReturned, VariableType.DEF_CONTAINER); - Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, to, isReturned, VariableType.DEF_VALUE); + Variable array = new Variable(Variable.CONTAINER_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, to, VariableType.DEF_CONTAINER); + Variable value = new Variable(Variable.VALUE_VARIABLE_NAME, arrayClassName, arrayObjId, valueClassName, valueObjId, to, VariableType.DEF_VALUE); specialVariablesDefSide.add(array); specialVariablesDefSide.add(value); parentNodeNameOfDefSide = TraceDebuggerPlugin.isJapanese() ? "�z��v�f����O:" : "before array set of:"; @@ -281,12 +281,12 @@ } String containerClassName = calledME.getThisClassName(); String containerObjId = calledME.getThisObjId(); - Variable receiver = new Variable(Variable.RECEIVER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, isReturned, VariableType.DEF_RECEIVER); + Variable receiver = new Variable(Variable.RECEIVER_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, VariableType.DEF_RECEIVER); specialVariablesDefSide.add(receiver); for (ObjectReference obj : args) { valueClassName = obj.getActualType(); valueObjId = obj.getId(); - Variable arg = new Variable(Variable.ARG_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, isReturned, VariableType.DEF_ARG); + Variable arg = new Variable(Variable.ARG_VARIABLE_NAME, containerClassName, containerObjId, valueClassName, valueObjId, to, VariableType.DEF_ARG); specialVariablesDefSide.add(arg); } if (calledME.isConstructor()) {