From dc38c0ae43f0c98b203866eeeb88070d32db2c8d Mon Sep 17 00:00:00 2001 From: dsmith Date: Mon, 28 Aug 2006 17:59:50 +0000 Subject: 2006-08-28 David Smith * translate.cxx: Added inclusion of session.h. (translate_pass): Instead of asking each probe to emit itself, we ask the session's probes member variable to emit all the probes. * tapsets.cxx: Added inclusion of session.h. Added a register_probe member function to all derived_probe based classes. Added a derived_probe_group derived class for all probe types: (be_derived_probe_group): New class. (never_derived_probe_group): New class. (dwarf_derived_probe_group): New class. (timer_derived_probe_group): New class. (profile_derived_probe_group): New class. (mark_derived_probe_group): New class. (hrtimer_derived_probe_group): New class (derived_probe_group_container): New class. * elaborate.h: Removed inclusion of session.h since session.h now includes elaborate.h. (derived_probe): Added register_probe member function. (derived_probe_group): Added class definition. This is the base class of all of the derived probe groups - dwarf, timer, etc. (derived_probe_group_container): Added class definition. An instance of this class will be stored in the session and contain all the other probe groups. * elaborate.cxx (derived_probe_group::register_probe): Added derived_probe_group::register_probe stubs. (alias_derived_probe::register_probe): Added register_probe member function. (semantic_pass_symbols): After deriving a probe, the probes now register themselves with the session. * session.h: Includes elaborate.h to get derived_probe_group_container definition. systemtap_session class 'probes' member variable switched from a vector of derived probes to a derived_probe_group_container. * buildrun.cxx: Added inclusion of session.h since it was removed from elaborate.h. * main.cxx: Added inclusion of session.h since it was removed from elaborate.h. * parse.h: Added forward struct declarations. * staptree.h: Removed inclusion of session.h. --- parse.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'parse.h') diff --git a/parse.h b/parse.h index a3b337c1..335cbe53 100644 --- a/parse.h +++ b/parse.h @@ -59,6 +59,8 @@ struct parse_error: public std::runtime_error }; +struct systemtap_session; + class lexer { public: @@ -77,6 +79,29 @@ private: }; +struct stapfile; +struct probe; +struct probe_alias; +struct vardecl; +struct functiondecl; +struct embeddedcode; +struct probe_point; +struct literal; +struct block; +struct for_loop; +struct statement; +struct if_statement; +struct foreach_loop; +struct expr_statement; +struct return_statement; +struct delete_statement; +struct break_statement; +struct next_statement; +struct continue_statement; +struct indexable; +struct expression; +struct hist_op; + class parser { public: -- cgit