abc.aspectj.visit
Class PatternMatcher
java.lang.Object
abc.aspectj.visit.PatternMatcher
public class PatternMatcher
- extends java.lang.Object
Encapsulates the pattern matching code.
Contains means for matching classname patterns, type patterns,
method patterns, field patterns and constructor patterns.
- Author:
- Aske Simon Christensen, Damien Sereni
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
v
public static PatternMatcher v()
create
public static PatternMatcher create(PCStructure hierarchy)
compileNamePattern
public java.util.regex.Pattern compileNamePattern(java.lang.String name_pat)
computeMatches
public void computeMatches(NamePattern pat,
PCNode context,
java.util.Set classes,
java.util.Set packages)
updateWithAllSootClasses
public void updateWithAllSootClasses()
- Should be called when jimplification is complete.
This ensures that all Soot classes can be used to index into the
hierarchy.
recomputeAllMatches
public void recomputeAllMatches()
matchesName
public boolean matchesName(NamePattern pat,
PCNode name)
matchesObject
public boolean matchesObject(NamePattern pat)
matchesClass
public boolean matchesClass(ClassnamePatternExpr pattern,
SootClass sc)
matchesType
public boolean matchesType(TypePatternExpr pattern,
java.lang.String type)
matchesModifiers
public boolean matchesModifiers(java.util.List modps,
int mods)
matchesFormals
public boolean matchesFormals(java.util.List fpats,
java.util.List ftypes)
makeAIClassnamePattern
public ClassnamePattern makeAIClassnamePattern(ClassnamePatternExpr pattern)
makeAITypePattern
public TypePattern makeAITypePattern(TypePatternExpr pattern)
makeAIMethodPattern
public MethodPattern makeAIMethodPattern(MethodPattern pattern)
makeAIFieldPattern
public FieldPattern makeAIFieldPattern(FieldPattern pattern)
makeAIConstructorPattern
public ConstructorPattern makeAIConstructorPattern(ConstructorPattern pattern)