Package com.google.errorprone.refaster
Class UVariableDecl
- java.lang.Object
-
- com.sun.source.util.SimpleTreeVisitor<Choice<Unifier>,Unifier>
-
- com.google.errorprone.refaster.UTree<com.sun.tools.javac.tree.JCTree.JCStatement>
-
- com.google.errorprone.refaster.UVariableDecl
-
- All Implemented Interfaces:
com.google.common.base.Function<UStatement.UnifierWithUnconsumedStatements,Choice<UStatement.UnifierWithUnconsumedStatements>>
,Unifiable<Tree>
,UStatement
,StatementTree
,Tree
,TreeVisitor<Choice<Unifier>,Unifier>
,VariableTree
,Serializable
,Function<UStatement.UnifierWithUnconsumedStatements,Choice<UStatement.UnifierWithUnconsumedStatements>>
public abstract class UVariableDecl extends UTree<com.sun.tools.javac.tree.JCTree.JCStatement> implements VariableTree
AUTree
representation of a local variable declaration.A
UVariableDecl
can be unified with any variable declaration which has a matching type and initializer. Annotations and modifiers are preserved for the corresponding replacement, as well as the variable name.ULocalVarIdent
instances are used to represent references to local variables.As a result, we can modify variable declarations and initializations in target code while preserving variable names and other contextual information.
- Author:
- [email protected] (Louis Wasserman)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.errorprone.refaster.UStatement
UStatement.UnifierWithUnconsumedStatements
-
-
Field Summary
-
Fields inherited from class com.sun.source.util.SimpleTreeVisitor
DEFAULT_VALUE
-
-
Constructor Summary
Constructors Constructor Description UVariableDecl()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description <R,D>
Raccept(TreeVisitor<R,D> visitor, D data)
Choice<UStatement.UnifierWithUnconsumedStatements>
apply(UStatement.UnifierWithUnconsumedStatements state)
static UVariableDecl
create(CharSequence identifier, UExpression type)
static UVariableDecl
create(CharSequence identifier, UExpression type, UExpression initializer)
abstract UExpression
getInitializer()
Tree.Kind
getKind()
ModifiersTree
getModifiers()
abstract StringName
getName()
ExpressionTree
getNameExpression()
abstract UExpression
getType()
com.sun.tools.javac.tree.JCTree.JCVariableDecl
inline(Inliner inliner)
com.sun.tools.javac.tree.JCTree.JCVariableDecl
inlineImplicitType(Inliner inliner)
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement>
inlineStatements(Inliner inliner)
Choice<Unifier>
visitVariable(VariableTree decl, Unifier unifier)
-
Methods inherited from class com.google.errorprone.refaster.UTree
defaultAction, unify
-
Methods inherited from class com.sun.source.util.SimpleTreeVisitor
visit, visit, visitAnnotatedType, visitAnnotation, visitArrayAccess, visitArrayType, visitAssert, visitAssignment, visitBinary, visitBlock, visitBreak, visitCase, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitEnhancedForLoop, visitErroneous, visitExports, visitExpressionStatement, visitForLoop, visitIdentifier, visitIf, visitImport, visitInstanceOf, visitIntersectionType, visitLabeledStatement, visitLambdaExpression, visitLiteral, visitMemberReference, visitMemberSelect, visitMethod, visitMethodInvocation, visitModifiers, visitModule, visitNewArray, visitNewClass, visitOpens, visitOther, visitPackage, visitParameterizedType, visitParenthesized, visitPrimitiveType, visitProvides, visitRequires, visitReturn, visitSwitch, visitSynchronized, visitThrow, visitTry, visitTypeCast, visitTypeParameter, visitUnary, visitUnionType, visitUses, visitWhileLoop, visitWildcard
-
-
-
-
Method Detail
-
create
public static UVariableDecl create(CharSequence identifier, UExpression type, @Nullable UExpression initializer)
-
create
public static UVariableDecl create(CharSequence identifier, UExpression type)
-
getName
public abstract StringName getName()
- Specified by:
getName
in interfaceVariableTree
-
getType
public abstract UExpression getType()
- Specified by:
getType
in interfaceVariableTree
-
getInitializer
@Nullable public abstract UExpression getInitializer()
- Specified by:
getInitializer
in interfaceVariableTree
-
visitVariable
public Choice<Unifier> visitVariable(VariableTree decl, Unifier unifier)
- Specified by:
visitVariable
in interfaceTreeVisitor<Choice<Unifier>,Unifier>
- Overrides:
visitVariable
in classSimpleTreeVisitor<Choice<Unifier>,Unifier>
-
inline
public com.sun.tools.javac.tree.JCTree.JCVariableDecl inline(Inliner inliner) throws CouldNotResolveImportException
- Throws:
CouldNotResolveImportException
-
inlineImplicitType
public com.sun.tools.javac.tree.JCTree.JCVariableDecl inlineImplicitType(Inliner inliner) throws CouldNotResolveImportException
- Throws:
CouldNotResolveImportException
-
accept
public <R,D> R accept(TreeVisitor<R,D> visitor, D data)
-
getModifiers
public ModifiersTree getModifiers()
- Specified by:
getModifiers
in interfaceVariableTree
-
getNameExpression
public ExpressionTree getNameExpression()
- Specified by:
getNameExpression
in interfaceVariableTree
-
inlineStatements
public com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree.JCStatement> inlineStatements(Inliner inliner) throws CouldNotResolveImportException
- Specified by:
inlineStatements
in interfaceUStatement
- Throws:
CouldNotResolveImportException
-
apply
public Choice<UStatement.UnifierWithUnconsumedStatements> apply(UStatement.UnifierWithUnconsumedStatements state)
- Specified by:
apply
in interfacecom.google.common.base.Function<UStatement.UnifierWithUnconsumedStatements,Choice<UStatement.UnifierWithUnconsumedStatements>>
- Specified by:
apply
in interfaceFunction<UStatement.UnifierWithUnconsumedStatements,Choice<UStatement.UnifierWithUnconsumedStatements>>
-
-