Beispiel #1
0
        internal static HashSet <Symbol> Analyze(
            CSharpCompilation compilation,
            Symbol member,
            BoundNode node,
            BoundNode firstInRegion,
            BoundNode lastInRegion,
            HashSet <Symbol> unassignedVariables,
            HashSet <PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes,
            out bool?succeeded
            )
        {
            var walker = new DataFlowsInWalker(
                compilation,
                member,
                node,
                firstInRegion,
                lastInRegion,
                unassignedVariables,
                unassignedVariableAddressOfSyntaxes
                );

            try
            {
                bool badRegion = false;
                var  result    = walker.Analyze(ref badRegion);
                succeeded = !badRegion;
                return(badRegion ? new HashSet <Symbol>() : result);
            }
            finally
            {
                walker.Free();
            }
        }
Beispiel #2
0
 internal static HashSet<Symbol> Analyze(CSharpCompilation compilation, Symbol member, BoundNode node, BoundNode firstInRegion, BoundNode lastInRegion,
     HashSet<Symbol> unassignedVariables, HashSet<PrefixUnaryExpressionSyntax> unassignedVariableAddressOfSyntaxes, out bool? succeeded)
 {
     var walker = new DataFlowsInWalker(compilation, member, node, firstInRegion, lastInRegion, unassignedVariables, unassignedVariableAddressOfSyntaxes);
     try
     {
         bool badRegion = false;
         var result = walker.Analyze(ref badRegion);
         succeeded = !badRegion;
         return badRegion ? new HashSet<Symbol>() : result;
     }
     finally
     {
         walker.Free();
     }
 }