private VBStyleCollection <BasicBlock, int> CreateBasicBlocks(short[] startblock, InstructionSequence instrseq, Dictionary <int, BasicBlock> mapInstrBlocks) { VBStyleCollection <BasicBlock, int> col = new VBStyleCollection <BasicBlock, int>(); InstructionSequence currseq = null; List <int> lstOffs = null; int len = startblock.Length; short counter = 0; int blockoffset = 0; BasicBlock currentBlock = null; for (int i = 0; i < len; i++) { if (startblock[i] == 1) { currentBlock = new BasicBlock(++counter); currseq = currentBlock.GetSeq(); lstOffs = currentBlock.GetInstrOldOffsets(); col.AddWithKey(currentBlock, currentBlock.id); blockoffset = instrseq.GetOffset(i); } startblock[i] = counter; Sharpen.Collections.Put(mapInstrBlocks, i, currentBlock); currseq.AddInstruction(instrseq.GetInstr(i), instrseq.GetOffset(i) - blockoffset); lstOffs.Add(instrseq.GetOffset(i)); } last_id = counter; return(col); }