pike.git / src / las.c

version» Context lines:

pike.git/src/las.c:1242:    if (!(PTR_FROM_INT(parent_prog, i)->id_flags & ID_LOCAL)) {    /* It's possible to overload the identifier. */    res->node_info = OPT_EXTERNAL_DEPEND;    } else if (id->func.const_info.offset != -1) {    struct program *p = PROG_FROM_INT(parent_prog, i);    struct svalue *s = &p->constants[id->func.const_info.offset].sval;    if ((TYPEOF(*s) == T_PROGRAM) &&    (s->u.program->flags & PROGRAM_USES_PARENT)) {    /* The constant program refers to its parent, so we need as well. */    res->node_info = OPT_EXTERNAL_DEPEND; +  } else { +  free_node(res); +  return mkconstantsvaluenode(s);    }    }    }else{    res->node_info = OPT_NOT_CONST;    if (IDENTIFIER_IS_VARIABLE(id->identifier_flags) &&    (id->run_time_type == PIKE_T_GET_SET)) {    /* Special case of F_EXTERNAL for ease of detection. */    res->token = F_GET_SET;    }    }