summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-17 00:00:08 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-10-17 00:00:08 +0000
commit999ecc3a3c590b208cb927260f3d2d10aa73ad4c (patch)
treeda84a4f10fc1dcaa817e4ce30170716db1eba3c3 /TAO/TAO_IDL
parent85277bc4ede6c9f061b64946d07eed4ea20369f8 (diff)
downloadATCD-999ecc3a3c590b208cb927260f3d2d10aa73ad4c.tar.gz
ChangeLogTag: Mon Oct 16 18:54:22 2000 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/ast/ast_array.cpp3
-rw-r--r--TAO/TAO_IDL/ast/ast_decl.cpp15
-rw-r--r--TAO/TAO_IDL/ast/ast_predefined_type.cpp3
-rw-r--r--TAO/TAO_IDL/ast/ast_sequence.cpp3
-rw-r--r--TAO/TAO_IDL/ast/ast_string.cpp6
-rw-r--r--TAO/TAO_IDL/be/be_array.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_predefined_type.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_sequence.cpp3
-rw-r--r--TAO/TAO_IDL/be/be_string.cpp12
-rw-r--r--TAO/TAO_IDL/include/ast_decl.h9
10 files changed, 43 insertions, 17 deletions
diff --git a/TAO/TAO_IDL/ast/ast_array.cpp b/TAO/TAO_IDL/ast/ast_array.cpp
index 3a2c8236c44..ae96933175c 100644
--- a/TAO/TAO_IDL/ast/ast_array.cpp
+++ b/TAO/TAO_IDL/ast/ast_array.cpp
@@ -91,7 +91,8 @@ AST_Array::AST_Array (UTL_ScopedName *n,
idl_bool abstract)
: AST_Decl (AST_Decl::NT_array,
n,
- 0),
+ 0,
+ I_TRUE),
COMMON_Base (local,
abstract),
pd_n_dims (nd),
diff --git a/TAO/TAO_IDL/ast/ast_decl.cpp b/TAO/TAO_IDL/ast/ast_decl.cpp
index 36edb3bb9f1..3af9d7f3011 100644
--- a/TAO/TAO_IDL/ast/ast_decl.cpp
+++ b/TAO/TAO_IDL/ast/ast_decl.cpp
@@ -122,13 +122,15 @@ AST_Decl::AST_Decl (void)
pd_pragmas (0),
pd_added (I_FALSE),
full_name_ (0),
- prefix_ (0)
+ prefix_ (0),
+ anonymous_ (I_FALSE)
{
}
AST_Decl::AST_Decl (NodeType nt,
UTL_ScopedName *n,
- UTL_StrList *p)
+ UTL_StrList *p,
+ idl_bool anonymous)
: repoID_ (0),
pd_imported (idl_global->imported ()),
pd_in_main_file (idl_global->in_main_file ()),
@@ -143,7 +145,8 @@ AST_Decl::AST_Decl (NodeType nt,
pd_pragmas (p),
pd_added (I_FALSE),
full_name_ (0),
- prefix_ (0)
+ prefix_ (0),
+ anonymous_ (anonymous)
{
compute_full_name (n);
@@ -625,6 +628,12 @@ AST_Decl::prefix (void)
return this->prefix_;
}
+idl_bool
+AST_Decl::anonymous (void) const
+{
+ return this->anonymous_;
+}
+
// Data accessors.
idl_bool
diff --git a/TAO/TAO_IDL/ast/ast_predefined_type.cpp b/TAO/TAO_IDL/ast/ast_predefined_type.cpp
index 3c8d8651afc..6e1a9117373 100644
--- a/TAO/TAO_IDL/ast/ast_predefined_type.cpp
+++ b/TAO/TAO_IDL/ast/ast_predefined_type.cpp
@@ -87,7 +87,8 @@ AST_PredefinedType::AST_PredefinedType (PredefinedType t,
UTL_StrList *p)
: AST_Decl (AST_Decl::NT_pre_defined,
n,
- p),
+ p,
+ I_TRUE),
pd_pt (t)
{
}
diff --git a/TAO/TAO_IDL/ast/ast_sequence.cpp b/TAO/TAO_IDL/ast/ast_sequence.cpp
index 7b95030e5a4..5848d510cf4 100644
--- a/TAO/TAO_IDL/ast/ast_sequence.cpp
+++ b/TAO/TAO_IDL/ast/ast_sequence.cpp
@@ -92,7 +92,8 @@ AST_Sequence::AST_Sequence (AST_Expression *ms,
0,
I_FALSE),
0),
- 0),
+ 0,
+ I_TRUE),
COMMON_Base (bt->is_local () || local,
abstract),
pd_max_size (ms),
diff --git a/TAO/TAO_IDL/ast/ast_string.cpp b/TAO/TAO_IDL/ast/ast_string.cpp
index 346558f92b0..808ded87706 100644
--- a/TAO/TAO_IDL/ast/ast_string.cpp
+++ b/TAO/TAO_IDL/ast/ast_string.cpp
@@ -87,7 +87,8 @@ AST_String::AST_String (AST_Expression *ms)
0,
I_FALSE),
0),
- 0),
+ 0,
+ I_TRUE),
pd_max_size (ms),
pd_width (sizeof (char))
{
@@ -108,7 +109,8 @@ AST_String::AST_String (AST_Expression *ms,
0,
I_FALSE),
0),
- 0),
+ 0,
+ I_TRUE),
pd_max_size (ms),
pd_width (wide)
{
diff --git a/TAO/TAO_IDL/be/be_array.cpp b/TAO/TAO_IDL/be/be_array.cpp
index 52bb2da39ea..4204c95f5b4 100644
--- a/TAO/TAO_IDL/be/be_array.cpp
+++ b/TAO/TAO_IDL/be/be_array.cpp
@@ -42,7 +42,8 @@ be_array::be_array (UTL_ScopedName *n,
abstract),
AST_Decl (AST_Decl::NT_array,
n,
- 0),
+ 0,
+ I_TRUE),
COMMON_Base (local,
abstract),
tao_name_ (0)
diff --git a/TAO/TAO_IDL/be/be_predefined_type.cpp b/TAO/TAO_IDL/be/be_predefined_type.cpp
index 923160c9742..b1f7675d6c3 100644
--- a/TAO/TAO_IDL/be/be_predefined_type.cpp
+++ b/TAO/TAO_IDL/be/be_predefined_type.cpp
@@ -37,7 +37,8 @@ be_predefined_type::be_predefined_type (AST_PredefinedType::PredefinedType t,
p),
AST_Decl (AST_Decl::NT_pre_defined,
n,
- p)
+ p,
+ I_TRUE)
{
// Generate a new Scoped Name for us such that we belong to the CORBA
// namespace.
diff --git a/TAO/TAO_IDL/be/be_sequence.cpp b/TAO/TAO_IDL/be/be_sequence.cpp
index d1e4c42365f..b8bb731911b 100644
--- a/TAO/TAO_IDL/be/be_sequence.cpp
+++ b/TAO/TAO_IDL/be/be_sequence.cpp
@@ -45,7 +45,8 @@ be_sequence::be_sequence (AST_Expression *v,
abstract),
AST_Decl (AST_Decl::NT_sequence,
0,
- 0),
+ 0,
+ I_TRUE),
COMMON_Base (t->is_local () || local,
abstract),
mt_ (be_sequence::MNG_UNKNOWN)
diff --git a/TAO/TAO_IDL/be/be_string.cpp b/TAO/TAO_IDL/be/be_string.cpp
index 2a47aac6607..91467af973f 100644
--- a/TAO/TAO_IDL/be/be_string.cpp
+++ b/TAO/TAO_IDL/be/be_string.cpp
@@ -38,8 +38,9 @@ be_string::be_string (AST_Expression *v)
1,
0,
I_FALSE),
- NULL),
- NULL)
+ 0),
+ 0,
+ I_TRUE)
{
// Always the case.
this->size_type (be_decl::VARIABLE);
@@ -56,13 +57,14 @@ be_string::be_string (AST_Expression *v,
1,
0,
I_FALSE),
- NULL)
+ 0)
: new UTL_ScopedName (new Identifier ("wstring",
1,
0,
I_FALSE),
- NULL),
- NULL)
+ 0),
+ 0,
+ I_TRUE)
{
// Always the case.
this->size_type (be_decl::VARIABLE);
diff --git a/TAO/TAO_IDL/include/ast_decl.h b/TAO/TAO_IDL/include/ast_decl.h
index bebb048984e..eeabe40d371 100644
--- a/TAO/TAO_IDL/include/ast_decl.h
+++ b/TAO/TAO_IDL/include/ast_decl.h
@@ -154,7 +154,8 @@ public:
AST_Decl (NodeType type,
UTL_ScopedName *n,
- UTL_StrList *pragmas);
+ UTL_StrList *pragmas,
+ idl_bool anonymous = I_FALSE);
virtual ~AST_Decl (void);
@@ -206,6 +207,9 @@ public:
const char *prefix (void);
// Retrieve the repository ID prefix.
+ idl_bool anonymous (void) const;
+ // Are we an anonymous (no repo ID) type?
+
// If there is _cxx_ in the beginning, we will remove that and keep
// a copy of the original name. TAO IDL's front end adds _cxx_
// prefix to the all the reserved keywords. But when we invoke the
@@ -300,6 +304,9 @@ private:
char *prefix_;
// The repository ID prefix.
+ idl_bool anonymous_;
+ // Are we an anonymous (no repo ID) type?
+
// Operations
void compute_prefix (void);