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 Literal
static final Literal
static final Literal
static final Literal
static final Literal
static final Literal
static final Literal
static final Literal
static final Literal
private static final Literal
static final Literal
static final Literal
static final Literal
protected 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) boolean
canThrow
(ExceptionCheck caught) void
collectTypeUsages
(TypeUsageCollector collector) void
collectUsedLValues
(LValueUsageCollector lValueUsageCollector) deepClone
(CloneHelper cloneHelper) boolean
static boolean
equalsAnyOne
(Expression expression) boolean
equivalentUnder
(Object o, EquivalenceConstraint constraint) getComputedLiteral
(Map<LValue, Literal> display) static Expression
getLiteralOrNull
(RawJavaType rawCastType, InferredJavaType inferredCastType, int intValue) getValue()
boolean
isSimple()
replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) <T> T
visit
(ExpressionVisitor<T> visitor) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.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:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
- Specified by:
dumpInner
in classAbstractExpression
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractExpression
-
isSimple
public boolean isSimple()- Specified by:
isSimple
in interfaceExpression
- Overrides:
isSimple
in 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:
visit
in interfaceExpression
- Overrides:
visit
in classAbstractExpression
-
collectUsedLValues
-
appropriatelyCasted
-
getValue
-
canThrow
- Specified by:
canThrow
in interfaceExpression
- Overrides:
canThrow
in classAbstractExpression
-
equals
- Specified by:
equals
in classAbstractExpression
-
equivalentUnder
-
getComputedLiteral
- Specified by:
getComputedLiteral
in interfaceExpression
- Overrides:
getComputedLiteral
in classAbstractExpression
-
equalsAnyOne
-