Exemple #1
0
        private void AugmentProject(Project project, string filecontents)
        {
            project.RegisterSourceFile(FileFullPath, this);

            var lexer  = new LexSession(this, filecontents);
            var parser = new ParseSession(lexer);

            parser.AugmentProject(project);
        }
        //
        // Construct and initialize a new parsing session, using the given lexer.
        //
        // Also sets up error provision infrastructure, so that exceptions thrown
        // during the parsing process can be routed to the VS UI (as IntelliSense
        // errors or other "fix me" hints).
        //
        public ParseSession(LexSession lexer)
        {
            Lexer = lexer;

            var helper = new ErrorListHelper();

            ErrorProvider = new ErrorListProvider(helper);
            ErrorProvider.ProviderName = "Epoch Language";
            ErrorProvider.ProviderGuid = new Guid(VsPackage.PackageGuid);
        }