/** * \brief Retrieve the canonical cursor corresponding to the given cursor. * * In the C family of languages, many kinds of entities can be declared several * times within a single translation unit. For example, a structure type can * be forward-declared (possibly multiple times) and later defined: * * \code * struct X; * struct X; * struct X { * int member; * }; * \endcode * * The declarations and the definition of \c X are represented by three * different cursors, all of which are declarations of the same underlying * entity. One of these cursor is considered the "canonical" cursor, which * is effectively the representative for the underlying entity. One can * determine if two cursors are declarations of the same underlying entity by * comparing their canonical cursors. * * \returns The canonical cursor for the entity referred to by the given cursor. */ func (c Cursor) CanonicalCursor() Cursor { o := C.clang_getCanonicalCursor(c.c) return Cursor{o} }
/* Retrieve the canonical cursor corresponding to the given cursor. In the C family of languages, many kinds of entities can be declared several times within a single translation unit. For example, a structure type can be forward-declared (possibly multiple times) and later defined: \code struct X; struct X; struct X { int member; }; \endcode The declarations and the definition of X are represented by three different cursors, all of which are declarations of the same underlying entity. One of these cursor is considered the "canonical" cursor, which is effectively the representative for the underlying entity. One can determine if two cursors are declarations of the same underlying entity by comparing their canonical cursors. Returns The canonical cursor for the entity referred to by the given cursor. */ func (c Cursor) CanonicalCursor() Cursor { return Cursor{C.clang_getCanonicalCursor(c.c)} }