Class CompositeCodeTransformer
java.lang.Object
com.google.errorprone.CompositeCodeTransformer
- All Implemented Interfaces:
CodeTransformer
,Serializable
public abstract class CompositeCodeTransformer
extends Object
implements CodeTransformer, Serializable
Combines multiple
CodeTransformer
s into one.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncom.google.common.collect.ImmutableClassToInstanceMap
<Annotation> Returns a map of annotation data logically applied to this code transformer.void
apply
(com.sun.source.util.TreePath path, com.sun.tools.javac.util.Context context, DescriptionListener listener) Apply recursively from the leaf node in the givenTreePath
.static CodeTransformer
compose
(CodeTransformer... transformers) static CodeTransformer
compose
(Iterable<? extends CodeTransformer> transformers) abstract com.google.common.collect.ImmutableList
<CodeTransformer>
-
Method Details
-
compose
-
compose
-
transformers
-
apply
public void apply(com.sun.source.util.TreePath path, com.sun.tools.javac.util.Context context, DescriptionListener listener) Description copied from interface:CodeTransformer
Apply recursively from the leaf node in the givenTreePath
.- Specified by:
apply
in interfaceCodeTransformer
-
annotations
Description copied from interface:CodeTransformer
Returns a map of annotation data logically applied to this code transformer.As an example, if a
CodeTransformer
expressed as a Refaster rule had an annotation applied to it:
You could retrieve the value of@MyCustomAnnotation("value") public class AnnotatedRefasterRule { @BeforeTemplate void before(String x) {...} @AfterTemplate void after(String x) {...} }
@MyCustomAnnotation
from this map.- Specified by:
annotations
in interfaceCodeTransformer
-