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 -
Constructor Summary
ConstructorsConstructorDescriptionFieldVariable(Expression object, ClassFileField field, JavaTypeInstance owningClass) FieldVariable(Expression object, ConstantPoolEntry field) -
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()booleanreplaceSingleUsageLValues(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, validIterator
-
Constructor Details
-
FieldVariable
-
FieldVariable
-
-
Method Details
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractFieldVariable
-
deepClone
-
withReplacedObject
-
getObject
-
objectIsThis
public boolean objectIsThis() -
canThrow
- Specified by:
canThrowin interfaceLValue- Overrides:
canThrowin classAbstractLValue
-
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
-