Class AbstractFieldVariable
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractFieldVariable
-
- All Implemented Interfaces:
LValue
,DeepCloneable<LValue>
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
- Direct Known Subclasses:
FieldVariable
,StaticVariable
public abstract class AbstractFieldVariable extends AbstractLValue
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.LValue
LValue.Creation
-
-
Field Summary
Fields Modifier and Type Field Description private ClassFileField
classFileField
private java.lang.String
failureName
private JavaTypeInstance
owningClass
-
Constructor Summary
Constructors Constructor Description AbstractFieldVariable(AbstractFieldVariable other)
AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, java.lang.String varName)
AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, ClassFileField classFileField)
AbstractFieldVariable(ClassFileField field, JavaTypeInstance owningClass)
AbstractFieldVariable(ConstantPoolEntry field)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collectLValueAssignments(Expression assignedTo, StatementContainer statementContainer, LValueAssignmentCollector lValueAssigmentCollector)
void
collectTypeUsages(TypeUsageCollector collector)
SSAIdentifiers<LValue>
collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
boolean
equals(java.lang.Object o)
ClassFileField
getClassFileField()
static ClassFileField
getField(ConstantPoolEntryFieldRef fieldRef)
java.lang.String
getFieldName()
private static InferredJavaType
getFieldType(ConstantPoolEntryFieldRef fieldRef)
int
getNumberOfCreators()
JavaTypeInstance
getOwningClassType()
java.lang.String
getRawFieldName()
int
hashCode()
boolean
isFakeIgnored()
boolean
isFinal()
protected boolean
isHiddenDeclaration()
boolean
isVar()
void
markFinal()
void
markVar()
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
canThrow, collectLValueUsage, doesBlackListLValueReplacement, dump, dump, dumpInner, dumpWithOuterPrecedence, getAnnotatedCreationType, getInferredJavaType, getPrecedence, outerDeepClone, toString, typeToString, validIterator
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepClone
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.LValue
applyExpressionRewriter, replaceSingleUsageLValues
-
-
-
-
Field Detail
-
classFileField
private final ClassFileField classFileField
-
failureName
private final java.lang.String failureName
-
owningClass
private final JavaTypeInstance owningClass
-
-
Constructor Detail
-
AbstractFieldVariable
AbstractFieldVariable(ConstantPoolEntry field)
-
AbstractFieldVariable
AbstractFieldVariable(ClassFileField field, JavaTypeInstance owningClass)
-
AbstractFieldVariable
AbstractFieldVariable(AbstractFieldVariable other)
-
AbstractFieldVariable
AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, java.lang.String varName)
-
AbstractFieldVariable
AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, ClassFileField classFileField)
-
-
Method Detail
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractLValue
-
markFinal
public void markFinal()
-
isFinal
public boolean isFinal()
-
isFakeIgnored
public boolean isFakeIgnored()
- Specified by:
isFakeIgnored
in interfaceLValue
- Overrides:
isFakeIgnored
in classAbstractLValue
-
markVar
public void markVar()
-
isVar
public boolean isVar()
-
getNumberOfCreators
public int getNumberOfCreators()
-
getOwningClassType
public JavaTypeInstance getOwningClassType()
-
getFieldName
public java.lang.String getFieldName()
-
isHiddenDeclaration
protected boolean isHiddenDeclaration()
-
getRawFieldName
public java.lang.String getRawFieldName()
-
getClassFileField
public ClassFileField getClassFileField()
-
collectVariableMutation
public SSAIdentifiers<LValue> collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
-
collectLValueAssignments
public void collectLValueAssignments(Expression assignedTo, StatementContainer statementContainer, LValueAssignmentCollector lValueAssigmentCollector)
-
getField
public static ClassFileField getField(ConstantPoolEntryFieldRef fieldRef)
-
getFieldType
private static InferredJavaType getFieldType(ConstantPoolEntryFieldRef fieldRef)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-