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:
- [email protected] (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
All Methods Static Methods Instance Methods Concrete Methods 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
-
-
-
-
Method Detail
-
create
public static ExpressionTemplate create(UExpression expression, UType returnType)
-
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
public ExpressionTemplate 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
public Choice<Unifier> unify(com.sun.tools.javac.tree.JCTree.JCExpression target, Unifier unifier)
Description copied from interface:Unifiable
Returns all valid unification paths (if any) from thisUnifier
that unify this withtarget
.
-
replace
public Fix replace(com.google.errorprone.refaster.ExpressionTemplateMatch match)
Generates aSuggestedFix
replacing the specified match (usually of another template) with this template.
-
-