internal static IVbpProjectSymbolCache FromProject(IVbpProject project)
        {
            VbpProjectSymbolCache impl = new VbpProjectSymbolCache(project);

            /* Initially iterate over each module, create its parse information, and cache it!
             */
            List <ElementBase> files = new List <ElementBase>();

            files.AddRange(project.GetOwnedProject().Modules);
            files.AddRange(project.GetOwnedProject().Classes);
            files.AddRange(project.GetOwnedProject().Forms);
            files.AddRange(project.GetOwnedProject().UserControls);

            foreach (ElementBase file in files)
            {
                string fn = file.GetAbsoluteFileName(project.GetOwnedProject());

                ITextSource ts = new StringTextSource(File.ReadAllText(fn));
                impl._cache[fn] = CreateParseInformation(fn, ts, project);
            }

            return(impl);
        }
        internal static IVbpProjectSymbolCache FromProject(IVbpProject project)
        {
            VbpProjectSymbolCache impl = new VbpProjectSymbolCache(project);

            /* Initially iterate over each module, create its parse information, and cache it!
             */
            List<ElementBase> files = new List<ElementBase>();
            files.AddRange(project.GetOwnedProject().Modules);
            files.AddRange(project.GetOwnedProject().Classes);
            files.AddRange(project.GetOwnedProject().Forms);
            files.AddRange(project.GetOwnedProject().UserControls);

            foreach (ElementBase file in files)
            {
                string fn = file.GetAbsoluteFileName(project.GetOwnedProject());

                ITextSource ts = new StringTextSource(File.ReadAllText(fn));
                impl._cache[fn] = CreateParseInformation(fn, ts, project);
            }

            return impl;
        }