/* | |
* Copyright 2001-2004 David Abrahams. | |
* Distributed under the Boost Software License, Version 1.0. | |
* (See accompanying file LICENSE_1_0.txt or copy at | |
* http://www.boost.org/LICENSE_1_0.txt) | |
*/ | |
typedef struct frame FRAME; | |
struct frame | |
{ | |
FRAME * prev; | |
FRAME * prev_user; /* The nearest enclosing frame for which | |
module->user_module is true. */ | |
LOL args[ 1 ]; | |
module_t * module; | |
OBJECT * file; | |
int line; | |
char const * rulename; | |
}; | |
/* When a call into Python is in progress, this variable points to the bjam | |
* frame that was current at the moment of the call. When the call completes, | |
* the variable is not defined. Furthermore, if Jam calls Python which calls Jam | |
* and so on, this variable only keeps the most recent Jam frame. | |
*/ | |
extern FRAME * frame_before_python_call; | |
void frame_init( FRAME * ); | |
void frame_free( FRAME * ); | |