return dataflow;
for (InstructionHandle handle = il.getStart(); handle != null; handle = handle.getNext()) { Instruction ins = handle.getInstruction(); short opcode = ins.getOpcode(); try { if (opcode == Constants.INVOKESTATIC) { INVOKESTATIC inv = (INVOKESTATIC) ins; if (Hierarchy.isInnerClassAccess(inv, getConstantPoolGen())) { InnerClassAccess access = Hierarchy.getInnerClassAccess(inv, getConstantPoolGen());  if (access != null) { if (access.isLoad()) loadedFieldSet.addLoad(handle, access.getField()); else loadedFieldSet.addStore(handle, access.getField()); } } } else if (fieldInstructionOpcodeSet.get(opcode)) { boolean isLoad = (opcode == Constants.GETFIELD || opcode == Constants.GETSTATIC); XField field = Hierarchy.findXField((FieldInstruction) ins, getConstantPoolGen()); if (field != null) { if (isLoad) loadedFieldSet.addLoad(handle, field); else loadedFieldSet.addStore(handle, field); } } } catch (ClassNotFoundException e) { analysisContext.getLookupFailureCallback().reportMissingClass(e); } }  return loadedFieldSet;
				protected Dataflow<BlockType, BlockTypeAnalysis> analyze(Method method)						throws DataflowAnalysisException, CFGBuilderException {					CFG cfg = getCFG(method);					DepthFirstSearch dfs = getDepthFirstSearch(method);					BlockTypeAnalysis analysis = new BlockTypeAnalysis(dfs);					Dataflow<BlockType, BlockTypeAnalysis> dataflow =						new Dataflow<BlockType, BlockTypeAnalysis>(cfg, analysis);					dataflow.execute();					return dataflow;				}