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 JavaTypeInstance
localClassType
-
Constructor Summary
Constructors Constructor Description SentinelLocalClassLValue(JavaTypeInstance localClassType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LValue
applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
<T> void
collectLValueAssignments(Expression assignedTo, StatementContainer<T> statementContainer, LValueAssignmentCollector<T> lValueAssigmentCollector)
void
collectTypeUsages(TypeUsageCollector collector)
SSAIdentifiers<LValue>
collectVariableMutation(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
LValue
deepClone(CloneHelper cloneHelper)
Dumper
dumpInner(Dumper d)
boolean
equals(java.lang.Object o)
JavaTypeInstance
getLocalClassType()
int
getNumberOfCreators()
Precedence
getPrecedence()
int
hashCode()
boolean
isFinal()
boolean
isVar()
void
markFinal()
void
markVar()
LValue
replaceSingleUsageLValues(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:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in 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:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractLValue
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractLValue
-
getLocalClassType
public JavaTypeInstance getLocalClassType()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-