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; }
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); }