char class_signature_equals(class_signature_t*c1, class_signature_t*c2)
{
+ if(!!c1 != !!c2)
+ return 0;
/* notice: access right is *not* respected */
if(!strcmp(c1->name, c2->name) &&
!strcmp(c1->package, c2->package)) {
class_signature_t* class_signature_register(int access, char*package, char*name)
{
- class_signature_t*c = malloc(sizeof(class_signature_t));
+ NEW(class_signature_t,c);
c->access = access;
c->package = package;
c->name = name;
class_signature_t* registry_safefindclass(const char*package, const char*name)
{
class_signature_t*c = registry_findclass(package, name);
- if(!c)
- printf("%s.%s\n", package, name);
assert(c);
return c;
}
tmp.package = package;
tmp.name = name;
class_signature_t* c = (class_signature_t*)dict_lookup(classes, &tmp);
+ /*if(c)
+ printf("%s.%s->%08x (%s.%s)\n", package, name, c, c->package, c->name);*/
return c;
}
void registry_fill_multiname(multiname_t*m, namespace_t*n, class_signature_t*c)
// ----------------------- builtin dummy types -------------------------
class_signature_t nullclass = {
- ACCESS_PACKAGE, "", "null", 0, 0, 0,
+ ACCESS_PACKAGE, 0, "", "null", 0, 0, 0,
};
class_signature_t* registry_getnullclass() {
return &nullclass;