Package com.google.errorprone.refaster
Class ExpressionTemplate
java.lang.Object
com.google.errorprone.refaster.Template<com.google.errorprone.refaster.ExpressionTemplateMatch>
com.google.errorprone.refaster.ExpressionTemplate
- All Implemented Interfaces:
Unifiable<com.sun.tools.javac.tree.JCTree.JCExpression>
,Serializable
public abstract class ExpressionTemplate extends Template<com.google.errorprone.refaster.ExpressionTemplateMatch> implements Unifiable<com.sun.tools.javac.tree.JCTree.JCExpression>
Implementation of a template to match and replace an expression anywhere in an AST.
- Author:
- lowasser@google.com (Louis Wasserman)
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class com.google.errorprone.refaster.Template
AUTOBOXING_DEFAULT
-
Constructor Summary
Constructors Constructor Description ExpressionTemplate()
-
Method Summary
Modifier and Type Method Description static ExpressionTemplate
create(com.google.common.collect.ImmutableClassToInstanceMap<Annotation> annotations, Iterable<UTypeVar> typeVariables, Map<String,? extends UType> expressionArgumentTypes, UExpression expression, UType returnType)
static ExpressionTemplate
create(UExpression expression, UType returnType)
static ExpressionTemplate
create(Map<String,? extends UType> expressionArgumentTypes, UExpression expression, UType returnType)
boolean
generateNegation()
Iterable<com.google.errorprone.refaster.ExpressionTemplateMatch>
match(com.sun.tools.javac.tree.JCTree target, com.sun.tools.javac.util.Context context)
Returns the matches of this template against the specified target AST.ExpressionTemplate
negation()
Fix
replace(com.google.errorprone.refaster.ExpressionTemplateMatch match)
Generates aSuggestedFix
replacing the specified match (usually of another template) with this template.Choice<Unifier>
unify(com.sun.tools.javac.tree.JCTree.JCExpression target, Unifier unifier)
Returns all valid unification paths (if any) from thisUnifier
that unify this withtarget
.Methods inherited from class com.google.errorprone.refaster.Template
actualTypes, addImports, annotations, expectedTypes, expressionArgumentTypes, pretty, templateTypeVariables, typecheck
-
Constructor Details
-
ExpressionTemplate
public ExpressionTemplate()
-
-
Method Details
-
create
-
create
public static ExpressionTemplate create(Map<String,? extends UType> expressionArgumentTypes, UExpression expression, UType returnType) -
create
public static ExpressionTemplate create(com.google.common.collect.ImmutableClassToInstanceMap<Annotation> annotations, Iterable<UTypeVar> typeVariables, Map<String,? extends UType> expressionArgumentTypes, UExpression expression, UType returnType) -
generateNegation
public boolean generateNegation() -
negation
-
match
public Iterable<com.google.errorprone.refaster.ExpressionTemplateMatch> match(com.sun.tools.javac.tree.JCTree target, com.sun.tools.javac.util.Context context)Returns the matches of this template against the specified target AST. -
unify
Description copied from interface:Unifiable
Returns all valid unification paths (if any) from thisUnifier
that unify this withtarget
. -
replace
Generates aSuggestedFix
replacing the specified match (usually of another template) with this template.
-