summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/include
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-10-29 15:17:47 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-10-29 15:17:47 +0000
commitf0a70d5c94fad868b0eac99bc46ae05ff9e653dd (patch)
tree08168dc7302928bfdea1f0e1e08103e2da6cc805 /TAO/TAO_IDL/include
parentd54bfe6876a83c640b6ae1dee1c81c7aa4091bc5 (diff)
downloadATCD-f0a70d5c94fad868b0eac99bc46ae05ff9e653dd.tar.gz
ChangeLogTag: Fri Oct 29 10:09:56 2004 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/TAO_IDL/include')
-rw-r--r--TAO/TAO_IDL/include/ast_union.h4
-rw-r--r--TAO/TAO_IDL/include/ast_union_branch.h9
-rw-r--r--TAO/TAO_IDL/include/utl_scope.h6
3 files changed, 14 insertions, 5 deletions
diff --git a/TAO/TAO_IDL/include/ast_union.h b/TAO/TAO_IDL/include/ast_union.h
index acb4eb2cc76..fdc784341fc 100644
--- a/TAO/TAO_IDL/include/ast_union.h
+++ b/TAO/TAO_IDL/include/ast_union.h
@@ -160,7 +160,7 @@ private:
// Operations.
// Look up a branch by node pointer.
- AST_UnionBranch *lookup_branch(AST_UnionBranch *branch);
+ AST_UnionBranch *lookup_branch (AST_UnionBranch *branch);
// Look up the branch with the "default" label.
AST_UnionBranch *lookup_default (void);
@@ -185,7 +185,7 @@ private:
virtual AST_Enum *fe_add_enum (AST_Enum *e);
virtual AST_EnumVal *fe_add_enum_val (AST_EnumVal *v);
-
+
virtual int compute_default_value (void);
// Compute the default value (if any).
diff --git a/TAO/TAO_IDL/include/ast_union_branch.h b/TAO/TAO_IDL/include/ast_union_branch.h
index 191d3b4003e..fc0e8430c7c 100644
--- a/TAO/TAO_IDL/include/ast_union_branch.h
+++ b/TAO/TAO_IDL/include/ast_union_branch.h
@@ -73,6 +73,7 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
class UTL_LabelList;
class AST_Type;
class AST_UnionLabel;
+class AST_Union;
// Representation of union branch declaration.
// A branch of a union is a field with a label.
@@ -95,10 +96,14 @@ public:
AST_UnionLabel *label (unsigned long index = 0);
unsigned long label_list_length (void);
+
+ // Called if our labels are enum values - adds them the
+ // enclosing scope's name_referenced list.
+ void add_labels (AST_Union *u);
// Narrowing.
- DEF_NARROW_METHODS1(AST_UnionBranch, AST_Field);
- DEF_NARROW_FROM_DECL(AST_UnionBranch);
+ DEF_NARROW_METHODS1 (AST_UnionBranch, AST_Field);
+ DEF_NARROW_FROM_DECL (AST_UnionBranch);
// AST Dumping.
virtual void dump (ACE_OSTREAM_TYPE &o);
diff --git a/TAO/TAO_IDL/include/utl_scope.h b/TAO/TAO_IDL/include/utl_scope.h
index b9d990d2b36..9bb45cfd949 100644
--- a/TAO/TAO_IDL/include/utl_scope.h
+++ b/TAO/TAO_IDL/include/utl_scope.h
@@ -254,6 +254,10 @@ public:
void add_to_scope (AST_Decl *e,
AST_Decl *ex = 0);
+ // Add to name_referenced identifier list. It's public because
+ // a union needs to add its enum discriminator label names.
+ void add_to_name_referenced (Identifier *id);
+
// Accessors for the has_prefix_ member.
idl_bool has_prefix (void);
void has_prefix (idl_bool val);
@@ -286,7 +290,7 @@ protected:
idl_bool recursive,
Identifier *id,
AST_Decl *ex = 0);
-
+
// Add to local types. Node represents a local manifest type.
void add_to_local_types (AST_Decl *e);