Class NonStaticLifter
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.NonStaticLifter
-
public class NonStaticLifter extends java.lang.Object
Similar to the static lifter, however this has to cope with the possibility that EVERY constructor will have had the non static initialisation pushed into it.
-
-
Constructor Summary
Constructors Constructor Description NonStaticLifter(ClassFile classFile)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
fromThisClass(FieldVariable fv)
private boolean
hasLegitArgs(Expression rValue, java.util.Set<Expression> usedFvs)
void
liftNonStatics()
private boolean
tryLift(FieldVariable lValue, Expression rValue, java.util.Map<java.lang.String,Pair<java.lang.Integer,ClassFileField>> fieldMap, java.util.Set<Expression> usedFvs)
-
-
-
Field Detail
-
classFile
private final ClassFile classFile
-
-
Constructor Detail
-
NonStaticLifter
public NonStaticLifter(ClassFile classFile)
-
-
Method Detail
-
liftNonStatics
public void liftNonStatics()
-
fromThisClass
private boolean fromThisClass(FieldVariable fv)
-
tryLift
private boolean tryLift(FieldVariable lValue, Expression rValue, java.util.Map<java.lang.String,Pair<java.lang.Integer,ClassFileField>> fieldMap, java.util.Set<Expression> usedFvs)
-
hasLegitArgs
private boolean hasLegitArgs(Expression rValue, java.util.Set<Expression> usedFvs)
-
-