Beispiel #1
0
        protected override void ValidateVisit(ref CXCursor handle)
        {
            // Clang currently uses the PostChildrenVisitor which clears data0

            var modifiedHandle = Handle;

            modifiedHandle.data0 = IntPtr.Zero;

            Debug.Assert(handle.Equals(modifiedHandle));
            handle = Handle;
        }
Beispiel #2
0
        public unsafe CXChildVisitResult Visit(CXCursor cursor, CXCursor parent, void *client_data)
        {
            if (!this.skipSystemHeaderCheck && cursor.IsInSystemHeader())
            {
                return(CXChildVisitResult.CXChildVisit_Continue);
            }

            if (cursor.Equals(this.beginningCXCursor))
            {
                this.beginningCXCursorReached = true;
                return(CXChildVisitResult.CXChildVisit_Continue);
            }

            if (this.beginningCXCursorReached)
            {
                this.ForwardDeclarationCXCursor = cursor;
                return(CXChildVisitResult.CXChildVisit_Break);
            }

            return(CXChildVisitResult.CXChildVisit_Recurse);
        }