Branch: Tag:

2007-09-03

2007-09-03 11:52:02 by 郭雪松 (Xuesong Guo) <peterpan@kongzhong.com>

get_type_of_svalue() now knows about tampolines.
Thanks to Xuesong Guo.

Rev: src/pike_types.c:1.311

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: pike_types.c,v 1.310 2007/07/02 10:49:10 grubba Exp $ + || $Id: pike_types.c,v 1.311 2007/09/03 11:52:02 grubba Exp $   */      #include "global.h"
6803:    if(!p)    {    copy_pike_type(ret, zero_type_string); -  }else{ +  } else if (p == pike_trampoline_program) { +  struct pike_trampoline *t = +  (struct pike_trampoline *) s->u.object->storage; +  if ((p = t->frame->current_object->prog)) { +  copy_pike_type(ret, ID_FROM_INT(p, t->func)->type); +  } else { +  copy_pike_type(ret, zero_type_string); +  } +  } else {    copy_pike_type(ret, ID_FROM_INT(p,s->subtype)->type);    }    }