コード例 #1
0
        private static bool ContainsUnsafeSyntax(SyntaxNode node)
        {
            UnnecessaryUnsafeContextWalker walker = UnnecessaryUnsafeContextWalkerCache.GetInstance();

            walker.Visit(node);

            bool containsUnsafe = walker.ContainsUnsafe;

            UnnecessaryUnsafeContextWalkerCache.Free(walker);

            return(containsUnsafe);
        }
コード例 #2
0
        public static UnnecessaryUnsafeContextWalker GetInstance()
        {
            UnnecessaryUnsafeContextWalker walker = _cachedInstance;

            if (walker != null)
            {
                _cachedInstance = null;
                walker.Reset();
            }
            else
            {
                walker = new UnnecessaryUnsafeContextWalker();
            }

            return(walker);
        }
コード例 #3
0
 public static void Free(UnnecessaryUnsafeContextWalker walker)
 {
     _cachedInstance = walker;
 }