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, 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 org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractFieldVariable
collectLValueAssignments, collectVariableMutation, getClassFileField, getField, getFieldName, getNumberOfCreators, getOwningClassType, getRawFieldName, isFakeIgnored, isFinal, isHiddenDeclaration, isVar, markFinal, markVarMethods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.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
-