package org.overture.codegen.analysis.vdm;
import java.util.HashSet;
import java.util.Set;
import org.overture.ast.analysis.AnalysisException;
import org.overture.ast.intf.lex.ILexNameToken;
import org.overture.ast.node.INode;
import org.overture.ast.patterns.AIdentifierPattern;
public class IdOccurencesCollector extends VdmAnalysis
{
private ILexNameToken name;
private Set<AIdentifierPattern> idOccurences;
public IdOccurencesCollector(ILexNameToken name, INode topNode)
{
super(topNode);
this.name = name;
this.idOccurences = new HashSet<AIdentifierPattern>();
}
public Set<AIdentifierPattern> getIdOccurences()
{
return idOccurences;
}
@Override
public void caseAIdentifierPattern(AIdentifierPattern node)
throws AnalysisException
{
if (proceed(node))
{
if (node.getName().equals(name))
{
idOccurences.add(node);
}
}
}
}