Beispiel #1
0
        public void UpdateModule(IPythonProjectEntry entry, string code)
        {
            CollectingErrorSink errors = null;

            if (code != null)
            {
                errors = new CollectingErrorSink();
                var parser = Parser.CreateParser(
                    new StringReader(code),
                    _analyzer.LanguageVersion,
                    new ParserOptions {
                    BindReferences = true, ErrorSink = errors
                }
                    );
                using (var p = entry.BeginParse()) {
                    p.Tree = parser.ParseFile();
                    p.Complete();
                }
                if (errors.Errors.Any() || errors.Warnings.Any())
                {
                    if (AssertOnParseErrors)
                    {
                        var errorMsg = MakeMessage(errors);
                        Trace.TraceError(errorMsg);
                        Assert.Fail("Errors parsing " + entry.FilePath, errorMsg);
                    }
                }
            }

            entry.PreAnalyze();
        }