Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_util.h
blobab65c5cafcdc55d99a576c8feefec857787afc03
1 /* -*- c++ -*- */
3 //=============================================================================
4 /**
5 * @file be_util.h
7 * Static helper methods used by multiple visitors.
9 * @author Gary Maxey
10 * @author Jeff Parsons
12 //=============================================================================
14 #ifndef TAO_BE_UTIL_H
15 #define TAO_BE_UTIL_H
17 #include "TAO_IDL_BE_Export.h"
19 class TAO_OutStream;
20 class be_module;
21 class be_type;
22 class AST_Decl;
23 class AST_Generator;
25 class be_util
27 public:
28 static void
29 gen_nested_namespace_begin (TAO_OutStream *os,
30 be_module *node,
31 bool skel = false);
33 static void
34 gen_nested_namespace_end (TAO_OutStream *os,
35 be_module *node);
37 static void
38 gen_nesting_open (TAO_OutStream &os,
39 AST_Decl *node);
41 static void
42 gen_nesting_close (TAO_OutStream &os,
43 AST_Decl *node);
45 /// Special BE arg call factored out of DRV_args.
46 static TAO_IDL_BE_Export void
47 prep_be_arg (char *s);
49 /// Checks made after parsing args.
50 static TAO_IDL_BE_Export void
51 arg_post_proc (void);
53 /// Display usage of BE-specific options.
54 static TAO_IDL_BE_Export void
55 usage (void);
57 /// Create an AST node generator.
58 static TAO_IDL_BE_Export AST_Generator *
59 generator_init (void);
61 /// Called from various places.
62 static const char *
63 get_output_path (bool for_anyop, bool for_skel, bool for_exec);
65 static const char *
66 get_complete_file_name (bool for_exec);
68 /// Called from various places.
69 static bool
70 overwrite_ciao_exec_files (void);
72 // Called by each node upon construction.
73 static void set_arg_seen_bit (be_type *);
76 #endif // if !defined