summaryrefslogtreecommitdiff
path: root/modules/TAO/TAO_IDL/fe/idl.yy
diff options
context:
space:
mode:
Diffstat (limited to 'modules/TAO/TAO_IDL/fe/idl.yy')
-rw-r--r--modules/TAO/TAO_IDL/fe/idl.yy72
1 files changed, 19 insertions, 53 deletions
diff --git a/modules/TAO/TAO_IDL/fe/idl.yy b/modules/TAO/TAO_IDL/fe/idl.yy
index 78915cbdbd1..8a19355f22f 100644
--- a/modules/TAO/TAO_IDL/fe/idl.yy
+++ b/modules/TAO/TAO_IDL/fe/idl.yy
@@ -5870,30 +5870,17 @@ factory_decl :
* Create a node representing a factory operation
* and add it to the enclosing scope.
*/
- if (s != 0)
- {
- AST_Home *h = AST_Home::narrow_from_scope (s);
-
- o =
- idl_global->gen ()->create_operation (
- h->managed_component (),
- AST_Operation::OP_noflags,
- &n,
- false,
- false
- );
-
- h->factories ().enqueue_tail (o);
- }
+ AST_Factory *f = idl_global->gen ()->create_factory (&n);
+ (void) s->fe_add_factory (f);
$2->destroy ();
delete $2;
$2 = 0;
/*
- * Push the operation scope onto the scopes stack.
+ * Push the factory scope onto the scopes stack.
*/
- idl_global->scopes ().push (o);
+ idl_global->scopes ().push (f);
}
init_parameter_list
{
@@ -5904,24 +5891,18 @@ factory_decl :
{
// opt_raises
UTL_Scope *s = idl_global->scopes ().top_non_null ();
- AST_Operation *o = 0;
idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted);
/*
- * Add exceptions and context to the operation.
+ * Add exceptions and context to the factory.
*/
- if (s != 0 && s->scope_node_type () == AST_Decl::NT_op)
+ if ($6 != 0)
{
- o = AST_Operation::narrow_from_scope (s);
-
- if ($6 != 0 && o != 0)
- {
- (void) o->fe_add_exceptions ($6);
- }
+ (void) s->fe_add_exceptions ($6);
}
/*
- * Done with this operation. Pop its scope from the scopes stack.
+ * Done with this factory. Pop its scope from the scopes stack.
*/
idl_global->scopes ().pop ();
}
@@ -5935,28 +5916,18 @@ finder_decl :
UTL_Scope *s = idl_global->scopes ().top_non_null ();
UTL_ScopedName n ($2,
0);
- AST_Operation *o = 0;
+
idl_global->set_parse_state (IDL_GlobalData::PS_OpIDSeen);
/*
- * Create a node representing a finder operation
+ * Create a node representing a home finder
* and add it to the enclosing scope.
*/
- if (s != 0)
- {
- AST_Home *h = AST_Home::narrow_from_scope (s);
-
- o =
- idl_global->gen ()->create_operation (
- h->managed_component (),
- AST_Operation::OP_noflags,
- &n,
- false,
- false
- );
-
- h->finders ().enqueue_tail (o);
- }
+ AST_Finder *f =
+ idl_global->gen ()->create_finder (&n);
+
+ (void) s->fe_add_finder (f);
+
$2->destroy ();
delete $2;
@@ -5965,7 +5936,7 @@ finder_decl :
/*
* Push the operation scope onto the scopes stack.
*/
- idl_global->scopes ().push (o);
+ idl_global->scopes ().push (f);
}
init_parameter_list
{
@@ -5980,16 +5951,11 @@ finder_decl :
idl_global->set_parse_state (IDL_GlobalData::PS_OpRaiseCompleted);
/*
- * Add exceptions and context to the operation.
+ * Add exceptions and context to the finder.
*/
- if (s != 0 && s->scope_node_type () == AST_Decl::NT_op)
+ if ($6 != 0)
{
- o = AST_Operation::narrow_from_scope (s);
-
- if ($6 != 0 && o != 0)
- {
- (void) o->fe_add_exceptions ($6);
- }
+ (void) s->fe_add_exceptions ($6);
}
/*