Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / TAO_IDL / be_include / be_field.h
blob0f61138f6d0f2b2121c3d3a8c29df2ab9ee7b917
2 //=============================================================================
3 /**
4 * @file be_field.h
6 * Extension of class AST_Field that provides additional means for C++
7 * mapping.
9 * @author Copyright 1994-1995 by Sun Microsystems
10 * @author Inc. and Aniruddha Gokhale
12 //=============================================================================
14 #ifndef BE_FIELD_H
15 #define BE_FIELD_H
17 #include "be_decl.h"
18 #include "ast_field.h"
20 class be_visitor;
21 class TAO_OutStream;
23 class be_field : public virtual AST_Field,
24 public virtual be_decl
26 public:
27 be_field (AST_Type *ft,
28 UTL_ScopedName *n,
29 Visibility vis = vis_NA);
31 // Non-virtual override of frontend method.
32 be_type *field_type () const;
34 // Generate debugging ostream operator for members.
35 void gen_member_ostream_operator (TAO_OutStream *os,
36 const char *instance_name,
37 bool use_underscore,
38 bool accessor = false);
40 // Accessors for the member.
41 bool port_name_prefixed () const;
42 void port_name_prefixed (bool val);
44 // Visiting.
45 virtual int accept (be_visitor *visitor);
47 // Cleanup.
48 virtual void destroy ();
50 private:
51 // If the name of a provides or uses node has already been
52 // prefixed with the (mirror)port name(s), we don't want
53 // to prefix it again.
54 bool port_name_prefixed_;
57 #endif