Mono.Cecil.Cil.MethodDebugInformation.GetSequencePointMapping C# (CSharp) Method

GetSequencePointMapping() public method

public GetSequencePointMapping ( ) : SequencePoint>.IDictionary
return SequencePoint>.IDictionary
        public IDictionary<Instruction, SequencePoint> GetSequencePointMapping()
        {
            var instruction_mapping = new Dictionary<Instruction, SequencePoint> ();
            if (!HasSequencePoints || !method.HasBody)
                return instruction_mapping;

            var offset_mapping = new Dictionary<int, SequencePoint> (sequence_points.Count);

            for (int i = 0; i < sequence_points.Count; i++)
                offset_mapping.Add (sequence_points [i].Offset, sequence_points [i]);

            var instructions = method.Body.Instructions;

            for (int i = 0; i < instructions.Count; i++) {
                SequencePoint sequence_point;
                if (offset_mapping.TryGetValue (instructions [i].Offset, out sequence_point))
                    instruction_mapping.Add (instructions [i], sequence_point);
            }

            return instruction_mapping;
        }