void ResolveBreakpoints(TypeMirror t)
        {
            string typeName = t.FullName;

            types [typeName] = t;

            /* Handle pending breakpoints */

            var resolved = new List <BreakEvent> ();

            foreach (string s in t.GetSourceFiles())
            {
                List <TypeMirror> typesList;

                if (source_to_type.TryGetValue(s, out typesList))
                {
                    typesList.Add(t);
                }
                else
                {
                    typesList = new List <TypeMirror> ();
                    typesList.Add(t);
                    source_to_type[s] = typesList;
                }


                foreach (var bp in pending_bes.OfType <Breakpoint> ())
                {
                    if (System.IO.Path.GetFileName(bp.FileName) == s)
                    {
                        Location l = GetLocFromType(t, s, bp.Line);
                        if (l != null)
                        {
                            OnDebuggerOutput(false, string.Format("Resolved pending breakpoint at '{0}:{1}' to {2}:{3}.\n",
                                                                  s, bp.Line, l.Method.FullName, l.ILOffset));
                            ResolvePendingBreakpoint(bp, l);
                            resolved.Add(bp);
                        }
                        else
                        {
                            OnDebuggerOutput(true, string.Format("Could not insert pending breakpoint at '{0}:{1}'. " +
                                                                 "Perhaps the source line does not contain any statements, or the source does not correspond " +
                                                                 "to the current binary.\n", s, bp.Line));
                        }
                    }
                }

                foreach (var be in resolved)
                {
                    pending_bes.Remove(be);
                }
                resolved.Clear();
            }

            //handle pending catchpoints

            foreach (var cp in pending_bes.OfType <Catchpoint> ())
            {
                if (cp.ExceptionName == typeName)
                {
                    ResolvePendingCatchpoint(cp, t);
                    resolved.Add(cp);
                }
            }
            foreach (var be in resolved)
            {
                pending_bes.Remove(be);
            }
        }