diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-10-29 15:17:47 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-10-29 15:17:47 +0000 |
commit | f0a70d5c94fad868b0eac99bc46ae05ff9e653dd (patch) | |
tree | 08168dc7302928bfdea1f0e1e08103e2da6cc805 /TAO/TAO_IDL/include | |
parent | d54bfe6876a83c640b6ae1dee1c81c7aa4091bc5 (diff) | |
download | ATCD-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.h | 4 | ||||
-rw-r--r-- | TAO/TAO_IDL/include/ast_union_branch.h | 9 | ||||
-rw-r--r-- | TAO/TAO_IDL/include/utl_scope.h | 6 |
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); |