/// <summary> /// Get Clang Token /// </summary> /// <param name="location">Clang Source Location</param> /// <returns>Clang Token</returns> public ClangToken GetToken(ClangSourceLocation location) { var native_token_ptr = LibClang.clang_getToken(this.Handle, location.Source); if (native_token_ptr == IntPtr.Zero) { return(null); } else { var token = native_token_ptr.ToNativeStuct <CXToken>().ToManaged(this.Handle); LibClang.clang_disposeTokens(this.Handle, native_token_ptr, 1); return(token); } }
/// <summary> /// Check Equality /// </summary> /// <param name="other">Other Clang Source Location</param> /// <returns>Check Result</returns> public bool Equals(ClangSourceLocation other) { return(LibClang.clang_equalLocations(this.Source, other.Source).ToBool()); }
/// <summary> /// Get Clang Cursor /// </summary> /// <param name="loc">Clang Source Location</param> /// <returns>Clang Cursor</returns> public ClangCursor GetCursor(ClangSourceLocation loc) { return(LibClang.clang_getCursor(this.Handle, loc.Source).ToManaged()); }