#define IsA(nodeptr,_type_) (nodeTag(nodeptr) == T_##_type_)
/*
- * castNode(type, ptr) casts ptr to type and, if cassert is enabled, verifies
- * that the the c actually has the appropriate type (using it's nodeTag()).
+ * castNode(type, ptr) casts ptr to "type *", and if assertions are enabled,
+ * verifies that the node has the appropriate type (using its nodeTag()).
*
* Use an inline function when assertions are enabled, to avoid multiple
* evaluations of the ptr argument (which could e.g. be a function call).
*/
#ifdef USE_ASSERT_CHECKING
-static inline Node*
-castNodeImpl(enum NodeTag type, void *ptr)
+static inline Node *
+castNodeImpl(NodeTag type, void *ptr)
{
Assert(ptr == NULL || nodeTag(ptr) == type);
- return ptr;
+ return (Node *) ptr;
}
#define castNode(_type_, nodeptr) ((_type_ *) castNodeImpl(T_##_type_, nodeptr))
#else
-#define castNode(_type_,nodeptr) ((_type_ *)(nodeptr))
-#endif
+#define castNode(_type_, nodeptr) ((_type_ *) (nodeptr))
+#endif /* USE_ASSERT_CHECKING */
/* ----------------------------------------------------------------