pike.git / src / program.c

version» Context lines:

pike.git/src/program.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: program.c,v 1.495 2005/05/26 12:00:56 grubba Exp $ + || $Id: program.c,v 1.496 2005/05/30 12:43:04 mast Exp $   */      #include "global.h" - RCSID("$Id: program.c,v 1.495 2005/05/26 12:00:56 grubba Exp $"); + RCSID("$Id: program.c,v 1.496 2005/05/30 12:43:04 mast Exp $");   #include "program.h"   #include "object.h"   #include "dynamic_buffer.h"   #include "pike_types.h"   #include "stralloc.h"   #include "las.h"   #include "language.h"   #include "lex.h"   #include "pike_macros.h"   #include "fsort.h"
pike.git/src/program.c:1107:    if(!resolve_cache)    resolve_cache=dmalloc_touch(struct mapping *, allocate_mapping(10));    mapping_string_insert(resolve_cache,ident,Pike_sp-1);       if(!(SAFE_IS_ZERO(Pike_sp-1) && Pike_sp[-1].subtype==1))    {    ret=mkconstantsvaluenode(Pike_sp-1);    }    pop_stack();    } -  else +  else {    if(Pike_compiler->compiler_pass==2) {    if (throw_value.type == T_STRING && !throw_value.u.string->size_shift) {    yyerror(throw_value.u.string->str);    free_svalue(&throw_value);    throw_value.type = T_INT;    }    else {    struct svalue thrown = throw_value;    throw_value.type = T_INT;   
pike.git/src/program.c:1130:    else    yyerror("Error resolving identifier.");       push_svalue(&thrown);    low_safe_apply_handler("compile_exception", error_handler, compat_handler, 1);    if (SAFE_IS_ZERO(sp-1)) yy_describe_exception(&thrown, 0);    pop_stack();    free_svalue(&thrown);    }    } +  else { +  struct svalue thrown = throw_value; +  throw_value.type = T_INT; + #ifdef PIKE_DEBUG +  yywarning ("Ignoring resolv() exception in pass 1:"); +  yy_describe_exception (&thrown, 1); + #endif +  free_svalue (&thrown);    } -  +  } +  }    END_CYCLIC();    if(ret) return ret;    }       return 0;   }      /*! @decl constant this    *!    *! Builtin read only variable that evaluates to the current object.