Merge pull request #228 from DOCGroup/jwillemsen-patch-1
[MPC.git] / modules / mpc_debug.pm
blob7847f9cdf99bfeea002f2e0b104bf5fee653d954
1 package mpc_debug;
3 # ************************************************************
4 # Description : Scope for declaring useful checkpoints in MPC.
6 # This package defines a scope for defining do-nothing
7 # subroutines. Names should suggest checkpoints in the
8 # execution of MPC, and the body of the function should
9 # be empty. Calls to these functions can be inserted into
10 # various locations inside MPC source code, and a developer
11 # can set breakpoints on these functions to make it
12 # easier to hone in on checkpoints.
14 # If a call is useful, but should only be enabled
15 # during debugging (e.g., it's on a critical path and
16 # could negatively affect performance) then one can
17 # simply comment out the call.
19 # For ease in finding calls, please always fully scope
20 # the call, e.g., mpc_debug::chkpnt_blah();
22 # Author : Chris Cleeland
23 # Create Date : 14.Dec.2010
24 # ************************************************************
26 # ************************************************************
27 # Pragmas
28 # ************************************************************
30 use strict;
32 # Checkpoints
34 # Please follow convention and begin each checkpoint name with
35 # the string "chkpnt_". Adherence will make it easier for
36 # another developer to locate all occurrences of checkpoints
37 # within code using a tool like `grep`.
39 # Called in Driver's processing of *Creators
40 sub chkpnt_pre_creator_load { }
41 sub chkpnt_post_creator_load { }
42 sub chkpnt_pre_creator_create { }
43 sub chkpnt_post_creator_create { }
45 # Called in special 'after' keyword processing
46 # in ProjectCreator::process_assignment
47 sub chkpnt_pre_after_keyword_assignment { }
48 sub chkpnt_post_after_keyword_assignment { }
50 # Called in Parser::read_file
51 sub chkpnt_pre_read_file { }
52 sub chkpnt_post_read_file { }
54 sub chkpnt_pre_parse_base_project { }
55 sub chkpnt_post_parse_base_project { }