1 19 20 package edu.umd.cs.findbugs.ba.bcp; 21 22 import org.apache.bcel.generic.ConstantPoolGen; 23 import org.apache.bcel.generic.Instruction; 24 import org.apache.bcel.generic.InstructionHandle; 25 import org.apache.bcel.generic.NEW; 26 27 import edu.umd.cs.findbugs.ba.DataflowAnalysisException; 28 import edu.umd.cs.findbugs.ba.vna.ValueNumberFrame; 29 30 37 public class New extends OneVariableInstruction { 38 43 public New(String resultVarName) { 44 super(resultVarName); 45 } 46 47 @Override 48 public MatchResult match(InstructionHandle handle, ConstantPoolGen cpg, 49 ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet) throws DataflowAnalysisException { 50 51 Instruction ins = handle.getInstruction(); 52 if (!(ins instanceof NEW)) 53 return null; 54 55 LocalVariable result = new LocalVariable(after.getTopValue()); 56 return addOrCheckDefinition(result, bindingSet); 57 } 58 } 59 60 | Popular Tags |