Пример #1
0
        /// <summary>
        /// Gets all the semantic diagnostics unsorted. Does not include parser and lexer diagnostics.
        /// </summary>
        /// <returns></returns>
        public IEnumerable <ErrorDiagnostic> GetSemanticDiagnostics()
        {
            var diagnostics = new List <ErrorDiagnostic>();
            var visitor     = new SemanticErrorVisitor(diagnostics);

            visitor.Visit(this.Root);

            return(diagnostics);
        }
Пример #2
0
        /// <summary>
        /// Gets all the semantic diagnostics unsorted. Does not include parser and lexer diagnostics.
        /// </summary>
        /// <returns></returns>
        public IEnumerable <ErrorDiagnostic> GetSemanticDiagnostics()
        {
            var diagnostics = new List <ErrorDiagnostic>();

            var visitor = new SemanticErrorVisitor(diagnostics);

            visitor.Visit(this.Root);

            // TODO: Remove this when we fix IL limitations
            var emitLimitationVisitor = new EmitLimitationVisitor(diagnostics, this);

            emitLimitationVisitor.Visit(this.Root.Syntax);

            return(diagnostics);
        }