pike.git / src / docode.c

version» Context lines:

pike.git/src/docode.c:2800:    /* NB: This should only be reachable via eval_low().    * Typically treeopt will get rid of this node.    */    SET_SVAL(s, PIKE_T_TYPE, 0, type,    CAR(n)->type?CAR(n)->type:mixed_type_string);    tmp1 = store_constant(&s, 0, NULL);    emit1(F_CONSTANT, (INT32)tmp1);    }    return 1;    +  case F_FRAME_TYPE: +  case F_FRAME_NAME: +  { +  if (n->token == F_FRAME_TYPE) { +  tmp1 = store_constant(&CDR(n)->u.sval, 0, NULL); +  } else { +  tmp1 = store_prog_string(CDR(n)->u.sval.u.string); +  } +  emit2(n->token, CAR(n)->u.sval.u.integer, tmp1); +  } +  return 0; +  +  case F_FRAME_END: +  emit1(F_FRAME_END, CAR(n)->u.sval.u.integer); +  return 0; +     default:    Pike_fatal("Infernal compiler error (unknown parse-tree-token %d).\n", n->token);    UNREACHABLE(return 0);    }   }      static void emit_save_locals(struct compiler_frame *f)   {    struct compilation *c = THIS_COMPILATION;    unsigned INT16 offset;