Пример #1
0
        internal static IEnumerable <Symbol> Analyze(
            CSharpCompilation compilation,
            Symbol member,
            BoundNode node,
            BoundNode firstInRegion,
            BoundNode lastInRegion
            )
        {
            var walker = new VariablesDeclaredWalker(
                compilation,
                member,
                node,
                firstInRegion,
                lastInRegion
                );

            try
            {
                bool badRegion = false;
                walker.Analyze(ref badRegion);
                return(badRegion
                  ? SpecializedCollections.EmptyEnumerable <Symbol>()
                  : walker._variablesDeclared);
            }
            finally
            {
                walker.Free();
            }
        }
Пример #2
0
 internal static IEnumerable<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion)
 {
     var walker = new VariablesDeclaredWalker(compilation, member, node, firstInRegion, lastInRegion);
     try
     {
         bool badRegion = false;
         walker.Analyze(ref badRegion);
         return badRegion ? SpecializedCollections.EmptyEnumerable<Symbol>() : walker._variablesDeclared;
     }
     finally
     {
         walker.Free();
     }
 }