foss-vuln-tracker/repoman/src/main/java/it/unitn/repoman/core/lang/traversals/generic/StatementMappingTraversal.java

32 lines
880 B
Java
Executable File

package it.unitn.repoman.core.lang.traversals.generic;
import java.util.LinkedHashSet;
import java.util.Set;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.tree.ParseTree;
public class StatementMappingTraversal extends DFSTraversal {
private final Set<ParserRuleContext> methodDeclarations = new LinkedHashSet<>();
private final Set<ParserRuleContext> statements = new LinkedHashSet<>();
@Override
public void onEnterNode(ParseTree node) {
if (wrapper.isCollectable(node)) {
this.statements.add((ParserRuleContext) node);
}
else if (wrapper.isMethodDeclaration(node)) {
this.methodDeclarations.add((ParserRuleContext) node);
}
}
public Set<ParserRuleContext> getStatements() {
return this.statements;
}
public Set<ParserRuleContext> getMethodDeclarations() {
return this.methodDeclarations;
}
}