hoc_oop.c File Reference

#include <../../nrnconf.h>
#include "hoc.h"
#include "hocstr.h"
#include "parse.h"
#include "hocassrt.h"
#include "hoclist.h"
#include "nrnmpi.h"
#include <nrnpython_config.h>
Include dependency graph for hoc_oop.c:

Classes

union  Templatedatum
struct  Member_func
struct  Member_ret_obj_func
struct  Member_ret_str_func

Defines

#define PDEBUG   0
#define JAVA2NRN   1
#define PUBLIC_TYPE   1
#define EXTERNAL_TYPE   2
#define NTEMPLATESTACK   20
#define pushtemplatesym(arg)   chktemplate(); (templatestackp++)->sym = arg
#define pushtemplatesymlist(arg)   chktemplate(); (templatestackp++)->symlist = arg
#define pushtemplatei(arg)   chktemplate(); (templatestackp++)->i = arg
#define pushtemplateodata(arg)   chktemplate(); (templatestackp++)->odata = arg
#define pushtemplateo(arg)   chktemplate(); (templatestackp++)->o = arg
#define OBJ_STACK_SIZE   10
#define objectpath   hoc_objectpath_impl
#define pathprepend   hoc_path_prepend

Typedefs

typedef struct Member_func Member_func
typedef struct Member_ret_obj_func Member_ret_obj_func
typedef struct Member_ret_str_func Member_ret_str_func

Functions

Object ** hoc_objpop ()
double * hoc_pxpop ()
double hoc_opasgn ()
double chkarg ()
char ** hoc_strpop ()
Symbolhoc_table_lookup ()
Symbolhoc_install ()
Object ** hoc_objgetarg ()
Object ** hoc_temp_objptr ()
Object * hoc_pop_object ()
Datumhoc_look_inside_stack ()
Object * hoc_obj_look_inside_stack ()
Symboljava2nrn_class ()
Symbolhoc_decl ()
 hoc_install_hoc_obj ()
Object * hoc_obj_get (int i)
void hoc_obj_set (int i, Object *obj)
char * hoc_object_name (Object *ob)
int hoc_total_array (Symbol *s)
int hoc_total_array_data (Symbol *s, Objectdata *obd)
 hoc_push_current_object ()
Objectdata * hoc_objectdata_save ()
Objectdata * hoc_objectdata_restore (Objectdata *obdsav)
 hoc_obvar_declare (Symbol *sym, int type, int pmes)
 hoc_object_push ()
 hoc_object_pushed ()
 hoc_object_pop ()
int hoc_resize_toplevel (int more)
 hoc_install_object_data_index (Symbol *sp)
int hoc_obj_run (char *cmd, Object *ob)
 hoc_exec_cmd ()
double hoc_call_objfunc (Symbol *s, int narg, Object *ob)
 hoc_oop_initaftererror ()
 oc_save_hoc_oop (Object **a1, Objectdata **a2, a3, int *a4, Symlist **a5)
 oc_restore_hoc_oop (Object **a1, Objectdata **a2, a3, int *a4, Symlist **a5)
Object * hoc_new_object (Symbol *symtemp, void *v)
 hoc_new_object_asgn (Object **obp, Symbol *st, void *v)
Object ** hoc_temp_objvar (Symbol *symtemp, void *v)
Object * hoc_newobj1 (Symbol *sym, int narg)
 hoc_newobj_arg ()
 hoc_newobj_ret ()
 hoc_newobj ()
 call_ob_proc (Object *ob, Symbol *sym, int narg)
 hoc_objvardecl ()
 hoc_cmp_otype ()
 hoc_known_type ()
 hoc_objectvar ()
 hoc_objectarg ()
 hoc_constobject ()
Object * hoc_name2obj (char *name, int index)
 hoc_object_id ()
 hoc_object_component ()
 hoc_object_eval ()
 hoc_ob_pointer ()
 hoc_asgn_obj_to_str ()
 hoc_object_asgn ()
Symbolhoc_which_template (Symbol *s)
 hoc_begintemplate (Symbol *t1)
 hoc_endtemplate (Symbol *t)
