From 9a3e739ab891c2287f480556df20c4de1d5c7da6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Mon, 26 Jun 2000 14:19:12 +0200 Subject: [PATCH] All LFUNs are now used even if they are ststic. Rev: src/program.c:1.244 --- src/program.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/program.c b/src/program.c index d38a7da447..5324511edd 100644 --- a/src/program.c +++ b/src/program.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: program.c,v 1.243 2000/06/24 00:48:13 hubbe Exp $"); +RCSID("$Id: program.c,v 1.244 2000/06/26 12:19:12 grubba Exp $"); #include "program.h" #include "object.h" #include "dynamic_buffer.h" @@ -1526,6 +1526,22 @@ int low_reference_inherited_identifier(struct program_state *q, return np->num_identifier_references -1; } +int find_inherit(struct program *p, int num_inherits, + struct pike_string *name, int level) +{ + int e; + + if (num_inherits <= 1) return 0; + + /* This depends deeply on the inherit structure. */ + for(e = num_inherits-1; e>0; e--) { + if (p->inherits[e].inherit_level > level) continue; + if (p->inherits[e].inherit_level < level) return 0; + if (name == p->inherits[e].name) return e; + } + return 0; +} + node *reference_inherited_identifier(struct pike_string *super_name, struct pike_string *function_name) { @@ -2667,15 +2683,11 @@ int low_find_lfun(struct program *p, int lfun) struct pike_string *lfun_name = findstring(lfun_names[lfun]); unsigned int flags = 0; if (!lfun_name) return -1; - if ((1 <= lfun) && (lfun < 3)) { - /* create() and destroy() are used even if they are static. */ - flags = SEE_STATIC; - } return really_low_find_shared_string_identifier(lfun_name, dmalloc_touch(struct program *, p), - flags); + SEE_STATIC); } /* -- GitLab