Пример #1
0
        internal static IEnumerable <LabeledStatementSyntax> Analyze(
            CSharpCompilation compilation,
            Symbol member,
            BoundNode node,
            BoundNode firstInRegion,
            BoundNode lastInRegion,
            out bool?succeeded
            )
        {
            var walker = new EntryPointsWalker(
                compilation,
                member,
                node,
                firstInRegion,
                lastInRegion
                );
            bool badRegion = false;

            try
            {
                walker.Analyze(ref badRegion);
                var result = walker._entryPoints;
                succeeded = !badRegion;
                return(badRegion
                  ? SpecializedCollections.EmptyEnumerable <LabeledStatementSyntax>()
                  : result);
            }
            finally
            {
                walker.Free();
            }
        }
 internal static IEnumerable<LabeledStatementSyntax> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion, out bool? succeeded)
 {
     var walker = new EntryPointsWalker(compilation, member, node, firstInRegion, lastInRegion);
     bool badRegion = false;
     try
     {
         walker.Analyze(ref badRegion);
         var result = walker.entryPoints;
         succeeded = !badRegion;
         return badRegion ? SpecializedCollections.EmptyEnumerable<LabeledStatementSyntax>() : result;
     }
     finally
     {
         walker.Free();
     }
 }