removed r which was breaking the code v2
This commit is contained in:
@@ -88,13 +88,15 @@ public class PDG {
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract variable definitions from a statement simple pattern matching for Java 1.4
|
||||
* Extract variable definitions from a statement simple pattern matching for
|
||||
* Java 1.4
|
||||
*/
|
||||
private Set<String> extractDefs(String statement) {
|
||||
Set<String> vars = new HashSet<>();
|
||||
|
||||
// Skip special nodes
|
||||
if (statement.startsWith("*")) return vars;
|
||||
if (statement.startsWith("*"))
|
||||
return vars;
|
||||
|
||||
if (statement.contains("=") && !statement.contains("==")) {
|
||||
String[] parts = statement.split("=");
|
||||
@@ -119,13 +121,15 @@ public class PDG {
|
||||
String[] initParts = forParts[0].split("=");
|
||||
if (initParts.length > 0) {
|
||||
String var = initParts[0].trim().replaceAll("[^a-zA-Z0-9_]", "");
|
||||
if (!var.isEmpty()) vars.add(var);
|
||||
if (!var.isEmpty())
|
||||
vars.add(var);
|
||||
}
|
||||
}
|
||||
String update = forParts[forParts.length - 1];
|
||||
if (update.contains("++") || update.contains("--")) {
|
||||
String var = update.replaceAll("[^a-zA-Z0-9_]", "");
|
||||
if (!var.isEmpty()) vars.add(var);
|
||||
if (!var.isEmpty())
|
||||
vars.add(var);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,14 +143,15 @@ public class PDG {
|
||||
private Set<String> extractUses(String statement) {
|
||||
Set<String> vars = new HashSet<>();
|
||||
|
||||
if (statement.startsWith("*")) return vars;
|
||||
if (statement.startsWith("*"))
|
||||
return vars;
|
||||
String[] tokens = statement.split("[\\s+\\-*/=<>!&|(){}\\[\\];,.]");
|
||||
for (String token : tokens) {
|
||||
token = token.trim();
|
||||
if (!token.isEmpty() &&
|
||||
Character.isJavaIdentifierStart(token.charAt(0)) &&
|
||||
!isKeyword(token) &&
|
||||
!token.matches("\\d+")) { r
|
||||
!token.matches("\\d+")) {
|
||||
vars.add(token);
|
||||
}
|
||||
}
|
||||
@@ -163,8 +168,7 @@ public class PDG {
|
||||
"if", "else", "while", "for", "do", "return", "break", "continue",
|
||||
"int", "double", "float", "char", "boolean", "void", "String",
|
||||
"new", "null", "true", "false", "class", "public", "private",
|
||||
"static", "final", "this", "super", "try", "catch", "throw", "throws"
|
||||
));
|
||||
"static", "final", "this", "super", "try", "catch", "throw", "throws"));
|
||||
return keywords.contains(word);
|
||||
}
|
||||
|
||||
@@ -219,10 +223,13 @@ public class PDG {
|
||||
}
|
||||
|
||||
private boolean mapsEqual(Map<String, Set<String>> m1, Map<String, Set<String>> m2) {
|
||||
if (m1.size() != m2.size()) return false;
|
||||
if (m1.size() != m2.size())
|
||||
return false;
|
||||
for (String key : m1.keySet()) {
|
||||
if (!m2.containsKey(key)) return false;
|
||||
if (!m1.get(key).equals(m2.get(key))) return false;
|
||||
if (!m2.containsKey(key))
|
||||
return false;
|
||||
if (!m1.get(key).equals(m2.get(key)))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -235,7 +242,6 @@ public class PDG {
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
public Set<String> getDependencies(String nodeLabel) {
|
||||
Set<String> all = new HashSet<>();
|
||||
if (controlDeps.containsKey(nodeLabel)) {
|
||||
|
||||
Reference in New Issue
Block a user