summaryrefslogtreecommitdiff
path: root/ext/satellite/findtype.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/satellite/findtype.c')
-rw-r--r--ext/satellite/findtype.c145
1 files changed, 0 insertions, 145 deletions
diff --git a/ext/satellite/findtype.c b/ext/satellite/findtype.c
deleted file mode 100644
index 7f48cd750a..0000000000
--- a/ext/satellite/findtype.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP version 4.0 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2001 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: David Eriksson <david@2good.com> |
- +----------------------------------------------------------------------+
- */
-
-/*
- * $Id$
- * vim: syntax=c tabstop=2 shiftwidth=2
- */
-
-/*
- * Used by typemanager.c and typecode.c
- */
-#include <orb/orbit.h>
-#include "findtype.h"
-
-typedef struct
-{
- const char * mpWantedId;
- IDL_tree_type mWantedType;
- IdlInfo mIdlInfo;
- CORBA_boolean mSuccess;
-} FindTypeData;
-
-static CORBA_boolean orbit_find_type_compare(
- FindTypeData * pData, IDL_tree ident, IDL_tree type)
-{
- if (pData == NULL || ident == NULL || type == NULL)
- return TRUE; /* continue */
-
- /* compare ids */
- if (strcmp(pData->mpWantedId, IDL_IDENT(ident).repo_id) == 0 ||
- strcasecmp(pData->mpWantedId, IDL_IDENT(ident).str) == 0)
- {
- pData->mIdlInfo.mIdent = ident;
- pData->mIdlInfo.mType = type;
- pData->mSuccess = TRUE;
- return FALSE; /* stop */
- }
-
- return TRUE;
-}
-
-static CORBA_boolean orbit_find_type_helper(IDL_tree_func_data *tnfd, FindTypeData *pData)
-{
- IDL_tree tree = tnfd->tree;
-/* IDL_tree real_tree = tree; */
- IDL_tree ident = NULL;
-
- /* must be any type or right type */
- if (pData->mWantedType != IDLN_ANY && pData->mWantedType != IDL_NODE_TYPE(tree))
- {
- return TRUE; /* continue */
- }
-
- switch(IDL_NODE_TYPE(tree))
- {
- case IDLN_ATTR_DCL:
- /* attributes */
- /* real_tree = IDL_ATTR_DCL(tree).param_type_spec; */
-
- /*
- * XXX: this will only handle the FIRST
- * ident connected to the attribute!
- */
- ident = IDL_LIST(IDL_ATTR_DCL(tree).simple_declarations).data;
- break;
-
- case IDLN_EXCEPT_DCL:
- ident = IDL_EXCEPT_DCL(tree).ident;
-
- case IDLN_INTERFACE:
- ident = IDL_INTERFACE(tree).ident;
- break;
-
- case IDLN_OP_DCL:
- ident = IDL_OP_DCL(tree).ident;
- break;
-
- case IDLN_TYPE_DCL:
- /* typedefs */
- /* real_tree = IDL_TYPE_DCL(tree).type_spec; */
-
- /*
- * XXX: this will only handle the FIRST
- * ident connected to the type!
- */
- ident = IDL_LIST(IDL_TYPE_DCL(tree).dcls).data;
- break;
-
- case IDLN_TYPE_ENUM:
- ident = IDL_TYPE_ENUM(tree).ident;
- break;
-
- case IDLN_TYPE_STRUCT:
- ident = IDL_TYPE_STRUCT(tree).ident;
- break;
-
- /* TODO: handle more types! */
-
- default:
- }
-
- return orbit_find_type_compare(pData, ident, /*real_*/tree);
-}
-
-CORBA_boolean orbit_find_type(
- IDL_tree tree, const char * pWantedId, IDL_tree_type wantedType, IdlInfo * pIdlInfo)
-{
- FindTypeData data;
-
- memset(&data, 0, sizeof(data));
- data.mpWantedId = pWantedId;
- data.mWantedType = wantedType;
-
- IDL_tree_walk_in_order(
- tree,
- (IDL_tree_func)orbit_find_type_helper,
- &data);
-
- *pIdlInfo = data.mIdlInfo;
-
- return data.mSuccess;
-}
-
-IDL_tree orbit_find_type_simple(IDL_tree tree, const char * pWantedId)
-{
- IdlInfo info;
- CORBA_boolean success = orbit_find_type(tree, pWantedId, IDLN_ANY, &info);
- return success ? info.mType : NULL;
-}
-