Class CastExpression
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
org.benf.cfr.reader.bytecode.analysis.parse.expression.CastExpression
- All Implemented Interfaces:
HasByteCodeLoc, Expression, BoxingProcessor, DeepCloneable<Expression>, ComparableUnderEC, Dumpable, DumpableWithPrecedence, TypeUsageCollectable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCastExpression(BytecodeLoc loc, InferredJavaType knownType, Expression child) CastExpression(BytecodeLoc loc, InferredJavaType knownType, Expression child, boolean forced) -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) voidapplyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) voidcollectTypeUsages(TypeUsageCollector collector) voidcollectUsedLValues(LValueUsageCollector lValueUsageCollector) booleanprivate booleancouldBeImplicit(JavaTypeInstance tgtType, GenericTypeBinder gtb) deepClone(CloneHelper cloneHelper) booleanbooleanequivalentUnder(Object o, EquivalenceConstraint constraint) getChild()getComputedLiteral(Map<LValue, Literal> display) booleanisForced()static Expressionstatic ExpressionremoveImplicitOuterType(Expression e, GenericTypeBinder gtb, boolean rawArg) replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) booleanrewriteBoxing(PrimitiveBoxingRewriter boxingRewriter) static ExpressionMethods inherited from class AbstractExpression
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visit
-
Field Details
-
child
-
forced
private boolean forced
-
-
Constructor Details
-
CastExpression
-
CastExpression
public CastExpression(BytecodeLoc loc, InferredJavaType knownType, Expression child, boolean forced)
-
-
Method Details
-
isForced
public boolean isForced() -
getCombinedLoc
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc
-
deepClone
- Specified by:
deepClonein interfaceDeepCloneable<Expression>
-
getComputedLiteral
- Specified by:
getComputedLiteralin interfaceExpression- Overrides:
getComputedLiteralin classAbstractExpression
-
couldBeImplicit
-
couldBeImplicit
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractExpression
-
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractExpression
-
dumpInner
- Specified by:
dumpInnerin classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) - Specified by:
replaceSingleUsageLValuesin interfaceExpression
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyExpressionRewriterin interfaceExpression
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyReverseExpressionRewriterin interfaceExpression
-
collectUsedLValues
- Specified by:
collectUsedLValuesin interfaceExpression
-
getChild
-
equals
- Specified by:
equalsin classAbstractExpression
-
rewriteBoxing
- Specified by:
rewriteBoxingin interfaceBoxingProcessor
-
applyNonArgExpressionRewriter
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyNonArgExpressionRewriterin interfaceBoxingProcessor
-
equivalentUnder
- Specified by:
equivalentUnderin interfaceComparableUnderEC- Specified by:
equivalentUnderin interfaceExpression
-
removeImplicit
-
removeImplicitOuterType
public static Expression removeImplicitOuterType(Expression e, GenericTypeBinder gtb, boolean rawArg) -
tryRemoveCast
-