#undef HashSetIterator
#undef HashSet
+/* TODO: ^= is a bad way of combining hashes since most addresses are very
+ * similar */
+
static
unsigned hash_ptr(const void *ptr)
{
method_parameter_t *parameter = type->parameters;
while(parameter != NULL) {
- result ^= hash_ptr(parameter);
+ result ^= hash_ptr(parameter->type);
parameter = parameter->next;
}
{
if(type1->result_type != type2->result_type)
return 0;
+ if(type1->variadic != type2->variadic)
+ return 0;
+ if(type1->unspecified_parameters != type2->unspecified_parameters)
+ return 0;
method_parameter_t *param1 = type1->parameters;
method_parameter_t *param2 = type2->parameters;