public class CastExpression extends AbstractExpression implements BoxingProcessor
| Modifier and Type | Field and Description |
|---|---|
private Expression |
child |
private boolean |
forced |
| Constructor and Description |
|---|
CastExpression(BytecodeLoc loc,
InferredJavaType knownType,
Expression child) |
CastExpression(BytecodeLoc loc,
InferredJavaType knownType,
Expression child,
boolean forced) |
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visitprivate Expression child
private boolean forced
public CastExpression(BytecodeLoc loc, InferredJavaType knownType, Expression child)
public CastExpression(BytecodeLoc loc, InferredJavaType knownType, Expression child, boolean forced)
public boolean isForced()
public BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic Expression deepClone(CloneHelper cloneHelper)
deepClone in interface DeepCloneable<Expression>public Literal getComputedLiteral(java.util.Map<LValue,Literal> display)
getComputedLiteral in interface ExpressiongetComputedLiteral in class AbstractExpressionpublic boolean couldBeImplicit(GenericTypeBinder gtb)
private boolean couldBeImplicit(JavaTypeInstance tgtType, GenericTypeBinder gtb)
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractExpressionpublic Precedence getPrecedence()
getPrecedence in interface DumpableWithPrecedencegetPrecedence in class AbstractExpressionpublic Dumper dumpInner(Dumper d)
dumpInner in class AbstractExpressionpublic Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues in interface Expressionpublic Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter in interface Expressionpublic Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter in interface Expressionpublic void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues in interface Expressionpublic Expression getChild()
public boolean equals(java.lang.Object o)
equals in class AbstractExpressionpublic boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing in interface BoxingProcessorpublic void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter in interface BoxingProcessorpublic boolean equivalentUnder(java.lang.Object o,
EquivalenceConstraint constraint)
equivalentUnder in interface ExpressionequivalentUnder in interface ComparableUnderECpublic static Expression removeImplicit(Expression e)
public static Expression removeImplicitOuterType(Expression e, GenericTypeBinder gtb, boolean rawArg)
public static Expression tryRemoveCast(Expression e)