Class JavaExprMirrors
- java.lang.Object
-
- net.sourceforge.pmd.lang.java.types.internal.infer.ast.JavaExprMirrors
-
public final class JavaExprMirrors extends Object
Façade that createsExprMirror
instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
JavaExprMirrors.MirrorMaker
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JavaExprMirrors.MirrorMaker
defaultMirrorMaker()
static JavaExprMirrors
forObservation(Infer infer)
The mirrors produced by this factory will not be able to mutate the AST.static JavaExprMirrors
forTypeResolution(Infer infer)
This will mutate the AST, only one must be used per compilation unit.ExprMirror.InvocationMirror
getInvocationMirror(InvocationNode e, JavaExprMirrors.MirrorMaker subexprMaker)
ExprMirror.BranchingMirror
getPolyBranchingMirror(ASTExpression e)
ExprMirror.BranchingMirror
getStandaloneBranchingMirror(ASTExpression e)
A mirror that implements the rules for standalone conditional expressions correctly.ExprMirror.FunctionalExprMirror
getTopLevelFunctionalMirror(ASTExpression e)
ExprMirror.InvocationMirror
getTopLevelInvocationMirror(InvocationNode e)
-
-
-
Method Detail
-
defaultMirrorMaker
public JavaExprMirrors.MirrorMaker defaultMirrorMaker()
-
forTypeResolution
public static JavaExprMirrors forTypeResolution(Infer infer)
This will mutate the AST, only one must be used per compilation unit.
-
forObservation
public static JavaExprMirrors forObservation(Infer infer)
The mirrors produced by this factory will not be able to mutate the AST. This lets the mirror be decorated to "pretend" the expression is something slightly different, without corrupting the data in the AST.
-
getTopLevelInvocationMirror
public ExprMirror.InvocationMirror getTopLevelInvocationMirror(InvocationNode e)
-
getInvocationMirror
public ExprMirror.InvocationMirror getInvocationMirror(InvocationNode e, JavaExprMirrors.MirrorMaker subexprMaker)
-
getStandaloneBranchingMirror
public ExprMirror.BranchingMirror getStandaloneBranchingMirror(ASTExpression e)
A mirror that implements the rules for standalone conditional expressions correctly. getStandaloneType will work differently than the one yielded bygetPolyBranchingMirror(ASTExpression)
-
getPolyBranchingMirror
public ExprMirror.BranchingMirror getPolyBranchingMirror(ASTExpression e)
-
getTopLevelFunctionalMirror
public ExprMirror.FunctionalExprMirror getTopLevelFunctionalMirror(ASTExpression e)
-
-