pike.git / src / pike_types.cmod

version» Context lines:

pike.git/src/pike_types.cmod:9079:    default:    Pike_fatal("find_type: Unhandled type-node: %d\n", t->type);    break;   #endif /* PIKE_DEBUG */    }    return NULL;   }      PMOD_EXPORT void visit_type (struct pike_type *t, int action, void *extra)   { +  if (!t) return;    visit_enter(t, PIKE_T_TYPE, extra);    switch (action & VISIT_MODE_MASK) {   #ifdef PIKE_DEBUG    default:    Pike_fatal ("Unknown visit action %d.\n", action);    case VISIT_NORMAL:    break;   #endif    case VISIT_COMPLEX_ONLY:    visit_leave(t, PIKE_T_TYPE, extra);
pike.git/src/pike_types.cmod:9103:    }       switch (t->type) {    case T_FUNCTION:    case T_MANY:    case T_TUPLE:    case T_MAPPING:    case T_OR:    case T_AND:    case PIKE_T_RING: +  case T_ARRAY: +  case T_STRING:    visit_type_ref (t->car, REF_TYPE_INTERNAL, extra);    /* FALLTHRU */    case T_SCOPE:    case T_ASSIGN: -  case T_ARRAY: -  case T_STRING: +     visit_type_ref (t->cdr, REF_TYPE_INTERNAL, extra);    break;    case T_MULTISET:    case T_NOT:    case T_TYPE:    case T_PROGRAM:    visit_type_ref (t->car, REF_TYPE_INTERNAL, extra);    break;    case PIKE_T_ATTRIBUTE:    case PIKE_T_NAME:
pike.git/src/pike_types.cmod:9264:    switch (t->type) {    case T_FUNCTION:    case T_MANY:    case T_TUPLE:    case T_MAPPING:    case T_OR:    case T_AND:    case PIKE_T_RING:    case T_ARRAY:    case T_STRING: +  if (t->car) {    debug_gc_check (t->car, " as car in a type"); -  +  }    debug_gc_check (t->cdr, " as cdr in a type");    break;    case PIKE_T_ATTRIBUTE:    case PIKE_T_NAME:   #ifdef PIKE_DEBUG    /* this is a string and without PIKE_DEBUG    * they are not touched by the GC */    debug_gc_check (t->car, " as car in a type");   #endif    debug_gc_check (t->cdr, " as cdr in a type");