summaryrefslogtreecommitdiff
path: root/autodoc/source/parser_i
diff options
context:
space:
mode:
authorNikolai Pretzell <np@openoffice.org>2002-11-01 16:15:51 +0000
committerNikolai Pretzell <np@openoffice.org>2002-11-01 16:15:51 +0000
commit18e7b2a7dbc74cd094028e11b0910f1136cce615 (patch)
treebc1652165f7eb6af956a96cbb2e6408db0da2cbf /autodoc/source/parser_i
parent7a9d96862db4571421d6eadb314da3c0c67ece2b (diff)
#103134#
Diffstat (limited to 'autodoc/source/parser_i')
-rw-r--r--autodoc/source/parser_i/idl/cx_idlco.cxx23
-rw-r--r--autodoc/source/parser_i/idl/distrib.cxx8
-rw-r--r--autodoc/source/parser_i/idl/makefile.mk5
-rw-r--r--autodoc/source/parser_i/idl/parsenv2.cxx51
-rw-r--r--autodoc/source/parser_i/idl/pe_attri.cxx130
-rw-r--r--autodoc/source/parser_i/idl/pe_const.cxx62
-rw-r--r--autodoc/source/parser_i/idl/pe_enum2.cxx49
-rw-r--r--autodoc/source/parser_i/idl/pe_evalu.cxx9
-rw-r--r--autodoc/source/parser_i/idl/pe_excp.cxx84
-rw-r--r--autodoc/source/parser_i/idl/pe_file2.cxx30
-rw-r--r--autodoc/source/parser_i/idl/pe_func2.cxx95
-rw-r--r--autodoc/source/parser_i/idl/pe_iface.cxx124
-rw-r--r--autodoc/source/parser_i/idl/pe_selem.cxx47
-rw-r--r--autodoc/source/parser_i/idl/pe_servi.cxx71
-rw-r--r--autodoc/source/parser_i/idl/pe_singl.cxx272
-rw-r--r--autodoc/source/parser_i/idl/pe_struc.cxx81
-rw-r--r--autodoc/source/parser_i/idl/pe_tydf2.cxx29
-rw-r--r--autodoc/source/parser_i/idl/pe_type2.cxx49
-rw-r--r--autodoc/source/parser_i/idl/pe_vari2.cxx15
-rw-r--r--autodoc/source/parser_i/idl/semnode.cxx12
-rw-r--r--autodoc/source/parser_i/idl/tk_keyw.cxx12
-rw-r--r--autodoc/source/parser_i/idl/unoidl.cxx63
-rw-r--r--autodoc/source/parser_i/idoc/docu_pe2.cxx6
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx8
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/distrib.hxx27
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx60
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx61
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx26
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx17
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx12
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx26
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx20
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx46
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx31
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx20
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx30
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx180
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx22
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx12
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx15
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx17
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/semnode.hxx30
-rw-r--r--autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx17
43 files changed, 1311 insertions, 693 deletions
diff --git a/autodoc/source/parser_i/idl/cx_idlco.cxx b/autodoc/source/parser_i/idl/cx_idlco.cxx
index 4216275ffb2e..050d7c72a160 100644
--- a/autodoc/source/parser_i/idl/cx_idlco.cxx
+++ b/autodoc/source/parser_i/idl/cx_idlco.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cx_idlco.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:35 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -130,15 +130,23 @@ const UINT16 nTok_mt_interface = 300 + TokMetaType::mt_interface;
const UINT16 nTok_mt_module = 300 + TokMetaType::mt_module;
const UINT16 nTok_mt_property = 300 + TokMetaType::mt_property;
const UINT16 nTok_mt_service = 300 + TokMetaType::mt_service;
+const UINT16 nTok_mt_singleton = 300 + TokMetaType::mt_singleton;
const UINT16 nTok_mt_struct = 300 + TokMetaType::mt_struct;
const UINT16 nTok_mt_typedef = 300 + TokMetaType::mt_typedef;
const UINT16 nTok_mt_uik = 300 + TokMetaType::mt_uik;
+const UINT16 nTok_ste_bound = 400 + TokStereotype::ste_bound;
+const UINT16 nTok_ste_constrained = 400 + TokStereotype::ste_constrained;
const UINT16 nTok_ste_const = 400 + TokStereotype::ste_const;
+const UINT16 nTok_ste_maybeambiguous = 400 + TokStereotype::ste_maybeambiguous;
+const UINT16 nTok_ste_maybedefault = 400 + TokStereotype::ste_maybedefault;
+const UINT16 nTok_ste_maybevoid = 400 + TokStereotype::ste_maybevoid;
const UINT16 nTok_ste_oneway = 400 + TokStereotype::ste_oneway;
const UINT16 nTok_ste_optional = 400 + TokStereotype::ste_optional;
const UINT16 nTok_ste_readonly = 400 + TokStereotype::ste_readonly;
+const UINT16 nTok_ste_removable = 400 + TokStereotype::ste_removable;
const UINT16 nTok_ste_virtual = 400 + TokStereotype::ste_virtual;
+const UINT16 nTok_ste_transient = 400 + TokStereotype::ste_transient;
const UINT16 nTok_raises = 501;
const UINT16 nTok_needs = 502;
@@ -474,10 +482,13 @@ Context_UidlCode::SetupStateMachine()
aStateMachine.AddToken("any", nTok_bty_any, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("attribute", nTok_mt_attribute, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("boolean", nTok_bty_boolean, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("bound", nTok_ste_bound, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("byte", nTok_bty_byte, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("char", nTok_bty_char, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("const", nTok_ste_const, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("constants", nTok_mt_constants, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("constrained",
+ nTok_ste_constrained, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("double", nTok_bty_double, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("enum", nTok_mt_enum, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("exception", nTok_mt_exception, A_nKeywordDefStatus, finKeyw);
@@ -487,6 +498,11 @@ Context_UidlCode::SetupStateMachine()
aStateMachine.AddToken("inout", nTok_ph_inout, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("interface", nTok_mt_interface, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("long", nTok_bty_long, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("maybeambiguous",
+ nTok_ste_maybeambiguous,A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("maybedefault",
+ nTok_ste_maybedefault, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("maybevoid", nTok_ste_maybevoid, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("module", nTok_mt_module, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("needs", nTok_needs, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("observes", nTok_observes, A_nKeywordDefStatus, finKeyw);
@@ -496,11 +512,14 @@ Context_UidlCode::SetupStateMachine()
aStateMachine.AddToken("property", nTok_mt_property, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("raises", nTok_raises, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("readonly", nTok_ste_readonly, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("removable", nTok_ste_removable, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("sequence", nTok_tmod_sequence, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("service", nTok_mt_service, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("short", nTok_bty_short, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("singleton", nTok_mt_singleton, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("string", nTok_bty_string, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("struct", nTok_mt_struct, A_nKeywordDefStatus, finKeyw);
+ aStateMachine.AddToken("transient", nTok_ste_transient, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("typedef", nTok_mt_typedef, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("uik", nTok_mt_uik, A_nKeywordDefStatus, finKeyw);
aStateMachine.AddToken("unsigned", nTok_tmod_unsigned, A_nKeywordDefStatus, finKeyw);
diff --git a/autodoc/source/parser_i/idl/distrib.cxx b/autodoc/source/parser_i/idl/distrib.cxx
index dc859458783c..6c1f32eb66c1 100644
--- a/autodoc/source/parser_i/idl/distrib.cxx
+++ b/autodoc/source/parser_i/idl/distrib.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: distrib.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:35 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -82,7 +82,7 @@ namespace csi
namespace uidl
{
-TokenDistributor::TokenDistributor( ary::Repository & io_rRepository )
+TokenDistributor::TokenDistributor( ary::n22::Repository & io_rRepository )
: pTokenSource(0),
aProcessingData( io_rRepository, aDocumentation )
// aDocumentation
@@ -105,7 +105,7 @@ TokenDistributor::TradeToken()
aProcessingData.ProcessCurToken();
}
-TokenDistributor::ProcessingData::ProcessingData( ary::Repository & io_rRepository,
+TokenDistributor::ProcessingData::ProcessingData( ary::n22::Repository & io_rRepository,
Documentation & i_rDocuProcessor )
: // aEnvironments
// aTokenQueue
diff --git a/autodoc/source/parser_i/idl/makefile.mk b/autodoc/source/parser_i/idl/makefile.mk
index 20dcb4539d26..16d7adcb88ac 100644
--- a/autodoc/source/parser_i/idl/makefile.mk
+++ b/autodoc/source/parser_i/idl/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.1.1.1 $
+# $Revision: 1.2 $
#
-# last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+# last change: $Author: np $ $Date: 2002-11-01 17:15:35 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -94,6 +94,7 @@ OBJFILES= \
$(OBJ)$/pe_iface.obj \
$(OBJ)$/pe_selem.obj \
$(OBJ)$/pe_servi.obj \
+ $(OBJ)$/pe_singl.obj \
$(OBJ)$/pe_struc.obj \
$(OBJ)$/pe_tydf2.obj \
$(OBJ)$/pe_type2.obj \
diff --git a/autodoc/source/parser_i/idl/parsenv2.cxx b/autodoc/source/parser_i/idl/parsenv2.cxx
index 5fb04a232de1..4657b57a7f72 100644
--- a/autodoc/source/parser_i/idl/parsenv2.cxx
+++ b/autodoc/source/parser_i/idl/parsenv2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: parsenv2.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: mh $ $Date: 2002-08-13 14:49:28 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -61,20 +61,17 @@
#include <precomp.h>
-
-// [ed] 6/15/02 The OS X compilers require full class definitions at the time
-// of template instantiation
-#ifdef MACOSX
-#include <ary_i/codeinf2.hxx>
-#endif
-
#include <s2_luidl/parsenv2.hxx>
-#include <s2_luidl/uidl_tok.hxx>
// NOT FULLY DEFINED SERVICES
-#include <ary_i/uidl/gate.hxx>
+#include <ary/qualiname.hxx>
#include <ary_i/codeinf2.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_ce.hxx>
+#include <ary/idl/ip_ce.hxx>
+#include <s2_luidl/uidl_tok.hxx>
+#include <x_parse2.hxx>
@@ -91,7 +88,7 @@ UnoIDL_PE::~UnoIDL_PE()
void
UnoIDL_PE::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
aMyNode.EstablishContacts(io_pParentPE, io_rRepository, o_rResult);
@@ -112,7 +109,7 @@ UnoIDL_PE::Enter( E_EnvStackAction i_eWayOfEntering )
ReceiveData();
break;
case pop_failure:
- csv_assert(false);
+ throw X_AutodocParser(X_AutodocParser::x_Any);
break;
default:
csv_assert(false);
@@ -133,7 +130,7 @@ UnoIDL_PE::Leave( E_EnvStackAction i_eWayOfLeaving )
TransferData();
break;
case pop_failure:
- csv_assert(false);
+ throw X_AutodocParser(X_AutodocParser::x_Any);
break;
default:
csv_assert(false);
@@ -153,13 +150,18 @@ UnoIDL_PE::SetOptional()
}
void
-UnoIDL_PE::PassDocuAt( ary::Cei i_nCeId )
+UnoIDL_PE::PassDocuAt( ary::idl::CodeEntity & io_rCe )
{
if (pDocu)
{
- ary::CodeEntity2 * pCe = Gate().FindCe(i_nCeId);
- csv_assert(pCe != 0);
- pCe->SetDocu(*pDocu.Release());
+ io_rCe.Set_Docu(pDocu.Release());
+ }
+ else if (io_rCe.ClassId() != ary::idl::Module::class_id)
+ {
+ Cout() << "Warning: "
+ << io_rCe.LocalName()
+ << " has no documentation."
+ << Endl();
}
}
@@ -175,7 +177,7 @@ UnoIDL_PE::ReceiveData()
// Needs not anything to do.
}
-ary::uidl::CeNamespace &
+const ary::idl::Module &
UnoIDL_PE::CurNamespace() const
{
if ( Parent() != 0 )
@@ -183,19 +185,10 @@ UnoIDL_PE::CurNamespace() const
else
{
csv_assert(false);
- return *(ary::uidl::CeNamespace*)0;
+ return *(const ary::idl::Module*)0;
}
}
-ary::Cei
-UnoIDL_PE::MatchingNamespace( const QuName & i_rQualification )
-{
- if (i_rQualification.IsQualified())
- return Gate().CheckInModule(i_rQualification).Id();
- else
- return CurNamespace().Id();
-}
-
} // namespace uidl
} // namespace csi
diff --git a/autodoc/source/parser_i/idl/pe_attri.cxx b/autodoc/source/parser_i/idl/pe_attri.cxx
index f7b056ea5bf7..c31da74d1398 100644
--- a/autodoc/source/parser_i/idl/pe_attri.cxx
+++ b/autodoc/source/parser_i/idl/pe_attri.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_attri.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,12 +65,16 @@
// NOT FULLY DEFINED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_attribute.hxx>
+#include <ary/idl/i_property.hxx>
+#include <ary/idl/i_service.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_vari2.hxx>
#include <s2_luidl/tk_keyw.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
-#include <csi/l_uidl/attrib.hxx>
@@ -81,24 +85,23 @@ namespace uidl
-PE_Attribute::PE_Attribute( RAttribute & o_rResult,
- const RInterface & i_rCurInterface )
+PE_Attribute::PE_Attribute( Ce_id & i_rCurOwner,
+ E_ParsedType i_eCeType )
: eState(e_none),
- pData(0),
- pResult(&o_rResult),
- pCurInterface(&i_rCurInterface),
+ pCurOwner(&i_rCurOwner),
pPE_Variable(0),
- aCurParsedType(0),
- sCurParsedName(""),
+ nCurParsedType(0),
+ sCurParsedName(),
bIsOptional(false),
- bIsReadonly(false)
+ aStereotypes(),
+ eCeType(i_eCeType)
{
- pPE_Variable = new PE_Variable(aCurParsedType, sCurParsedName);
+ pPE_Variable = new PE_Variable(nCurParsedType, sCurParsedName);
}
void
PE_Attribute::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -118,21 +121,43 @@ PE_Attribute::ProcessToken( const Token & i_rToken )
void
PE_Attribute::Process_Stereotype( const TokStereotype & i_rToken )
{
- if (i_rToken.Id() == TokStereotype::ste_readonly)
+ switch (i_rToken.Id())
{
- pData->Data().bReadonly = true;
- SetResult(done, stay);
- return;
- }
- else if (i_rToken.Id() == TokStereotype::ste_optional)
- {
- bIsOptional = true;
- SetResult(done, stay);
- return;
+ case TokStereotype::ste_optional:
+ bIsOptional = true;
+ break;
+ case TokStereotype::ste_readonly:
+ aStereotypes.Set_Flag(Stereotypes::readonly);
+ break;
+ case TokStereotype::ste_bound:
+ aStereotypes.Set_Flag(Stereotypes::bound);
+ break;
+ case TokStereotype::ste_constrained:
+ aStereotypes.Set_Flag(Stereotypes::constrained);
+ break;
+ case TokStereotype::ste_maybeambiguous:
+ aStereotypes.Set_Flag(Stereotypes::maybeambigious);
+ break;
+ case TokStereotype::ste_maybedefault:
+ aStereotypes.Set_Flag(Stereotypes::maybedefault);
+ break;
+ case TokStereotype::ste_maybevoid:
+ aStereotypes.Set_Flag(Stereotypes::maybevoid);
+ break;
+ case TokStereotype::ste_removable:
+ aStereotypes.Set_Flag(Stereotypes::removable);
+ break;
+ case TokStereotype::ste_transient:
+ aStereotypes.Set_Flag(Stereotypes::transient);
+ break;
+
+ default:
+ SetResult(not_done, pop_failure);
+ eState = e_none;
+ return;
}
- SetResult(not_done, pop_failure);
- eState = e_none;
+ SetResult(done, stay);
}
void
@@ -140,14 +165,17 @@ PE_Attribute::Process_MetaType( const TokMetaType & i_rToken )
{
if (eState == e_start)
{
- if ( i_rToken.Id() == TokMetaType::mt_attribute OR
- i_rToken.Id() == TokMetaType::mt_property )
+ if ( i_rToken.Id() == TokMetaType::mt_property
+ AND eCeType == parse_property
+ OR
+ i_rToken.Id() == TokMetaType::mt_attribute
+ AND eCeType == parse_attribute )
{
SetResult(done, stay);
eState = expect_variable;
return;
}
- }
+ } // endif (eState == e_start)
SetResult(not_done, pop_failure);
eState = e_none;
@@ -194,12 +222,14 @@ PE_Attribute::InitData()
{
eState = e_start;
- pData = new Attribute;
- *pResult = 0;
- aCurParsedType = 0;
+ nCurParsedType = 0;
sCurParsedName = "";
- // bIsOptional may be preset by the PE_Service-parent with PresetOptional()
+ // bIsOptional and
+ // aStereotypes
+ // may be preset by the PE_Service-(or PE_Interface-)parent
+ // with PresetOptional() or
+ // PresetStereotype()
// - therefore it must not be set here!
}
@@ -211,16 +241,34 @@ PE_Attribute::TransferData()
SetOptional();
bIsOptional = false;
}
- if (bIsReadonly)
+
+ ary::idl::CodeEntity *
+ pCe = 0;
+ csv_assert(pCurOwner->IsValid());
+ if (eCeType == parse_property)
+ {
+ pCe = &Gate().Ces().Store_Property( *pCurOwner,
+ sCurParsedName,
+ nCurParsedType,
+ aStereotypes );
+ }
+ else if (eCeType == parse_attribute)
{
- pData->Data().bReadonly = true;
- bIsReadonly = false;
+ pCe = &Gate().Ces().Store_Attribute( *pCurOwner,
+ sCurParsedName,
+ nCurParsedType,
+ aStereotypes.IsReadOnly() );
}
+ else
+ {
+ csv_assert(false);
+ }
+ csv_assert(pCe != 0);
+ PassDocuAt(*pCe);
- *pResult = Gate().Store_Attribute( pCurInterface->Id(), *pData );
- PassDocuAt(pResult->Id());
-
- pData = 0;
+ nCurParsedType = 0;
+ sCurParsedName.clear();
+ aStereotypes = Stereotypes();
eState = e_none;
}
@@ -228,8 +276,6 @@ PE_Attribute::TransferData()
void
PE_Attribute::ReceiveData()
{
- pData->Data().pType = aCurParsedType;
- pData->Data().sName = sCurParsedName;
eState = expect_variable;
}
@@ -237,7 +283,7 @@ PE_Attribute::ReceiveData()
UnoIDL_PE &
PE_Attribute::MyPE()
{
- return *this;
+ return *this;
}
diff --git a/autodoc/source/parser_i/idl/pe_const.cxx b/autodoc/source/parser_i/idl/pe_const.cxx
index 2ec084f02666..025be8c30bd2 100644
--- a/autodoc/source/parser_i/idl/pe_const.cxx
+++ b/autodoc/source/parser_i/idl/pe_const.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_const.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,14 +63,16 @@
#include <s2_luidl/pe_const.hxx>
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_constant.hxx>
+#include <ary/idl/i_constgroup.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/pe_evalu.hxx>
#include <s2_luidl/tk_punct.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_keyw.hxx>
-#include <csi/l_uidl/constant.hxx>
-#include <ary_i/uidl/gate.hxx>
namespace csi
@@ -109,20 +111,21 @@ PE_Constant::CallHandler( const char * i_sTokenText,
PE_Constant::PE_Constant()
: eState(e_none),
- pData(0),
+ sData_Name(),
+ nDataId(0),
pPE_Type(0),
- pType(0),
- pPE_Value(0)
- // sName
- // sAssignment
+ nType(0),
+ pPE_Value(0),
+ sName(),
+ sAssignment()
{
- pPE_Type = new PE_Type(pType);
- pPE_Value = new PE_Value(sName, sAssignment,true);
+ pPE_Type = new PE_Type(nType);
+ pPE_Value = new PE_Value(sName, sAssignment, true);
}
void
PE_Constant::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -172,10 +175,13 @@ PE_Constant::On_expect_curl_bracket_open_Punctuation(const char * i_sText)
{
if ( i_sText[0] == '{')
{
- pData = new ConstantsGroup;
- pData->sName = sName;
- nDataId = Gate().Store_ConstantsGroup(CurNamespace().Id(),*pData).Id();
- PassDocuAt(nDataId);
+ sData_Name = sName;
+
+ ary::idl::ConstantsGroup &
+ rCe = Gate().Ces().
+ Store_ConstantsGroup(CurNamespace().CeId(),sData_Name);
+ PassDocuAt(rCe);
+ nDataId = rCe.CeId();
SetResult(done,stay);
eState = expect_const;
@@ -236,7 +242,7 @@ PE_Constant::On_Default(const char * )
void
PE_Constant::EmptySingleConstData()
{
- pType = 0;
+ nType = 0;
sName = "";
sAssignment = "";
}
@@ -244,16 +250,12 @@ PE_Constant::EmptySingleConstData()
void
PE_Constant::CreateSingleConstant()
{
- Constant * dpConst = new Constant;
-
- dpConst->Data().sName = sName;
- dpConst->Data().sValue = sAssignment;
- dpConst->Data().pType = pType;
-
- ary::Cei nId = Gate().Store_Constant( nDataId, *dpConst ).Id();
- pPE_Type->PassDocuAt(nId);
-
- pData->aConstants.push_back(nId);
+ ary::idl::Constant &
+ rCe = Gate().Ces().Store_Constant( nDataId,
+ sName,
+ nType,
+ sAssignment );
+ pPE_Type->PassDocuAt(rCe);
}
void
@@ -261,7 +263,7 @@ PE_Constant::InitData()
{
eState = expect_name;
- pData = 0;
+ sData_Name.clear();
nDataId = 0;
EmptySingleConstData();
@@ -277,7 +279,7 @@ PE_Constant::ReceiveData()
break;
case expect_value:
{
- if (sName.length() == 0 OR sAssignment.length() == 0 OR NOT pType)
+ if (sName.length() == 0 OR sAssignment.length() == 0 OR NOT nType.IsValid())
{
Cerr() << "Constant without value found." << Endl();
eState = expect_const;
@@ -297,7 +299,7 @@ PE_Constant::ReceiveData()
void
PE_Constant::TransferData()
{
- csv_assert(pData != 0);
+ csv_assert(nDataId.IsValid());
eState = e_none;
}
diff --git a/autodoc/source/parser_i/idl/pe_enum2.cxx b/autodoc/source/parser_i/idl/pe_enum2.cxx
index 32aedc79f6e4..42f2b284e105 100644
--- a/autodoc/source/parser_i/idl/pe_enum2.cxx
+++ b/autodoc/source/parser_i/idl/pe_enum2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_enum2.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:36 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,14 +65,15 @@
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_enum.hxx>
+#include <ary/idl/i_enumvalue.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_evalu.hxx>
#include <s2_luidl/tk_punct.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_keyw.hxx>
-#include <csi/l_uidl/enum.hxx>
-#include <csi/l_uidl/enumvalu.hxx>
-#include <ary_i/uidl/gate.hxx>
namespace csi
@@ -109,18 +110,19 @@ PE_Enum::CallHandler( const char * i_sTokenText,
PE_Enum::PE_Enum()
: eState(e_none),
- pData(0),
- pPE_Value(0)
- // sName
- // sAssignment
+ sData_Name(),
+ nDataId(0),
+ pPE_Value(0),
+ sName(),
+ sAssignment()
{
pPE_Value = new PE_Value(sName, sAssignment, false);
}
void
PE_Enum::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
- TokenProcessing_Result & o_rResult )
+ ary::n22::Repository & io_rRepository,
+ TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
pPE_Value->EstablishContacts(this,io_rRepository,o_rResult);
@@ -162,10 +164,11 @@ PE_Enum::On_expect_curl_bracket_open_Punctuation(const char * i_sText)
{
if ( i_sText[0] == '{')
{
- pData = new Enum;
- pData->Data().sName = sName;
- nDataId = Gate().Store_Enum(CurNamespace().Id(),*pData).Id();
- PassDocuAt(nDataId);
+ sData_Name = sName;
+ ary::idl::Enum &
+ rCe = Gate().Ces().Store_Enum(CurNamespace().CeId(), sData_Name);
+ PassDocuAt(rCe);
+ nDataId = rCe.CeId();
SetResult(done,stay);
eState = expect_value;
@@ -227,15 +230,9 @@ PE_Enum::EmptySingleValueData()
void
PE_Enum::CreateSingleValue()
{
- DYN EnumValue * dpValue = new EnumValue;
-
- dpValue->Data().sName = sName;
- dpValue->Data().sValue = sAssignment;
-
- ary::Cei nId = Gate().Store_EnumValue( nDataId, *dpValue ).Id();
- pPE_Value->PassDocuAt(nId);
-
- pData->Data().aValues.push_back(nId);
+ ary::idl::EnumValue &
+ rCe = Gate().Ces().Store_EnumValue( nDataId, sName, sAssignment );
+ pPE_Value->PassDocuAt(rCe);
}
void
@@ -243,7 +240,7 @@ PE_Enum::InitData()
{
eState = expect_name;
- pData = 0;
+ sData_Name.clear();
nDataId = 0;
EmptySingleValueData();
@@ -274,7 +271,7 @@ PE_Enum::ReceiveData()
void
PE_Enum::TransferData()
{
- csv_assert(pData != 0);
+ csv_assert(sData_Name.length() > 0);
eState = e_none;
}
diff --git a/autodoc/source/parser_i/idl/pe_evalu.cxx b/autodoc/source/parser_i/idl/pe_evalu.cxx
index 1f8b5917ed7e..589d39ebe609 100644
--- a/autodoc/source/parser_i/idl/pe_evalu.cxx
+++ b/autodoc/source/parser_i/idl/pe_evalu.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_evalu.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:37 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,6 +63,9 @@
#include <s2_luidl/pe_evalu.hxx>
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_enumvalue.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
@@ -112,7 +115,7 @@ PE_Value::PE_Value( udmstri & o_rName,
void
PE_Value::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
diff --git a/autodoc/source/parser_i/idl/pe_excp.cxx b/autodoc/source/parser_i/idl/pe_excp.cxx
index 2c174dae68c8..9a27279ae6ab 100644
--- a/autodoc/source/parser_i/idl/pe_excp.cxx
+++ b/autodoc/source/parser_i/idl/pe_excp.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_excp.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:37 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -64,15 +64,16 @@
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_exception.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_structelem.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
#include <s2_luidl/tk_keyw.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/pe_selem.hxx>
-#include <csi/l_uidl/except.hxx>
-#include <csi/l_uidl/struelem.hxx>
-#include <ary_i/uidl/gate.hxx>
@@ -91,7 +92,7 @@ PE_Exception::PE_Exception()
void
PE_Exception::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -122,8 +123,8 @@ PE_Exception::TransferData()
{
if (NOT Work().bIsPreDeclaration)
{
- csv_assert(Work().pData != 0);
- csv_assert(Work().pCurStruct);
+ csv_assert(Work().sData_Name.size() > 0);
+ csv_assert(Work().nCurStruct.IsValid());
}
Stati().pCurStatus = &Stati().aNone;
}
@@ -134,53 +135,51 @@ PE_Exception::ReceiveData()
Stati().pCurStatus->On_SubPE_Left();
}
+const bool C_bIsExceptionElement = true; // Means:Yes, is an ExceptionElement.
+
PE_Exception::S_Work::S_Work()
- : // pData
+ : sData_Name(),
bIsPreDeclaration(false),
- pCurStruct(0),
+ nCurStruct(0),
pPE_Element(0),
- aCurParsed_ElementRef(0),
- pPE_Type(0)
- // aCurParsed_Base
+ nCurParsed_ElementRef(0),
+ pPE_Type(0),
+ nCurParsed_Base(0)
{
- pPE_Element = new PE_StructElement(aCurParsed_ElementRef,pCurStruct);
- pPE_Type = new PE_Type(aCurParsed_Base);
+ pPE_Element = new PE_StructElement(nCurParsed_ElementRef,nCurStruct,C_bIsExceptionElement);
+ pPE_Type = new PE_Type(nCurParsed_Base);
}
void
PE_Exception::S_Work::InitData()
{
- pData = new Exception;
+ sData_Name.clear();
bIsPreDeclaration = false;
- pCurStruct = 0;
+ nCurStruct = 0;
+
+ nCurParsed_ElementRef = 0;
+ nCurParsed_Base = 0;
}
void
PE_Exception::S_Work::Prepare_PE_QualifiedName()
{
- aCurParsed_ElementRef = 0;
+ nCurParsed_ElementRef = 0;
}
void
PE_Exception::S_Work::Prepare_PE_Element()
{
- aCurParsed_Base = 0;
+ nCurParsed_Base = 0;
}
void
PE_Exception::S_Work::Data_Set_Name( const char * i_sName )
{
- pData->Data().sName = i_sName;
+ sData_Name = i_sName;
}
-void
-PE_Exception::S_Work::Data_Add_CurParsed_ElementRef()
-{
- pData->Data().aElements.push_back(aCurParsed_ElementRef);
-}
-
-
PE_Exception::S_Stati::S_Stati(PE_Exception & io_rStruct)
: aNone(io_rStruct),
aWaitForName(io_rStruct),
@@ -218,13 +217,6 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke
{
if ( i_rToken.Id() != TokPunctuation::Semicolon )
{
- Work().pCurStruct =
- PE().Gate().Store_Exception(
- PE().CurNamespace().Id(),
- *Work().pData );
- PE().PassDocuAt(Work().pCurStruct.Id());
-
-
switch (i_rToken.Id())
{
case TokPunctuation::Colon:
@@ -233,6 +225,7 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke
Work().Prepare_PE_QualifiedName();
break;
case TokPunctuation::CurledBracketOpen:
+ PE().store_Exception();
MoveState( Stati().aWaitForElement );
SetResult(done,stay);
break;
@@ -242,7 +235,7 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke
}
else
{
- Delete_dyn(Work().pData);
+ Work().sData_Name.clear();
SetResult(done,pop_success);
}
}
@@ -250,7 +243,6 @@ PE_Exception::State_GotName::Process_Punctuation( const TokPunctuation & i_rToke
void
PE_Exception::State_WaitForBase::On_SubPE_Left()
{
- Work().pData->Data().pBaseException = Work().aCurParsed_Base;
MoveState(Stati().aGotBase);
}
@@ -259,6 +251,7 @@ PE_Exception::State_GotBase::Process_Punctuation( const TokPunctuation & i_rToke
{
if ( i_rToken.Id() == TokPunctuation::CurledBracketOpen )
{
+ PE().store_Exception();
MoveState( Stati().aWaitForElement );
SetResult(done,stay);
}
@@ -311,12 +304,6 @@ PE_Exception::State_WaitForElement::Process_Punctuation( const TokPunctuation &
}
void
-PE_Exception::State_WaitForElement::On_SubPE_Left()
-{
- Work().Data_Add_CurParsed_ElementRef();
-}
-
-void
PE_Exception::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i_rToken )
{
if (i_rToken.Id() == TokPunctuation::Semicolon)
@@ -330,7 +317,18 @@ PE_Exception::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i
}
}
+void
+PE_Exception::store_Exception()
+{
+ ary::idl::Exception &
+ rCe = Gate().Ces().Store_Exception(
+ CurNamespace().CeId(),
+ Work().sData_Name,
+ Work().nCurParsed_Base );
+ PassDocuAt(rCe);
+ Work().nCurStruct = rCe.Id();
+}
+
} // namespace uidl
} // namespace csi
-
diff --git a/autodoc/source/parser_i/idl/pe_file2.cxx b/autodoc/source/parser_i/idl/pe_file2.cxx
index 88212205063b..0fda80cb27b2 100644
--- a/autodoc/source/parser_i/idl/pe_file2.cxx
+++ b/autodoc/source/parser_i/idl/pe_file2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_file2.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:37 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -64,10 +64,14 @@
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_module.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/distrib.hxx>
#include <s2_luidl/pe_servi.hxx>
#include <s2_luidl/pe_iface.hxx>
+#include <s2_luidl/pe_singl.hxx>
#include <s2_luidl/pe_struc.hxx>
#include <s2_luidl/pe_excp.hxx>
#include <s2_luidl/pe_const.hxx>
@@ -76,8 +80,6 @@
#include <s2_luidl/tk_keyw.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
-#include <ary_i/uidl/gate.hxx>
-#include <ary_i/uidl/cenamesp.hxx>
@@ -91,6 +93,7 @@ namespace uidl
PE_File::PE_File( TokenDistributor & i_rTokenAdmin )
: pTokenAdmin(&i_rTokenAdmin),
pPE_Service(new PE_Service),
+ pPE_Singleton(new PE_Singleton),
pPE_Interface(new PE_Interface),
pPE_Struct(new PE_Struct),
pPE_Exception(new PE_Exception),
@@ -105,11 +108,12 @@ PE_File::PE_File( TokenDistributor & i_rTokenAdmin )
void
PE_File::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
pPE_Service->EstablishContacts(this,io_rRepository,o_rResult);
+ pPE_Singleton->EstablishContacts(this,io_rRepository,o_rResult);
pPE_Interface->EstablishContacts(this,io_rRepository,o_rResult);
pPE_Struct->EstablishContacts(this,io_rRepository,o_rResult);
pPE_Exception->EstablishContacts(this,io_rRepository,o_rResult);
@@ -117,7 +121,7 @@ PE_File::EstablishContacts( UnoIDL_PE * io_pParentPE,
pPE_Enum->EstablishContacts(this,io_rRepository,o_rResult);
pPE_Typedef->EstablishContacts(this,io_rRepository,o_rResult);
- pCurNamespace = &Gate().GlobalNamespace();
+ pCurNamespace = &Gate().Ces().GlobalNamespace();
}
PE_File::~PE_File()
@@ -139,12 +143,12 @@ PE_File::Process_Identifier( const TokIdentifier & i_rToken )
{
csv_assert(pCurNamespace != 0);
- ary::Cei nNspId = Gate().CheckInModule(pCurNamespace->Id(), i_rToken.Text()).Id();
- pCurNamespace = Gate().FindNamespace(nNspId);
+ ary::idl::Module & rCe = Gate().Ces().CheckIn_Module(pCurNamespace->CeId(), i_rToken.Text());
+ pCurNamespace = &rCe;
// Get docu out of normal:
SetDocu(pTokenAdmin->ReleaseLastParsedDocu());
- PassDocuAt(nNspId);
+ PassDocuAt(rCe);
csv_assert(pCurNamespace != 0);
@@ -169,7 +173,7 @@ PE_File::Process_Punctuation( const TokPunctuation & i_rToken )
{
csv_assert(pCurNamespace != 0);
- pCurNamespace = pCurNamespace->Parent();
+ pCurNamespace = &Gate().Ces().Find_Module(pCurNamespace->Owner());
SetResult(done, stay);
eState = wait_for_module_semicolon;
@@ -233,6 +237,10 @@ PE_File::Process_MetaType( const TokMetaType & i_rToken )
eState = in_sub_pe;
SetResult( not_done, push_sure, pPE_Service.Ptr());
break;
+ case TokMetaType::mt_singleton:
+ eState = in_sub_pe;
+ SetResult( not_done, push_sure, pPE_Singleton.Ptr());
+ break;
case TokMetaType::mt_uik:
Cerr() << "Syntax error: [uik ....] is obsolete now." << Endl();
SetResult( not_done, pop_failure);
@@ -282,7 +290,7 @@ PE_File::Process_Default()
SetResult(done, stay);
}
-ary::uidl::CeNamespace &
+const ary::idl::Module &
PE_File::CurNamespace() const
{
csv_assert(pCurNamespace);
diff --git a/autodoc/source/parser_i/idl/pe_func2.cxx b/autodoc/source/parser_i/idl/pe_func2.cxx
index b13905642d1b..8e5236b44da5 100644
--- a/autodoc/source/parser_i/idl/pe_func2.cxx
+++ b/autodoc/source/parser_i/idl/pe_func2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_func2.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:38 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,13 +65,16 @@
// NOT FULLY DEFINED SERVICES
+#include <ary/idl/i_function.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/pe_vari2.hxx>
#include <s2_luidl/tk_keyw.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
-#include <csi/l_uidl/function.hxx>
+#include <x_parse2.hxx>
namespace csi
@@ -83,25 +86,29 @@ namespace uidl
PE_Function::PE_Function( RFunction & o_rResult,
const RInterface & i_rCurInterface )
: eState(e_none),
- pData(0),
+ sData_Name(),
+ nData_ReturnType(0),
+ bData_Const(false),
+ bData_Oneway(false),
+ pCurFunction(0),
pResult(&o_rResult),
pCurInterface(&i_rCurInterface),
pPE_Type(0),
- aCurParsedType(0),
- // sName,
+ nCurParsedType(0),
+ sName(),
pPE_Variable(0),
- eCurParsedParam_Direction(param_in),
- aCurParsedParam_Type(0)
- // sCurParsedParam_Name
+ eCurParsedParam_Direction(ary::idl::param_in),
+ nCurParsedParam_Type(0),
+ sCurParsedParam_Name()
{
- pPE_Type = new PE_Type(aCurParsedType);
- pPE_Variable = new PE_Variable(aCurParsedParam_Type, sCurParsedParam_Name);
+ pPE_Type = new PE_Type(nCurParsedType);
+ pPE_Variable = new PE_Variable(nCurParsedParam_Type, sCurParsedParam_Name);
}
void
PE_Function::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -127,11 +134,11 @@ PE_Function::Process_Stereotype( const TokStereotype & i_rToken )
switch (i_rToken.Id())
{
case TokStereotype::ste_const:
- pData->Data().bConst = true;
+ bData_Const = true;
SetResult(done, stay);
break;
case TokStereotype::ste_oneway:
- pData->Data().bOneway = true;
+ bData_Oneway = true;
SetResult(done, stay);
break;
default:
@@ -151,9 +158,19 @@ PE_Function::Process_Identifier( const TokIdentifier & i_rToken )
GoIntoReturnType();
break;
case expect_name:
- pData->Data().sName = i_rToken.Text();
+ sData_Name = i_rToken.Text();
SetResult(done,stay);
eState = expect_params_list;
+ pCurFunction = &Gate().Ces().Store_Function(
+ *pCurInterface,
+ sData_Name,
+ nData_ReturnType,
+ bData_Oneway,
+ bData_Const );
+ *pResult = pCurFunction->CeId();
+ PassDocuAt(*pCurFunction);
+
+
break;
case expect_parameter_variable:
GoIntoParameterVariable();
@@ -265,13 +282,13 @@ PE_Function::Process_ParameterHandling( const TokParameterHandling & i_rToken )
switch (i_rToken.Id())
{
case TokParameterHandling::ph_in:
- eCurParsedParam_Direction = param_in;
+ eCurParsedParam_Direction = ary::idl::param_in;
break;
case TokParameterHandling::ph_out:
- eCurParsedParam_Direction = param_out;
+ eCurParsedParam_Direction = ary::idl::param_out;
break;
case TokParameterHandling::ph_inout:
- eCurParsedParam_Direction = param_inout;
+ eCurParsedParam_Direction = ary::idl::param_inout;
break;
default:
csv_assert(false);
@@ -335,19 +352,25 @@ PE_Function::GoIntoException()
void
PE_Function::OnDefault()
{
- csv_assert(1==2);
+ throw X_AutodocParser(X_AutodocParser::x_Any);
}
void
PE_Function::InitData()
{
eState = e_start;
- pData = new Function;
+
+ sData_Name.clear();
+ nData_ReturnType = 0;
+ bData_Const = false;
+ bData_Oneway = false;
+ pCurFunction = 0;
+
*pResult = 0;
- aCurParsedType = 0;
- eCurParsedParam_Direction = param_in;
- aCurParsedParam_Type = 0;
- sCurParsedParam_Name = "";
+ nCurParsedType = 0;
+ eCurParsedParam_Direction = ary::idl::param_in;
+ nCurParsedParam_Type = 0;
+ sCurParsedParam_Name.clear();
}
void
@@ -356,22 +379,24 @@ PE_Function::ReceiveData()
switch (eState)
{
case in_return_type:
- pData->Data().pReturnType = aCurParsedType;
- aCurParsedType = 0;
+ nData_ReturnType = nCurParsedType;
+ nCurParsedType = 0;
eState = expect_name;
break;
case in_parameter_variable:
- pData->Data().aParameters.push_back(
- Parameter( aCurParsedParam_Type,
+ csv_assert(pCurFunction != 0);
+ pCurFunction->Add_Parameter(
sCurParsedParam_Name,
- eCurParsedParam_Direction ) );
+ nCurParsedParam_Type,
+ eCurParsedParam_Direction );
sCurParsedParam_Name = "";
- aCurParsedParam_Type = 0;
- eCurParsedParam_Direction = param_in;
+ nCurParsedParam_Type = 0;
+ eCurParsedParam_Direction = ary::idl::param_in;
eState = expect_parameter_separator;
break;
case in_exception:
- pData->Data().aRaisedExceptions.push_back(aCurParsedType);
+ csv_assert(pCurFunction != 0);
+ pCurFunction->Add_Exception(nCurParsedType);
eState = expect_exception_separator;
break;
default:
@@ -382,11 +407,7 @@ PE_Function::ReceiveData()
void
PE_Function::TransferData()
{
- *pResult = Gate().Store_Function( pCurInterface->Id(), *pData );
- PassDocuAt(pResult->Id());
-
- pData = 0;
-
+ pCurFunction = 0;
eState = e_none;
}
diff --git a/autodoc/source/parser_i/idl/pe_iface.cxx b/autodoc/source/parser_i/idl/pe_iface.cxx
index ad5ebd01249e..cef0062837a7 100644
--- a/autodoc/source/parser_i/idl/pe_iface.cxx
+++ b/autodoc/source/parser_i/idl/pe_iface.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_iface.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:38 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,9 +65,10 @@
// NOT FULLY DEFINED SERVICES
-#include <ary_i/ce2.hxx>
+#include <ary/idl/i_interface.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
-#include <csi/l_uidl/intrface.hxx>
#include <s2_luidl/pe_func2.hxx>
#include <s2_luidl/pe_attri.hxx>
#include <s2_luidl/pe_type2.hxx>
@@ -110,7 +111,7 @@ PE_Interface::aDispatcher[PE_Interface::e_STATES_MAX][PE_Interface::tt_MAX] =
{ DF, DF, DF, DF, DF }, // in_base
{ DF, DF, &PE_Interface::On_need_curlbr_open_Punctuation,
DF, DF }, // need_curlbr_open
- { &PE_Interface::On_std_GotoAttribute,
+ { &PE_Interface::On_std_Metatype,
&PE_Interface::On_std_GotoFunction,
&PE_Interface::On_std_Punctuation,
&PE_Interface::On_std_GotoFunction,
@@ -132,34 +133,30 @@ PE_Interface::CallHandler( const char * i_sTokenText,
PE_Interface::PE_Interface()
: eState(e_none),
- pData(0),
+ sData_Name(),
bIsPreDeclaration(false),
+ nCurInterface(0),
pPE_Function(0),
- pCurInterface(0),
- aCurParsed_Function(0),
- pPE_Attribute(0),
- aCurParsed_Attribute(0),
pPE_Type(0),
- aCurParsed_Base(0),
- // cUik,
- nUikCharCounter(0)
+ nCurParsed_Base(0),
+ pPE_Attribute(0)
{
- pPE_Function = new PE_Function(aCurParsed_Function, pCurInterface);
- pPE_Attribute = new PE_Attribute(aCurParsed_Attribute, pCurInterface);
- pPE_Type = new PE_Type(aCurParsed_Base);
-
- memset( cUik, 0, 37 );
+ static ary::idl::Ce_id
+ nDummy;
+ pPE_Function = new PE_Function(nDummy, nCurInterface);
+ pPE_Type = new PE_Type(nCurParsed_Base);
+ pPE_Attribute = new PE_Attribute(nCurInterface, PE_Attribute::parse_attribute);
}
void
PE_Interface::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
pPE_Function->EstablishContacts(this,io_rRepository,o_rResult);
- pPE_Attribute->EstablishContacts(this,io_rRepository,o_rResult);
pPE_Type->EstablishContacts(this,io_rRepository,o_rResult);
+ pPE_Attribute->EstablishContacts(this,io_rRepository,o_rResult);
}
PE_Interface::~PE_Interface()
@@ -228,6 +225,7 @@ PE_Interface::Process_Default()
void
PE_Interface::On_need_uik_MetaType(const char * i_sText)
{
+ // Deprecated, data will be ignored
SetResult(done, stay);
eState = uik;
}
@@ -235,24 +233,17 @@ PE_Interface::On_need_uik_MetaType(const char * i_sText)
void
PE_Interface::On_uik_Identifier(const char * i_sText)
{
- unsigned sLen = strlen(i_sText);
- csv_assert( (sLen == 4 OR sLen == 8) AND nUikCharCounter < 36 );
- if (nUikCharCounter > 0)
- cUik[nUikCharCounter++] = '-';
- strncpy( cUik + nUikCharCounter, i_sText, sLen );
- nUikCharCounter += sLen;
-
+ // Deprecated, data will be ignored
SetResult(done, stay);
}
void
PE_Interface::On_uik_Punctuation(const char * i_sText)
{
+ // Deprecated, data will be ignored
SetResult(done, stay);
if (strcmp(",",i_sText) == 0)
{
- csv_assert(nUikCharCounter == 36);
- pData->Data().sUik = cUik;
eState = need_ident;
}
}
@@ -291,7 +282,7 @@ void
PE_Interface::On_need_name_Identifer(const char * i_sText)
{
SetResult(done, stay);
- pData->Data().sName = i_sText;
+ sData_Name = i_sText;
eState = wait_for_base;
}
@@ -300,9 +291,6 @@ PE_Interface::On_wait_for_base_Punctuation(const char * i_sText)
{
if (i_sText[0] != ';')
{
- pCurInterface = Gate().Store_Interface(CurNamespace().Id(), *pData);
- PassDocuAt(pCurInterface.Id());
-
switch (i_sText[0])
{
case ':':
@@ -310,6 +298,8 @@ PE_Interface::On_wait_for_base_Punctuation(const char * i_sText)
eState = in_base;
break;
case '{':
+ store_Interface();
+
SetResult(done,stay);
eState = e_std;
break;
@@ -331,6 +321,8 @@ PE_Interface::On_need_curlbr_open_Punctuation(const char * i_sText)
{
if (i_sText[0] == '{')
{
+ store_Interface();
+
SetResult(done, stay);
eState = e_std;
}
@@ -338,6 +330,16 @@ PE_Interface::On_need_curlbr_open_Punctuation(const char * i_sText)
csv_assert(false);
}
+
+void
+PE_Interface::On_std_Metatype(const char * i_sText)
+{
+ if (strcmp(i_sText,"attribute") == 0)
+ On_std_GotoAttribute(i_sText);
+ else
+ On_std_GotoFunction(i_sText);
+}
+
void
PE_Interface::On_std_Punctuation(const char * i_sText)
{
@@ -356,28 +358,24 @@ PE_Interface::On_std_Punctuation(const char * i_sText)
void
PE_Interface::On_std_Stereotype(const char * i_sText)
{
- if (strcmp(i_sText,"readonly") == 0)
- {
- On_std_GotoAttribute(i_sText);
- }
- else
- {
+ if (strcmp(i_sText,"oneway") == 0)
On_std_GotoFunction(i_sText);
- }
+ else
+ On_std_GotoAttribute(i_sText);
}
void
-PE_Interface::On_std_GotoFunction(const char * i_sText)
+PE_Interface::On_std_GotoFunction(const char * )
{
SetResult(not_done, push_sure, pPE_Function.Ptr());
eState = in_function;
}
void
-PE_Interface::On_std_GotoAttribute(const char * i_sText)
+PE_Interface::On_std_GotoAttribute(const char * )
{
- SetResult(not_done, push_sure, pPE_Attribute.Ptr());
- eState = in_attribute;
+ SetResult(not_done, push_sure, pPE_Attribute.Ptr());
+ eState = in_attribute;
}
void
@@ -406,14 +404,10 @@ PE_Interface::InitData()
{
eState = need_interface;
- pData = new Interface;
+ sData_Name.clear();
bIsPreDeclaration = false;
- pCurInterface = 0;
- aCurParsed_Function = 0;
- aCurParsed_Attribute = 0;
- aCurParsed_Base = 0;
- memset( cUik, 0, 33 );
- nUikCharCounter = 0;
+ nCurInterface = 0;
+ nCurParsed_Base = 0;
}
void
@@ -421,11 +415,14 @@ PE_Interface::TransferData()
{
if (NOT bIsPreDeclaration)
{
- csv_assert(pData != 0);
- csv_assert(pCurInterface);
+ csv_assert(sData_Name.size() > 0);
+ csv_assert(nCurInterface.IsValid());
}
else
- Delete_dyn(pData);
+ {
+ sData_Name.clear();
+ nCurInterface = 0;
+ }
eState = e_none;
}
@@ -436,18 +433,12 @@ PE_Interface::ReceiveData()
switch (eState)
{
case in_base:
- pData->Data().pBase = aCurParsed_Base;
- aCurParsed_Base = 0;
eState = need_curlbr_open;
break;
case in_function:
- pData->Data().aFunctions.push_back(aCurParsed_Function);
- aCurParsed_Function = 0;
eState = e_std;
break;
case in_attribute:
- pData->Data().aAttributes.push_back(aCurParsed_Attribute);
- aCurParsed_Attribute = 0;
eState = e_std;
break;
default:
@@ -455,13 +446,24 @@ PE_Interface::ReceiveData()
}
}
-
UnoIDL_PE &
PE_Interface::MyPE()
{
return *this;
}
+void
+PE_Interface::store_Interface()
+{
+ ary::idl::Interface &
+ rCe = Gate().Ces().Store_Interface(
+ CurNamespace().CeId(),
+ sData_Name,
+ nCurParsed_Base );
+ nCurInterface = rCe.CeId();
+ PassDocuAt(rCe);
+}
+
} // namespace uidl
} // namespace csi
diff --git a/autodoc/source/parser_i/idl/pe_selem.cxx b/autodoc/source/parser_i/idl/pe_selem.cxx
index c7e813f31645..2d2cc0454459 100644
--- a/autodoc/source/parser_i/idl/pe_selem.cxx
+++ b/autodoc/source/parser_i/idl/pe_selem.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_selem.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:38 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,11 +63,13 @@
#include <s2_luidl/pe_selem.hxx>
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_structelem.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
-#include <csi/l_uidl/struelem.hxx>
namespace csi
@@ -77,20 +79,22 @@ namespace uidl
PE_StructElement::PE_StructElement( RStructElement & o_rResult,
- const RStruct & i_rCurStruct )
+ const RStruct & i_rCurStruct,
+ bool i_IsExceptionElement )
: eState(e_none),
pResult(&o_rResult),
pCurStruct(&i_rCurStruct),
pPE_Type(0),
- pType(0)
- // sName
+ nType(0),
+ sName(),
+ bIsExceptionElement(i_IsExceptionElement)
{
- pPE_Type = new PE_Type(pType);
+ pPE_Type = new PE_Type(nType);
}
void
PE_StructElement::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -154,20 +158,33 @@ PE_StructElement::InitData()
{
eState = expect_type;
- pType = 0;
+ nType = 0;
sName = "";
}
void
PE_StructElement::TransferData()
{
- DYN StructElement * pNew = new StructElement;
- pNew->Data().pType = pType;
- pNew->Data().sName = sName;
-
csv_assert(pResult != 0 AND pCurStruct != 0);
- *pResult = Gate().Store_StructElement( pCurStruct->Id(), *pNew );
- PassDocuAt(pResult->Id());
+
+ ary::idl::StructElement *
+ pCe = 0;
+ if (bIsExceptionElement)
+ {
+ pCe = & Gate().Ces().Store_ExceptionMember(
+ *pCurStruct,
+ sName,
+ nType );
+ }
+ else
+ {
+ pCe = & Gate().Ces().Store_StructMember(
+ *pCurStruct,
+ sName,
+ nType );
+ }
+ *pResult = pCe->CeId();
+ PassDocuAt(*pCe);
eState = e_none;
}
diff --git a/autodoc/source/parser_i/idl/pe_servi.cxx b/autodoc/source/parser_i/idl/pe_servi.cxx
index 8df847dbff6b..28abe389db6f 100644
--- a/autodoc/source/parser_i/idl/pe_servi.cxx
+++ b/autodoc/source/parser_i/idl/pe_servi.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_servi.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:39 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,14 +65,15 @@
// NOT FULLY DEFINED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_service.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_attri.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/tk_keyw.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
-#include <csi/l_uidl/service.hxx>
-#include <ary_i/ce2.hxx>
@@ -85,22 +86,23 @@ namespace uidl
PE_Service::PE_Service()
: eState(e_none),
- pData(0),
+ sData_Name(),
bIsPreDeclaration(false),
pCurService(0),
+ nCurService(0),
pPE_Property(0),
- aCurParsed_Property(0),
+ nCurParsed_Property(0),
pPE_Type(0),
- aCurParsed_Type(0),
+ nCurParsed_Type(0),
bOptionalMember(false)
{
- pPE_Property = new PE_Attribute(aCurParsed_Property, pCurService);
- pPE_Type = new PE_Type(aCurParsed_Type);
+ pPE_Property = new PE_Attribute(nCurService, PE_Attribute::parse_property);
+ pPE_Type = new PE_Type(nCurParsed_Type);
}
void
PE_Service::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -160,7 +162,7 @@ PE_Service::Process_Identifier( const TokIdentifier & i_rToken )
{
if (eState == need_name)
{
- pData->Data().sName = i_rToken.Text();
+ sData_Name = i_rToken.Text();
SetResult(done, stay);
eState = need_curlbr_open;
}
@@ -176,9 +178,11 @@ PE_Service::Process_Punctuation( const TokPunctuation & i_rToken )
case TokPunctuation::CurledBracketOpen:
if (eState == need_curlbr_open)
{
- pCurService = Gate().Store_Service(CurNamespace().Id(), *pData);
- PassDocuAt(pCurService.Id());
-
+ pCurService = &Gate().Ces().Store_Service(
+ CurNamespace().CeId(),
+ sData_Name );
+ nCurService = pCurService->CeId();
+ PassDocuAt(*pCurService);
SetResult(done, stay);
eState = e_std;
}
@@ -216,7 +220,7 @@ PE_Service::Process_Punctuation( const TokPunctuation & i_rToken )
switch (eState)
{
case need_curlbr_open:
- Delete_dyn(pData);
+ sData_Name.clear();
bIsPreDeclaration = true;
SetResult(done, pop_success);
eState = e_none;
@@ -246,15 +250,15 @@ PE_Service::Process_Punctuation( const TokPunctuation & i_rToken )
void
PE_Service::Process_Stereotype( const TokStereotype & i_rToken )
{
- if ( eState == e_std AND i_rToken.Id() == TokStereotype::ste_readonly )
- {
- StartProperty();
- }
- else if (i_rToken.Id() == TokStereotype::ste_optional)
+ if (i_rToken.Id() == TokStereotype::ste_optional)
{
bOptionalMember = true;
SetResult(done, stay);
}
+ else if ( eState == e_std )
+ {
+ StartProperty();
+ }
else
On_Default();
}
@@ -293,11 +297,12 @@ void
PE_Service::InitData()
{
eState = need_name;
- pData = new Service;
+ sData_Name.clear();
bIsPreDeclaration = false;
pCurService = 0;
- aCurParsed_Property = 0;
- aCurParsed_Type = 0;
+ nCurService = 0;
+ nCurParsed_Property = 0;
+ nCurParsed_Type = 0;
bOptionalMember = false;
}
@@ -306,8 +311,8 @@ PE_Service::TransferData()
{
if (NOT bIsPreDeclaration)
{
- csv_assert(pData != 0);
- csv_assert(pCurService);
+ csv_assert(sData_Name.size() > 0);
+ csv_assert(pCurService != 0);
}
eState = e_none;
@@ -319,8 +324,6 @@ PE_Service::ReceiveData()
switch (eState)
{
case in_property:
- pData->Data().aProperties.push_back(aCurParsed_Property.Id());
- aCurParsed_Property = 0;
eState = e_std;
break;
case in_ifc_type:
@@ -328,9 +331,10 @@ PE_Service::ReceiveData()
{
pPE_Type->SetOptional();
}
- pData->Data().aServedInterfaces.push_back(
- CommentedLink(aCurParsed_Type.Id(),pPE_Type->ReleaseDocu()) );
- aCurParsed_Type = 0;
+ pCurService->AddRef_SupportedInterface(
+ nCurParsed_Type,
+ pPE_Type->ReleaseDocu());
+ nCurParsed_Type = 0;
eState = expect_ifc_separator;
break;
case in_service_type:
@@ -338,9 +342,10 @@ PE_Service::ReceiveData()
{
pPE_Type->SetOptional();
}
- pData->Data().aIncludedServices.push_back(
- CommentedLink(aCurParsed_Type.Id(),pPE_Type->ReleaseDocu()) );
- aCurParsed_Type = 0;
+ pCurService->AddRef_IncludedService(
+ nCurParsed_Type,
+ pPE_Type->ReleaseDocu());
+ nCurParsed_Type = 0;
eState = expect_service_separator;
break;
default:
diff --git a/autodoc/source/parser_i/idl/pe_singl.cxx b/autodoc/source/parser_i/idl/pe_singl.cxx
new file mode 100644
index 000000000000..533a1629562d
--- /dev/null
+++ b/autodoc/source/parser_i/idl/pe_singl.cxx
@@ -0,0 +1,272 @@
+/*************************************************************************
+ *
+ * $RCSfile: pe_singl.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:39 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+
+#include <precomp.h>
+#include <s2_luidl/pe_singl.hxx>
+
+
+// NOT FULLY DEFINED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_singleton.hxx>
+#include <ary/idl/ip_ce.hxx>
+#include <ary_i/codeinf2.hxx>
+#include <s2_luidl/pe_type2.hxx>
+#include <s2_luidl/tk_keyw.hxx>
+#include <s2_luidl/tk_ident.hxx>
+#include <s2_luidl/tk_punct.hxx>
+
+
+
+namespace csi
+{
+namespace uidl
+{
+
+
+
+#if 0
+#ifdef DF
+#undef DF
+#endif
+#define DF &PE_Singleton::On_Default
+
+
+PE_Singleton::F_TOK
+PE_Singleton::aDispatcher[PE_Singleton::e_STATES_MAX][PE_Singleton::tt_MAX] =
+ { { DF, DF, DF }, // e_none
+ { DF, &PE_Singleton::On_need_name_Identifer,
+ DF }, // need_name
+ { DF, DF, &PE_Singleton::On_need_curlbr_open_Punctuation,
+ }, // need_curlbr_open
+ { &PE_Singleton::On_std_GotoService,
+ DF, &PE_Singleton::On_std_Punctuation,
+ }, // e_std
+ { DF, DF, DF }, // in_service
+ { DF, DF, &PE_Interface::On_need_finish_Punctuation,
+ } // need_finish
+ };
+#endif // 0
+
+
+PE_Singleton::PE_Singleton()
+ : eState(e_none),
+ sData_Name(),
+ bIsPreDeclaration(false),
+ pCurSingleton(0),
+ pPE_Type(0),
+ nCurParsed_Service(0)
+{
+ pPE_Type = new PE_Type(nCurParsed_Service);
+}
+
+void
+PE_Singleton::EstablishContacts( UnoIDL_PE * io_pParentPE,
+ ary::n22::Repository & io_rRepository,
+ TokenProcessing_Result & o_rResult )
+{
+ UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
+ pPE_Type->EstablishContacts(this,io_rRepository,o_rResult);
+}
+
+PE_Singleton::~PE_Singleton()
+{
+}
+
+void
+PE_Singleton::ProcessToken( const Token & i_rToken )
+{
+ i_rToken.Trigger(*this);
+}
+
+
+void
+PE_Singleton::Process_MetaType( const TokMetaType & i_rToken )
+{
+ switch ( i_rToken.Id() )
+ {
+ case TokMetaType::mt_service:
+ if (eState == e_std)
+ {
+ SetResult(done, push_sure, pPE_Type.Ptr());
+ eState = in_service;
+ }
+ else
+ On_Default();
+ break;
+ case TokMetaType::mt_singleton:
+ if (eState == need_name)
+ SetResult(done, stay);
+ else
+ On_Default();
+ break;
+ } // end switch
+}
+
+void
+PE_Singleton::Process_Identifier( const TokIdentifier & i_rToken )
+{
+ if (eState == need_name)
+ {
+ sData_Name = i_rToken.Text();
+ SetResult(done, stay);
+ eState = need_curlbr_open;
+ }
+ else
+ On_Default();
+}
+
+void
+PE_Singleton::Process_Punctuation( const TokPunctuation & i_rToken )
+{
+ switch (i_rToken.Id())
+ {
+ case TokPunctuation::CurledBracketOpen:
+ if (eState == need_curlbr_open)
+ {
+ pCurSingleton = &Gate().Ces().Store_Singleton(
+ CurNamespace().CeId(),
+ sData_Name );
+ PassDocuAt(*pCurSingleton);
+ SetResult(done, stay);
+ eState = e_std;
+ }
+ else
+ On_Default();
+ break;
+ case TokPunctuation::CurledBracketClose:
+ if (eState == e_std)
+ {
+ SetResult(done, stay);
+ eState = need_finish;
+ }
+ else
+ On_Default();
+ break;
+ case TokPunctuation::Semicolon:
+ switch (eState)
+ {
+ case e_std: SetResult(done, stay);
+ break;
+ case need_finish:
+ SetResult(done, pop_success);
+ eState = e_none;
+ break;
+ default:
+ On_Default();
+ } // end switch
+ break;
+ default:
+ On_Default();
+ } // end switch
+}
+
+void
+PE_Singleton::Process_Default()
+{
+ On_Default();
+}
+
+
+void
+PE_Singleton::On_Default()
+{
+ SetResult(not_done, pop_failure);
+}
+
+void
+PE_Singleton::InitData()
+{
+ eState = need_name;
+ sData_Name.clear();
+ bIsPreDeclaration = false;
+ pCurSingleton = 0;
+ nCurParsed_Service = 0;
+}
+
+void
+PE_Singleton::TransferData()
+{
+ if (NOT bIsPreDeclaration)
+ {
+ csv_assert(sData_Name.size() > 0);
+ csv_assert(pCurSingleton != 0);
+ }
+
+ eState = e_none;
+}
+
+void
+PE_Singleton::ReceiveData()
+{
+ pCurSingleton->Set_Service(nCurParsed_Service);
+ nCurParsed_Service = 0;
+ eState = e_std;
+}
+
+UnoIDL_PE &
+PE_Singleton::MyPE()
+{
+ return *this;
+}
+
+} // namespace uidl
+} // namespace csi
diff --git a/autodoc/source/parser_i/idl/pe_struc.cxx b/autodoc/source/parser_i/idl/pe_struc.cxx
index 24e5d0f6c438..37ec214908d7 100644
--- a/autodoc/source/parser_i/idl/pe_struc.cxx
+++ b/autodoc/source/parser_i/idl/pe_struc.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_struc.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:34 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:40 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -64,15 +64,15 @@
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_struct.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
#include <s2_luidl/tk_keyw.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/pe_selem.hxx>
-#include <csi/l_uidl/struct.hxx>
-#include <csi/l_uidl/struelem.hxx>
-#include <ary_i/uidl/gate.hxx>
@@ -91,7 +91,7 @@ PE_Struct::PE_Struct()
void
PE_Struct::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -122,8 +122,8 @@ PE_Struct::TransferData()
{
if (NOT Work().bIsPreDeclaration)
{
- csv_assert(Work().pData != 0);
- csv_assert(Work().pCurStruct);
+ csv_assert(Work().sData_Name.size() > 0);
+ csv_assert(Work().nCurStruct.IsValid());
}
Stati().pCurStatus = &Stati().aNone;
}
@@ -134,53 +134,50 @@ PE_Struct::ReceiveData()
Stati().pCurStatus->On_SubPE_Left();
}
+const bool C_bIsStructElement = false; // Means: not ExceptionElement.
+
PE_Struct::S_Work::S_Work()
- : // pData
+ : sData_Name(),
bIsPreDeclaration(false),
- pCurStruct(0),
+ nCurStruct(0),
pPE_Element(0),
- aCurParsed_ElementRef(0),
- pPE_Type(0)
- // aCurParsed_Base
+ nCurParsed_ElementRef(0),
+ pPE_Type(0),
+ nCurParsed_Base(0)
{
- pPE_Element = new PE_StructElement(aCurParsed_ElementRef,pCurStruct);
- pPE_Type = new PE_Type(aCurParsed_Base);
+ pPE_Element = new PE_StructElement(nCurParsed_ElementRef,nCurStruct,C_bIsStructElement);
+ pPE_Type = new PE_Type(nCurParsed_Base);
}
void
PE_Struct::S_Work::InitData()
{
- pData = new Struct;
+ sData_Name.clear();
bIsPreDeclaration = false;
- pCurStruct = 0;
+ nCurStruct = 0;
+ nCurParsed_ElementRef = 0;
+ nCurParsed_Base = 0;
}
void
PE_Struct::S_Work::Prepare_PE_QualifiedName()
{
- aCurParsed_ElementRef = 0;
+ nCurParsed_ElementRef = 0;
}
void
PE_Struct::S_Work::Prepare_PE_Element()
{
- aCurParsed_Base = 0;
+ nCurParsed_Base = 0;
}
void
PE_Struct::S_Work::Data_Set_Name( const char * i_sName )
{
- pData->Data().sName = i_sName;
-}
-
-void
-PE_Struct::S_Work::Data_Add_CurParsed_ElementRef()
-{
- pData->Data().aElements.push_back(aCurParsed_ElementRef);
+ sData_Name = i_sName;
}
-
PE_Struct::S_Stati::S_Stati(PE_Struct & io_rStruct)
: aNone(io_rStruct),
aWaitForName(io_rStruct),
@@ -218,13 +215,6 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken )
{
if ( i_rToken.Id() != TokPunctuation::Semicolon )
{
- Work().pCurStruct =
- PE().Gate().Store_Struct(
- PE().CurNamespace().Id(),
- *Work().pData );
- PE().PassDocuAt(Work().pCurStruct.Id());
-
-
switch (i_rToken.Id())
{
case TokPunctuation::Colon:
@@ -233,6 +223,7 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken )
Work().Prepare_PE_QualifiedName();
break;
case TokPunctuation::CurledBracketOpen:
+ PE().store_Struct();
MoveState( Stati().aWaitForElement );
SetResult(done,stay);
break;
@@ -242,7 +233,7 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken )
}
else
{
- Delete_dyn(Work().pData);
+ Work().sData_Name.clear();
SetResult(done,pop_success);
}
}
@@ -250,7 +241,6 @@ PE_Struct::State_GotName::Process_Punctuation( const TokPunctuation & i_rToken )
void
PE_Struct::State_WaitForBase::On_SubPE_Left()
{
- Work().pData->Data().pBase = Work().aCurParsed_Base;
MoveState(Stati().aGotBase);
}
@@ -259,6 +249,7 @@ PE_Struct::State_GotBase::Process_Punctuation( const TokPunctuation & i_rToken )
{
if ( i_rToken.Id() == TokPunctuation::CurledBracketOpen )
{
+ PE().store_Struct();
MoveState( Stati().aWaitForElement );
SetResult(done,stay);
}
@@ -311,12 +302,6 @@ PE_Struct::State_WaitForElement::Process_Punctuation( const TokPunctuation & i_r
}
void
-PE_Struct::State_WaitForElement::On_SubPE_Left()
-{
- Work().Data_Add_CurParsed_ElementRef();
-}
-
-void
PE_Struct::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i_rToken )
{
if (i_rToken.Id() == TokPunctuation::Semicolon)
@@ -330,6 +315,18 @@ PE_Struct::State_WaitForFinish::Process_Punctuation( const TokPunctuation & i_rT
}
}
+void
+PE_Struct::store_Struct()
+{
+ ary::idl::Struct &
+ rCe = Gate().Ces().Store_Struct(
+ CurNamespace().CeId(),
+ Work().sData_Name,
+ Work().nCurParsed_Base );
+ PassDocuAt(rCe);
+ Work().nCurStruct = rCe.CeId();
+}
+
} // namespace uidl
} // namespace csi
diff --git a/autodoc/source/parser_i/idl/pe_tydf2.cxx b/autodoc/source/parser_i/idl/pe_tydf2.cxx
index e81feed28008..ffc11afacf94 100644
--- a/autodoc/source/parser_i/idl/pe_tydf2.cxx
+++ b/autodoc/source/parser_i/idl/pe_tydf2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_tydf2.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:40 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,10 +63,11 @@
#include <s2_luidl/pe_tydf2.hxx>
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_typedef.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
-#include <csi/l_uidl/typedef.hxx>
#include <s2_luidl/pe_type2.hxx>
-#include <ary_i/uidl/gate.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
#include <s2_luidl/tk_const.hxx>
@@ -108,16 +109,16 @@ PE_Typedef::CallHandler( const char * i_sTokenText,
PE_Typedef::PE_Typedef()
: eState(e_none),
pPE_Type(0),
- pType(0)
- // sName
+ nType(0),
+ sName()
{
- pPE_Type = new PE_Type(pType);
+ pPE_Type = new PE_Type(nType);
}
void
PE_Typedef::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
- TokenProcessing_Result & o_rResult )
+ ary::n22::Repository & io_rRepository,
+ TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
pPE_Type->EstablishContacts(this,io_rRepository,o_rResult);
@@ -187,7 +188,7 @@ void
PE_Typedef::InitData()
{
eState = expect_description;
- pType = 0;
+ nType = 0;
sName = "";
}
@@ -200,11 +201,9 @@ PE_Typedef::ReceiveData()
void
PE_Typedef::TransferData()
{
- Typedef * pData = new Typedef;
- pData->Data().sName = sName;
- pData->Data().pDefiningType = pType;
- ary::Cei nId = Gate().Store_Typedef( CurNamespace().Id(), *pData ).Id();
- PassDocuAt(nId);
+ ary::idl::Typedef &
+ rCe = Gate().Ces().Store_Typedef(CurNamespace().CeId(), sName, nType);
+ PassDocuAt(rCe);
eState = e_none;
}
diff --git a/autodoc/source/parser_i/idl/pe_type2.cxx b/autodoc/source/parser_i/idl/pe_type2.cxx
index 2eee28b2aa07..97cd4752be49 100644
--- a/autodoc/source/parser_i/idl/pe_type2.cxx
+++ b/autodoc/source/parser_i/idl/pe_type2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_type2.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,12 +65,13 @@
// NOT FULLY DEFINED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_type.hxx>
+#include <ary/idl/ip_type.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/uidl_tok.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_keyw.hxx>
-// #include <ary/uidl/cestorg.hxx>
-#include <ary_i/uidl/gate.hxx>
@@ -80,14 +81,13 @@ namespace uidl
{
-PE_Type::PE_Type( csi::prl::RefType & o_rResult )
+PE_Type::PE_Type( ary::idl::Type_id & o_rResult )
: pResult(&o_rResult),
nIsSequenceCounter(0),
bIsUnsigned(false),
- // sFullType,
- // sName,
- eState(e_none)
- // sLastPart
+ sFullType(),
+ eState(e_none),
+ sLastPart()
{
}
@@ -162,7 +162,7 @@ PE_Type::Process_BuiltInType( const TokBuiltInType & i_rToken )
}
else if (eState == expect_quname_separator)
{
- sFullType.SetName(sLastPart);
+ sFullType.SetLocalName(sLastPart);
SetResult(not_done, pop_success);
}
}
@@ -187,7 +187,7 @@ PE_Type::Process_TypeModifier( const TokTypeModifier & i_rToken )
}
else if (eState == expect_quname_separator)
{
- sFullType.SetName(sLastPart);
+ sFullType.SetLocalName(sLastPart);
SetResult(not_done, pop_success);
}
}
@@ -201,7 +201,7 @@ PE_Type::Process_Default()
void
PE_Type::Finish()
{
- sFullType.SetName(sLastPart);
+ sFullType.SetLocalName(sLastPart);
SetResult(not_done, pop_success);
}
@@ -213,30 +213,23 @@ PE_Type::InitData()
nIsSequenceCounter = 0;
bIsUnsigned = false;
sFullType.Empty();
- sLastPart = "";
+ sLastPart.clear();
}
void
PE_Type::TransferData()
{
- csi::prl::RefType result = 0;
- if (NOT bIsUnsigned)
+ if (bIsUnsigned)
{
- result = Gate().CheckInType(MatchingNamespace(sFullType), sFullType.Name());
- }
- else
- {
- udmstri sName( StreamLock(40)() << "unsigned " << sFullType.Name() << c_str );
- result = Gate().CheckInType(MatchingNamespace(sFullType), sName);
- }
-
- while (nIsSequenceCounter)
- {
- result = Gate().CheckInSequence(result.Id());
- nIsSequenceCounter--;
+ String sName( StreamLock(40)() << "unsigned " << sFullType.LocalName() << c_str );
+ sFullType.SetLocalName(sName);
}
- *pResult = result;
+ const ary::idl::Type &
+ result = Gate().Types().CheckIn_Type( sFullType,
+ nIsSequenceCounter,
+ CurNamespace().CeId() );
+ *pResult = result.TypeId();
eState = e_none;
}
diff --git a/autodoc/source/parser_i/idl/pe_vari2.cxx b/autodoc/source/parser_i/idl/pe_vari2.cxx
index 859e2a202e01..466e03043814 100644
--- a/autodoc/source/parser_i/idl/pe_vari2.cxx
+++ b/autodoc/source/parser_i/idl/pe_vari2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_vari2.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,11 +65,13 @@
// NOT FULLY DECLARED SERVICES
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_property.hxx>
+#include <ary/idl/ip_ce.hxx>
#include <ary_i/codeinf2.hxx>
#include <s2_luidl/pe_type2.hxx>
#include <s2_luidl/tk_ident.hxx>
#include <s2_luidl/tk_punct.hxx>
-#include <csi/l_uidl/struelem.hxx>
namespace csi
@@ -78,8 +80,8 @@ namespace uidl
{
-PE_Variable::PE_Variable( csi::prl::RefType & i_rResult_Type,
- udmstri & i_rResult_Name )
+PE_Variable::PE_Variable( ary::idl::Type_id & i_rResult_Type,
+ String & i_rResult_Name )
: eState(),
pResult_Type(&i_rResult_Type),
pResult_Name(&i_rResult_Name),
@@ -90,7 +92,7 @@ PE_Variable::PE_Variable( csi::prl::RefType & i_rResult_Type,
void
PE_Variable::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
UnoIDL_PE::EstablishContacts(io_pParentPE,io_rRepository,o_rResult);
@@ -99,7 +101,6 @@ PE_Variable::EstablishContacts( UnoIDL_PE * io_pParentPE,
PE_Variable::~PE_Variable()
{
-
}
void
diff --git a/autodoc/source/parser_i/idl/semnode.cxx b/autodoc/source/parser_i/idl/semnode.cxx
index 7a047e77f931..f8b1dd04cf1c 100644
--- a/autodoc/source/parser_i/idl/semnode.cxx
+++ b/autodoc/source/parser_i/idl/semnode.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: semnode.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,9 +65,9 @@
// NOT FULLY DEFINED SERVICES
#include <ary/ary.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_module.hxx>
#include <ary_i/codeinf2.hxx>
-#include <ary_i/uidl/gate.hxx>
-#include <ary_i/uidl/cenamesp.hxx>
#include <s2_luidl/parsenv2.hxx>
@@ -86,11 +86,11 @@ SemanticNode::SemanticNode()
void
SemanticNode::EstablishContacts( UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result & o_rResult )
{
pParentPE = io_pParentPE;
- pAryGate = &io_rRepository.RwGate_Idl();
+ pAryGate = &io_rRepository.Gate_Idl();
pTokenResult = &o_rResult;
}
diff --git a/autodoc/source/parser_i/idl/tk_keyw.cxx b/autodoc/source/parser_i/idl/tk_keyw.cxx
index 366cc2c5134d..3fb873c471e0 100644
--- a/autodoc/source/parser_i/idl/tk_keyw.cxx
+++ b/autodoc/source/parser_i/idl/tk_keyw.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: tk_keyw.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:20 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -105,6 +105,7 @@ TokMetaType::EV_TokenId ev_mt_interface(TokMetaType::mt_interface,"interface
TokMetaType::EV_TokenId ev_mt_module(TokMetaType::mt_module,"module");
TokMetaType::EV_TokenId ev_mt_property(TokMetaType::mt_property,"property");
TokMetaType::EV_TokenId ev_mt_service(TokMetaType::mt_service,"service");
+TokMetaType::EV_TokenId ev_mt_singleton(TokMetaType::mt_singleton,"singleton");
TokMetaType::EV_TokenId ev_mt_struct(TokMetaType::mt_struct,"struct");
TokMetaType::EV_TokenId ev_mt_typedef(TokMetaType::mt_typedef,"typedef");
TokMetaType::EV_TokenId ev_mt_uik(TokMetaType::mt_uik,"uik");
@@ -112,11 +113,18 @@ TokMetaType::EV_TokenId ev_mt_uik(TokMetaType::mt_uik,"uik");
lux::EnumValueMap G_aTokStereotype_EV_TokenId_Values;
TokStereotype::EV_TokenId ev_ste_none(TokStereotype::e_none,"");
+TokStereotype::EV_TokenId ev_ste_bound(TokStereotype::ste_bound,"bound");
TokStereotype::EV_TokenId ev_ste_const(TokStereotype::ste_const,"const");
+TokStereotype::EV_TokenId ev_ste_constrained(TokStereotype::ste_constrained,"constrained");
+TokStereotype::EV_TokenId ev_ste_maybeambiguous(TokStereotype::ste_maybeambiguous,"maybeambiguous");
+TokStereotype::EV_TokenId ev_ste_maybedefault(TokStereotype::ste_maybedefault,"maybedefault");
+TokStereotype::EV_TokenId ev_ste_maybevoid(TokStereotype::ste_maybevoid,"maybevoid");
TokStereotype::EV_TokenId ev_ste_oneway(TokStereotype::ste_oneway,"oneway");
TokStereotype::EV_TokenId ev_ste_optional(TokStereotype::ste_optional,"optional");
TokStereotype::EV_TokenId ev_ste_readonly(TokStereotype::ste_readonly,"readonly");
+TokStereotype::EV_TokenId ev_ste_removable(TokStereotype::ste_removable,"removable");
TokStereotype::EV_TokenId ev_ste_virtual(TokStereotype::ste_virtual,"virtual");
+TokStereotype::EV_TokenId ev_ste_transient(TokStereotype::ste_transient,"transient");
lux::EnumValueMap G_aTokParameterHandling_EV_TokenId_Values;
diff --git a/autodoc/source/parser_i/idl/unoidl.cxx b/autodoc/source/parser_i/idl/unoidl.cxx
index f7eac1942b31..0b745247b687 100644
--- a/autodoc/source/parser_i/idl/unoidl.cxx
+++ b/autodoc/source/parser_i/idl/unoidl.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: unoidl.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:42 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,29 +65,29 @@
// NOT FULLY DECLARED SERVICES
+#include <stdlib.h>
#include <cosv/file.hxx>
#include <ary/ary.hxx>
+#include <ary/idl/i_gate.hxx>
#include <ary_i/codeinf2.hxx>
-#include <ary_i/uidl/gate.hxx>
#include <tools/filecoll.hxx>
#include <tools/tkpchars.hxx>
#include <s2_luidl/tkp_uidl.hxx>
#include <s2_luidl/distrib.hxx>
#include <s2_luidl/pe_file2.hxx>
#include <s2_dsapi/cx_dsapi.hxx>
+#include <x_parse2.hxx>
-namespace csi
-{
-namespace uidl
+namespace autodoc
{
class FileParsePerformers
{
public:
- FileParsePerformers( ary::Repository & io_rRepository );
+ FileParsePerformers( ary::n22::Repository & io_rRepository );
void ParseFile(
const char * i_sFullPath );
@@ -96,15 +96,18 @@ class FileParsePerformers
private:
CharacterSource aFileLoader;
- Dyn<TokenParser_Uidl>
+ Dyn<csi::uidl::TokenParser_Uidl>
pTokens;
- TokenDistributor aDistributor;
- Dyn<PE_File> pFileParseEnvironment;
- ary::Repository & rRepository;
+ csi::uidl::TokenDistributor
+ aDistributor;
+ Dyn<csi::uidl::PE_File>
+ pFileParseEnvironment;
+ ary::n22::Repository &
+ rRepository;
};
-Uidl_Parser::Uidl_Parser( ary::Repository & io_rRepository )
+Uidl_Parser::Uidl_Parser( ary::n22::Repository & io_rRepository )
: pRepository(&io_rRepository)
{
}
@@ -112,7 +115,8 @@ Uidl_Parser::Uidl_Parser( ary::Repository & io_rRepository )
void
Uidl_Parser::Run( const autodoc::FileCollector_Ifc & i_rFiles )
{
- FileParsePerformers aFileParsePerformers( *pRepository );
+ Dyn<FileParsePerformers>
+ pFileParsePerformers( new FileParsePerformers(*pRepository) );
FileCollector::const_iterator iEnd = i_rFiles.End();
for ( FileCollector::const_iterator iter = i_rFiles.Begin();
@@ -120,21 +124,38 @@ Uidl_Parser::Run( const autodoc::FileCollector_Ifc & i_rFiles )
++iter )
{
Cout() << (*iter) << " ..."<< Endl();
- aFileParsePerformers.ParseFile(*iter);
+
+ try
+ {
+ pFileParsePerformers->ParseFile(*iter);
+ }
+ catch (X_AutodocParser &)
+ {
+ /// Ignore and goon
+ Cout() << "Parse error in file " << *iter << Endl();
+ pFileParsePerformers = new FileParsePerformers( *pRepository );
+ }
+ catch (...)
+ {
+ /// Ignore and goon
+ Cout() << "Unknown error." << Endl();
+ exit(0);
+// pFileParsePerformers = new FileParsePerformers( *pRepository );
+ }
}
- aFileParsePerformers.ConnectLinks();
+ pFileParsePerformers->ConnectLinks();
}
-FileParsePerformers::FileParsePerformers( ary::Repository & io_rRepository )
+FileParsePerformers::FileParsePerformers( ary::n22::Repository & io_rRepository )
: aDistributor(io_rRepository),
rRepository( io_rRepository )
{
DYN csi::dsapi::Context_Docu * dpDocuContext
= new csi::dsapi::Context_Docu( aDistributor.DocuTokens_Receiver() );
- pTokens = new TokenParser_Uidl( aDistributor.CodeTokens_Receiver(), *dpDocuContext );
+ pTokens = new csi::uidl::TokenParser_Uidl( aDistributor.CodeTokens_Receiver(), *dpDocuContext );
pFileParseEnvironment
- = new PE_File(aDistributor);
+ = new csi::uidl::PE_File(aDistributor);
aDistributor.SetTokenProvider(*pTokens);
aDistributor.SetTopParseEnvironment(*pFileParseEnvironment);
@@ -161,10 +182,10 @@ FileParsePerformers::ParseFile( const char * i_sFullPath )
void
FileParsePerformers::ConnectLinks()
{
- rRepository.RwGate_Idl().ConnectAdditionalLinks();
+ // KORR
+// rRepository.RwGate_Idl().ConnectAdditionalLinks();
}
-} // namespace uidl
-} // namespace csi
+} // namespace autodoc
diff --git a/autodoc/source/parser_i/idoc/docu_pe2.cxx b/autodoc/source/parser_i/idoc/docu_pe2.cxx
index 7dc73949d701..95942ae84c80 100644
--- a/autodoc/source/parser_i/idoc/docu_pe2.cxx
+++ b/autodoc/source/parser_i/idoc/docu_pe2.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: docu_pe2.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:21 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:44 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -66,12 +66,12 @@
// NOT FULLY DEFINED SERVICES
#include <ary_i/codeinf2.hxx>
+#include <ary_i/d_token.hxx>
#include <s2_dsapi/dsapitok.hxx>
#include <s2_dsapi/tk_atag2.hxx>
#include <s2_dsapi/tk_html.hxx>
#include <s2_dsapi/tk_docw2.hxx>
#include <s2_dsapi/tk_xml.hxx>
-#include <csi/d_sapi/d_token.hxx>
#ifdef UNX
diff --git a/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx b/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx
index 1e0edf0f1110..5921c7c20d33 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/cx_sub.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: cx_sub.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: mh $ $Date: 2002-08-13 14:46:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:45 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -68,11 +68,7 @@
// COMPONENTS
// PARAMETERS
-// [ed] 6/15/02 On OS X we need to have full definitions of classes in order
-// to have template instantiation
-#ifdef MACOSX
#include "uidl_tok.hxx"
-#endif
namespace csi
{
diff --git a/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx b/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx
index 27e14f1cd7ca..31aa7589ae4e 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/distrib.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: distrib.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:45 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -74,8 +74,10 @@
namespace ary
{
- class Repository;
-
+ namespace n22
+ {
+ class Repository;
+ }
namespace info
{
class CodeInformation;
@@ -88,14 +90,12 @@ namespace csi
{
namespace dsapi
{
-class Token;
-class SapiDocu_PE;
-} // namespace dsapi
-} // namespace csi
+ class Token_Receiver;
+ class SapiDocu_PE;
+}
+
-namespace csi
-{
namespace uidl
{
@@ -113,7 +113,7 @@ class TokenDistributor : private TokenProcessing_Types
{
public:
TokenDistributor(
- ary::Repository & io_rRepository );
+ ary::n22::Repository & io_rRepository );
void SetTokenProvider(
TokenParser_Uidl & io_rTokenSource );
void SetTopParseEnvironment(
@@ -151,7 +151,7 @@ class TokenDistributor : private TokenProcessing_Types
{
public:
ProcessingData(
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
Documentation & i_rDocuProcessor );
~ProcessingData();
void SetTopParseEnvironment(
@@ -190,7 +190,8 @@ class TokenDistributor : private TokenProcessing_Types
aCurResult;
uintt nTryCount;
bool bFinished;
- ary::Repository & rRepository;
+ ary::n22::Repository &
+ rRepository;
Documentation * pDocuProcessor;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx b/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx
index f65d292d4a01..8bd6c343d9fb 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/parsenv2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: parsenv2.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: mh $ $Date: 2002-08-13 14:46:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:46 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -62,11 +62,6 @@
#ifndef LUIDL_PARSENV2_HXX
#define LUIDL_PARSENV2_HXX
-// [ed] 6/15/02 The OS X compilers require full class definitions at the time
-// of template instantiation
-#ifdef MACOSX
-#include <ary_i/codeinf2.hxx>
-#endif
// USED SERVICES
// BASE CLASSES
@@ -74,23 +69,36 @@
// COMPONENTS
#include <s2_luidl/semnode.hxx>
// PARAMETERS
-#include <ary_i/uidl/cenamesp.hxx>
-#include <ary_i/ce2.hxx>
+#include <ary/idl/i_language.hxx>
+#include <ary/idl/i_module.hxx>
+
+// [ed] 6/15/02 The OS X compilers require full class definitions at the time
+// of template instantiation
+// np: Is this really so?
+#ifdef MACOSX
+#include <ary_i/codeinf2.hxx>
+#endif
-namespace ary
-{
-namespace uidl
-{
- class CeStorage;
-} // namespace uidl
-} // namespace ary
namespace ary
{
-namespace info
-{
- class CodeInformation;
-}
+ class QualifiedName;
+
+ namespace n22
+ {
+ class Repository;
+ }
+
+
+ namespace idl
+ {
+ class CodeEntity;
+ }
+
+ namespace info
+ {
+ class CodeInformation;
+ }
}
@@ -112,7 +120,8 @@ class UnoIDL_PE : virtual protected TokenProcessing_Types
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository &
+ io_rRepository,
TokenProcessing_Result &
o_rResult );
virtual void Enter(
@@ -128,7 +137,8 @@ class UnoIDL_PE : virtual protected TokenProcessing_Types
{ pDocu = let_dpDocu; }
void SetOptional();
void PassDocuAt(
- ary::Cei i_nCeId );
+ ary::idl::CodeEntity &
+ io_rCe );
/*
const SemanticNode &
@@ -142,11 +152,9 @@ class UnoIDL_PE : virtual protected TokenProcessing_Types
E_EnvStackAction i_eWhat2DoWithEnvStack,
UnoIDL_PE * i_pParseEnv2Push = 0 )
{ aMyNode.SetTokenResult( i_eDone, i_eWhat2DoWithEnvStack, i_pParseEnv2Push ); }
- virtual ary::uidl::CeNamespace &
+ virtual const ary::idl::Module &
CurNamespace() const;
- ary::Cei MatchingNamespace(
- const QuName & i_rQualification );
- ary::uidl::Gate & Gate() const { return aMyNode.AryGate(); }
+ ary::idl::Gate & Gate() const { return aMyNode.AryGate(); }
DYN ary::info::CodeInformation *
ReleaseDocu() { return pDocu.Release(); }
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx
index cf8198a175a9..73aa5797d604 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_attri.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_attri.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: mh $ $Date: 2002-08-13 14:46:37 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:46 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -67,19 +67,21 @@
// USED SERVICES
// BASE CLASSES
-// [ed] 6/15/02 The OS X compilers require full class definitions at the time
-// of template instantiation
-#ifdef MACOSX
-#include <ary_i/codeinf2.hxx>
-#endif
-
#include <s2_luidl/parsenv2.hxx>
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
-#include <ary_i/uidl/gate.hxx>
+#include <ary/idl/i_gate.hxx>
+#include <ary/idl/i_property.hxx>
+
+namespace ary
+{
+ namespace idl
+ {
+ class Service;
+ }
+}
namespace csi
{
@@ -93,16 +95,25 @@ class PE_Attribute : public UnoIDL_PE,
public ParseEnvState
{
public:
- typedef ary::uidl::Gate::RInterface RInterface;
- typedef ary::uidl::Gate::RAttribute RAttribute;
+ typedef ary::idl::Ce_id Ce_id;
+ typedef ary::idl::Type_id Type_id;
+ typedef ary::idl::Property::Stereotypes Stereotypes;
+
+ enum E_ParsedType
+ {
+ parse_attribute,
+ parse_property
+ };
+
PE_Attribute(
- RAttribute & o_rResult,
- const RInterface & i_rCurInterface );
+ Ce_id & i_rCurOwner,
+ E_ParsedType i_eCeType );
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository &
+ io_rRepository,
TokenProcessing_Result &
o_rResult );
virtual ~PE_Attribute();
@@ -121,8 +132,10 @@ class PE_Attribute : public UnoIDL_PE,
virtual void Process_Default();
void PresetOptional() { bIsOptional = true; }
- void PresetReadonly() { bIsReadonly = true; }
-
+ void PresetStereotypes(
+ Stereotypes::E_Flags
+ i_eFlag )
+ { aStereotypes.Set_Flag(i_eFlag); }
private:
enum E_State
{
@@ -137,16 +150,18 @@ class PE_Attribute : public UnoIDL_PE,
virtual void TransferData();
virtual UnoIDL_PE & MyPE();
+ // DATA
E_State eState;
- Attribute * pData;
- RAttribute * pResult;
- const RInterface * pCurInterface;
+ Ce_id * pCurOwner;
Dyn<PE_Variable> pPE_Variable;
- csi::prl::RefType aCurParsedType;
- udmstri sCurParsedName;
+
+ // object-data
+ Type_id nCurParsedType;
+ String sCurParsedName;
bool bIsOptional;
- bool bIsReadonly;
+ Stereotypes aStereotypes;
+ E_ParsedType eCeType;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx
index 0f4d975e9537..48b1d0c27c4c 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_const.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_const.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: mh $ $Date: 2002-08-13 14:46:37 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:46 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,21 +63,12 @@
#define LUIDL_PE_CONST_HXX
-
-// [ed] 6/15/02 The OS X compilers require full class definitions at the time
-// of template instantiation
-#ifdef MACOSX
-#include <ary_i/codeinf2.hxx>
-#endif
-
// USED SERVICES
// BASE CLASSES
#include <s2_luidl/parsenv2.hxx>
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
-#include <ary_i/cei.hxx>
namespace udm {
@@ -102,7 +93,8 @@ class PE_Constant : public UnoIDL_PE,
PE_Constant();
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository &
+ io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_Constant();
@@ -166,15 +158,15 @@ class PE_Constant : public UnoIDL_PE,
E_State eState;
- ConstantsGroup * pData;
- ary::Cei nDataId;
+ String sData_Name;
+ ary::idl::Ce_id nDataId;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType pType;
+ ary::idl::Type_id nType;
Dyn<PE_Value> pPE_Value;
- udmstri sName;
- udmstri sAssignment;
+ String sName;
+ String sAssignment;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx
index 7a12fa0f0dd4..0ae84271b65d 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_enum2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_enum2.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,7 +70,6 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
@@ -79,7 +78,7 @@ namespace csi
namespace uidl
{
-class Enum;
+// class Enum;
class PE_Value;
@@ -90,7 +89,7 @@ class PE_Enum : public UnoIDL_PE,
PE_Enum();
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_Enum();
@@ -148,12 +147,12 @@ class PE_Enum : public UnoIDL_PE,
E_State eState;
- Enum * pData;
- ary::Cei nDataId;
+ String sData_Name;
+ ary::idl::Ce_id nDataId;
Dyn<PE_Value> pPE_Value;
- udmstri sName;
- udmstri sAssignment;
+ String sName;
+ String sAssignment;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx
index 9641a23b96c3..52e3d5040b8f 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_evalu.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_evalu.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,7 +70,6 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
namespace udm {
@@ -88,12 +87,13 @@ class PE_Value : public UnoIDL_PE,
{
public:
PE_Value(
- udmstri & o_rName,
- udmstri & o_rAssignment,
+ String & o_rName,
+ String & o_rAssignment,
bool i_bIsConst );
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository &
+ io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_Value();
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx
index 3df0adfdd6ae..874705b6b8d9 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_excp.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_excp.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:35 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,9 +70,8 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
#include <s2_luidl/semnode.hxx>
-#include <csi/prl/quname2.hxx>
+#include <ary/qualiname.hxx>
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
@@ -104,7 +103,7 @@ class PE_Exception : public UnoIDL_PE
PE_Exception();
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_Exception();
@@ -121,19 +120,16 @@ class PE_Exception : public UnoIDL_PE
void Prepare_PE_Element();
void Data_Set_Name(
const char * i_sName );
- void Data_Add_CurParsed_ElementRef();
-
- Exception * pData;
+ // DATA
+ String sData_Name;
bool bIsPreDeclaration;
- udm::IRef< Exception >
- pCurStruct;
+ ary::idl::Ce_id nCurStruct;
Dyn<PE_StructElement>
pPE_Element;
- udm::IRef< StructElement >
- aCurParsed_ElementRef;
+ ary::idl::Ce_id nCurParsed_ElementRef;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType aCurParsed_Base;
+ ary::idl::Type_id nCurParsed_Base;
};
struct S_Stati;
@@ -232,7 +228,7 @@ class PE_Exception : public UnoIDL_PE
virtual void Process_Punctuation(
const TokPunctuation &
i_rToken );
- virtual void On_SubPE_Left();
+// virtual void On_SubPE_Left();
};
class State_WaitForFinish : public PE_StructState
{ // -> ;
@@ -269,6 +265,8 @@ class PE_Exception : public UnoIDL_PE
virtual void TransferData();
virtual void ReceiveData();
+ public: void store_Exception(); private:
+
friend class PE_StructState;
S_Stati & Stati() { return *pStati; }
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx
index 855f7354e338..271d9e0b42ae 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_file2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_file2.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:47 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -74,10 +74,10 @@
namespace ary
{
-namespace uidl
+namespace idl
{
-class CeNamespace;
-} // namespace uidl
+class Module;
+} // namespace idl
} // namespace ary
@@ -88,6 +88,7 @@ namespace uidl
class TokenDistributor;
class PE_Service;
+class PE_Singleton;
class PE_Interface;
class PE_Struct;
class PE_Exception;
@@ -104,7 +105,7 @@ class PE_File : public UnoIDL_PE,
TokenDistributor & i_rTokenAdmin );
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_File();
@@ -138,13 +139,12 @@ class PE_File : public UnoIDL_PE,
virtual void TransferData();
virtual void ReceiveData();
virtual UnoIDL_PE & MyPE();
- virtual ary::uidl::CeNamespace &
+ virtual const ary::idl::Module &
CurNamespace() const;
-
-
// DATA
TokenDistributor * pTokenAdmin;
Dyn<PE_Service> pPE_Service;
+ Dyn<PE_Singleton> pPE_Singleton;
Dyn<PE_Interface> pPE_Interface;
Dyn<PE_Struct> pPE_Struct;
Dyn<PE_Exception> pPE_Exception;
@@ -152,7 +152,7 @@ class PE_File : public UnoIDL_PE,
Dyn<PE_Enum> pPE_Enum;
Dyn<PE_Typedef> pPE_Typedef;
- ary::uidl::CeNamespace *
+ const ary::idl::Module *
pCurNamespace;
E_State eState;
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx
index d26347a30668..464234ad3cb2 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_func2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_func2.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:48 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -66,13 +66,21 @@
// USED SERVICES
// BASE CLASSES
+// #include <ary/idl/i_gate.hxx>
+// #include <ary/idl/ip_ce.hxx>
#include <s2_luidl/parsenv2.hxx>
#include <s2_luidl/pestate.hxx>
// COMPONENTS
-#include <csi/l_uidl/param.hxx>
+#include <ary/idl/i_param.hxx>
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
-#include <ary_i/uidl/gate.hxx>
+
+namespace ary
+{
+ namespace idl
+ {
+ class Function;
+ }
+}
namespace csi
@@ -80,8 +88,6 @@ namespace csi
namespace uidl
{
-class Interface;
-
class PE_Type;
class PE_Variable;
@@ -89,8 +95,8 @@ class PE_Function : public UnoIDL_PE,
public ParseEnvState
{
public:
- typedef ary::uidl::Gate::RInterface RInterface;
- typedef ary::uidl::Gate::RFunction RFunction;
+ typedef ary::idl::Ce_id RInterface;
+ typedef ary::idl::Ce_id RFunction;
PE_Function(
RFunction & o_rResult,
@@ -98,7 +104,7 @@ class PE_Function : public UnoIDL_PE,
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
virtual ~PE_Function();
@@ -151,21 +157,29 @@ class PE_Function : public UnoIDL_PE,
virtual void TransferData();
virtual UnoIDL_PE & MyPE();
+ // DATA
E_State eState;
- Function * pData;
+
+ String sData_Name;
+ ary::idl::Type_id nData_ReturnType;
+ bool bData_Const;
+ bool bData_Oneway;
+ ary::idl::Function *
+ pCurFunction;
+
RFunction * pResult;
const RInterface * pCurInterface;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType aCurParsedType; // ReturnType or Exception
+ ary::idl::Type_id nCurParsedType; // ReturnType or Exception
- udmstri sName;
+ String sName;
Dyn<PE_Variable> pPE_Variable;
- E_ParameterDirection
+ ary::idl::E_ParameterDirection
eCurParsedParam_Direction;
- csi::prl::RefType aCurParsedParam_Type;
- udmstri sCurParsedParam_Name;
+ ary::idl::Type_id nCurParsedParam_Type;
+ String sCurParsedParam_Name;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx
index 2ada4ede5d5c..85ddba815a2f 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_iface.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_iface.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:48 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,7 +70,6 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
@@ -80,9 +79,9 @@ namespace uidl
{
-class Interface;
-class Function;
-class Attribute;
+//class Interface;
+//class Function;
+//class Attribute;
class PE_Function;
class PE_Attribute;
@@ -97,7 +96,7 @@ class PE_Interface : public UnoIDL_PE,
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
virtual void ProcessToken(
@@ -164,6 +163,7 @@ class PE_Interface : public UnoIDL_PE,
void On_need_name_Identifer(const char * i_sText);
void On_wait_for_base_Punctuation(const char * i_sText);
void On_need_curlbr_open_Punctuation(const char * i_sText);
+ void On_std_Metatype(const char * i_sText);
void On_std_Punctuation(const char * i_sText);
void On_std_Stereotype(const char * i_sText);
void On_std_GotoFunction(const char * i_sText);
@@ -180,25 +180,20 @@ class PE_Interface : public UnoIDL_PE,
virtual void ReceiveData();
virtual UnoIDL_PE & MyPE();
+ void store_Interface();
+
// DATA
static F_TOK aDispatcher[e_STATES_MAX][tt_MAX];
E_State eState;
- Interface * pData;
+ String sData_Name;
bool bIsPreDeclaration;
- udm::IRef< Interface >
- pCurInterface;
+ ary::idl::Ce_id nCurInterface;
Dyn<PE_Function> pPE_Function;
- udm::IRef< Function >
- aCurParsed_Function;
- Dyn<PE_Attribute> pPE_Attribute;
- udm::IRef< Attribute >
- aCurParsed_Attribute;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType aCurParsed_Base;
- char cUik[37];
- unsigned nUikCharCounter;
+ ary::idl::Type_id nCurParsed_Base;
+ Dyn<PE_Attribute> pPE_Attribute;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx
index 3a10d523c4d2..3d90916c71d5 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_selem.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_selem.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:48 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,8 +70,7 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
-#include <ary_i/uidl/gate.hxx>
+#include <ary/idl/i_gate.hxx>
namespace udm {
@@ -92,15 +91,16 @@ class PE_StructElement : public UnoIDL_PE,
public ParseEnvState
{
public:
- typedef ary::uidl::Gate::RStructElement RStructElement;
- typedef ary::uidl::Gate::RStruct RStruct;
+ typedef ary::idl::Ce_id RStructElement;
+ typedef ary::idl::Ce_id RStruct;
PE_StructElement(
RStructElement & o_rResult,
- const RStruct & i_rCurStruct );
+ const RStruct & i_rCurStruct,
+ bool i_IsExceptionElement );
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_StructElement();
@@ -129,12 +129,14 @@ class PE_StructElement : public UnoIDL_PE,
virtual void TransferData();
virtual UnoIDL_PE & MyPE();
+ // DATA
E_State eState;
RStructElement * pResult;
const RStruct * pCurStruct;
+ bool bIsExceptionElement;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType pType;
+ ary::idl::Type_id nType;
udmstri sName;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx
index 5507ddc8502b..f240e7081f0d 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_servi.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_servi.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:49 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,19 +70,20 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
-
+namespace ary
+{
+ namespace idl
+ {
+ class Service;
+ }
+}
namespace csi
{
namespace uidl
{
-class Service;
-class Interface;
-class Attribute;
-
class PE_Attribute;
class PE_Type;
@@ -95,7 +96,7 @@ class PE_Service : public UnoIDL_PE,
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
virtual void ProcessToken(
@@ -145,17 +146,16 @@ class PE_Service : public UnoIDL_PE,
// DATA
E_State eState;
- Service * pData;
+ String sData_Name;
bool bIsPreDeclaration;
- udm::IRef< Service >
- pCurService;
+ ary::idl::Service * pCurService;
+ ary::idl::Ce_id nCurService; // Needed for PE_Attribute.
Dyn<PE_Attribute> pPE_Property;
- udm::IRef< Attribute >
- aCurParsed_Property;
+ ary::idl::Ce_id nCurParsed_Property;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType aCurParsed_Type;
+ ary::idl::Type_id nCurParsed_Type;
bool bOptionalMember;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx
new file mode 100644
index 000000000000..81aac918b29d
--- /dev/null
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_singl.hxx
@@ -0,0 +1,180 @@
+/*************************************************************************
+ *
+ * $RCSfile: pe_singl.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:49 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef LUIDL_PE_SINGL_HXX
+#define LUIDL_PE_SINGL_HXX
+
+
+
+// USED SERVICES
+ // BASE CLASSES
+#include <s2_luidl/parsenv2.hxx>
+#include <s2_luidl/pestate.hxx>
+ // COMPONENTS
+ // PARAMETERS
+
+namespace ary
+{
+ namespace idl
+ {
+ class Singleton;
+ }
+}
+
+
+namespace csi
+{
+namespace uidl
+{
+
+class PE_Type;
+
+
+class PE_Singleton : public UnoIDL_PE,
+ public ParseEnvState
+{
+ public:
+ PE_Singleton();
+ virtual ~PE_Singleton();
+
+ virtual void EstablishContacts(
+ UnoIDL_PE * io_pParentPE,
+ ary::n22::Repository & io_rRepository,
+ TokenProcessing_Result &
+ o_rResult );
+ virtual void ProcessToken(
+ const Token & i_rToken );
+
+ virtual void Process_MetaType(
+ const TokMetaType & i_rToken );
+ virtual void Process_Identifier(
+ const TokIdentifier &
+ i_rToken );
+ virtual void Process_Punctuation(
+ const TokPunctuation &
+ i_rToken );
+ virtual void Process_Default();
+
+ private:
+ enum E_State
+ {
+ e_none = 0,
+ need_name,
+ need_curlbr_open,
+ e_std,
+ in_service,
+ need_finish,
+ e_STATES_MAX
+ };
+
+
+#if 0
+ enum E_TokenType /// @ATTENTION Do not change existing values (except of tt_MAX) !!! Else array-indices will break.
+ {
+ tt_metatype = 0,
+ tt_identifier = 1,
+ tt_punctuation = 2,
+ tt_startoftype = 3,
+ tt_MAX
+ };
+ typedef void (PE_Singleton::*F_TOK)(const char *);
+
+
+ void On_need_singleton_MetaType(const char * i_sText);
+ void On_need_name_Identifer(const char * i_sText);
+ void On_need_curlbr_open_Punctuation(const char * i_sText);
+ void On_std_GotoService(const char * i_sText);
+ void On_std_Punctuation(const char * i_sText);
+ void On_need_finish_Punctuation(const char * i_sText);
+
+ void CallHandler(
+ const char * i_sTokenText,
+ E_TokenType i_eTokenType );
+#endif // 0
+
+ void On_Default();
+
+ virtual void InitData();
+ virtual void TransferData();
+ virtual void ReceiveData();
+ virtual UnoIDL_PE & MyPE();
+
+ // DATA
+// static F_TOK aDispatcher[e_STATES_MAX][tt_MAX];
+
+ E_State eState;
+ String sData_Name;
+ bool bIsPreDeclaration;
+ ary::idl::Singleton *
+ pCurSingleton;
+
+ Dyn<PE_Type> pPE_Type;
+ ary::idl::Type_id nCurParsed_Service;
+};
+
+
+} // namespace uidl
+} // namespace csi
+
+
+
+#endif
+
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx
index 4b2bf36349f3..0433c7149de7 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_struc.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_struc.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:50 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,9 +70,8 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
#include <s2_luidl/semnode.hxx>
-#include <csi/prl/quname2.hxx>
+#include <ary/qualiname.hxx>
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
@@ -104,7 +103,7 @@ class PE_Struct : public UnoIDL_PE
PE_Struct();
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_Struct();
@@ -121,18 +120,16 @@ class PE_Struct : public UnoIDL_PE
void Prepare_PE_Element();
void Data_Set_Name(
const char * i_sName );
- void Data_Add_CurParsed_ElementRef();
- Struct * pData;
+ String sData_Name;
bool bIsPreDeclaration;
- udm::IRef< Struct > pCurStruct;
+ ary::idl::Ce_id nCurStruct;
Dyn<PE_StructElement>
pPE_Element;
- udm::IRef< StructElement >
- aCurParsed_ElementRef;
+ ary::idl::Ce_id nCurParsed_ElementRef;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType aCurParsed_Base;
+ ary::idl::Type_id nCurParsed_Base;
};
struct S_Stati;
@@ -231,7 +228,6 @@ class PE_Struct : public UnoIDL_PE
virtual void Process_Punctuation(
const TokPunctuation &
i_rToken );
- virtual void On_SubPE_Left();
};
class State_WaitForFinish : public PE_StructState
{ // -> ;
@@ -268,6 +264,8 @@ class PE_Struct : public UnoIDL_PE
virtual void TransferData();
virtual void ReceiveData();
+ public: void store_Struct(); private:
+
friend class PE_StructState;
S_Stati & Stati() { return *pStati; }
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx
index 8b0d12d1e75f..5c553437d525 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_tydf2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_tydf2.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:50 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,7 +70,6 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
@@ -90,7 +89,7 @@ class PE_Typedef : public UnoIDL_PE,
PE_Typedef();
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository & io_rRepository,
TokenProcessing_Result &
o_rResult );
~PE_Typedef();
@@ -139,12 +138,13 @@ class PE_Typedef : public UnoIDL_PE,
virtual void TransferData();
virtual UnoIDL_PE & MyPE();
+ // DATA
static F_TOK aDispatcher[e_STATES_MAX][tt_MAX];
E_State eState;
Dyn<PE_Type> pPE_Type;
- csi::prl::RefType pType;
- udmstri sName;
+ ary::idl::Type_id nType;
+ String sName;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx
index 2309868deb9b..c765ccfe3eee 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_type2.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:50 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -69,9 +69,8 @@
#include<s2_luidl/parsenv2.hxx>
#include<s2_luidl/pestate.hxx>
// COMPONENTS
-#include<csi/prl/quname2.hxx>
+#include<ary/qualiname.hxx>
// PARAMETERS
-#include<csi/prl/tsk_type.hxx>
namespace csi
@@ -85,7 +84,7 @@ class PE_Type : public UnoIDL_PE,
{
public:
PE_Type(
- csi::prl::RefType & o_rResult );
+ ary::idl::Type_id & o_rResult );
~PE_Type();
virtual void ProcessToken(
@@ -122,14 +121,14 @@ class PE_Type : public UnoIDL_PE,
virtual UnoIDL_PE & MyPE();
// DATA
- csi::prl::RefType * pResult;
+ ary::idl::Type_id * pResult;
uintt nIsSequenceCounter;
bool bIsUnsigned;
- QuName sFullType;
+ ary::QualifiedName sFullType;
E_State eState;
- udmstri sLastPart;
+ String sLastPart;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx
index a6ad1562e877..260d5c1b254d 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_vari2.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: pe_vari2.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:51 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -70,7 +70,6 @@
#include <s2_luidl/pestate.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/tsk_type.hxx>
namespace csi
@@ -87,11 +86,12 @@ class PE_Variable : public UnoIDL_PE,
{
public:
PE_Variable(
- csi::prl::RefType & i_rResult_Type,
- udmstri & i_rResult_Name );
+ ary::idl::Type_id & i_rResult_Type,
+ String & i_rResult_Name );
virtual void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository &
+ io_rRepository,
TokenProcessing_Result &
o_rResult );
virtual ~PE_Variable();
@@ -121,9 +121,10 @@ class PE_Variable : public UnoIDL_PE,
virtual void TransferData();
virtual UnoIDL_PE & MyPE();
+ // DATA
E_State eState;
- csi::prl::RefType * pResult_Type;
- udmstri * pResult_Name;
+ ary::idl::Type_id * pResult_Type;
+ String * pResult_Name;
Dyn<PE_Type> pPE_Type;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx b/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx
index e151e5b82dcc..9b3da30fbbb3 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/semnode.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: semnode.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: np $ $Date: 2002-03-08 14:45:36 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:51 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -69,17 +69,23 @@
#include <s2_luidl/tokproct.hxx>
// COMPONENTS
// PARAMETERS
-#include <csi/prl/quname2.hxx>
-#include <udm/ref.hxx>
+#include <ary/qualiname.hxx>
+// #include <udm/ref.hxx>
+
namespace ary
{
+class QualifiedName;
+
+namespace n22
+{
class Repository;
-namespace uidl
+}
+namespace idl
{
class Gate;
-class CeNamespace;
-} // namespace uidl
+class Module;
+} // namespace idl
} // namespace ary
@@ -90,7 +96,6 @@ namespace uidl
class Struct;
-class QualifiedName;
class Token;
@@ -102,26 +107,29 @@ class SemanticNode : private TokenProcessing_Types
SemanticNode();
void EstablishContacts(
UnoIDL_PE * io_pParentPE,
- ary::Repository & io_rRepository,
+ ary::n22::Repository &
+ io_rRepository,
TokenProcessing_Result &
o_rResult );
~SemanticNode();
+/*
udm::IRef< Struct > GetStructRef(
const QuName & i_rText,
ary::uidl::CeNamespace &
i_rCurNamespace );
+*/
void SetTokenResult(
E_TokenDone i_eDone,
E_EnvStackAction i_eWhat2DoWithEnvStack,
UnoIDL_PE * i_pParseEnv2Push = 0 );
UnoIDL_PE * Parent() const { return pParentPE; }
- ary::uidl::Gate & AryGate() const { return *pAryGate; }
+ ary::idl::Gate & AryGate() const { return *pAryGate; }
private:
// DATA
UnoIDL_PE * pParentPE;
- ary::uidl::Gate * pAryGate;
+ ary::idl::Gate * pAryGate;
TokenProcessing_Result *
pTokenResult;
};
diff --git a/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx b/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx
index 79e864b8316a..f05ab5a90874 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/tk_keyw.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: tk_keyw.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: np $ $Date: 2002-05-14 09:02:21 $
+ * last change: $Author: np $ $Date: 2002-11-01 17:15:51 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -154,6 +154,7 @@ class TokMetaType : public TokKeyword
mt_module,
mt_property,
mt_service,
+ mt_singleton,
mt_struct,
mt_typedef,
mt_uik
@@ -183,12 +184,20 @@ class TokStereotype : public TokKeyword
enum E_TokenId
{
e_none = 0,
- ste_const = 1,
+ ste_bound = 1,
+ ste_const,
+ ste_constrained,
+ ste_maybeambiguous,
+ ste_maybedefault,
+ ste_maybevoid,
ste_oneway,
ste_optional,
ste_readonly,
- ste_virtual
+ ste_removable,
+ ste_virtual,
+ ste_transient
};
+
typedef lux::Enum<E_TokenId> EV_TokenId;
TokStereotype(