void class2oc (char *name, void *(*cons)(), void(*destruct)(), Member_func *m, int(*checkpoint)(), Member_ret_obj_func *mobjret, Member_ret_str_func *strret)
Symboljava2nrn_class (char *name, int id, char *meth)
Symbolhoc_decl (Symbol *s)
 hoc_add_publiclist (Symbol *s)
 hoc_external_var (Symbol *s)
 hoc_ob_check (int type)
 hoc_free_allobjects (Template *template, Symlist *sl, Objectdata *data)
 pathprepend (char *path, char *name, char *indx)
int objectpath (Object *ob, Object *oblook, char *path, depth)
char * hoc_object_pathname (Object *ob)
 hoc_obj_ref (Object *obj)
 hoc_dec_refcount (Object **pobj)
 hoc_obj_unref (Object *obj)
 hoc_allobjects ()
 hoc_allobjects1 (Symlist *sl, int nspace)
 hoc_allobjects2 (Symbol *s, int nspace)
 hoc_allobjectvars ()
 hoc_list_allobjref (Symlist *sl, Objectdata *data, int depth)
 check_obj_type (Object *obj, char *typename)
int is_obj_type (Object *obj, char *typename)

Variables

Symlisthoc_symlist
Symlisthoc_built_in_symlist
void *(* p_java2nrn_cons )()
void(* p_java2nrn_destruct )()
Pfrd p_java2nrn_dmeth
Pfrs p_java2nrn_smeth
Pfro p_java2nrn_ometh
int hoc_print_first_instance = 1
FILE * hoc_fin
Object * hoc_thisobject
Objectdata * hoc_objectdata = (Objectdata *)0
Objectdata * hoc_top_level_data
Symlisthoc_top_level_symlist
int hoc_in_template = 0

Define Documentation

#define EXTERNAL_TYPE   2

Referenced by hoc_external_var().

#define JAVA2NRN   1
#define NTEMPLATESTACK   20
#define OBJ_STACK_SIZE   10

Referenced by hoc_object_push().

#define objectpath   hoc_objectpath_impl

Referenced by hoc_object_pathname(), and objectpath().

#define pathprepend   hoc_path_prepend

Referenced by objectpath().

#define PDEBUG   0
#define PUBLIC_TYPE   1
#define pushtemplatei ( arg   )     chktemplate(); (templatestackp++)->i = arg

Referenced by hoc_begintemplate().

#define pushtemplateo ( arg   )     chktemplate(); (templatestackp++)->o = arg

Referenced by hoc_begintemplate().

#define pushtemplateodata ( arg   )     chktemplate(); (templatestackp++)->odata = arg

Referenced by hoc_begintemplate().

#define pushtemplatesym ( arg   )     chktemplate(); (templatestackp++)->sym = arg

Referenced by hoc_begintemplate().

#define pushtemplatesymlist ( arg   )     chktemplate(); (templatestackp++)->symlist = arg

Referenced by hoc_begintemplate().


Typedef Documentation

typedef struct Member_func Member_func

Function Documentation

call_ob_proc ( Object *  ob,
Symbol sym,
int  narg 
)
check_obj_type ( Object*  obj,
char*  typename 
)
double chkarg (  ) 
void class2oc ( char*  name,
void* (*)()  cons,
void (*)()  destruct,
Member_func m,
int (*)()  checkpoint,
Member_ret_obj_func mobjret,
Member_ret_str_func strret 
)
hoc_add_publiclist ( Symbol s  ) 

References hoc_decl(), hoc_execerror(), Symbol::public, and PUBLIC_TYPE.

Referenced by class2oc(), and java2nrn_class().

Here is the call graph for this function:

hoc_allobjects (  ) 

References gargstr(), hoc_allobjects1(), hoc_allobjects2(), hoc_is_str_arg(), hoc_lookup(), hoc_objgetarg(), hoc_ret(), ifarg(), n, and pushx.

Here is the call graph for this function:

hoc_allobjects1 ( Symlist sl,
int  nspace 
)

