internal IEnumerable <IMethodDefinition> getReachableMethodsFromMethod(IMethodReference method, IEnumerable <IModule> modules)
        {
            IEnumerable <IAssembly> assemblies = getAssembliesFromModules(modules);

            Microsoft.Cci.MetadataReaderHost readerHost = host as Microsoft.Cci.MetadataReaderHost;

            if (readerHost == null)
            {
                return(new List <IMethodDefinition>()); //?
            }
            ILGarbageCollect.Mark.WholeProgram program = new ILGarbageCollect.Mark.WholeProgram(assemblies, readerHost);
            RapidTypeAnalysis analyzer = new RapidTypeAnalysis(program, TargetProfile.Phone);

            analyzer.Run(new IMethodReference[] { method });
            return(analyzer.ReachableMethods());
        }
    internal IEnumerable<IMethodDefinition> getReachableMethodsFromMethod(IMethodReference method, IEnumerable<IModule> modules) {
      IEnumerable<IAssembly> assemblies = getAssembliesFromModules(modules);
      Microsoft.Cci.MetadataReaderHost readerHost = host as Microsoft.Cci.MetadataReaderHost;

      if (readerHost == null)
        return new List<IMethodDefinition>(); //?

      ILGarbageCollect.Mark.WholeProgram program = new ILGarbageCollect.Mark.WholeProgram(assemblies, readerHost);
      RapidTypeAnalysis analyzer = new RapidTypeAnalysis(program, TargetProfile.Phone);
      analyzer.Run(new IMethodReference[] { method });
      return analyzer.ReachableMethods();
    }