summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgokhale <asgokhale@users.noreply.github.com>1998-01-07 19:53:20 +0000
committergokhale <asgokhale@users.noreply.github.com>1998-01-07 19:53:20 +0000
commitbe5c228c7a69ab3a219c762222d81ccca94560dd (patch)
tree7b0d5281082cf2c9c5e786861bbb7088e25b49ab
parent1e2ba122bdb778f683381eb8672822a9f60cc9da (diff)
downloadATCD-be5c228c7a69ab3a219c762222d81ccca94560dd.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c3
-rw-r--r--TAO/TAO_IDL/ast/ast_native.cpp31
-rw-r--r--TAO/TAO_IDL/ast/ast_native.cpp~31
-rw-r--r--TAO/TAO_IDL/be/be_interface.cpp12
-rw-r--r--TAO/TAO_IDL/be/be_native.cpp88
-rw-r--r--TAO/TAO_IDL/be/be_native.cpp~39
-rw-r--r--TAO/TAO_IDL/be_include/be_native.h68
-rw-r--r--TAO/TAO_IDL/be_include/be_native.h~44
-rw-r--r--TAO/TAO_IDL/be_include/be_state.h~187
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor.h96
-rw-r--r--TAO/TAO_IDL/be_include/be_visitor.h~76
-rw-r--r--TAO/TAO_IDL/include/ast_native.h35
-rw-r--r--TAO/TAO_IDL/include/ast_native.h~35
-rw-r--r--TAO/docs/releasenotes/index.html7
14 files changed, 750 insertions, 2 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index 2b65a5337b5..d22d55a04e9 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -53,6 +53,9 @@ Wed Jan 7 12:00:14 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu>
turns out to be a child of the first. Thanks to Carlos O'Ryan for
reporting the error.
+ In addition, we use the nested_type_name for the inherited classes
+ in the class definition.
+
* TAO_IDL/be/be_type.cpp: We generate relative paths instead of
the ACE_NESTED_CLASS macro. However, I am going to make this an
IDL option at a later point.
diff --git a/TAO/TAO_IDL/ast/ast_native.cpp b/TAO/TAO_IDL/ast/ast_native.cpp
new file mode 100644
index 00000000000..22d72392381
--- /dev/null
+++ b/TAO/TAO_IDL/ast/ast_native.cpp
@@ -0,0 +1,31 @@
+
+// AST_Native: New IDL type added by the POA spec
+
+#include "idl.h"
+#include "idl_extern.h"
+
+/*
+ * Constructor(s)
+ */
+AST_Native::AST_Native (void)
+{
+}
+
+AST_Native::AST_Native(UTL_ScopedName *n,
+ UTL_StrList *p)
+ : AST_Decl (AST_Decl::NT_native, n, p)
+{
+}
+
+/*
+ * Dump this AST_Native node to the ostream o
+ */
+void
+AST_Native::dump (ostream &o)
+{
+ AST_Decl::dump (o);
+}
+
+// Narrowing
+IMPL_NARROW_METHODS1(AST_Native, AST_Type)
+IMPL_NARROW_FROM_DECL(AST_Native)
diff --git a/TAO/TAO_IDL/ast/ast_native.cpp~ b/TAO/TAO_IDL/ast/ast_native.cpp~
new file mode 100644
index 00000000000..d5cbb843080
--- /dev/null
+++ b/TAO/TAO_IDL/ast/ast_native.cpp~
@@ -0,0 +1,31 @@
+
+// AST_Native: New IDL type added by the POA spec
+
+#include "idl.h"
+#include "idl_extern.h"
+
+/*
+ * Constructor(s)
+ */
+AST_Native::AST_Native (void)
+{
+}
+
+AST_Native::AST_Native(UTL_ScopedName *n,
+ UTL_StrList *p)
+ : AST_Decl (AST_Decl::NT_native, n, p)
+{
+}
+
+/*
+ * Dump this AST_Native node to the ostream o
+ */
+void
+AST_Native::dump (ostream &o)
+{
+ AST_Decl::dump (o);
+}
+
+// Narrowing
+IMPL_NARROW_METHODS1(AST_Native, AST_Decl)
+IMPL_NARROW_FROM_DECL(AST_Native)
diff --git a/TAO/TAO_IDL/be/be_interface.cpp b/TAO/TAO_IDL/be/be_interface.cpp
index 6d22bdb1ebb..779cc97b87c 100644
--- a/TAO/TAO_IDL/be/be_interface.cpp
+++ b/TAO/TAO_IDL/be/be_interface.cpp
@@ -196,8 +196,18 @@ int be_interface::gen_client_header (void)
*ch << ": ";
for (i = 0; i < n_inherits (); i++)
{
+ be_interface *inherited = be_interface::narrow_from_decl
+ (this->inherits ()[i]);
+ be_decl *scope = 0;
+ if (inherited->is_nested ())
+ {
+ // inherited node is used in the scope of "this" node
+ scope = be_scope::narrow_from_scope (this->defined_in
+ ())->decl ();
+ }
+
*ch << "public virtual ";
- *ch << inherits ()[i]->name (); // dump the scoped name
+ *ch << inherited->nested_type_name (scope); // dump the scoped name
if (i < n_inherits () - 1) // this is the case of multiple
// inheritance
{
diff --git a/TAO/TAO_IDL/be/be_native.cpp b/TAO/TAO_IDL/be/be_native.cpp
new file mode 100644
index 00000000000..5b619dc7fe5
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_native.cpp
@@ -0,0 +1,88 @@
+// Id
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_native.cpp
+//
+// = DESCRIPTION
+// The native IDL type
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+
+// be_native: New IDL type added by the POA spec
+/*
+ * Constructor(s)
+ */
+be_native::be_native (void)
+{
+}
+
+be_native::be_native (UTL_ScopedName *n,
+ UTL_StrList *p)
+ : AST_Native (n, p),
+ AST_Decl (AST_Decl::NT_native, n, p)
+{
+}
+
+int
+be_native::gen_client_header (void)
+{
+ return 0;
+}
+
+int
+be_native::gen_client_stubs (void)
+{
+ return 0;
+}
+
+int
+be_native::gen_server_header (void)
+{
+ return 0;
+}
+
+int
+be_native::gen_server_skeletons (void)
+{
+ return 0;
+}
+
+int
+be_native::gen_client_inline (void)
+{
+ return 0;
+}
+
+int
+be_native::gen_server_inline (void)
+{
+ return 0;
+}
+
+int
+be_native::gen_typecode (void)
+{
+ return 0;
+}
+
+long
+be_native::tc_size (void)
+{
+ return 0;
+}
+
+// Narrowing
+IMPL_NARROW_METHODS2(be_native, AST_Native, be_type)
+IMPL_NARROW_FROM_DECL(be_native)
diff --git a/TAO/TAO_IDL/be/be_native.cpp~ b/TAO/TAO_IDL/be/be_native.cpp~
new file mode 100644
index 00000000000..d8c35056eed
--- /dev/null
+++ b/TAO/TAO_IDL/be/be_native.cpp~
@@ -0,0 +1,39 @@
+// Id
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_native.cpp
+//
+// = DESCRIPTION
+// The native IDL type
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#include "idl.h"
+#include "idl_extern.h"
+#include "be.h"
+
+
+// be_native: New IDL type added by the POA spec
+/*
+ * Constructor(s)
+ */
+be_native::be_native (void)
+{
+}
+
+be_native::be_native (UTL_ScopedName *n,
+ UTL_StrList *p)
+ : AST_Decl (AST_Decl::NT_native, n, p)
+{
+}
+
+// Narrowing
+IMPL_NARROW_METHODS1(be_native, AST_Native)
+IMPL_NARROW_FROM_DECL(be_native)
diff --git a/TAO/TAO_IDL/be_include/be_native.h b/TAO/TAO_IDL/be_include/be_native.h
new file mode 100644
index 00000000000..bf85c9acbff
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_native.h
@@ -0,0 +1,68 @@
+// Id
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_native.h
+//
+// = DESCRIPTION
+// The native IDL type
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+
+#if !defined (BE_NATIVE_H)
+#define BE_NATIVE_H
+
+// Representation of "native" IDL type added by the POA spec
+
+class be_native : public virtual AST_Native, public virtual be_type
+{
+public:
+ // =Operations
+
+ // Constructor(s)
+ be_native (void);
+ // default constructor
+
+ be_native(UTL_ScopedName *n, UTL_StrList *p);
+ // constructor that initializes its scoped name
+
+ virtual ~be_native (void) {}
+ // destructor
+
+ virtual int gen_client_header (void);
+ // Generates the client-side header information for the type
+
+ virtual int gen_client_stubs (void);
+ // Generates the client-side stubs for the type
+
+ virtual int gen_server_header (void);
+ // Generates the server-side header information for the type
+
+ virtual int gen_server_skeletons (void);
+ // Generates the server-side skeletons for the type
+
+ virtual int gen_client_inline (void);
+ // Generates the client-side inline for the type
+
+ virtual int gen_server_inline (void);
+ // Generates the server-side inlines for the type
+
+ virtual int gen_typecode (void);
+ // generate the typecode description
+
+ virtual long tc_size (void);
+ // return typecode size
+
+ // Narrowing
+ DEF_NARROW_METHODS2(be_native, AST_Native, be_type);
+ DEF_NARROW_FROM_DECL(be_native);
+};
+
+#endif /* BE_NATIVE_H */
diff --git a/TAO/TAO_IDL/be_include/be_native.h~ b/TAO/TAO_IDL/be_include/be_native.h~
new file mode 100644
index 00000000000..c4871a60503
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_native.h~
@@ -0,0 +1,44 @@
+// Id
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_native.h
+//
+// = DESCRIPTION
+// The native IDL type
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+
+#if !defined (BE_NATIVE_H)
+#define BE_NATIVE_H
+
+// Representation of "native" IDL type added by the POA spec
+
+class be_native : public virtual AST_Native
+{
+public:
+ // =Operations
+
+ // Constructor(s)
+ be_native (void);
+ // default constructor
+
+ be_native(UTL_ScopedName *n, UTL_StrList *p);
+ // constructor that initializes its scoped name
+
+ virtual ~be_native (void) {}
+ // destructor
+
+ // Narrowing
+ DEF_NARROW_METHODS1(be_native, AST_Native);
+ DEF_NARROW_FROM_DECL(be_native);
+};
+
+#endif /* BE_NATIVE_H */
diff --git a/TAO/TAO_IDL/be_include/be_state.h~ b/TAO/TAO_IDL/be_include/be_state.h~
new file mode 100644
index 00000000000..dd6e3259e13
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_state.h~
@@ -0,0 +1,187 @@
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_state.h
+//
+// = DESCRIPTION
+// The Code generator state class and its subclasses
+//
+// = AUTHOR
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#if !defined (TAO_BE_STATE_H)
+#define TAO_BE_STATE_H
+
+class be_state
+{
+ // =TITLE
+ // be_state
+ // =DESCRIPTION
+ // Emits code based on current state. This is an abstract base class. The
+ // task of code generation is handled by subclasses.
+public:
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0) = 0;
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+
+ virtual ~be_state (void);
+ // destructor
+
+protected:
+ be_state (void);
+ // constructor
+};
+
+// ============== subclasses ====================
+
+class be_state_struct_ch: public be_state
+{
+ // =TITLE
+ // be_state_struct_ch
+ // =DESCRIPTION
+ // struct generation in client header
+public:
+
+ be_state_struct_ch (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_struct_ch, ACE_SYNCH_MUTEX> TAO_BE_STATE_STRUCT_CH;
+
+class be_state_union_disctypedefn_ch: public be_state
+{
+ // =TITLE
+ // be_state_union_disctypedefn_ch
+ // =DESCRIPTION
+ // union discriminant defn generation in client header
+public:
+
+ be_state_union_disctypedefn_ch (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_union_disctypedefn_ch, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_UNION_DISCTYPEDEFN_CH;
+
+class be_state_union_disctypedefn_ci: public be_state
+{
+ // =TITLE
+ // be_state_union_disctypedefn_ci
+ // =DESCRIPTION
+ // union discriminant defn generation in client inline file
+public:
+
+ be_state_union_disctypedefn_ci (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_union_disctypedefn_ci, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_UNION_DISCTYPEDEFN_CI;
+
+class be_state_union_public_ch: public be_state
+{
+ // =TITLE
+ // be_state_union_public_ch
+ // =DESCRIPTION
+ // union discriminant defn generation in client header file
+public:
+
+ be_state_union_public_ch (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_union_public_ch, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_UNION_PUBLIC_CH;
+
+class be_state_union_public_ci: public be_state
+{
+ // =TITLE
+ // be_state_union_public_ci
+ // =DESCRIPTION
+ // union discriminant defn generation in client inline file
+public:
+
+ be_state_union_public_ci (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_union_public_ci, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_UNION_PUBLIC_CI;
+
+class be_state_union_private_ch: public be_state
+{
+ // =TITLE
+ // be_state_union_private_ch
+ // =DESCRIPTION
+ // union discriminant defn generation in client header file
+public:
+
+ be_state_union_private_ch (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_union_private_ch, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_UNION_PRIVATE_CH;
+
+class be_state_operation: public be_state
+{
+ // =TITLE
+ // be_state_operation
+ // =DESCRIPTION
+ // operation return type
+public:
+
+ be_state_operation (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_operation, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_OPERATION;
+
+class be_state_argument: public be_state
+{
+ // =TITLE
+ // be_state_argument
+ // =DESCRIPTION
+ // argument return type
+public:
+
+ be_state_argument (void);
+ // constructor
+
+ virtual int gen_code (be_type *bt, be_decl *d, be_type *type=0);
+ // code generation for node "d" whose type is "bt". The third parameter is
+ // used for recursive invocation involving a typedef
+};
+typedef ACE_Singleton<be_state_argument, ACE_SYNCH_MUTEX>
+ TAO_BE_STATE_ARGUMENT;
+
+#endif // end of be_state
+
diff --git a/TAO/TAO_IDL/be_include/be_visitor.h b/TAO/TAO_IDL/be_include/be_visitor.h
new file mode 100644
index 00000000000..a16663623ab
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor.h
@@ -0,0 +1,96 @@
+//
+// $Id$
+//
+
+/* -*- c++ -*- */
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_visitor.h
+//
+// = DESCRIPTION
+// Extension of class AST_Interface that provides additional means for C++
+// mapping of an interface.
+//
+// = AUTHOR
+// Copyright 1994-1995 by Sun Microsystems, Inc.
+// and
+// Carlos O'Ryan, Aniruddha Gokhale
+//
+// ============================================================================
+
+#if !defined (TAO_BE_VISITOR_H)
+#define TAO_BE_VISITOR_H
+
+class be_decl;
+class be_scope;
+class be_type;
+class be_predefined_type;
+class be_module;
+class be_interface;
+class be_interface_fwd;
+class be_structure;
+class be_exception;
+class be_expression;
+class be_enum;
+class be_operation;
+class be_field;
+class be_argument;
+class be_attribute;
+class be_union;
+class be_union_branch;
+class be_union_label;
+class be_constant;
+class be_enum_val;
+class be_array;
+class be_sequence;
+class be_string;
+class be_typedef;
+class be_root;
+
+class be_visitor
+{
+ //
+ // = TITLE
+ // Base class for visitors.
+ //
+ // = DESCRIPTION
+ // To implement code generation we use the "Visitor Pattern", this
+ // is the abstract "Visitor".
+ // The "visit" methods are not pure virtual to facilitate the
+ // implementation of simple visitors that only override a few.
+ //
+public:
+ virtual ~be_visitor (void);
+
+ virtual int visit_decl (be_decl *node);
+ virtual int visit_scope (be_scope *node);
+ virtual int visit_type (be_type *node);
+ virtual int visit_predefined_type (be_predefined_type *node);
+ virtual int visit_module (be_module *node);
+ virtual int visit_interface (be_interface *node);
+ virtual int visit_interface_fwd (be_interface_fwd *node);
+ virtual int visit_structure (be_structure *node);
+ virtual int visit_exception (be_exception *node);
+ virtual int visit_expression (be_expression *node);
+ virtual int visit_enum (be_enum *node);
+ virtual int visit_operation (be_operation *node);
+ virtual int visit_field (be_field *node);
+ virtual int visit_argument (be_argument *node);
+ virtual int visit_attribute (be_attribute *node);
+ virtual int visit_union (be_union *node);
+ virtual int visit_union_branch (be_union_branch *node);
+ virtual int visit_union_label (be_union_label *node);
+ virtual int visit_constant (be_constant *node);
+ virtual int visit_enum_val (be_enum_val *node);
+ virtual int visit_array (be_array *node);
+ virtual int visit_sequence (be_sequence *node);
+ virtual int visit_string (be_string *node);
+ virtual int visit_typedef (be_typedef *node);
+ virtual int visit_root (be_root *node);
+};
+
+#endif // TAO_BE_VISITOR_H
diff --git a/TAO/TAO_IDL/be_include/be_visitor.h~ b/TAO/TAO_IDL/be_include/be_visitor.h~
new file mode 100644
index 00000000000..c74c98b21fb
--- /dev/null
+++ b/TAO/TAO_IDL/be_include/be_visitor.h~
@@ -0,0 +1,76 @@
+//
+// $Id$
+//
+
+#ifndef _BE_VISITOR_H
+#define _BE_VISITOR_H
+
+class be_decl;
+class be_scope;
+class be_type;
+class be_predefined_type;
+class be_module;
+class be_interface;
+class be_interface_fwd;
+class be_structure;
+class be_exception;
+class be_expression;
+class be_enum;
+class be_operation;
+class be_field;
+class be_argument;
+class be_attribute;
+class be_union;
+class be_union_branch;
+class be_union_label;
+class be_constant;
+class be_enum_val;
+class be_array;
+class be_sequence;
+class be_string;
+class be_typedef;
+class be_root;
+
+class be_visitor
+{
+ //
+ // = TITLE
+ // Base class for visitors.
+ //
+ // = DESCRIPTION
+ // To implement code generation we use the "Visitor Pattern", this
+ // is the abstract "Visitor".
+ // The "visit" methods are not pure virtual to facilitate the
+ // implementation of simple visitors that only override a few.
+ //
+public:
+ virtual ~be_visitor (void);
+
+ virtual int visit_decl (be_decl *node);
+ virtual int visit_scope (be_scope *node);
+ virtual int visit_type (be_type *node);
+ virtual int visit_predefined_type (be_predefined_type *node);
+ virtual int visit_module (be_module *node);
+ virtual int visit_interface (be_interface *node);
+ virtual int visit_interface_fwd (be_interface_fwd *node);
+ virtual int visit_structure (be_structure *node);
+ virtual int visit_exception (be_exception *node);
+ virtual int visit_expression (be_expression *node);
+ virtual int visit_enum (be_enum *node);
+ virtual int visit_operation (be_operation *node);
+ virtual int visit_field (be_field *node);
+ virtual int visit_argument (be_argument *node);
+ virtual int visit_attribute (be_attribute *node);
+ virtual int visit_union (be_union *node);
+ virtual int visit_union_branch (be_union_branch *node);
+ virtual int visit_union_label (be_union_label *node);
+ virtual int visit_constant (be_constant *node);
+ virtual int visit_enum_val (be_enum_val *node);
+ virtual int visit_array (be_array *node);
+ virtual int visit_sequence (be_sequence *node);
+ virtual int visit_string (be_string *node);
+ virtual int visit_typedef (be_typedef *node);
+ virtual int visit_root (be_root *node);
+};
+
+#endif // _BE_VISITOR_H
diff --git a/TAO/TAO_IDL/include/ast_native.h b/TAO/TAO_IDL/include/ast_native.h
new file mode 100644
index 00000000000..6cc41d146af
--- /dev/null
+++ b/TAO/TAO_IDL/include/ast_native.h
@@ -0,0 +1,35 @@
+#ifndef _AST_NATIVE_H_
+#define _AST_NATIVE_H_
+
+// Representation of "native" IDL type added by the POA spec
+//
+/*
+** DEPENDENCIES: ast_decl.h
+**
+** USE: Included from ast.h
+*/
+
+class AST_Native : public virtual AST_Type
+{
+public:
+ // =Operations
+
+ // Constructor(s)
+ AST_Native (void);
+ // default constructor
+
+ AST_Native(UTL_ScopedName *n, UTL_StrList *p);
+ // constructor that initializes its scoped name
+
+ virtual ~AST_Native (void) {}
+ // destructor
+
+ // Narrowing
+ DEF_NARROW_METHODS1(AST_Native, AST_Type);
+ DEF_NARROW_FROM_DECL(AST_Native);
+
+ // AST Dumping
+ virtual void dump(ostream &o);
+};
+
+#endif /* AST_NATIVE_H */
diff --git a/TAO/TAO_IDL/include/ast_native.h~ b/TAO/TAO_IDL/include/ast_native.h~
new file mode 100644
index 00000000000..b36a0c9d5d7
--- /dev/null
+++ b/TAO/TAO_IDL/include/ast_native.h~
@@ -0,0 +1,35 @@
+#ifndef _AST_NATIVE_H_
+#define _AST_NATIVE_H_
+
+// Representation of "native" IDL type added by the POA spec
+//
+/*
+** DEPENDENCIES: ast_decl.h
+**
+** USE: Included from ast.h
+*/
+
+class AST_Native : public virtual AST_Decl
+{
+public:
+ // =Operations
+
+ // Constructor(s)
+ AST_Native (void);
+ // default constructor
+
+ AST_Native(UTL_ScopedName *n, UTL_StrList *p);
+ // constructor that initializes its scoped name
+
+ virtual ~AST_Native (void) {}
+ // destructor
+
+ // Narrowing
+ DEF_NARROW_METHODS1(AST_Native, AST_Decl);
+ DEF_NARROW_FROM_DECL(AST_Native);
+
+ // AST Dumping
+ virtual void dump(ostream &o);
+};
+
+#endif /* AST_NATIVE_H */
diff --git a/TAO/docs/releasenotes/index.html b/TAO/docs/releasenotes/index.html
index cf594675b63..f922094536a 100644
--- a/TAO/docs/releasenotes/index.html
+++ b/TAO/docs/releasenotes/index.html
@@ -51,8 +51,13 @@ HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/VERSION">current release
<H3><A NAME="idl"></A>IDL Compiler</H3>
Point of contact: <A HREF="mailto:gokhale@cs.wustl.edu">Aniruddha Gokhale</A>
- <P> Current status: (As of Dec 31st, 1997.)
+ <P> Current status: (As of January 7th, 1998.)
<UL>
+ <LI> Support for the "native" keyword added </LI>
+
+ <LI> Introduced tests for object references to TAO. Still
+ incomplete. </LI>
+
<LI> Param_Test example is able to test string sequences, fixed
structs, variable sized structs and nested structs </LI>