Skip to content

Commit fbccb37

Browse files
committed
re
1 parent 45d418e commit fbccb37

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

mirror-common/src/main/java/cn/com/mirror/analyser/visitor/VariableVisitor.java

+14-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class VariableVisitor extends ASTVisitor {
3636
private final Set<Method> targetMethods;
3737

3838
private Set<Variable> variableSet = new HashSet<>(); // all element defined in this project file
39-
private Map<Integer, Statement> variableInFile = new TreeMap<>();
39+
private Map<Integer, Statement> varStatMap = new TreeMap<>();
4040

4141
public VariableVisitor(String file,
4242
String packageName,
@@ -97,11 +97,14 @@ public boolean visit(MethodDeclaration node) {
9797

9898
@Override
9999
public boolean visit(SimpleName node) {
100+
// TODO xyz the statement of "return this;" and "return null" can not be visited
101+
// return statement directly control dependence on the method it belongs.
102+
100103
IBinding binding = node.resolveBinding();
101104
if (binding instanceof IVariableBinding) {
102105
IVariableBinding iVariableBinding = (IVariableBinding) binding;
103106
Variable variable = genVariable(node, iVariableBinding);
104-
addVariable(AstUtils.getStartLine(node), variable, node);
107+
addVariable(AstUtils.getStartLine(node), variable);
105108

106109
variableSet.add(variable);
107110
}
@@ -111,20 +114,24 @@ public boolean visit(SimpleName node) {
111114

112115
// private methods
113116
private void addVariable(Integer lineNum,
114-
Variable variable,
115-
SimpleName node) {
117+
Variable variable) {
118+
119+
if ("/home/piggy/work/mirror/mirror-common/src/main/java/cn/com/mirror/project/unit/element/Method.java"
120+
.equals(variable.getFile()) && (lineNum == 49 || lineNum == 51)) {
121+
log.debug("a;lsjd;lfjsajdlfjalsjd;lf");
122+
}
116123

117-
if (!variableInFile.containsKey(lineNum)) {
124+
if (!varStatMap.containsKey(lineNum)) {
118125
Statement statement = new Statement(this.file,
119126
lineNum,
120127
lineNum,
121128
FileUtils.listCodeLines(this.file).get(lineNum - 1),
122129
this.packageName);
123130

124131
statement.addVariable(variable);
125-
variableInFile.put(lineNum, statement);
132+
varStatMap.put(lineNum, statement);
126133
} else {
127-
variableInFile.get(lineNum).addVariable(variable);
134+
varStatMap.get(lineNum).addVariable(variable);
128135
}
129136
}
130137

mirror-common/src/main/java/cn/com/mirror/project/unit/UnitFactory.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public Unit newUnit(String url) {
3535
unit.getPackages().get(targetPath), unit.getClasses(), unit.getMethods().get(targetPath));
3636
compilationUnit.accept(variableVisitor);
3737
unit.addVariables(targetPath, variableVisitor.getVariableSet());
38-
unit.addMappedVars(targetPath, variableVisitor.getVariableInFile());
38+
unit.addMappedVars(targetPath, variableVisitor.getVarStatMap());
3939
}
4040

4141
return unit;

mirror-common/src/test/cn/com/mirror/pair/PairAnalyserTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
@Slf4j
1717
public class PairAnalyserTests {
1818

19-
private final String TEST_FILE =
19+
private static final String TEST_FILE =
2020
"/home/piggy/work/mirror/mirror-common/src/main/java/cn/com/mirror/project/unit/element/Method.java";
2121

2222
@Test

0 commit comments

Comments
 (0)