pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/   /**/   #include "global.h" - RCSID("$Id: las.c,v 1.200 2000/08/31 14:16:55 grubba Exp $"); + RCSID("$Id: las.c,v 1.201 2000/08/31 21:57:13 grubba Exp $");      #include "language.h"   #include "interpret.h"   #include "las.h"   #include "array.h"   #include "object.h"   #include "stralloc.h"   #include "dynamic_buffer.h"   #include "lex.h"   #include "pike_types.h"
pike.git/src/las.c:3924:       n->tree_info = n->node_info;    if(car_is_node(n)) n->tree_info |= CAR(n)->tree_info;    if(cdr_is_node(n)) n->tree_info |= CDR(n)->tree_info;       if(!n->parent) break;       if(n->tree_info & (OPT_NOT_CONST|    OPT_SIDE_EFFECT|    OPT_EXTERNAL_DEPEND| -  OPT_ASSIGNMENT)) +  OPT_ASSIGNMENT| +  OPT_RETURN))    {    if(car_is_node(n) &&    !(CAR(n)->tree_info & (OPT_NOT_CONST|    OPT_SIDE_EFFECT|    OPT_EXTERNAL_DEPEND| -  OPT_ASSIGNMENT)) && +  OPT_ASSIGNMENT| +  OPT_RETURN)) &&    (CAR(n)->tree_info & OPT_TRY_OPTIMIZE) &&    CAR(n)->token != ':')    {   #ifdef SHARED_NODES    sub_node(n);   #endif /* SHARED_NODES */    _CAR(n) = eval(CAR(n));   #ifdef SHARED_NODES    n->hash = hash_node(n);    n->node_info |= OPT_DEFROSTED;    add_node(n);   #endif /* SHARED_NODES */    if(CAR(n)) CAR(n)->parent = n;    zapp_try_optimize(CAR(n)); /* avoid infinite loops */    continue;    }    if(cdr_is_node(n) &&    !(CDR(n)->tree_info & (OPT_NOT_CONST|    OPT_SIDE_EFFECT|    OPT_EXTERNAL_DEPEND| -  OPT_ASSIGNMENT)) && +  OPT_ASSIGNMENT| +  OPT_RETURN)) &&    (CDR(n)->tree_info & OPT_TRY_OPTIMIZE) &&    CDR(n)->token != ':')    {   #ifdef SHARED_NODES    sub_node(n);   #endif /* SHARED_NODES */    _CDR(n) = eval(CDR(n));   #ifdef SHARED_NODES    n->hash = hash_node(n);    n->node_info |= OPT_DEFROSTED;