Class FieldVariable
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractFieldVariable
org.benf.cfr.reader.bytecode.analysis.parse.lvalue.FieldVariable
- All Implemented Interfaces:
LValue
,DeepCloneable<LValue>
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
Note - a field variable LValue means an lValue of ANY object.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.LValue
LValue.Creation
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionFieldVariable
(Expression object, ConstantPoolEntry field) private
FieldVariable
(FieldVariable other, Expression object) private
FieldVariable
(FieldVariable other, CloneHelper cloneHelper) -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) void
collectLValueUsage
(LValueUsageCollector lValueUsageCollector) void
collectTypeUsages
(TypeUsageCollector collector) deepClone
(CloneHelper cloneHelper) boolean
int
hashCode()
private boolean
private boolean
private boolean
boolean
replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) void
withReplacedObject
(Expression object) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractFieldVariable
collectLValueAssignments, collectVariableMutation, getClassFileField, getField, getFieldName, getNumberOfCreators, getOwningClassType, getRawFieldName, isFinal, isHiddenDeclaration, isVar, markFinal, markVar
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
canThrow, doesBlackListLValueReplacement, dump, dump, dumpWithOuterPrecedence, getAnnotatedCreationType, getInferredJavaType, outerDeepClone, toString, typeToString, validIterator
-
Field Details
-
object
-
-
Constructor Details
-
FieldVariable
-
FieldVariable
-
FieldVariable
-
-
Method Details
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractFieldVariable
-
deepClone
-
withReplacedObject
-
isOuterRef
private boolean isOuterRef() -
getObject
-
objectIsEclipseOuterThis
private boolean objectIsEclipseOuterThis() -
objectIsThis
public boolean objectIsThis() -
objectIsIllegalThis
private boolean objectIsIllegalThis() -
getPrecedence
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractLValue
-
dumpInner
- Specified by:
dumpInner
in classAbstractLValue
-
collectLValueUsage
- Specified by:
collectLValueUsage
in interfaceLValue
- Overrides:
collectLValueUsage
in classAbstractLValue
-
replaceSingleUsageLValues
public LValue replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) -
applyExpressionRewriter
public LValue applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) -
rewriteLeftNestedSyntheticOuterRefs
public void rewriteLeftNestedSyntheticOuterRefs() -
equals
- Overrides:
equals
in classAbstractFieldVariable
-
hashCode
public int hashCode()- Overrides:
hashCode
in classAbstractFieldVariable
-