References hoc_object_name(), Item, ITERATE, Symbol::next, OBJ, t, Symbol::template, Symbol::type, and Symbol::u.

Referenced by hoc_allobjects().

Here is the call graph for this function:

hoc_allobjects2 ( Symbol s,
int  nspace 
)

References hoc_object_name(), Item, ITERATE, OBJ, and t.

Referenced by hoc_allobjects().

Here is the call graph for this function:

hoc_allobjectvars (  ) 

References hoc_list_allobjref(), hoc_ret(), hoc_top_level_data, and pushx.

Here is the call graph for this function:

hoc_asgn_obj_to_str (  ) 

References d, hoc_assign_str(), and hoc_strpop().

Here is the call graph for this function:

hoc_begintemplate ( Symbol t1  ) 
double hoc_call_objfunc ( Symbol s,
int  narg,
Object*  ob 
)
hoc_cmp_otype (  ) 

References i, pc, and type.

hoc_constobject (  ) 

References buf, hoc_execerror(), hoc_pushobj(), hoc_temp_objptr(), hoc_xpop(), index, Item, ITERATE, OBJ, pc, t, Symbol::template, and Symbol::u.

Referenced by debugzz().

Here is the call graph for this function:

hoc_dec_refcount ( Object **  pobj  ) 
Symbol* hoc_decl ( Symbol s  ) 

References hoc_execerror(), hoc_install(), and hoc_table_lookup().

Here is the call graph for this function:

Symbol* hoc_decl (  ) 
hoc_endtemplate ( Symbol t  ) 
hoc_exec_cmd (  ) 

References HocStr::buf, buf, err, gargstr(), hoc_execerror(), hoc_obj_run(), hoc_objgetarg(), hoc_ret(), hocstr_create(), hocstr_delete(), ifarg(), and pushx.

Referenced by hoc_execute1().

Here is the call graph for this function:

hoc_external_var ( Symbol s  ) 
hoc_free_allobjects ( Template *  template,
Symlist sl,
Objectdata *  data 
)
Symbol* hoc_install (  ) 
hoc_install_hoc_obj (  ) 

References hoc_lookup(), and hoc_oc().

Referenced by init().

Here is the call graph for this function:

hoc_install_object_data_index ( Symbol sp  ) 
hoc_known_type (  ) 

References i, pc, and type.

hoc_list_allobjref ( Symlist sl,
Objectdata *  data,
int  depth 
)
Datum* hoc_look_inside_stack (  ) 
Object* hoc_name2obj ( char *  name,
int  index 
)

References buf, hoc_execerror(), hoc_table_lookup(), Item, ITERATE, OBJ, t, Symbol::template, Symbol::type, and Symbol::u.

Here is the call graph for this function:

Object* hoc_new_object ( Symbol symtemp,
void v 
)
hoc_new_object_asgn ( Object**  obp,
Symbol st,
void v 
)

References hoc_dec_refcount(), hoc_new_object(), and hoc_obj_ref().

Here is the call graph for this function:

hoc_newobj (  ) 
Object* hoc_newobj1 ( Symbol sym,
int  narg 
)
hoc_newobj_arg (  ) 

References hoc_newobj1(), hoc_pushobj(), hoc_temp_objptr(), i, and pc.

Referenced by hoc_newobj_ret().

Here is the call graph for this function:

hoc_newobj_ret (  ) 

References hoc_newobj_arg().

Here is the call graph for this function:

hoc_ob_check ( int  type  ) 

References Code, codei, hoc_cmp_otype(), hoc_execerror(), hoc_known_type(), ipop, and t.

Here is the call graph for this function:

hoc_ob_pointer (  ) 
Object* hoc_obj_get ( int  i  ) 
Object* hoc_obj_look_inside_stack (  ) 
hoc_obj_ref ( Object*  obj  ) 
int hoc_obj_run ( char*  cmd,
Object*  ob 
)
void hoc_obj_set ( int  i,
Object*  obj 
)

References hoc_dec_refcount(), hoc_obj_ref(), hoc_objectdata, Symbol::oboff, and Symbol::u.

