<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"> /**</font></div><div><font class="Apple-style-span" color="#000000">+ * \brief Retrieve an integer value from a CXCursor (if any).</font></div><div><font class="Apple-style-span" color="#000000">+ *</font></div><div><font class="Apple-style-span" color="#000000">+ * For example, this can be used to:</font></div><div><font class="Apple-style-span" color="#000000">+ *</font></div><div><font class="Apple-style-span" color="#000000">+ * * Get the value of an enumeration constant.</font></div><div><font class="Apple-style-span" color="#000000">+ * * Get the value of a currently unexposed declaration attribute</font></div><div><font class="Apple-style-span" color="#000000">+ *   (for example, inline or calling convention attributes).</font></div><div><font class="Apple-style-span" color="#000000">+ * * Get the value of an initializer or bit field width</font></div><div><font class="Apple-style-span" color="#000000">+ *   from a currently unexposed expression.</font></div><div><font class="Apple-style-span" color="#000000">+ */</font></div><div><font class="Apple-style-span" color="#000000">+CINDEX_LINKAGE int clang_getCursorValue(CXCursor C);</font></div><div><font class="Apple-style-span" color="#000000">+</font></div></blockquote></div><div><div><br></div></div><div>Merging unrelated functionality in one function does not seem ideal.</div><div><br></div><div>How about:</div><div>-actually expose the attributes that you are interested in</div><div>-adding clang_getConstantValue(CXCursor) where CXCursor can be a decl with an init value (like CXCursor_EnumConstantDecl) or a constant-folded expression.</div><div>-adding clang_getBitfieldWidth(CXCursor) where CXCursor is a FieldDecl (separate function otherwise there may be some difficulty distinguishing between a bitfield width and an in-class initializer)</div><div><br></div><div>-Argyrios</div><br><div><div>On Sep 15, 2011, at 5:54 AM, Vinay Sajip wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>I've attached a patch to allow getting useful integer values from a cursor, such as<br><br>An enumeration constant value<br><br>An unexposed declaration attribute (e.g. inline)<br>An unexposed expression (e.g. a bit field width)<br><br>Comments welcome.<br><br>Regards,<br><br>Vinay Sajip<br><span><cursor-value.diff></span>_______________________________________________<br>cfe-commits mailing list<br><a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits<br></div></blockquote></div><br></body></html>