pike.git / src / pike_types.c

version» Context lines:

pike.git/src/pike_types.c:1:   /*   || 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.356 2008/09/12 11:15:07 grubba Exp $ + || $Id: pike_types.c,v 1.357 2008/09/12 13:30:44 grubba Exp $   */      #include "global.h"   #include <ctype.h>   #include "svalue.h"   #include "pike_types.h"   #include "stralloc.h"   #include "stuff.h"   #include "array.h"   #include "program.h"
pike.git/src/pike_types.c:5547:    } else {    res = or_pike_types(tmp, tmp2, 1);    }    break;    case T_AND:    /* FIXME: Make stricter analogous to OR above. */    res = and_pike_types(tmp = soft_cast(soft_type, orig_type->car, flags),    tmp2 = soft_cast(soft_type, orig_type->cdr, flags));    break;    case T_SCOPE: +  if ((res = soft_cast(soft_type, orig_type->cdr, flags))) { +  type_stack_mark(); +  push_finished_type(res); +  push_scope_type(CAR_TO_INT(orig_type)); +  free_type(res); +  res = pop_unfinished_type(); +  } +  return res;    case T_ASSIGN:    case PIKE_T_NAME:    orig_type = orig_type->cdr;    goto loop2;    case PIKE_T_ATTRIBUTE:    if ((res = soft_cast(soft_type, orig_type->cdr, flags))) {    type_stack_mark();    push_finished_type(res);    push_type_attribute((struct pike_string *)orig_type->car);    free_type(res);