2 //=============================================================================
8 * @author Aniruddha Gokhale
10 //=============================================================================
15 #include "be_exception.h"
16 #include "ast_native.h"
20 // Representation of "native" IDL type. It may be used as a
21 // return type, parameter type, or in an operation's
22 // exception list. This last usage creates special problems
23 // with both syntax checking and code generation. Letting
24 // this class inherit from be_exception (similar to the
25 // inheritance of AST_Native) is the most seamless
26 // way to handle it, and does not affect the other use cases.
27 class be_native
: public virtual AST_Native
,
28 public virtual be_exception
31 be_native (UTL_ScopedName
*n
);
33 virtual ~be_native (void) {}
35 /// Generate the typecode description.
36 virtual int gen_typecode (void);
38 /// Return typecode size.
39 virtual long tc_size (void);
42 virtual void destroy (void);
45 virtual int accept (be_visitor
*visitor
);
48 DEF_NARROW_FROM_DECL(be_native
);
51 #endif /* BE_NATIVE_H */