📄 idl_global.h
字号:
ACE_UINT64 basic_arg_seen_;
ACE_UINT64 bd_string_arg_seen_;
ACE_UINT64 fixed_array_arg_seen_;
ACE_UINT64 fixed_size_arg_seen_;
ACE_UINT64 object_arg_seen_;
ACE_UINT64 special_basic_arg_seen_;
ACE_UINT64 ub_string_arg_seen_;
ACE_UINT64 var_array_arg_seen_;
ACE_UINT64 var_size_arg_seen_;
} decls_seen_masks;
// Constructor
IDL_GlobalData (void);
// Destructor
virtual ~IDL_GlobalData (void);
// Operations
virtual UTL_ScopeStack &scopes (void); // Scopes stack
virtual AST_Root *root (void); // Root of AST
virtual void set_root (AST_Root *); // Set it
virtual AST_Generator *gen (void); // Generator
virtual void set_gen (AST_Generator *); // Set it
virtual UTL_Error *err (void); // Error reporter
virtual void set_err (UTL_Error *); // Set it
virtual long err_count (void); // How many errors?
virtual void set_err_count (long); // Set it
virtual long lineno (void); // Where in file?
virtual void set_lineno (long); // Set it
virtual UTL_String *filename (void); // What file?
virtual void set_filename (UTL_String *); // Set it
virtual UTL_String *main_filename (void); // What's the main
// file name?
virtual void set_main_filename (UTL_String *);
// Set it
virtual UTL_String *real_filename (void); // What's the real
// file name?
virtual void set_real_filename (UTL_String *);
// Set it
virtual UTL_String *stripped_filename (void); // Stripped filename
virtual void set_stripped_filename (UTL_String *); // Set it
virtual idl_bool imported (void); // Are we imported?
virtual idl_bool import (void); // Is import on?
virtual void set_import (idl_bool); // Set it
virtual idl_bool in_main_file (void); // Are we?
virtual void set_in_main_file (idl_bool); // Set it
virtual const char *prog_name (void); // Invoked as..
virtual void set_prog_name (const char *); // Set it
virtual const char *cpp_location (void); // Where's CPP?
virtual void set_cpp_location (const char *);// Set it
virtual long compile_flags (void); // What flags are on?
virtual void set_compile_flags (long); // Turn some on or off
virtual const char *be (void); // Get BE to use
virtual void set_be (const char *); // Set it
virtual char *local_escapes (void); // Get local escapes
virtual void set_local_escapes (const char *);// Set it
virtual UTL_Indenter *indent (void); // Get indenter
virtual void set_indent (UTL_Indenter *); // Set it
virtual idl_bool read_from_stdin (void); // Reading from stdin?
virtual void set_read_from_stdin (idl_bool); // Set it
virtual void store_include_file_name (UTL_String *);
virtual UTL_String **include_file_names (void); // Array of file names
virtual void set_include_file_names (UTL_String **); // Set it
virtual unsigned long n_include_file_names (void); // How many
virtual void set_n_include_file_names (unsigned long n);
// = Access methods to deal with other IDL files included in the main
// IDL file. These IDL files are exactly the same strings that are
// "#include"d in the main IDL file, not the ones after CC
// preprocessor parsed the file.
// Just storing the pointer. No memory will be allocated.
virtual void add_to_included_idl_files (char* file_name);
// Get all the files.
virtual char** included_idl_files (void);
// The number of currently availabe include files.
virtual size_t n_included_idl_files (void);
// Set the number of included_idl_files. Use this carefully. This
// method is used when we validate all the #included idl files,
// against the ones that we get after preprocessing.
virtual void n_included_idl_files (size_t n);
// Validate the included idl files, somefiles might have been
// ignored by the preprocessor.
virtual void validate_included_idl_files (void);
virtual ParseState parse_state (void); // What state we're in
virtual void set_parse_state (ParseState s); // Set it
// Convert from a predefined type to an expression type
virtual AST_Expression::ExprType
PredefinedTypeToExprType (AST_PredefinedType::PredefinedType);
virtual UTL_String *idl_src_file (void);
// Returns the IDL source file being compiled.
virtual void idl_src_file (UTL_String *);
// Set the source IDL file that is being parsed.
virtual void temp_dir (const char *s);
// Set the directory where the IDL compiler can keep all its temp
// files. By default, IDL compiler looks for TEMP env variable and
// if it is not set, "/tmp/" is assigned.
virtual const char *temp_dir (void) const;
// Get the directory where the IDL compiler can keep all its temp
// files. By default, IDL compiler looks for TEMP env variable and
// if it is not set, "/tmp/" is assigned.
virtual void gperf_path (const char *s);
// Set the path for the perfect hashing program (GPERF).
virtual const char *gperf_path (void) const;
// Get the path for the perfect hashing program (GPERF).
virtual void ident_string (const char *s);
// Set the value of the #ident string.
virtual const char *ident_string (void) const;
// Get the value of the #ident string.
virtual void obv_support (idl_bool);
// set enable/disable OBV (Valuetype) support
virtual idl_bool obv_support (void);
// check if OBV (Valuetype) support is enabled
virtual void case_diff_error (idl_bool);
// report an error (1) for indentifiers in the same scope
// that differ only by case, or report a warning (0).
virtual idl_bool case_diff_error (void);
// are we strict about case-only differences or not?
virtual void nest_orb (idl_bool);
// Set on or off whether we are using the NEST ORB.
virtual idl_bool nest_orb (void);
// are we beIng used with the NEST ORB?
virtual void destroy (void);
// Cleanup function.
virtual void append_idl_flag (const char *s);
// Save each flag passed to the IDL compiler.
virtual const char *idl_flags (void) const;
// Get a string representation of the flags passed to the idl compiler.
ACE_Hash_Map_Manager<ACE_CString, int, ACE_Null_Mutex> &
idl_keywords (void);
// Accessor for the IDL keyword container.
ACE_Unbounded_Stack<char *> & pragma_prefixes (void);
// Accessor for the pragma prefix container.
void update_prefix (char *filename);
// Do repo id prefix bookkeeping when the file changes.
UTL_ScopedName *string_to_scoped_name (char *s);
// Parses a string with double colons.
long seen_include_file_before (char *);
// Seen this include before?
long last_seen_index (void) const;
void last_seen_index (long val);
// Accessors for last_seen_index_ member.
idl_bool repeat_include (void) const;
void repeat_include (idl_bool val);
// Accessors for repeat_include_ member.
const char *stripped_preproc_include (const char *name);
// Takes an #include filename generated by the preprocessor, and
// strips off any command line -I prefix that may have been
// prepended.
virtual idl_bool preserve_cpp_keywords (void);
// Whether we should not mung idl element names that are
// C++ keywords e.g. delete, operator etc. with _cxx_ prefix.
// Should be true when being used by the IFR Service
virtual void preserve_cpp_keywords (idl_bool);
// Set whether we should not mung idl element names that are C++
// keywords e.g. delete, operator etc. with _cxx_ prefix.
// Is set by the IFR Service.
void add_include_path (const char *s);
// Add another path to 'include_paths_'.
ACE_Hash_Map_Manager<ACE_CString, char *, ACE_Null_Mutex> &
file_prefixes (void);
// Accessor for the IDL keyword container.
private:
// Data
UTL_ScopeStack pd_scopes; // Store scopes stack
AST_Root *pd_root; // Store AST root
AST_Generator *pd_gen; // Store generator
UTL_Error *pd_err; // Error object
long pd_err_count; // Count of errors
long pd_lineno; // What line #
UTL_String *pd_filename; // What file
UTL_String *pd_main_filename; // What main filename
UTL_String *pd_real_filename; // What real filename
UTL_String *pd_stripped_filename; // Stripped filename
idl_bool pd_import; // Is import on?
idl_bool pd_in_main_file; // Are we in it?
const char *pd_prog_name; // Argv[0]
const char *pd_cpp_location; // Where to find CPP
long pd_compile_flags; // Compile flags
const char *pd_be; // BE name to use
char *pd_local_escapes; // Trapdoor argument
UTL_Indenter *pd_indent; // Indent object
// as its being built
idl_bool pd_read_from_stdin; // Reading from stdin?
UTL_String **pd_include_file_names;// Array of file names.
unsigned long pd_n_include_file_names;// How many.
unsigned long pd_n_alloced_file_names;// How many alloced.
char **included_idl_files_;
// IDL files that are "#include'd.
size_t n_included_idl_files_;
// The number of such idl files that are currently stored.
size_t n_allocated_idl_files_;
// For char*'s have been allocated for this.
ParseState pd_parse_state; // Parse state we're in.
UTL_String *pd_idl_src_file; // IDL source file.
char *gperf_path_;
// Path for the perfect hash generator(gperf) program. Default
// is $ACE_ROOT/bin/gperf.
char *temp_dir_;
// Temp directory where which we can rewsolve in drv_preproc.cpp by
// checking for TEMP env variable otherwise we assign to /tmp/.
char *ident_string_;
// Holds a string that begins with #ident, to be passed from the IDL
// file to the generated files.
idl_bool obv_support_;
// Do we support OBV (Valuetype)?
idl_bool case_diff_error_;
// Do we report an error for indentifiers in the same scope that differ
// only by case? or just a warning?
idl_bool nest_orb_;
// Is this front end being used for the NEST ORB?
ACE_CString idl_flags_;
// Concatenation of all the command line options.
ACE_Hash_Map_Manager<ACE_CString, int, ACE_Null_Mutex> idl_keywords_;
// Container for all the IDL keywords so local names can be checked.
ACE_Unbounded_Stack<char *> pragma_prefixes_;
// Container for all the #pragma prefix declarations.
idl_bool repeat_include_;
// Has this IDL file been included before?
idl_bool preserve_cpp_keywords_;
// Do we allow C++ keywords as identifiers in the idl to stay as they are ?
ACE_Unbounded_Queue<char *> include_paths_;
// List of -I options passed to us.
ACE_Hash_Map_Manager<ACE_CString, char *, ACE_Null_Mutex> file_prefixes_;
// Associates a prefix with a file.
};
#endif //_IDL_IDL_GLOBAL_HH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -