public class Pattern
extends java.lang.Object
PatternBuilder
.
The Pattern
can also be used to generate new code where
(Pattern) + (pattern parameters) => (copy of pattern where parameters are replaced by parameter values)
This is done with generator()
and it's methods
Differences with TemplateMatcher
:
- it can match sequences of elements
- it can match inlined elementsModifier and Type | Method and Description |
---|---|
void |
forEachMatch(java.lang.Object input,
CtConsumer<Match> consumer)
Finds all target program sub-trees that correspond to a template
and calls consumer.accept(Match)
|
Generator |
generator() |
java.util.List<Match> |
getMatches(CtElement root)
Finds all target program sub-trees that correspond to this pattern
and returns them.
|
java.util.Map<java.lang.String,ParameterInfo> |
getParameterInfos() |
java.lang.String |
print(boolean addParameterComments) |
java.lang.String |
toString() |
public java.util.Map<java.lang.String,ParameterInfo> getParameterInfos()
ParameterInfo
for each parameter of this Pattern
public Generator generator()
public void forEachMatch(java.lang.Object input, CtConsumer<Match> consumer)
input
- the root of to be searched ASTconsumer
- the receiver of matchespublic java.util.List<Match> getMatches(CtElement root)
root
- the root of to be searched AST. It can be a CtElement or List, Set, Map of CtElementsMatch
public java.lang.String print(boolean addParameterComments)
addParameterComments
- if true then it adds comments with parameter namespublic java.lang.String toString()
toString
in class java.lang.Object
Copyright © 2007–2021 Inria. All rights reserved.