Class SentinelLocalClassLValue
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
-
- org.benf.cfr.reader.bytecode.analysis.parse.lvalue.SentinelLocalClassLValue
-
- All Implemented Interfaces:
LValue,DeepCloneable<LValue>,Dumpable,DumpableWithPrecedence,TypeUsageCollectable
public class SentinelLocalClassLValue extends AbstractLValue
This is NOT an lvalue, however the definition of a local class follows the same scoping rules
-
-
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 JavaTypeInstancelocalClassType
-
Constructor Summary
Constructors Constructor Description SentinelLocalClassLValue(JavaTypeInstance localClassType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LValueapplyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)<T> voidcollectLValueAssignments(Expression assignedTo, StatementContainer<T> statementContainer, LValueAssignmentCollector<T> lValueAssigmentCollector)voidcollectTypeUsages(TypeUsageCollector collector)SSAIdentifiers<LValue>collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)LValuedeepClone(CloneHelper cloneHelper)DumperdumpInner(Dumper d)booleanequals(java.lang.Object o)JavaTypeInstancegetLocalClassType()intgetNumberOfCreators()PrecedencegetPrecedence()inthashCode()booleanisFinal()booleanisVar()voidmarkFinal()voidmarkVar()LValuereplaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.lvalue.AbstractLValue
canThrow, collectLValueUsage, doesBlackListLValueReplacement, dump, dump, dumpWithOuterPrecedence, getAnnotatedCreationType, getInferredJavaType, isFakeIgnored, outerDeepClone, toString, typeToString, validIterator
-
-
-
-
Field Detail
-
localClassType
private final JavaTypeInstance localClassType
-
-
Constructor Detail
-
SentinelLocalClassLValue
public SentinelLocalClassLValue(JavaTypeInstance localClassType)
-
-
Method Detail
-
markFinal
public void markFinal()
-
isFinal
public boolean isFinal()
-
markVar
public void markVar()
-
isVar
public boolean isVar()
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractLValue
-
getNumberOfCreators
public int getNumberOfCreators()
-
collectLValueAssignments
public <T> void collectLValueAssignments(Expression assignedTo, StatementContainer<T> statementContainer, LValueAssignmentCollector<T> lValueAssigmentCollector)
-
collectVariableMutation
public SSAIdentifiers<LValue> collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
-
replaceSingleUsageLValues
public LValue replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
public LValue applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
deepClone
public LValue deepClone(CloneHelper cloneHelper)
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractLValue
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInnerin classAbstractLValue
-
getLocalClassType
public JavaTypeInstance getLocalClassType()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-