Here is the call graph for this function:

hoc_obj_unref ( Object*  obj  ) 
hoc_object_asgn (  ) 
hoc_object_component (  ) 
hoc_object_eval (  ) 
hoc_object_id (  ) 

References chkarg(), hoc_objgetarg(), hoc_ret(), ifarg(), and pushx.

Here is the call graph for this function:

char* hoc_object_name ( Object*  ob  ) 

References s, and Sprintf.

char* hoc_object_pathname ( Object*  ob  ) 

References hoc_object_name(), hoc_warning(), and objectpath.

Referenced by hoc_section_pathname().

Here is the call graph for this function:

hoc_object_pop (  ) 

References hoc_execerror(), hoc_objectdata, hoc_ret(), hoc_thisobject, hoc_top_level_data, and pushx.

Here is the call graph for this function:

hoc_object_push (  ) 

References hoc_execerror(), hoc_objectdata, hoc_objgetarg(), hoc_ret(), hoc_thisobject, hoc_top_level_data, OBJ_STACK_SIZE, and pushx.

Here is the call graph for this function:

hoc_object_pushed (  ) 

References chkarg(), hoc_push_object(), hoc_ret(), and i.

Here is the call graph for this function:

hoc_objectarg (  ) 

References hoc_argindex(), hoc_objgetarg(), hoc_pushobj(), i, and pc.

Here is the call graph for this function:

Objectdata* hoc_objectdata_restore ( Objectdata*  obdsav  ) 

References hoc_top_level_data.

Objectdata* hoc_objectdata_save (  ) 
hoc_objectvar (  ) 
Object** hoc_objgetarg (  ) 
Object** hoc_objpop (  ) 
hoc_objvardecl (  ) 
hoc_obvar_declare ( Symbol sym,
int  type,
int  pmes 
)
hoc_oop_initaftererror (  ) 
double hoc_opasgn (  ) 
Object* hoc_pop_object (  ) 
hoc_push_current_object (  ) 

References hoc_push_object(), and hoc_thisobject.

Here is the call graph for this function:

double* hoc_pxpop (  ) 
int hoc_resize_toplevel ( int  more  ) 
char** hoc_strpop (  ) 
Symbol* hoc_table_lookup (  ) 
Object** hoc_temp_objptr (  ) 
Object** hoc_temp_objvar ( Symbol symtemp,
void v 
)

References hoc_new_object(), and hoc_temp_objptr().

Referenced by BBS::gid_connect(), and IvocVect::temp_objvar().

Here is the call graph for this function:

int hoc_total_array ( Symbol s  ) 
int hoc_total_array_data ( Symbol s,
Objectdata*  obd 
)
Symbol* hoc_which_template ( Symbol s  ) 

References hoc_execerror(), hoc_table_lookup(), and Symbol::type.

Referenced by bbs_done(), and BBSImpl::execute_helper().

Here is the call graph for this function:

int is_obj_type ( Object*  obj,
char*  typename 
)
Symbol* java2nrn_class ( char*  name,
int  id,
char*  meth 
)
Symbol* java2nrn_class (  ) 
int objectpath ( Object*  ob,
Object*  oblook,
char*  path,
depth   
)
oc_restore_hoc_oop ( Object* *  a1,
Objectdata* *  a2,
a3  ,
int a4,
Symlist* *  a5 
)
oc_save_hoc_oop ( Object* *  a1,
Objectdata* *  a2,
a3  ,
int a4,
Symlist* *  a5 
)
pathprepend ( char*  path,
char *  name,
char *  indx 
)

References buf.


Variable Documentation

FILE* hoc_fin
Objectdata* hoc_objectdata = (Objectdata *)0

Referenced by hoc_obvar_declare(), and ivocmain().

Object* hoc_thisobject
Objectdata* hoc_top_level_data

Referenced by java2nrn_class().

Referenced by java2nrn_class().

Referenced by call_ob_proc().

Referenced by call_ob_proc().

Referenced by call_ob_proc().

Generated on Mon Jun 13 08:10:30 2011 for NEURON by  doxygen 1.6.3