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 LValue
LValue.Creation -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionFieldVariable(Expression object, ClassFileField field, JavaTypeInstance owningClass) FieldVariable(Expression object, ConstantPoolEntry field) privateFieldVariable(FieldVariable other, Expression object) privateFieldVariable(FieldVariable other, CloneHelper cloneHelper) -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) booleancanThrow(ExceptionCheck caught) voidcollectLValueUsage(LValueUsageCollector lValueUsageCollector) voidcollectTypeUsages(TypeUsageCollector collector) deepClone(CloneHelper cloneHelper) booleaninthashCode()private booleanprivate booleanprivate booleanbooleanreplaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) voidwithReplacedObject(Expression object) Methods inherited from class AbstractFieldVariable
collectLValueAssignments, collectVariableMutation, getClassFileField, getField, getFieldName, getNumberOfCreators, getOwningClassType, getRawFieldName, isFakeIgnored, isFinal, isHiddenDeclaration, isVar, markFinal, markVarMethods inherited from class AbstractLValue
doesBlackListLValueReplacement, dump, dump, dumpWithOuterPrecedence, getAnnotatedCreationType, getInferredJavaType, outerDeepClone, toString, typeToString, validIterator
-
Field Details
-
object
-
-
Constructor Details
-
FieldVariable
-
FieldVariable
-
FieldVariable
-
FieldVariable
-
-
Method Details
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractFieldVariable
-
deepClone
-
withReplacedObject
-
isOuterRef
private boolean isOuterRef() -
getObject
-
objectIsEclipseOuterThis
private boolean objectIsEclipseOuterThis() -
objectIsThis
public boolean objectIsThis() -
canThrow
- Specified by:
canThrowin interfaceLValue- Overrides:
canThrowin classAbstractLValue
-
objectIsIllegalThis
private boolean objectIsIllegalThis() -
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractLValue
-
dumpInner
- Specified by:
dumpInnerin classAbstractLValue
-
collectLValueUsage
- Specified by:
collectLValueUsagein interfaceLValue- Overrides:
collectLValueUsagein 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:
equalsin classAbstractFieldVariable
-
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractFieldVariable
-