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
-
Nested Class Summary
Nested classes/interfaces inherited from interface LValue
LValue.Creation -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ClassFileFieldprivate final Stringprivate final JavaTypeInstance -
Constructor Summary
ConstructorsConstructorDescriptionAbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, String varName) AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, ClassFileField classFileField) AbstractFieldVariable(ClassFileField field, JavaTypeInstance owningClass) -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectLValueAssignments(Expression assignedTo, StatementContainer statementContainer, LValueAssignmentCollector lValueAssigmentCollector) voidcollectTypeUsages(TypeUsageCollector collector) collectVariableMutation(SSAIdentifierFactory<LValue, ?> ssaIdentifierFactory) booleanstatic ClassFileFieldgetField(ConstantPoolEntryFieldRef fieldRef) private static InferredJavaTypegetFieldType(ConstantPoolEntryFieldRef fieldRef) intinthashCode()booleanbooleanisFinal()protected booleanbooleanisVar()voidvoidmarkVar()Methods inherited from class AbstractLValue
canThrow, collectLValueUsage, doesBlackListLValueReplacement, dump, dump, dumpInner, dumpWithOuterPrecedence, getAnnotatedCreationType, getInferredJavaType, getPrecedence, outerDeepClone, toString, typeToString, validIteratorMethods inherited from interface DeepCloneable
deepCloneMethods inherited from interface LValue
applyExpressionRewriter, replaceSingleUsageLValues
-
Field Details
-
classFileField
-
failureName
-
owningClass
-
-
Constructor Details
-
AbstractFieldVariable
AbstractFieldVariable(ConstantPoolEntry field) -
AbstractFieldVariable
AbstractFieldVariable(ClassFileField field, JavaTypeInstance owningClass) -
AbstractFieldVariable
AbstractFieldVariable(AbstractFieldVariable other) -
AbstractFieldVariable
AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, String varName) -
AbstractFieldVariable
AbstractFieldVariable(InferredJavaType type, JavaTypeInstance clazz, ClassFileField classFileField)
-
-
Method Details
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractLValue
-
markFinal
public void markFinal() -
isFinal
public boolean isFinal() -
isFakeIgnored
public boolean isFakeIgnored()- Specified by:
isFakeIgnoredin interfaceLValue- Overrides:
isFakeIgnoredin classAbstractLValue
-
markVar
public void markVar() -
isVar
public boolean isVar() -
getNumberOfCreators
public int getNumberOfCreators() -
getOwningClassType
-
getFieldName
-
isHiddenDeclaration
protected boolean isHiddenDeclaration() -
getRawFieldName
-
getClassFileField
-
collectVariableMutation
public SSAIdentifiers<LValue> collectVariableMutation(SSAIdentifierFactory<LValue, ?> ssaIdentifierFactory) -
collectLValueAssignments
public void collectLValueAssignments(Expression assignedTo, StatementContainer statementContainer, LValueAssignmentCollector lValueAssigmentCollector) -
getField
-
getFieldType
-
equals
-
hashCode
-