Class Literal
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
org.benf.cfr.reader.bytecode.analysis.parse.expression.Literal
- All Implemented Interfaces:
HasByteCodeLoc, Expression, DeepCloneable<Expression>, ComparableUnderEC, Dumpable, DumpableWithPrecedence, TypeUsageCollectable
- Direct Known Subclasses:
LiteralHex
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Literalstatic final Literalstatic final Literalstatic final Literalstatic final Literalstatic final Literalstatic final Literalstatic final Literalstatic final Literalprivate static final Literalstatic final Literalstatic final Literalstatic final Literalprotected final TypedLiteral -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) appropriatelyCasted(InferredJavaType expected) booleancanThrow(ExceptionCheck caught) voidcollectTypeUsages(TypeUsageCollector collector) voidcollectUsedLValues(LValueUsageCollector lValueUsageCollector) deepClone(CloneHelper cloneHelper) booleanstatic booleanequalsAnyOne(Expression expression) booleanequivalentUnder(Object o, EquivalenceConstraint constraint) getComputedLiteral(Map<LValue, Literal> display) static ExpressiongetLiteralOrNull(RawJavaType rawCastType, InferredJavaType inferredCastType, int intValue) getValue()booleanisSimple()replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) <T> Tvisit(ExpressionVisitor<T> visitor) Methods inherited from class AbstractExpression
addLoc, canPushDownInto, dump, dumpWithOuterPrecedence, getInferredJavaType, getLoc, isValidStatement, outerDeepClone, pushDown, toString
-
Field Details
-
FALSE
-
TRUE
-
MINUS_ONE
-
NULL
-
INT_ZERO
-
INT_ONE
-
LONG_ONE
-
DOUBLE_ZERO
-
DOUBLE_ONE
-
DOUBLE_MINUS_ONE
-
FLOAT_ZERO
-
FLOAT_ONE
-
FLOAT_MINUS_ONE
-
value
-
-
Constructor Details
-
Literal
-
-
Method Details
-
getCombinedLoc
-
getLiteralOrNull
public static Expression getLiteralOrNull(RawJavaType rawCastType, InferredJavaType inferredCastType, int intValue) -
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractExpression
-
dumpInner
- Specified by:
dumpInnerin classAbstractExpression
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractExpression
-
isSimple
public boolean isSimple()- Specified by:
isSimplein interfaceExpression- Overrides:
isSimplein classAbstractExpression
-
deepClone
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) -
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) -
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) -
visit
- Specified by:
visitin interfaceExpression- Overrides:
visitin classAbstractExpression
-
collectUsedLValues
-
appropriatelyCasted
-
getValue
-
canThrow
- Specified by:
canThrowin interfaceExpression- Overrides:
canThrowin classAbstractExpression
-
equals
- Specified by:
equalsin classAbstractExpression
-
equivalentUnder
-
getComputedLiteral
- Specified by:
getComputedLiteralin interfaceExpression- Overrides:
getComputedLiteralin classAbstractExpression
-
equalsAnyOne
-