Class AbstractLValue
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
-
- All Implemented Interfaces:
LValue,DeepCloneable<LValue>,Dumpable,DumpableWithPrecedence,TypeUsageCollectable
- Direct Known Subclasses:
AbstractFieldVariable,ArrayVariable,LocalVariable,SentinelLocalClassLValue,StackSSALabel
public abstract class AbstractLValue extends java.lang.Object implements LValue
-
-
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 InferredJavaTypeinferredJavaType
-
Constructor Summary
Constructors Constructor Description AbstractLValue(InferredJavaType inferredJavaType)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleancanThrow(ExceptionCheck caught)voidcollectLValueUsage(LValueUsageCollector lValueUsageCollector)voidcollectTypeUsages(TypeUsageCollector collector)booleandoesBlackListLValueReplacement(LValue replace, Expression with)Dumperdump(Dumper d)Dumperdump(Dumper d, boolean defines)abstract DumperdumpInner(Dumper d)DumperdumpWithOuterPrecedence(Dumper d, Precedence outerP, Troolean isLhs)JavaAnnotatedTypeInstancegetAnnotatedCreationType()InferredJavaTypegetInferredJavaType()abstract PrecedencegetPrecedence()booleanisFakeIgnored()LValueouterDeepClone(CloneHelper cloneHelper)java.lang.StringtoString()(package private) java.lang.StringtypeToString()booleanvalidIterator()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, 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, collectLValueAssignments, collectVariableMutation, getNumberOfCreators, isFinal, isVar, markFinal, markVar, replaceSingleUsageLValues
-
-
-
-
Field Detail
-
inferredJavaType
private InferredJavaType inferredJavaType
-
-
Constructor Detail
-
AbstractLValue
public AbstractLValue(InferredJavaType inferredJavaType)
-
-
Method Detail
-
typeToString
java.lang.String typeToString()
-
getInferredJavaType
public InferredJavaType getInferredJavaType()
- Specified by:
getInferredJavaTypein interfaceLValue
-
getAnnotatedCreationType
public JavaAnnotatedTypeInstance getAnnotatedCreationType()
- Specified by:
getAnnotatedCreationTypein interfaceLValue
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable
-
collectLValueUsage
public void collectLValueUsage(LValueUsageCollector lValueUsageCollector)
- Specified by:
collectLValueUsagein interfaceLValue
-
doesBlackListLValueReplacement
public boolean doesBlackListLValueReplacement(LValue replace, Expression with)
- Specified by:
doesBlackListLValueReplacementin interfaceLValue
-
outerDeepClone
public LValue outerDeepClone(CloneHelper cloneHelper)
- Specified by:
outerDeepClonein interfaceDeepCloneable<LValue>
-
canThrow
public boolean canThrow(ExceptionCheck caught)
-
validIterator
public boolean validIterator()
- Specified by:
validIteratorin interfaceLValue
-
isFakeIgnored
public boolean isFakeIgnored()
- Specified by:
isFakeIgnoredin interfaceLValue
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getPrecedence
public abstract Precedence getPrecedence()
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence
-
dumpWithOuterPrecedence
public final Dumper dumpWithOuterPrecedence(Dumper d, Precedence outerP, Troolean isLhs)
- Specified by:
dumpWithOuterPrecedencein interfaceDumpableWithPrecedence
-
-