Ejemplo n.º 1
0
        void AnalyzeBlock(BoundBlock block) // TODO: driver
        {
            // TODO: pool of CFGAnalysis
            // TODO: async
            // TODO: in parallel

            block.Accept(AnalysisFactory(block.FlowState));
        }
Ejemplo n.º 2
0
        void AnalyzeBlock(BoundBlock block) // TODO: driver
        {
            // TODO: pool of CFGAnalysis
            // TODO: async
            // TODO: in parallel
            var analysis = CFGAnalysis.Create(_worklist, new ExpressionAnalysis(new GlobalSemantics(_compilation)));

            block.Accept(analysis);
        }
Ejemplo n.º 3
0
        void BindBlock(BoundBlock block) // TODO: driver
        {
            // TODO: pool of CFGAnalysis
            // TODO: async
            // TODO: in parallel
            currentBlock = block;

            /*
             * LangElement l = PhylDiagnosingVisitor.PickFirstSyntaxNode(block);
             * if (l != null && l.ContainingSourceUnit != null && l.Span != null)
             * {
             *  L.Verbose("Processing worklist block {0} in file {1} at position {2}.", currentBlock.DebugDisplay, l.ContainingSourceUnit.FilePath, Engine.GetLineFromTokenPosition(l.Span.Start, l.ContainingSourceUnit.FilePath));
             * }
             */
            block.Accept(ExpressionAnalysisFactory());
        }