pike.git / src / program.c

version» Context lines:

pike.git/src/program.c:5841:    {    yyerror("Unable to inherit.");    return;    }       if (Pike_compiler->compiler_pass != COMPILER_PASS_FIRST) {    /* Note off by one! */    inherit_offset = Pike_compiler->num_inherits + 1;    }    -  if ((n->token == F_APPLY) && (CAR(n)->token == F_CONSTANT) && -  (TYPEOF(CAR(n)->u.sval) == T_FUNCTION) && -  (SUBTYPEOF(CAR(n)->u.sval) == FUNCTION_BUILTIN) && -  (CAR(n)->u.sval.u.efun->function == debug_f_aggregate)) { -  /* Disambiguate multiple inherit ::-reference. */ -  node *arg; -  while(1) { -  while ((arg = CDR(n))) { -  n = arg; -  if (n->token != F_ARG_LIST) goto found; -  } -  /* Paranoia. */ -  if ((arg = CAR(n))) { -  n = arg; -  continue; -  } -  /* FIXME: Ought to go up a level and try the car there... -  * But as this code probably won't be reached, we -  * just fail. -  */ -  yyerror("Unable to inherit"); -  return; -  } -  found: -  /* NB: The traditional C grammar requires a statement after a label. */ -  ; -  } -  +     fix_type_field(n);       if (!pike_types_le(n->type, inheritable_type_string) &&    (THIS_COMPILATION->lex.pragmas & ID_STRICT_TYPES)) {    yytype_report(REPORT_WARNING,    n->current_file, n->line_number, inheritable_type_string,    n->current_file, n->line_number, n->type,    0, "Program required for inherit.");    }