pike.git/
src/
program.c
Branch:
Tag:
Non-build tags
All tags
No tags
2002-11-07
2002-11-07 17:03:28 by Marcus Comstedt <marcus@mc.pp.se>
daa74fce5429ea0a645d96dcd999fe67ba7718c3 (
20
lines) (+
7
/-
13
)
[
Show
|
Annotate
]
Branch:
7.9
Repaired this_program when used as a value.
Rev: src/program.c:1.455
Rev: src/testsuite.in:1.559
2:
|| 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.
454
2002/11/07
15
:
00
:
56
grubba
Exp $
+
|| $Id: program.c,v 1.
455
2002/11/07
17
:
03
:
27
marcus
Exp $
*/ #include "global.h"
-
RCSID("$Id: program.c,v 1.
454
2002/11/07
15
:
00
:
56
grubba
Exp $");
+
RCSID("$Id: program.c,v 1.
455
2002/11/07
17
:
03
:
27
marcus
Exp $");
#include "program.h" #include "object.h" #include "dynamic_buffer.h"
1127:
return mkefuncallnode ("this_object", mknewintnode (state_depth)); /* Handle this_program */
-
if (ident == this_program_string)
{
-
if (compilation_depth > state_depth)
-
return
mkexternalnode
(
state->previous->new
_program,
-
state->previous->parent
_
identifier);
-
else
{
-
struct
svalue
s;
-
s.type=T_PROGRAM;
-
s.u.program=state->new_program;
-
return
mkconstantsvaluenode
(
&s
);
+
if (ident == this_program_string)
+
return
mkefuncallnode
(
"object
_program
"
,
+
mkefuncallnode
("this
_
object",
+
mknewintnode
(
state_depth
)
))
;
}
-
}
-
}
+
if (colon_colon_ref) { /* These are only recognized when prefixed with the :: operator. */