diff options
265 files changed, 14 insertions, 40996 deletions
diff --git a/autodoc/inc/ary/ary.hxx b/autodoc/inc/ary/ary.hxx index d15ed4d83f66..daa5945616b6 100644 --- a/autodoc/inc/ary/ary.hxx +++ b/autodoc/inc/ary/ary.hxx @@ -40,11 +40,6 @@ namespace idl { class Gate; } - -namespace cpp -{ - class Gate; -} } @@ -58,7 +53,6 @@ namespace ary Create and destroy the repository and give access to the "Gates" for different tasks. - @collab ::ary::cpp::Gate @collab ::ary::idl::Gate */ @@ -72,13 +66,9 @@ class Repository // INQUIRY virtual const String & Title() const = 0; - virtual const ::ary::cpp::Gate & - Gate_Cpp() const = 0; virtual const ::ary::idl::Gate & Gate_Idl() const = 0; // ACCESS - virtual ::ary::cpp::Gate & - Gate_Cpp() = 0; virtual ::ary::idl::Gate & Gate_Idl() = 0; virtual void Set_Title( diff --git a/autodoc/inc/ary/ary_disp.hxx b/autodoc/inc/ary/ary_disp.hxx deleted file mode 100644 index 566f3209be20..000000000000 --- a/autodoc/inc/ary/ary_disp.hxx +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_ARY_DISP_HXX -#define ARY_ARY_DISP_HXX -// KORR_DEPRECATED_3.0 - - -// USED SERVICES - // BASE CLASSES -#include <cosv/tpl/processor.hxx> - // COMPONENTS - // PARAMETERS -#include <ary/types.hxx> -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ -namespace cpp -{ - class Gate; -} - -class Display : public csv::ProcessorIfc -{ - public: - virtual ~Display() {} - - // OPERATIONS - void StartSlot(); - void FinishSlot(); - - /** This method depends on the result of Get_ReFinder(). - If Get_ReFinder() != 0, then DisplayGate::Find_Re() is called - and if valid, cpp::CppEntity::Accept( *this ) is called. - If Get_ReFinder() == 0, simply do_DisplaySlot_Rid() is called - with just the id as parameter. - */ - void DisplaySlot_Rid( - ary::Rid i_nId ); -// void DisplaySlot_Lid( -// ary::Lid i_nId ); - /** This method depends on the result of Get_ReFinder(). - If Get_ReFinder() != 0, then DisplayGate::Find_Re() is called - and if valid, cpp::CppEntity::Accept( *this ) is called. - If Get_ReFinder() == 0, simply do_DisplaySlot_LocalCe() is called - with just the id as parameter. - */ - void DisplaySlot_LocalCe( - ary::cpp::Ce_id i_nId, - const String & i_sName ); - // INQUIRY - const cpp::Gate * Get_ReFinder() const; - - private: - virtual void do_StartSlot(); - virtual void do_FinishSlot(); - - - virtual void do_DisplaySlot_Rid( - ary::Rid i_nId ); - virtual void do_DisplaySlot_LocalCe( - ary::cpp::Ce_id i_nId, - const String & i_sName ); - virtual const cpp::Gate * - inq_Get_ReFinder() const = 0; -}; - - -// IMPLEMENTATION - - -inline void -Display::StartSlot() - { do_StartSlot(); } -inline void -Display::FinishSlot() - { do_FinishSlot(); } -inline const cpp::Gate * -Display::Get_ReFinder() const - { return inq_Get_ReFinder(); } - - - - -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/arygroup.hxx b/autodoc/inc/ary/arygroup.hxx deleted file mode 100644 index 1acb07e076dc..000000000000 --- a/autodoc/inc/ary/arygroup.hxx +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_ARYGROUP_HXX -#define ARY_ARYGROUP_HXX -// KORR_DEPRECATED_3.0 - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/types.hxx> - - -namespace ary -{ -namespace cpp -{ - class CppEntity; -} - -class Slot; - -namespace group -{ - typedef std::vector< SlotAccessId > SlotList; -} -} - - - - -namespace ary -{ - - - -class AryGroup -{ - public: - // LIFECYCLE - virtual ~AryGroup() {} - - // INQUIRY - Gid Id_Group() const; - const cpp::CppEntity & - RE_Group() const; - const group::SlotList & - Slots() const; - DYN Slot * Create_Slot( - SlotAccessId i_nSlot ) const; - - - private: - virtual Gid inq_Id_Group() const = 0; - virtual const cpp::CppEntity & - inq_RE_Group() const = 0; - virtual const group::SlotList & - inq_Slots() const = 0; - virtual DYN Slot * inq_Create_Slot( - SlotAccessId i_nSlot ) const = 0; -}; - - - -// IMPLEMENTATION -inline Gid -AryGroup::Id_Group() const - { return inq_Id_Group(); } -inline const cpp::CppEntity & -AryGroup::RE_Group() const - { return inq_RE_Group(); } -inline const group::SlotList & -AryGroup::Slots() const - { return inq_Slots(); } -inline DYN Slot * -AryGroup::Create_Slot( SlotAccessId i_nSlot ) const - { return inq_Create_Slot(i_nSlot); } - - - -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/ceslot.hxx b/autodoc/inc/ary/ceslot.hxx deleted file mode 100644 index 9dcd1599f92d..000000000000 --- a/autodoc/inc/ary/ceslot.hxx +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CESLOT_HXX -#define ARY_CESLOT_HXX -// KORR_DEPRECATED_3.0 - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS - -namespace ary -{ - -class Display; - -/** differentiation of Slots - - Slots: - - ReadWrite or ReadOnly - - ContentType - - Groups - - MemberLink 'EnumValue from Enum' or 'Class from Namespace' - - MemberData 'Parameter from Operation' - - SimpleLink - - CommentedLink 'Baseclass from Class' - - DefaultCommentedLink 'Class from GlobaIndex' -*/ - -class Slot -{ - public: - virtual ~Slot() {} - - virtual void StoreAt( - Display & o_rDestination ) const; - virtual uintt Size() const = 0; - - private: - virtual void StoreEntries( - Display & o_rDestination ) const = 0; -}; - -class Slot_AutoPtr -{ - public: - Slot_AutoPtr( - Slot * i_pSlot = 0 ) - : pSlot(i_pSlot) {} - ~Slot_AutoPtr() { if (pSlot != 0) delete pSlot; } - - Slot_AutoPtr & operator=( - Slot * i_pSlot ) - { if (pSlot != 0) delete pSlot; - pSlot = i_pSlot; - return *this; } - operator bool() const { return pSlot != 0; } - - const Slot & operator*() { csv_assert(pSlot != 0); - return *pSlot; } - const Slot * operator->() { csv_assert(pSlot != 0); - return pSlot; } - - private: - // Forbidden functions - Slot_AutoPtr(const Slot_AutoPtr &); - Slot_AutoPtr & operator=(const Slot_AutoPtr &); - - // DATA - Slot * pSlot; -}; - - - - -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cessentl.hxx b/autodoc/inc/ary/cessentl.hxx deleted file mode 100644 index cc402ae25eac..000000000000 --- a/autodoc/inc/ary/cessentl.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CESSENTL_HXX -#define ARY_CESSENTL_HXX -// KORR_DEPRECATED_3.0 - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/loc/loc_types4loc.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -class CeEssentials -{ // Non inline functions are implemented in ceworker.cxx . - public: - // LIFECYCLE - CeEssentials(); - CeEssentials( - const String & i_sLocalName, - Ce_id i_nOwner, - loc::Le_id i_nLocation ); - ~CeEssentials(); - // INQUIRY - const String & LocalName() const; - Ce_id Owner() const; - loc::Le_id Location() const; - - // ACCESS - private: - String sLocalName; - Ce_id nOwner; - loc::Le_id nLocation; -}; - - - -// IMPLEMENTATION -inline const String & -CeEssentials::LocalName() const - { return sLocalName; } -inline Ce_id -CeEssentials::Owner() const - { return nOwner; } -inline loc::Le_id -CeEssentials::Location() const - { return nLocation; } - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_builtintype.hxx b/autodoc/inc/ary/cpp/c_builtintype.hxx deleted file mode 100644 index 0fff94d1e5fc..000000000000 --- a/autodoc/inc/ary/cpp/c_builtintype.hxx +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_BUILTINTYPE_HXX -#define ARY_CPP_C_BUILTINTYPE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_type.hxx> - // COMPONENTS - // PARAMETERS - - -namespace ary -{ -namespace cpp -{ - - -/** Represents types like void, int, double. -*/ -class BuiltInType : public Type -{ - public: - enum E_ClassId { class_id = 1200 }; - - BuiltInType( - const String & i_sName, - E_TypeSpecialisation - i_Specialisation ); - - String SpecializedName() const; - - static String SpecializedName_( - const char * i_sName, - E_TypeSpecialisation - i_eTypeSpecialisation ); - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // Interface Object: - virtual ClassId get_AryClass() const; - - // Interface Type: - virtual bool inq_IsConst() const; - virtual void inq_Get_Text( - StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const; - // DATA - String sName; - E_TypeSpecialisation - eSpecialisation; -}; - - - -inline String -BuiltInType::SpecializedName() const -{ - return SpecializedName_(sName, eSpecialisation); -} - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_ce.hxx b/autodoc/inc/ary/cpp/c_ce.hxx deleted file mode 100644 index 5f7e6353e90a..000000000000 --- a/autodoc/inc/ary/cpp/c_ce.hxx +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_CE_HXX -#define ARY_CPP_C_CE_HXX - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_cppentity.hxx> - // COMPONENTS -#include <ary/doc/d_docu.hxx> - // PARAMETERS -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_traits.hxx> -#include <ary/loc/loc_types4loc.hxx> - - -namespace ary -{ -namespace cpp -{ - -typedef loc::Le_id Lid; - - - -/** Represents a C++ code entity. -*/ -class CodeEntity : public ary::cpp::CppEntity -{ - public: - typedef Ce_Traits traits_t; - - // LIFECYCLE - virtual ~CodeEntity() {} - - // INQUIRY - Ce_id CeId() const { return Ce_id(Id()); } - const String & LocalName() const; - Cid Owner() const; - Lid Location() const; - bool IsVisible() const; - - // ACCESS - void Set_InVisible() { bIsVisible = false; } - - protected: - CodeEntity() : bIsVisible(true) {} - - private: - // Locals - virtual const String & - inq_LocalName() const = 0; - virtual Cid inq_Owner() const = 0; - virtual Lid inq_Location() const = 0; - - // DATA - mutable bool bIsVisible; -}; - - -// IMPLEMENTATION -inline const String & -CodeEntity::LocalName() const - { return inq_LocalName(); } -inline Cid -CodeEntity::Owner() const - { return inq_Owner(); } -inline Lid -CodeEntity::Location() const - { return inq_Location(); } - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_class.hxx b/autodoc/inc/ary/cpp/c_class.hxx deleted file mode 100644 index 49b75b72902f..000000000000 --- a/autodoc/inc/ary/cpp/c_class.hxx +++ /dev/null @@ -1,248 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_CLASS_HXX -#define ARY_CPP_C_CLASS_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> -#include <ary/arygroup.hxx> - // OTHER -#include <ary/symtreenode.hxx> -#include <ary/cessentl.hxx> -#include <ary/sequentialids.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_slntry.hxx> - -namespace ary -{ -namespace cpp -{ - class Enum; - class Typedef; - class Function; - class Variable; -} -} - - - -namespace ary -{ -namespace cpp -{ - - -/** A C++ class. -*/ -class Class : public CodeEntity, - public AryGroup -{ - public: - enum E_ClassId { class_id = 1001 }; - - enum E_Slots - { - SLOT_Bases = 1, - SLOT_NestedClasses, - SLOT_Enums, - SLOT_Typedefs, - SLOT_Operations, - SLOT_StaticOperations, - SLOT_Data, - SLOT_StaticData, - SLOT_FriendClasses, - SLOT_FriendOperations - }; - - typedef ::ary::symtree::Node<CeNode_Traits> node_t; - - - // LIFECYCLE - Class( - const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - loc::Le_id i_nFile, - E_ClassKey i_eClassKey ); - ~Class(); - - // OPERATIONS - void Add_BaseClass( - const S_Classes_Base & - i_rBaseClass ); - void Add_TemplateParameterType( - const String & i_sLocalName, - Type_id i_nIdAsType ); - void Add_KnownDerivative( - Ce_id i_nId ) - { aKnownDerivatives.Add(i_nId); } - - void Add_LocalClass( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalEnum( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalTypedef( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalOperation( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalStaticOperation( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalData( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalStaticData( - const String & i_sLocalName, - Cid i_nId ); - - void UpdateVirtuality( - E_Virtuality i_eVirtuality ) - { if ( int(i_eVirtuality) > int(eVirtuality) ) - eVirtuality = i_eVirtuality; } - const List_TplParam & - TemplateParameters() const - { return aTemplateParameterTypes; } - const List_Bases & BaseClasses() const { return aBaseClasses; } - const SequentialIds<Ce_id> & - KnownDerivatives() const - { return aKnownDerivatives; } - - // INQUIRY - E_ClassKey ClassKey() const; - E_Protection Protection() const; - E_Virtuality Virtuality() const { return eVirtuality; } - - Ce_id Search_Child( - const String & i_key ) const; - Rid Search_LocalClass( - const String & i_sName ) const; - const node_t & AsNode() const; - - // ACCESS - node_t & AsNode(); - - private: - NON_COPYABLE(Class); - - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::cpp::CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual loc::Le_id inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // Interface ary::AryGroup - virtual Gid inq_Id_Group() const; - virtual const cpp::CppEntity & - inq_RE_Group() const; - virtual const group::SlotList & - inq_Slots() const; - virtual DYN Slot * inq_Create_Slot( - SlotAccessId i_nSlot ) const; - // Local - typedef List_LocalCe::const_iterator CIterator_Locals; - typedef List_LocalCe::iterator Iterator_Locals; - typedef SequentialIds<Ce_id> IdSequence; - - CIterator_Locals PosOfName( - const List_LocalCe& i_rList, - const String & i_sName ) const; - // DATA - CeEssentials aEssentials; - node_t aAssignedNode; - - List_Bases aBaseClasses; - List_TplParam aTemplateParameterTypes; - - List_LocalCe aClasses; - List_LocalCe aEnums; - List_LocalCe aTypedefs; - List_LocalCe aOperations; - List_LocalCe aStaticOperations; - List_LocalCe aData; - List_LocalCe aStaticData; - - IdSequence aFriendClasses; - IdSequence aFriendOperations; - IdSequence aKnownDerivatives; - - E_ClassKey eClassKey; - E_Protection eProtection; - E_Virtuality eVirtuality; -}; - - - - -// IMPLEMENTATION -inline E_ClassKey -Class::ClassKey() const -{ - return eClassKey; -} - -inline E_Protection -Class::Protection() const -{ - return eProtection; -} - -inline const Class::node_t & -Class::AsNode() const -{ - return aAssignedNode; -} - -inline Class::node_t & -Class::AsNode() -{ - return aAssignedNode; -} - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_cppentity.hxx b/autodoc/inc/ary/cpp/c_cppentity.hxx deleted file mode 100644 index fab3d2f728fe..000000000000 --- a/autodoc/inc/ary/cpp/c_cppentity.hxx +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_CPPENTITY_HXX -#define ARY_CPP_C_CPPENTITY_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/entity.hxx> - // OTHER -#include <ary/doc/d_docu.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -/** A C++ code entity as parsed by Autodoc. -*/ -class CppEntity : public Entity -{ - public: - // LIFECYCLE - virtual ~CppEntity() {} - - // OPERATIONS - - // INQUIRY - const ary::doc::Documentation & - Docu() const; - // ACCESS - void Set_Docu( - DYN ary::doc::Node & - pass_docudata ); - private: - // DATA - ary::doc::Documentation - aDocu; -}; - - - - -// IMPLEMENTATION -inline const doc::Documentation & -CppEntity::Docu() const -{ - return aDocu; -} - -inline void -CppEntity::Set_Docu(ary::doc::Node & pass_docudata) -{ - aDocu.Set_Data(pass_docudata); -} - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_de.hxx b/autodoc/inc/ary/cpp/c_de.hxx deleted file mode 100644 index 8426222ab3b4..000000000000 --- a/autodoc/inc/ary/cpp/c_de.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_DE_HXX -#define ARY_CPP_C_DE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_cppentity.hxx> - // OTHER -#include <ary/loc/loc_types4loc.hxx> -#include <ary/cpp/c_traits.hxx> - - - - -namespace ary -{ -namespace cpp -{ - - -/** Describes a C/C++ #define statement. May be a define or a macro, for which - two cases the two different constructors are to be used. - - This class is used by cpp::PreProcessor. -*/ -class DefineEntity : public ary::cpp::CppEntity -{ - public: - typedef Def_Traits traits_t; - - virtual ~DefineEntity() {} - - // INQUIRY - De_id DefId() const { return De_id(Id()); } - const String & LocalName() const; - loc::Le_id Location() const; - const StringVector & - DefinitionText() const; - // ACCESS - protected: - DefineEntity( - const String & i_name, - loc::Le_id i_declaringFile ); - private: - // Locals - virtual const StringVector & - inq_DefinitionText() const = 0; - - // DATA - String sName; - loc::Le_id nLocation; -}; - - - - -// IMPLEMENTATION -inline const String & -DefineEntity::LocalName() const - { return sName; } - -inline loc::Le_id -DefineEntity::Location() const - { return nLocation; } - -inline const StringVector & -DefineEntity::DefinitionText() const - { return inq_DefinitionText(); } - - - - - -} // end namespace cpp -} // end namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_define.hxx b/autodoc/inc/ary/cpp/c_define.hxx deleted file mode 100644 index 460ddb79ac1b..000000000000 --- a/autodoc/inc/ary/cpp/c_define.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_DEFINE_HXX -#define ARY_CPP_C_DEFINE_HXX - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_de.hxx> - // OTHER - - - - -namespace ary -{ -namespace cpp -{ - - -/** A C/C++ #define ("#define DEF") statement, but no macro. - - @see Macro -*/ -class Define : public DefineEntity -{ - public: - enum E_ClassId { class_id = 1601 }; - - Define( /// Used for: #define DEFINE xyz - const String & i_name, - const StringVector & - i_definition, - loc::Le_id i_declaringFile ); - virtual ~Define(); - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::Object: - virtual ClassId get_AryClass() const; - - // Interface DefineEntity: - virtual const StringVector & - inq_DefinitionText() const; - // DATA - StringVector aDefinition; -}; - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_enum.hxx b/autodoc/inc/ary/cpp/c_enum.hxx deleted file mode 100644 index 4704c700773f..000000000000 --- a/autodoc/inc/ary/cpp/c_enum.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_ENUM_HXX -#define ARY_CPP_C_ENUM_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> -#include <ary/arygroup.hxx> - // OTHER -#include <ary/cessentl.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/sequentialids.hxx> - - - - - -namespace ary -{ -namespace cpp -{ - - -/** A C++ enum declaration. -*/ -class Enum : public CodeEntity, - public AryGroup -{ - public: - enum E_ClassId { class_id = 1002 }; - - enum E_Slots - { - SLOT_Values = 1 - }; - - // LIFECYCLE - Enum( - const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - Lid i_nFile ); - ~Enum(); - - // OPERATIONS - void Add_Value( - Ce_id i_nId ); - - // INQUIRY - E_Protection Protection() const { return eProtection; } - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::cpp::CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual Lid inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // Interface ary::AryGroup - virtual Gid inq_Id_Group() const; - virtual const cpp::CppEntity & - inq_RE_Group() const; - virtual const group::SlotList & - inq_Slots() const; - virtual DYN Slot * inq_Create_Slot( - SlotAccessId i_nSlot ) const; - - // DATA - CeEssentials aEssentials; - SequentialIds<Ce_id> - aValues; - E_Protection eProtection; -}; - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_enuval.hxx b/autodoc/inc/ary/cpp/c_enuval.hxx deleted file mode 100644 index 3ed523baa3f3..000000000000 --- a/autodoc/inc/ary/cpp/c_enuval.hxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_ENUVAL_HXX -#define ARY_CPP_C_ENUVAL_HXX - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> - // OTHER -#include <ary/cessentl.hxx> -#include <ary/cpp/c_types4cpp.hxx> - - - -namespace ary -{ -namespace cpp -{ - - - -/** A C++ enum value declaration and definition. -*/ -class EnumValue : public CodeEntity -{ - public: - enum E_ClassId { class_id = 1006 }; - - // LIFECYCLE - EnumValue( - const String & i_sLocalName, - Ce_id i_nOwner, - String i_sInitialisation ); - ~EnumValue(); - // INQUIRY - const String & Initialisation() const; - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::cpp::CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual Lid inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // DATA - CeEssentials aEssentials; - String sInitialisation; -}; - - - - -// IMPLEMENTATION -inline const String & -EnumValue::Initialisation() const - { return sInitialisation; } - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_funct.hxx b/autodoc/inc/ary/cpp/c_funct.hxx deleted file mode 100644 index 917ff823f151..000000000000 --- a/autodoc/inc/ary/cpp/c_funct.hxx +++ /dev/null @@ -1,152 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_FUNCT_HXX -#define ARY_CPP_C_FUNCT_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> - // OTHER -#include <ary/cessentl.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_slntry.hxx> -#include <ary/cpp/c_vfflag.hxx> -#include <ary/cpp/c_osigna.hxx> - - - - -namespace ary -{ -namespace cpp -{ - - - -/** A C++ function declaration. -*/ -class Function : public CodeEntity -{ - public: - enum E_ClassId { class_id = 1004 }; - - Function( - const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - loc::Le_id i_nFile, - Type_id i_nReturnType, - const std::vector<S_Parameter> & - i_parameters, - E_ConVol i_conVol, - E_Virtuality i_eVirtuality, - FunctionFlags i_aFlags, - bool i_bThrowExists, - const std::vector<Type_id> & - i_rExceptions ); - ~Function(); - - - // OPERATIONS - void Add_TemplateParameterType( - const String & i_sLocalName, - Type_id i_nIdAsType ); - - // INQUIRY - const OperationSignature & - Signature() const; - Type_id ReturnType() const; - E_Protection Protection() const { return eProtection; } - E_Virtuality Virtuality() const { return eVirtuality; } - const FunctionFlags & - Flags() const { return aFlags; } - const StringVector & - ParamInfos() const { return aParameterInfos; } - const std::vector<Type_id> * - Exceptions() const { return pExceptions.Ptr(); } - - const List_TplParam & - TemplateParameters() const - { return aTemplateParameterTypes; } - bool IsIdentical( - const Function & i_f ) const; - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::cpp::CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual Lid inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // Local Types - typedef StringVector ParameterInfoList; - typedef std::vector<Type_id> ExceptionTypeList; - - // DATA - CeEssentials aEssentials; - List_TplParam aTemplateParameterTypes; - OperationSignature aSignature; - Type_id nReturnType; - E_Protection eProtection; - E_Virtuality eVirtuality; - FunctionFlags aFlags; - ParameterInfoList aParameterInfos; - Dyn<ExceptionTypeList> - pExceptions; // if (NOT pExceptions) there is no throw, - // else, there is one, but the list still may be empty. -}; - - - - -// IMPLEMENTATION -inline const OperationSignature & -Function::Signature() const - { return aSignature; } -inline Type_id -Function::ReturnType() const - { return nReturnType; } - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_gate.hxx b/autodoc/inc/ary/cpp/c_gate.hxx deleted file mode 100644 index df0af5afbd19..000000000000 --- a/autodoc/inc/ary/cpp/c_gate.hxx +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_GATE_HXX -#define ARY_CPP_C_GATE_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - - - -namespace autodoc -{ - class Options; -} -namespace ary -{ - class Entity; - -namespace cpp -{ - class CodeEntity; - class CppEntity; - class CePilot; - class DefPilot; - class TypePilot; -} -namespace loc -{ - class LocationPilot; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - -/** Acess to all stored objcts in the repository, which are - relevant to C++. -*/ -class Gate -{ - public: - // LIFECYCLE - virtual ~Gate() {} - - - // OPERATIONS - virtual void Calculate_AllSecondaryInformation() = 0; -// const ::autodoc::Options & -// i_options ) = 0; - - // INQUIRY - virtual const String & - RepositoryTitle() const = 0; - virtual const CodeEntity * - Search_RelatedCe( - Type_id i_type ) const = 0; - virtual const ::ary::cpp::CppEntity * - Search_Entity( - GlobalId i_id ) const = 0; - virtual uintt Get_AlphabeticalList( - List_GlobalIds & o_result, - const char * i_begin, - const char * i_end ) const = 0; - virtual const CePilot & - Ces() const = 0; - virtual const DefPilot & - Defs() const = 0; - virtual const TypePilot & - Types() const = 0; - virtual const loc::LocationPilot & - Locations() const = 0; - - // ACCESS - virtual CePilot & Ces() = 0; - virtual DefPilot & Defs() = 0; - virtual TypePilot & Types() = 0; - virtual loc::LocationPilot & - Locations() = 0; -}; - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_macro.hxx b/autodoc/inc/ary/cpp/c_macro.hxx deleted file mode 100644 index 8740c2e94015..000000000000 --- a/autodoc/inc/ary/cpp/c_macro.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_MACRO_HXX -#define ARY_CPP_C_MACRO_HXX - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_de.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -/** A C/C++ macro ("#define ABC(a,b)") statement, but no simple define. - - @see Define -*/ -class Macro : public DefineEntity -{ - public: - enum E_ClassId { class_id = 1602 }; - - Macro(); - Macro( /// Used for: #define DEFINE xyz - const String & i_name, - const StringVector & - i_params, - const StringVector & - i_definition, - loc::Le_id i_declaringFile ); - ~Macro(); - const StringVector & Params() const { return aParams; } - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // Interface ary::Object - virtual ClassId get_AryClass() const; - - // Interface DefineEntity: - virtual const StringVector & - inq_DefinitionText() const; - // DATA - StringVector aParams; - StringVector aDefinition; -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_namesp.hxx b/autodoc/inc/ary/cpp/c_namesp.hxx deleted file mode 100644 index d15c526394f3..000000000000 --- a/autodoc/inc/ary/cpp/c_namesp.hxx +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_NAMESP_HXX -#define ARY_CPP_C_NAMESP_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> -#include <ary/arygroup.hxx> - // OTHER -#include <ary/symtreenode.hxx> -#include <ary/cessentl.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_slntry.hxx> - -namespace ary -{ -namespace cpp -{ - class Gate; - class OperationSignature; -} -} - - - -namespace ary -{ -namespace cpp -{ - - - -/** A C++ namespace. -*/ -class Namespace : public CodeEntity, - public AryGroup -{ - public: - enum E_ClassId { class_id = 1000 }; - - enum E_Slots - { - SLOT_SubNamespaces = 1, - SLOT_Classes, - SLOT_Enums, - SLOT_Typedefs, - SLOT_Operations, - SLOT_Variables, - SLOT_Constants - }; - - typedef ::ary::symtree::Node<CeNode_Traits> node_t; - - Namespace(); - Namespace( - const String & i_sName, - Namespace & i_rParent ); - ~Namespace(); - // OPERATIONS - void Add_LocalNamespace( - Namespace & io_rLocalNamespace ); - void Add_LocalClass( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalEnum( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalTypedef( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalOperation( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalVariable( - const String & i_sLocalName, - Cid i_nId ); - void Add_LocalConstant( - const String & i_sLocalName, - Cid i_nId ); - - // INQUIRY - virtual uintt Depth() const; - Namespace * Parent() const; - - Ce_id Search_Child( - const String & i_key ) const; - Namespace * Search_LocalNamespace( - const String & i_sLocalName ) const; - uintt Get_SubNamespaces( - std::vector< const Namespace* > & - o_rResultList ) const; - Ce_id Search_LocalClass( - const String & i_sName ) const; - void Search_LocalOperations( - std::vector<Ce_id> & - o_result, - const String & i_sName ) const; - const node_t & AsNode() const; - - // ACCESS - node_t & AsNode(); - - private: - NON_COPYABLE(Namespace); - - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual Lid inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // Interface AryGroup - virtual Gid inq_Id_Group() const; - virtual const cpp::CppEntity & - inq_RE_Group() const; - virtual const ary::group::SlotList & - inq_Slots() const; - virtual DYN Slot * inq_Create_Slot( - SlotAccessId i_nSlot ) const; - // Local - typedef std::multimap<String, Ce_id> Map_Operations; - - // DATA - CeEssentials aEssentials; - node_t aAssignedNode; - - Map_NamespacePtr aLocalNamespaces; - Map_LocalCe aLocalClasses; - Map_LocalCe aLocalEnums; - Map_LocalCe aLocalTypedefs; - Map_Operations aLocalOperations; - Map_LocalCe aLocalVariables; - Map_LocalCe aLocalConstants; - - Namespace * pParent; - uintt nDepth; -}; - - - -// IMPLEMENTATION -inline const Namespace::node_t & -Namespace::AsNode() const -{ - return aAssignedNode; -} - -inline Namespace::node_t & -Namespace::AsNode() -{ - return aAssignedNode; -} - - - - -} // namespace cpp -} // ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_osigna.hxx b/autodoc/inc/ary/cpp/c_osigna.hxx deleted file mode 100644 index 4434f65b877e..000000000000 --- a/autodoc/inc/ary/cpp/c_osigna.hxx +++ /dev/null @@ -1,125 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_OSIGNA_HXX -#define ARY_CPP_C_OSIGNA_HXX - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ -namespace cpp -{ - class Gate; -} -} - - - -namespace ary -{ -namespace cpp -{ - - -/** The signature of a C++ function. That is: parameter types and - const/volatile modifiers. -*/ -class OperationSignature -{ - public: - typedef std::vector<Type_id> ParameterTypeList; - - OperationSignature( - ParameterTypeList i_parameterTypes, // Non const, because it will be swapped with aParameterTypes. - E_ConVol i_conVol ); - - bool operator==( - const OperationSignature & - i_rSig ) const; - bool operator<( - const OperationSignature & - i_rSig ) const; - - // INQUIRY - const ParameterTypeList & - Parameters() const; - E_ConVol ConVol() const; - - /** Compares the signatures by length an then by ids of - parameter types. So the result is not always human - reconstructable. - @return like in strcmp(). - */ - int Compare( - const OperationSignature & - i_rSig ) const; - private: - // DATA - ParameterTypeList aParameterTypes; - E_ConVol eConVol; -}; - - - - -// IMPLEMENTATION -inline bool -OperationSignature::operator==( const OperationSignature & i_rSign ) const -{ - return Compare(i_rSign) == 0; -} - -inline bool -OperationSignature::operator<( const OperationSignature & i_rSign ) const -{ - return Compare(i_rSign) < 0; -} - -inline const OperationSignature::ParameterTypeList & -OperationSignature::Parameters() const -{ - return aParameterTypes; -} - -inline E_ConVol -OperationSignature::ConVol() const -{ - return eConVol; -} - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_slntry.hxx b/autodoc/inc/ary/cpp/c_slntry.hxx deleted file mode 100644 index 3ce842494304..000000000000 --- a/autodoc/inc/ary/cpp/c_slntry.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_SLNTRY_HXX -#define ARY_CPP_C_SLNTRY_HXX -// KORR_DEPRECATED_3.0 - -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/namesort.hxx> - - -namespace ary -{ -namespace cpp -{ - class Namespace; - - - -typedef Namespace * NamespacePtr; -struct Less_NamespacePtr -{ - bool operator()( /// @return true if (i_p1->Name() < i_p2->Name()) . - const NamespacePtr& i_p1, - const NamespacePtr& i_p2 ); -}; - - - - -struct S_Classes_Base -{ - Type_id nId; - E_Protection eProtection; - E_Virtuality eVirtuality; - String sComment; - - S_Classes_Base() - : nId(0), - eProtection(PROTECT_global), - eVirtuality(VIRTUAL_none) - // sComment - { } -}; - -struct S_TplParam -{ - String sName; - Type_id nId; - - S_TplParam( - String i_sName, - Type_id i_nId ) - : sName(i_sName), nId(i_nId) {} - const String & Name() const { return sName; } -}; - - -struct S_LocalCe -{ - String sLocalName; - Ce_id nId; - - S_LocalCe() : nId(0) {} - S_LocalCe( - const String & i_sLocalName, - Cid i_nId ) - : sLocalName(i_sLocalName), nId(i_nId) {} - bool operator<( - const S_LocalCe & i_rCe ) const - { return LesserName()(sLocalName,i_rCe.sLocalName); } -}; - -typedef std::vector< S_LocalCe > List_LocalCe; - - -typedef std::map<String, NamespacePtr> Map_NamespacePtr; -typedef std::vector< S_Classes_Base > List_Bases; -typedef std::vector< S_TplParam > List_TplParam; - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_traits.hxx b/autodoc/inc/ary/cpp/c_traits.hxx deleted file mode 100644 index 060b0d2ea0ce..000000000000 --- a/autodoc/inc/ary/cpp/c_traits.hxx +++ /dev/null @@ -1,219 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_TRAITS_HXX -#define ARY_CPP_C_TRAITS_HXX - - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - - - -namespace ary -{ -namespace symtree -{ - template <class X> class Node; -} -} - - - - -namespace ary -{ -namespace cpp -{ - - -/** Basic traits for derived ones of ->CodeEntity. -*/ -struct Ce_Traits -{ - typedef CodeEntity entity_base_type; - typedef Ce_id id_type; - - static entity_base_type & - EntityOf_( - id_type i_id ); -}; - - -/** An instance of SYMBOL_TRAITS for ->::ary::SortedIds<>. - - @see ::ary::SortedIds<> -*/ -struct CeNode_Traits : public Ce_Traits -{ - static const symtree::Node<CeNode_Traits> * - NodeOf_( - const entity_base_type & - i_entity ); - static symtree::Node<CeNode_Traits> * - NodeOf_( - entity_base_type & i_entity ); - static entity_base_type * - ParentOf_( - const entity_base_type & - i_entity ); - template <class KEY> - static id_type Search_( - const entity_base_type & - i_entity, - const KEY & i_localKey ); -}; - - -/** An instance of COMPARE for ->::ary::SortedIds<>. - - @see ::ary::SortedIds<> -*/ -struct Ce_Compare : public Ce_Traits -{ - typedef String key_type; - - static const key_type & - KeyOf_( - const entity_base_type & - i_entity ); - static bool Lesser_( - const key_type & i_1, - const key_type & i_2 ); -}; - -/** An instance of COMPARE for ->::ary::SortedIds<>. - - @see ::ary::SortedIds<> -*/ -struct Ce_GlobalCompare : public Ce_Traits -{ - typedef entity_base_type key_type; - - static const key_type & - KeyOf_( - const entity_base_type & - i_entity ) - { return i_entity; } - static bool Lesser_( - const key_type & i_1, - const key_type & i_2 ); -}; - - -/** Basic traits for derivd ones of ->DefineEntity. -*/ -struct Def_Traits -{ - typedef DefineEntity entity_base_type; - typedef De_id id_type; - - static entity_base_type & - EntityOf_( - id_type i_id ); -}; - - -/** An instance of COMPARE for ->::ary::SortedIds<>. - - @see ::ary::SortedIds<> -*/ -struct Def_Compare : public Def_Traits -{ - typedef String key_type; - - static const key_type & - KeyOf_( - const entity_base_type & - i_entity ); - static bool Lesser_( - const key_type & i_1, - const key_type & i_2 ); -}; - -/** Basic traits for derivd ones of ->Type. -*/ -struct Type_Traits -{ - typedef Type entity_base_type; - typedef Type_id id_type; - - static entity_base_type & - EntityOf_( - id_type i_id ); -}; - -/** An instance of COMPARE for ->::ary::SortedIds<>. - - @see ::ary::SortedIds<> -*/ -struct UsedType_Compare : public Type_Traits -{ - typedef UsedType key_type; - - static const key_type & - KeyOf_( - const entity_base_type & - i_entity ); - static bool Lesser_( - const key_type & i_1, - const key_type & i_2 ); -}; - - - - - - -// IMPLEMENTATION - -/// Implementation helper for ->CeNode_Traits::Search_ . -Ce_id CeNode_Search( - const CodeEntity & i_entity, - const String & i_localKey ); - - -template <class KEY> -Ce_Traits::id_type -CeNode_Traits::Search_( const entity_base_type & i_entity, - const KEY & i_localKey ) -{ - return CeNode_Search(i_entity, i_localKey); -} - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_tydef.hxx b/autodoc/inc/ary/cpp/c_tydef.hxx deleted file mode 100644 index eefbda569484..000000000000 --- a/autodoc/inc/ary/cpp/c_tydef.hxx +++ /dev/null @@ -1,103 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_TYDEF_HXX -#define ARY_CPP_C_TYDEF_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> - // OTHER -#include <ary/cessentl.hxx> -#include <ary/cpp/c_types4cpp.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -/** A C++ typedef declaration. -*/ -class Typedef : public CodeEntity -{ - public: - // LIFECYCLE - enum E_ClassId { class_id = 1003 }; - - Typedef( - const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - Lid i_nFile, - Type_id i_nDescribingType ); - ~Typedef(); - // INQUIRY - Type_id DescribingType() const; - E_Protection Protection() const { return eProtection; } - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::cpp::CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual Lid inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // DATA - CeEssentials aEssentials; - Type_id nDescribingType; - E_Protection eProtection; -}; - - - -// IMPLEMENTATION -inline Type_id -Typedef::DescribingType() const -{ - return nDescribingType; -} - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_type.hxx b/autodoc/inc/ary/cpp/c_type.hxx deleted file mode 100644 index 513ec0cefb5f..000000000000 --- a/autodoc/inc/ary/cpp/c_type.hxx +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_TYPE_HXX -#define ARY_CPP_C_TYPE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/entity.hxx> - // OTHER -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_traits.hxx> - - -namespace ary -{ -namespace cpp -{ - class Gate; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - -/** Base of all C++ types -*/ -class Type : public ::ary::Entity -{ - public: - typedef Type_Traits traits_t; - - virtual ~Type() {} - - Type_id TypeId() const { return Type_id(Id()); } - Ce_id RelatedCe() const; - bool IsConst() const; - void Get_Text( - StreamStr & o_rOut, - const Gate & i_rGate ) const; - - /** It is guaranteed, that the output is correct, also, - if all three output-streams are the same instance. - */ - void Get_Text( - StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const; - - private: - virtual Rid inq_RelatedCe() const; // Defaulted to 0. Implemented in c_builtintype.cxx. - virtual bool inq_IsConst() const = 0; - virtual void inq_Get_Text( - StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const = 0; -}; - - - - -// IMPLEMENTATION -inline Ce_id -Type::RelatedCe() const -{ - return Ce_id(inq_RelatedCe()); -} - -inline bool -Type::IsConst() const -{ - return inq_IsConst(); -} - -inline void -Type::Get_Text( StreamStr & o_rOut, - const Gate & i_rGate ) const -{ - inq_Get_Text( o_rOut, o_rOut, o_rOut, i_rGate ); -} - -inline void -Type::Get_Text( StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const -{ - inq_Get_Text( o_rPreName,o_rName,o_rPostName, i_rGate ); -} - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_types4cpp.hxx b/autodoc/inc/ary/cpp/c_types4cpp.hxx deleted file mode 100644 index 2d39819ae458..000000000000 --- a/autodoc/inc/ary/cpp/c_types4cpp.hxx +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_TYPES4CPP_HXX -#define ARY_CPP_C_TYPES4CPP_HXX - - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <cosv/tpl/range.hxx> -#include <ary/types.hxx> - - - -namespace ary -{ -namespace cpp -{ - -class Namespace; -class CodeEntity; -class Type; -class DefineEntity; -class Gate; -class CePilot; -class TypePilot; -class SecondariesPilot; -class Ce_Storage; -class Def_Storage; -class Type_Storage; -class UsedType; - - -typedef TypedId< ::ary::cpp::CodeEntity > Ce_id; -typedef TypedId< ::ary::cpp::Type > Type_id; -typedef TypedId< ::ary::cpp::DefineEntity > De_id; - - -typedef std::vector<Ce_id> CesList; -typedef std::vector<De_id> DefsList; -typedef std::vector<Type_id> TypesList; - -typedef std::vector<Ce_id>::const_iterator CesConstIterator; -typedef std::vector<De_id>::const_iterator DefsConstIterator; -typedef std::vector<Type_id>::const_iterator TypesConstIterator; - -typedef csv::range< CesConstIterator > CesResultList; -typedef csv::range< DefsConstIterator > DefsResultList; -typedef csv::range< TypesConstIterator > TypesResultList; - - -typedef std::map<String, Ce_id> Map_LocalCe; - - - -enum E_Protection -{ - PROTECT_global = 0, - PROTECT_local, /// within Functions - PROTECT_public, - PROTECT_protected, - PROTECT_private -}; - -/** The sequence of E_Virtuality's values must not be changed, - because they are used in int-comparisons. -*/ -enum E_Virtuality -{ - VIRTUAL_none = 0, - VIRTUAL_virtual, - VIRTUAL_abstract -}; - -enum E_ClassKey -{ - CK_class, - CK_struct, - CK_union -}; - -enum E_TypeSpecialisation -{ - TYSP_none = 0, - TYSP_unsigned, - TYSP_signed -}; - -enum E_ConVol -{ - CONVOL_none = 0, - CONVOL_const = 0x0001, - CONVOL_volatile = 0x0002, - CONVOL_both = 0x0003 -}; - - - -// Backwards compatibility: -typedef Ce_id Cid; -typedef Type_id Tid; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_vari.hxx b/autodoc/inc/ary/cpp/c_vari.hxx deleted file mode 100644 index e8b2e442486e..000000000000 --- a/autodoc/inc/ary/cpp/c_vari.hxx +++ /dev/null @@ -1,117 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_VARI_HXX -#define ARY_CPP_C_VARI_HXX - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_ce.hxx> - // OTHER -#include <ary/cessentl.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_vfflag.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -/** A C++ variable or constant declaration. -*/ -class Variable : public CodeEntity -{ - public: - // LIFECYCLE - enum E_ClassId { class_id = 1005 }; - - Variable( - const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - loc::Le_id i_nFile, - Type_id i_nType, - VariableFlags i_aFlags, - const String & i_sArraySize, - const String & i_sInitValue ); - ~Variable(); - - - // INQUIRY - Type_id Type() const; - const String & ArraySize() const; - const String & Initialisation() const; - E_Protection Protection() const { return eProtection; } - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::cpp::CodeEntity - virtual const String & - inq_LocalName() const; - virtual Cid inq_Owner() const; - virtual Lid inq_Location() const; - - // Interface ary::cpp::CppEntity - virtual ClassId get_AryClass() const; - - // DATA - CeEssentials aEssentials; - Type_id nType; - E_Protection eProtection; - VariableFlags aFlags; - String sArraySize; - String sInitialisation; -}; - - - -// IMPLEMENTATION -inline Type_id -Variable::Type() const - { return nType; } -inline const String & -Variable::ArraySize() const - { return sArraySize; } -inline const String & -Variable::Initialisation() const - { return sInitialisation; } - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/c_vfflag.hxx b/autodoc/inc/ary/cpp/c_vfflag.hxx deleted file mode 100644 index c198dac67267..000000000000 --- a/autodoc/inc/ary/cpp/c_vfflag.hxx +++ /dev/null @@ -1,154 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_VFFLAG_HXX -#define ARY_CPP_C_VFFLAG_HXX - -// USED SERVICES - - -namespace ary -{ -namespace cpp -{ - - -/** Properties of C++ variables. -*/ -struct VariableFlags -{ - public: - enum E_Flags - { - f_static_local = 0x0001, - f_static_member = 0x0002, - f_extern = 0x0004, - f_mutable = 0x0008 - }; - - VariableFlags( - UINT16 i_nFlags = 0 ) - : nFlags(i_nFlags) {} - - void Reset() { nFlags = 0; } - - void SetStaticLocal() { nFlags |= f_static_local; } - void SetStaticMember() { nFlags |= f_static_member; } - void SetExtern() { nFlags |= f_extern; } - void SetMutable() { nFlags |= f_mutable; } - - bool IsStaticLocal() const { return (nFlags & f_static_local) != 0; } - bool IsStaticMember() const { return (nFlags & f_static_member) != 0; } - bool IsExtern() const { return (nFlags & f_extern) != 0; } - bool IsMutable() const { return (nFlags & f_mutable) != 0; } - - private: - UINT16 nFlags; -}; - - -/** Properties of C++ functions. -*/ -struct FunctionFlags -{ - public: - enum E_Flags - { - f_static_local = 0x0001, - f_static_member = 0x0002, - f_extern = 0x0004, - f_externC = 0x0008, - f_mutable = 0x0010, - f_inline = 0x0100, - f_register = 0x0200, - f_explicit = 0x0400 - }; - - FunctionFlags( - UINT16 i_nFlags = 0 ) - : nFlags(i_nFlags) {} - - bool operator==( - const FunctionFlags & - i_ff ) const - { return nFlags == i_ff.nFlags; } - bool operator!=( - const FunctionFlags & - i_ff ) const - { return NOT operator==(i_ff); } - - void Reset() { nFlags = 0; } - - void SetStaticLocal() { nFlags |= f_static_local; } - void SetStaticMember() { nFlags |= f_static_member; } - void SetExtern() { nFlags |= f_extern; } - void SetExternC() { nFlags |= f_externC; } - void SetMutable() { nFlags |= f_mutable; } - void SetInline() { nFlags |= f_inline; } - void SetRegister() { nFlags |= f_register; } - void SetExplicit() { nFlags |= f_explicit; } - - bool IsStaticLocal() const { return (nFlags & f_static_local) != 0; } - bool IsStaticMember() const { return (nFlags & f_static_member) != 0; } - bool IsExtern() const { return (nFlags & f_extern) != 0; } - bool IsExternC() const { return (nFlags & f_externC) != 0; } - bool IsMutable() const { return (nFlags & f_mutable) != 0; } - bool IsInline() const { return (nFlags & f_inline) != 0; } - bool IsRegister() const { return (nFlags & f_register) != 0; } - bool IsExplicit() const { return (nFlags & f_explicit) != 0; } - - private: - UINT16 nFlags; -}; - - -/** A C++ function parameter. -*/ -struct S_Parameter -{ - String sName; - String sSizeExpression; - String sInitExpression; - Type_id nType; - - S_Parameter() : nType(0) {} - ~S_Parameter() {} - void Empty() { nType = Type_id(0); - sName.clear(); - sSizeExpression.clear(); - sInitExpression.clear(); } -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/cp_ce.hxx b/autodoc/inc/ary/cpp/cp_ce.hxx deleted file mode 100644 index cb86e44b17d4..000000000000 --- a/autodoc/inc/ary/cpp/cp_ce.hxx +++ /dev/null @@ -1,176 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CP_CE_HXX -#define ARY_CPP_CP_CE_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ - class QualifiedName; - -namespace cpp -{ - class Class; - class CodeEntity; - class Enum; - class EnumValue; - class Function; - class InputContext; - class Namespace; - class OperationSignature; - class Typedef; - class Variable; - - struct FunctionFlags; - struct S_Parameter; - struct VariableFlags; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - -/** Acess to all declared C++ code entites (types, variables, operations) - in the repository. -*/ -class CePilot -{ - public: - // LIFECYCLE - virtual ~CePilot() {} - - // OPERATIONS - virtual Namespace & - CheckIn_Namespace( - const InputContext & - i_context, - const String & i_localName ) = 0; - virtual Class & Store_Class( - const InputContext & - i_context, - const String & i_localName, - E_ClassKey i_classKey ) = 0; - virtual Enum & Store_Enum( - const InputContext & - i_context, - const String & i_localName ) = 0; - virtual Typedef & Store_Typedef( - const InputContext & - i_context, - const String & i_localName, - Type_id i_referredType ) = 0; - - /// @return 0, if the function is duplicate. - virtual Function * Store_Operation( - const InputContext & - i_context, - const String & i_localName, - Type_id i_returnType, - const std::vector<S_Parameter> & - i_parameters, - E_Virtuality i_virtuality, - E_ConVol i_conVol, - FunctionFlags i_flags, - bool i_throwExists, - const std::vector<Tid> & - i_exceptions ) = 0; - virtual Variable & Store_Variable( - const InputContext & - i_context, - const String & i_localName, - Type_id i_type, - VariableFlags i_flags, - const String & i_arraySize, - const String & i_initValue ) = 0; - virtual EnumValue & Store_EnumValue( - const InputContext & - i_context, - const String & i_localName, - const String & i_initValue ) = 0; - // INQUIRY - virtual const Namespace & - GlobalNamespace() const = 0; - virtual const CodeEntity & - Find_Ce( - Ce_id i_id ) const = 0; - virtual const CodeEntity * - Search_Ce( - Ce_id i_id ) const = 0; - - /// It's assumed that i_rSearchedName is an absolute name. - virtual const CodeEntity * - Search_CeAbsolute( - const CodeEntity & i_curScope, - const QualifiedName & - i_absoluteName ) const = 0; - virtual const CodeEntity * - Search_CeLocal( - const String & i_relativeName, - bool i_isFunction, - const Namespace & i_curNamespace, - const Class * i_curClass ) const = 0; - virtual void Get_QualifiedName( - StreamStr & o_result, - const String & i_localName, - Ce_id i_owner, - const char * i_delimiter = "::" ) const = 0; - virtual void Get_SignatureText( - StreamStr & o_rOut, - const OperationSignature & - i_signature, - const StringVector * - i_sParameterNames = 0 ) const = 0; - virtual CesResultList - Search_TypeName( - const String & i_sName ) const = 0; - // ACCESS - virtual Namespace & GlobalNamespace() = 0; -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/cp_def.hxx b/autodoc/inc/ary/cpp/cp_def.hxx deleted file mode 100644 index 8fd44074523b..000000000000 --- a/autodoc/inc/ary/cpp/cp_def.hxx +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CP_DEF_HXX -#define ARY_CPP_CP_DEF_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ -namespace cpp -{ - class Define; - class InputContext; - class Macro; -} -} - - - - -namespace ary -{ -namespace cpp -{ - - - -/** Acess to C++ defines and macros in the repository. -*/ -class DefPilot -{ - public: - typedef DefsList::const_iterator DefsIterator; - - - - // LIFECYCLE - virtual ~DefPilot() {} - - - // OPERATIONS - virtual Define & Store_Define( - const InputContext& i_rContext, - const String & i_sName, - const StringVector & - i_rDefinition ) = 0; - virtual Macro & Store_Macro( - const InputContext& i_rContext, - const String & i_sName, - const StringVector & - i_rParams, - const StringVector & - i_rDefinition ) = 0; - // INQUIRY - virtual const DefineEntity & - Find_Def( - De_id i_id ) const = 0; - virtual DefsResultList - AllDefines() const = 0; - virtual DefsResultList - AllMacros() const = 0; -}; - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/cp_type.hxx b/autodoc/inc/ary/cpp/cp_type.hxx deleted file mode 100644 index edc536fcea71..000000000000 --- a/autodoc/inc/ary/cpp/cp_type.hxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CP_TYPE_HXX -#define ARY_CPP_CP_TYPE_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ -namespace cpp -{ - class InputContext; - class Type; - class UsedType; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - - -/** Acess to all found C++ types (as they are used in declarations) - in the repository. -*/ -class TypePilot -{ - public: - - // LIFECYCLE - virtual ~TypePilot() {} - - - // OPERATIONS - virtual const Type & - CheckIn_UsedType( - const InputContext & - i_context, - DYN UsedType & pass_type ) = 0; - // INQUIRY - virtual const Type & - Find_Type( - Type_id i_type ) const = 0; - virtual bool Get_TypeText( - StreamStr & o_result, - Type_id i_type ) const = 0; - virtual bool Get_TypeText( - StreamStr & o_preName, /// ::ary::cpp:: - StreamStr & o_name, /// MyClass - StreamStr & o_postName, /// <TplArgument> * const & - Type_id i_type ) const = 0; - virtual Type_id Tid_Ellipse() const = 0; -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/inpcontx.hxx b/autodoc/inc/ary/cpp/inpcontx.hxx deleted file mode 100644 index 9fea2e2053b7..000000000000 --- a/autodoc/inc/ary/cpp/inpcontx.hxx +++ /dev/null @@ -1,219 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_INPCONTX_HXX -#define ARY_CPP_INPCONTX_HXX - - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <ary/cpp/c_types4cpp.hxx> - - - -namespace ary -{ -namespace loc -{ - class File; -} -namespace cpp -{ - class Gate; - class Namespace; - class Class; - class Enum; - - class OperationSignature; -} -} - - - -namespace ary -{ -namespace cpp -{ - - -/** The context of a CodeEntity, which is going to be stored in the - repository. The information is used mainly by ->ary::cpp::CeAdmin. -*/ -class InputContext -{ - public: - class Owner - { - public: - // LIFECYCLE - virtual ~Owner() {} - - // OPERATIONS - /// Adds Class data to current inner scope (Namespace or Class). - void Add_Class( - const String & i_sLocalName, - Cid i_nId ); - /// Adds Enum data to current inner scope (Namespace or Class). - void Add_Enum( - const String & i_sLocalName, - Cid i_nId ); - /// Adds Typedef data to current inner scope (Namespace or Class). - void Add_Typedef( - const String & i_sLocalName, - Cid i_nId ); - /// Adds Operation data to current inner scope (Namespace or Class). - void Add_Operation( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsStaticMember ); /// True only for static class members. - /// Adds Variable data to current inner scope (Namespace or Class). - void Add_Variable( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsConst, - bool i_bIsStaticMember ); /// True only for static class members. - // INQUIRY - Ce_id CeId() const; - - /** @attention Must only be used by ary::cpp::GatePilot! - Will work nowhere else! - */ - virtual bool HasClass( - const String & i_sLocalName ) = 0; - private: - virtual void do_Add_Class( - const String & i_sLocalName, - Cid i_nId ) = 0; - virtual void do_Add_Enum( - const String & i_sLocalName, - Cid i_nId ) = 0; - virtual void do_Add_Typedef( - const String & i_sLocalName, - Cid i_nId ) = 0; - virtual void do_Add_Operation( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsStatic ) = 0; - virtual void do_Add_Variable( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsConst, - bool i_bIsStatic ) = 0; - virtual Ce_id inq_CeId() const = 0; - }; - - // LIFECYCLE - virtual ~InputContext() {} - - // OPERATIONS - - // INQUIRY - loc::File & CurFile() const; - - Namespace & CurNamespace() const; - Class * CurClass() const; - Enum * CurEnum() const; - - Owner & CurOwner() const; - E_Protection CurProtection() const; - - private: - virtual loc::File & inq_CurFile() const = 0; - - virtual Namespace & inq_CurNamespace() const = 0; - virtual Class * inq_CurClass() const = 0; - virtual Enum * inq_CurEnum() const = 0; - - virtual Owner & inq_CurOwner() const = 0; - virtual E_Protection - inq_CurProtection() const = 0; -}; - - - - -// IMPLEMENTATION -inline loc::File & -InputContext::CurFile() const - { return inq_CurFile(); } - -inline Namespace & -InputContext::CurNamespace() const - { return inq_CurNamespace(); } -inline Class * -InputContext::CurClass() const - { return inq_CurClass(); } -inline Enum * -InputContext::CurEnum() const - { return inq_CurEnum(); } -inline InputContext::Owner & -InputContext::CurOwner() const - { return inq_CurOwner(); } -inline E_Protection -InputContext::CurProtection() const - { return inq_CurProtection(); } - - -inline void -InputContext::Owner::Add_Class( const String & i_sLocalName, - Cid i_nId ) - { do_Add_Class(i_sLocalName, i_nId); } -inline void -InputContext::Owner::Add_Enum( const String & i_sLocalName, - Cid i_nId ) - { do_Add_Enum(i_sLocalName, i_nId); } -inline void -InputContext::Owner::Add_Typedef( const String & i_sLocalName, - Cid i_nId ) - { do_Add_Typedef(i_sLocalName, i_nId); } -inline void -InputContext::Owner::Add_Operation( const String & i_sLocalName, - Cid i_nId, - bool i_bIsStatic ) - { do_Add_Operation( i_sLocalName, i_nId, i_bIsStatic ); } -inline void -InputContext::Owner::Add_Variable( const String & i_sLocalName, - Cid i_nId, - bool i_bIsConst, - bool i_bIsStatic ) - { do_Add_Variable( i_sLocalName, i_nId, i_bIsConst, i_bIsStatic ); } -inline Ce_id -InputContext::Owner::CeId() const - { return inq_CeId(); } - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/namechain.hxx b/autodoc/inc/ary/cpp/namechain.hxx deleted file mode 100644 index 9e85b4ee4b0d..000000000000 --- a/autodoc/inc/ary/cpp/namechain.hxx +++ /dev/null @@ -1,143 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_NAMECHAI_HXX -#define ARY_CPP_NAMECHAI_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER - - -namespace ary -{ -namespace cpp -{ - class Gate; - -namespace ut -{ - class List_TplParameter; - -class NameSegment -{ - public: - NameSegment( - const char * i_sName ); - /** @precond MPT pTemplate. - This cannot be used, except of inserting a new element - in the segment list of ary::cpp::ut::NameChain. In that - case, the template parameter list doe snot yet exist. - */ - NameSegment( - const NameSegment & i_rSeg ); - ~NameSegment(); - - // OPERATIONS - List_TplParameter & AddTemplate(); - - // INQUIRY - const String & Name() const; - - /// @return as strcmp(). - intt Compare( - const NameSegment & i_rOther ) const; - void Get_Text_AsScope( - StreamStr & o_rOut, - const ary::cpp::Gate & - i_rGate ) const; - void Get_Text_AsMainType( - StreamStr & o_rName, - StreamStr & o_rPostName, - const ary::cpp::Gate & - i_rGate ) const; - - NameSegment& operator=(const NameSegment&); - private: - String sName; - Dyn<List_TplParameter> - pTemplate; -}; - -class NameChain -{ - public: - typedef std::vector<NameSegment>::const_iterator - const_iterator; - - NameChain(); - ~NameChain(); - - // OPERATIONS - void Add_Segment( - const char * i_sSeg ); - /** @precond aSegments.size() > 0. - Which means: Add_Segment() has to be called at least once before. - */ - List_TplParameter & Templatize_LastSegment(); - - // INQUIRY - const_iterator begin() const { return aSegments.begin(); } - const_iterator end() const { return aSegments.end(); } - - /// @return like strcmp. - intt Compare( - const NameChain & i_rChain ) const; - /// @ATTENTION Return value is volatile. Not reentrance enabled. - const String & LastSegment() const; - - void Get_Text( - StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const ary::cpp::Gate & - i_rGate ) const; - private: - std::vector< NameSegment > - aSegments; -}; - - - -// IMPLEMENTATION -inline const String & -NameSegment::Name() const - { return sName; } - - - - - - -} // namespace ut -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/cpp/usedtype.hxx b/autodoc/inc/ary/cpp/usedtype.hxx deleted file mode 100644 index b7f6d68ac4cc..000000000000 --- a/autodoc/inc/ary/cpp/usedtype.hxx +++ /dev/null @@ -1,215 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_USEDTYPE_HXX -#define ARY_CPP_USEDTYPE_HXX - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/c_type.hxx> - // OTHER -#include <ary/cpp/namechain.hxx> - -namespace ary -{ -namespace cpp -{ - class CePilot; - -namespace ut -{ - class List_TplParameter; -} -} -} - - - - -namespace ary -{ -namespace cpp -{ - - -/** This class represents a type in textual form, like it is parsed out of - source code as a variable type or function return type. -*/ -class UsedType : public Type -{ - public: - enum E_ClassId { class_id = 1203 }; - - explicit UsedType( - Ce_id i_scope ); - ~UsedType(); - // OPERATORS - bool operator<( - const UsedType & i_rType ) const; - // OPERATIONS - - // Operations to build up the used type from parsing: - void Set_Absolute(); /// "::" is in front. - void Add_NameSegment( - const char * i_sSeg ); - ut::List_TplParameter & - Enter_Template(); - void Set_Unsigned(); - void Set_Signed(); - void Set_BuiltIn( - const char * i_sType ); - void Set_Const(); /// Sets CV to the type or the present pointer level, whatever is highest. - void Set_Volatile(); /// Sets CV to the type or the present pointer level, whatever is highest. - void Add_PtrLevel(); /// For an '*'. - void Set_Reference(); /// For an '&'. - - // Operations to find the relating CodeEntity: - /** This needs to be called only one time. After that - RelatedCe() will return the value. - - When connectiing all parsed types, there are three steps: - 1. Find related types in the same scope and namespaces above. - 2. Then all classes can be connected to their base classes. - 3. Lastly types can be connected to Ces only known via their base - classes. This is not possible at step 1. - - @see Connect2CeOnlyKnownViaBaseClass() - */ - void Connect2Ce( - const CePilot & i_ces ); - - /** @see Connect2Ce() - */ - void Connect2CeOnlyKnownViaBaseClass( - const Gate & i_gate ); - - // INQUIRY - /** @return True, if type consists of one built-in typename and - nothing else. - */ - bool IsBuiltInType() const; - /** @return the full local name, including template instantiation, but without - '*','&' or modifiers. - */ - const String & LocalName() const; - E_TypeSpecialisation - TypeSpecialisation() const; - - private: - // Interface csv::ConstProcessorClient - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - - // Interface ary::Object: - virtual ClassId get_AryClass() const; - - // Interface ary::cpp::Type: - virtual Rid inq_RelatedCe() const; - virtual bool inq_IsConst() const; - virtual void inq_Get_Text( - StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const ary::cpp::Gate & - i_rGate ) const; - // Local - typedef std::vector< ary::cpp::E_ConVol > PtrLevelVector; - - uintt PtrLevel() const { return uintt(aPtrLevels.size()); } - Ce_id RecursiveSearchCe_InBaseClassesOf( - const CodeEntity & i_mayBeClass, - const StringVector & - i_myQualification, - const String & i_myName, - const Gate & i_gate ) const; - void Get_NameParts( - StringVector & o_qualification, - String & o_name ); - - // Forbidden functions - UsedType( - const UsedType & i_rType ); - bool operator=( - const UsedType & i_rType ); - - // DATA - ut::NameChain aPath; - PtrLevelVector aPtrLevels; - ary::cpp::E_ConVol eConVol_Type; - bool bIsReference; - bool bIsAbsolute; - bool bRefers2BuiltInType; - E_TypeSpecialisation - eTypeSpecialisation; - Ce_id nRelatedCe; - - /// Namespace or class scope where the type occurred. - Ce_id nScope; -}; - - -namespace ut -{ - class TemplateParameter; - -class List_TplParameter -{ - public: - typedef std::vector< DYN TemplateParameter * >::const_iterator const_iterator; - - List_TplParameter(); - ~List_TplParameter(); - - void AddParam_Type( - Type_id i_nType ); - /// puts "< " TemplateArgumentList " >" to o_rOut. - void Get_Text( - StreamStr & o_rOut, - const ary::cpp::Gate & - i_rGate ) const; - /// @return as strcmp(). - intt Compare( - const List_TplParameter & - i_rOther ) const; - - private: - typedef std::vector< DYN TemplateParameter * > Vector_TplArgument; - - Vector_TplArgument aTplParameters; -}; - -} // namespace ut - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/doc/d_boolean.hxx b/autodoc/inc/ary/doc/d_boolean.hxx deleted file mode 100644 index 1bf7bc3e307e..000000000000 --- a/autodoc/inc/ary/doc/d_boolean.hxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_DOC_D_BOOLEAN_HXX -#define ARY_DOC_D_BOOLEAN_HXX - -// BASE CLASSES -#include <ary/doc/d_node.hxx> - -// USED SERVICES - - - - -namespace ary -{ -namespace doc -{ - - -/** Repesents a boolean documentation item like "optional" or "not optional". -*/ -class Boolean : public Node -{ - public: - // LIFECYCLE - explicit Boolean( - nodetype::id i_type ); - virtual ~Boolean(); - - // OPERATIONS - void Set( - bool i_b ); - // INQUIRY - bool IsTrue() const; - - private: - // Interface csv::ConstProcessorClient: - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // DATA - bool b; -}; - - - - -// IMPLEMENTATION -inline -Boolean::Boolean(nodetype::id i_type) - : Node(i_type), - b(false) -{ -} - -inline bool -Boolean::IsTrue() const -{ - return b; -} - -inline void -Boolean::Set( bool i_b ) -{ - b = i_b; -} - - - -} // namespace doc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/doc/d_oldcppdocu.hxx b/autodoc/inc/ary/doc/d_oldcppdocu.hxx deleted file mode 100644 index 0429ab312d66..000000000000 --- a/autodoc/inc/ary/doc/d_oldcppdocu.hxx +++ /dev/null @@ -1,133 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_DOC_D_OLDCPPDOCU_HXX -#define ARY_DOC_D_OLDCPPDOCU_HXX -// KORR_DEPRECATED_3.0 - -// BASE CLASSES -#include <ary/doc/d_node.hxx> -// USED SERVICES -#include <ary/info/inftypes.hxx> -#include <ary/ary_disp.hxx> - -namespace ary -{ -namespace info -{ - class AtTag; - class DocuStore; -} -} - - - - -namespace ary -{ -namespace doc -{ - using ::ary::info::AtTag; - using ::ary::info::E_AtTagId; - - -/** Wrapper class for old C++ documentation format. - - To be replaced by using the standard format. -*/ -class OldCppDocu : public Node -{ - public: - typedef std::vector< DYN AtTag * > TagList; - - // LIFECYCLE - OldCppDocu(); - virtual ~OldCppDocu(); - - void Store2( - info::DocuStore & o_rDocuStore ); - - virtual AtTag * Create_StdTag( - E_AtTagId i_eId ); - virtual AtTag * CheckIn_BaseTag(); - virtual AtTag * CheckIn_ExceptionTag(); - virtual AtTag * Create_ImplementsTag(); - virtual AtTag * Create_KeywordTag(); - virtual AtTag * CheckIn_ParameterTag(); - virtual AtTag * CheckIn_SeeTag(); - virtual AtTag * CheckIn_TemplateTag(); - virtual AtTag * Create_LabelTag(); - virtual AtTag * Create_DefaultTag(); - virtual AtTag * Create_SinceTag(); /// @return always the first one created. - - virtual void Replace_AtShort_By_AtDescr(); - - virtual void Set_Obsolete(); - virtual void Set_Internal(); - virtual void Set_Interface() { bIsInterface = true; } - - // INQUIRY - const TagList & Tags() const { return aTags; } - const AtTag & Short() const; - bool IsObsolete() const { return bIsObsolete; } - virtual bool IsInternal() const; - virtual bool IsInterface() const; - - private: - // Interface csv::ConstProcessorClient: - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // DATA - unsigned char nTags[ary::info::C_eAtTag_NrOfClasses]; - - /** Creates a new AtTag at the end of aTags. - The index of this new AtTag is inserted in nTags at position - i_nIndex. - */ - AtTag * & NewTag( - UINT8 i_nIndex ); - /** Returns the Tag with the position nTags[i_nIndex] - in aTags. - */ - AtTag & GetTag( - UINT8 i_nIndex ); - - TagList aTags; - bool bIsObsolete; - bool bIsInternal; - bool bIsInterface; -}; - - - - -} // namespace doc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_dir.hxx b/autodoc/inc/ary/loc/loc_dir.hxx deleted file mode 100644 index f8abf70cf062..000000000000 --- a/autodoc/inc/ary/loc/loc_dir.hxx +++ /dev/null @@ -1,148 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_DIR_HXX -#define ARY_LOC_DIR_HXX - -// BASE CLASSES -#include <ary/loc/loc_le.hxx> - -// USED SERVICES -#include <ary/loc/loc_traits.hxx> -#include <ary/symtreenode.hxx> - -namespace ary -{ -namespace loc -{ - class File; -} -} - - - - -namespace ary -{ -namespace loc -{ - - -/** Represents a directory for source code files. -*/ -class Directory : public LocationEntity -{ - public: - enum E_ClassId { class_id = 7030 }; - - typedef ::ary::symtree::Node<LeNode_Traits> node_t; - - /// Used for root directories. - explicit Directory( - Le_id i_assignedRoot ); - - /// Used for subdirectories which have a parent directory. - Directory( - const String & i_localName, - Le_id i_parentDirectory ); - virtual ~Directory(); - - void Add_Dir( - const Directory & i_dir ); - void Add_File( - const File & i_file ); - - Le_id Parent() const; - Le_id AssignedRoot() const; - - Le_id Search_Dir( - const String & i_name ) const; - Le_id Search_File( - const String & i_name ) const; - - const node_t & AsNode() const; - node_t & AsNode(); - - private: - struct Container; - - // Interface csv::ConstProcessorClient: - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // Interface ary::Object: - virtual ClassId get_AryClass() const; - - // Interface LocationEntity: - virtual const String & - inq_LocalName() const; - virtual Le_id inq_ParentDirectory() const; - - // DATA - String sLocalName; - Le_id nParentDirectory; - Le_id nAssignedRoot; - node_t aAssignedNode; - Dyn<Container> pChildren; -}; - - - - -// IMPLEMENTATION -inline Le_id -Directory::Parent() const -{ - return nParentDirectory; -} - -inline Le_id -Directory::AssignedRoot() const -{ - return nAssignedRoot; -} - -inline const Directory::node_t & -Directory::AsNode() const -{ - return aAssignedNode; -} - -inline Directory::node_t & -Directory::AsNode() -{ - return aAssignedNode; -} - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_file.hxx b/autodoc/inc/ary/loc/loc_file.hxx deleted file mode 100644 index 1afdd650a7c1..000000000000 --- a/autodoc/inc/ary/loc/loc_file.hxx +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_FILE_HXX -#define ARY_LOC_FILE_HXX - -// BASE CLASSES -#include <ary/loc/loc_filebase.hxx> - - - - -namespace ary -{ -namespace loc -{ - - -/** Represents an unspecified source code file. -*/ -class File : public FileBase -{ - public: - enum E_ClassId { class_id = 7100 }; - - File( - const String & i_sLocalName, - Le_id i_nParentDirectory ); - virtual ~File(); - - private: - // Interface csv::ConstProcessorClient: - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // Interface ary::Object: - virtual ClassId get_AryClass() const; -}; - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_filebase.hxx b/autodoc/inc/ary/loc/loc_filebase.hxx deleted file mode 100644 index 04550d4c8da4..000000000000 --- a/autodoc/inc/ary/loc/loc_filebase.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_FILEBASE_HXX -#define ARY_LOC_FILEBASE_HXX - -// USED SERVICES - // BASE CLASSES -#include <ary/loc/loc_le.hxx> - // COMPONENTS - // PARAMETERS - - -namespace ary -{ -namespace loc -{ - - - -/** Base class for classes representing source code files. -*/ -class FileBase : public LocationEntity -{ - public: - virtual ~FileBase() {} - - protected: - FileBase( - const String & i_localName , - Le_id i_parentDirectory ); - private: - // Interface LocationEntity: - virtual const String & - inq_LocalName() const; - virtual Le_id inq_ParentDirectory() const; - - // DATA - String sLocalName; - Le_id nParentDirectory; -}; - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_le.hxx b/autodoc/inc/ary/loc/loc_le.hxx deleted file mode 100644 index b2c0e602083e..000000000000 --- a/autodoc/inc/ary/loc/loc_le.hxx +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_LE_HXX -#define ARY_LOC_LE_HXX - -// USED SERVICES - // BASE CLASSES -#include <ary/entity.hxx> - // COMPONENTS - // PARAMETERS -#include <ary/loc/loc_types4loc.hxx> -#include <ary/loc/loc_traits.hxx> - - - -namespace ary -{ -namespace loc -{ - - -/** Base class for all file locations in the Autodoc repository. -*/ -class LocationEntity : public ::ary::Entity -{ - public: - typedef Le_Traits traits_t; - - virtual ~LocationEntity() {} - - Le_id LeId() const; - const String & LocalName() const; - Le_id ParentDirectory() const; - - private: - virtual const String & - inq_LocalName() const = 0; - virtual Le_id inq_ParentDirectory() const = 0; -}; - - - - -// IMPLEMENTATION -inline Le_id -LocationEntity::LeId() const -{ - return TypedId<LocationEntity>(Id()); -} - -inline const String & -LocationEntity::LocalName() const -{ - return inq_LocalName(); -} - -inline Le_id -LocationEntity::ParentDirectory() const -{ - return inq_ParentDirectory(); -} - - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_root.hxx b/autodoc/inc/ary/loc/loc_root.hxx deleted file mode 100644 index e8b3a66b6209..000000000000 --- a/autodoc/inc/ary/loc/loc_root.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_PROJECT_HXX -#define ARY_LOC_PROJECT_HXX - -// BASE CLASSES -#include <ary/loc/loc_le.hxx> -// USED SERVICES -#include <cosv/ploc.hxx> -#include <ary/loc/loc_dir.hxx> - - - - -namespace ary -{ -namespace loc -{ - - -/** Represents a root directory for source files. -*/ -class Root : public LocationEntity -{ - public: - enum E_ClassId { class_id = 7000 }; - - explicit Root( - const csv::ploc::Path & - i_rRootDirectoryPath ); - void Assign_Directory( - Le_id i_assignedDirectory ); - virtual ~Root(); - - // INQUIRY - const csv::ploc::Path & - Path() const; - Le_id MyDir() const; - - private: - // Interface csv::ConstProcessorClient: - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - // Interface ary::Object: - virtual ClassId get_AryClass() const; - - // Interface LocationEntity: - virtual const String & - inq_LocalName() const; - virtual Le_id inq_ParentDirectory() const; - - // DATA - csv::ploc::Path aPath; - String sPathAsString; - Le_id aMyDirectory; -}; - - - - -// IMPLEMENTATION -inline void -Root::Assign_Directory(Le_id i_assignedDirectory) -{ - aMyDirectory = i_assignedDirectory; -} - -inline const csv::ploc::Path & -Root::Path() const -{ - return aPath; -} - -inline Le_id -Root::MyDir() const -{ - return aMyDirectory; -} - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_traits.hxx b/autodoc/inc/ary/loc/loc_traits.hxx deleted file mode 100644 index d07fdeebf334..000000000000 --- a/autodoc/inc/ary/loc/loc_traits.hxx +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_TRAITS_HXX -#define ARY_LOC_TRAITS_HXX - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS -#include <ary/loc/loc_types4loc.hxx> - - -namespace ary -{ -namespace symtree -{ - template <class> class Node; -} -} - - - - -namespace ary -{ -namespace loc -{ - - - -/** Basic traits for derived ones of ->LocationEntity. -*/ -struct Le_Traits -{ - typedef LocationEntity entity_base_type; - typedef Le_id id_type; - - static entity_base_type & - EntityOf_( - id_type i_id ); -}; - - -/** An instance of SYMBOL_TRAITS for ->::ary::symtree::Node. - - @see ::ary::symtree::Node -*/ -struct LeNode_Traits : public Le_Traits -{ - static symtree::Node<LeNode_Traits> * - NodeOf_( - entity_base_type & i_entity ); - - static entity_base_type * - ParentOf_( - const entity_base_type & - i_entity ); - template <class KEY> - static id_type Search_( - const entity_base_type & - i_entity, - const KEY & i_localKey ); -}; - - - -/** An instance of COMPARE for ->::ary::SortedIds<>. - - @see ::ary::SortedIds<> -*/ -struct Le_Compare : public Le_Traits -{ - typedef String key_type; - - static const key_type & - KeyOf_( - const entity_base_type & - i_entity ); - static bool Lesser_( - const key_type & i_1, - const key_type & i_2 ); -}; - - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/loc_types4loc.hxx b/autodoc/inc/ary/loc/loc_types4loc.hxx deleted file mode 100644 index 64b2a0b76261..000000000000 --- a/autodoc/inc/ary/loc/loc_types4loc.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_TYPES4LOC_HXX -#define ARY_LOC_TYPES4LOC_HXX - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS -#include <ary/types.hxx> - - -namespace ary -{ -namespace loc -{ - -class LocationEntity; - - - -typedef ::ary::TypedId<LocationEntity> Le_id; - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/loc/locp_le.hxx b/autodoc/inc/ary/loc/locp_le.hxx deleted file mode 100644 index 1d6f201cdf6b..000000000000 --- a/autodoc/inc/ary/loc/locp_le.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOCP_LE_HXX -#define ARY_LOCP_LE_HXX - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS -#include <cosv/ploc.hxx> -#include <ary/loc/loc_types4loc.hxx> - - -namespace ary -{ -namespace loc -{ - class Root; - class Directory; - class File; -} -} - - -namespace ary -{ -namespace loc -{ - - - -/** Provides access to files and directories stored in the - repository. -*/ -class LocationPilot -{ - public: - virtual ~LocationPilot() {} - - virtual Root & CheckIn_Root( - const csv::ploc::Path & - i_rPath ) = 0; - virtual File & CheckIn_File( - const String & i_name, - const csv::ploc::DirectoryChain & - i_subPath, - Le_id i_root ) = 0; - - virtual Root & Find_Root( - Le_id i_id ) const = 0; - virtual Directory & Find_Directory( - Le_id i_id ) const = 0; - virtual File & Find_File( - Le_id i_id ) const = 0; -}; - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/sequentialids.hxx b/autodoc/inc/ary/sequentialids.hxx deleted file mode 100644 index 828ad1f310e1..000000000000 --- a/autodoc/inc/ary/sequentialids.hxx +++ /dev/null @@ -1,156 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_SEQUENTIALIDS_HXX -#define ARY_SEQUENTIALIDS_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER -#include <algorithm> - - - -namespace ary -{ - - -/** Implementation of a set of children to an entity in the Autodoc - repository. The children are in the sequence of addition. -*/ -template<class ID> -class SequentialIds -{ - public: - typedef std::vector<ID> data_t; - typedef typename data_t::const_iterator const_iterator; - - // LIFECYCLE - explicit SequentialIds( - std::size_t i_reserve = 0 ); - ~SequentialIds(); - - // OPERATIONS - void Add( - const ID & i_child ); - // INQUIRY - const_iterator Begin() const; - const_iterator End() const; - std::size_t Size() const; - - template <class IDENTIFY> - ID Find( - IDENTIFY i_find ) const; - template <class IDENTIFY> - // Workaround for Solaris8 compiler: return type has to match alphabetically - typename std::vector<ID>::const_iterator - Search( - IDENTIFY i_find ) const; - private: - // DATA - data_t aData; -}; - - - - - - - -// IMPLEMENTATION - -template <class ID> -SequentialIds<ID>::SequentialIds(std::size_t i_reserve) - : aData() -{ - if (i_reserve > 0) - aData.reserve(i_reserve); -} - -template <class ID> -SequentialIds<ID>::~SequentialIds() -{ -} - -template <class ID> -inline void -SequentialIds<ID>::Add(const ID & i_child) -{ - aData.push_back(i_child); -} - -template <class ID> -inline typename SequentialIds<ID>::const_iterator -SequentialIds<ID>::Begin() const -{ - return aData.begin(); -} - -template <class ID> -inline typename SequentialIds<ID>::const_iterator -SequentialIds<ID>::End() const -{ - return aData.end(); -} - -template <class ID> -inline std::size_t -SequentialIds<ID>::Size() const -{ - return aData.size(); -} - -template <class ID> -template <class IDENTIFY> -ID -SequentialIds<ID>::Find(IDENTIFY i_find) const -{ - const_iterator - ret = std::find_if(aData.begin(), aData.end(), i_find); - csv_assert(ret != aData.end()); - return *ret; -} - -template <class ID> -template <class IDENTIFY> -// Workaround for Solaris8 compiler: return type has to match alphabetically -// typename SequentialIds<ID>::const_iterator -typename std::vector<ID>::const_iterator -SequentialIds<ID>::Search(IDENTIFY i_find) const -{ - return std::find_if(aData.begin(), aData.end(), i_find); -} - - - - -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/ary/symtreenode.hxx b/autodoc/inc/ary/symtreenode.hxx deleted file mode 100644 index 8686e8837197..000000000000 --- a/autodoc/inc/ary/symtreenode.hxx +++ /dev/null @@ -1,347 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_SYMTREE_NODE_HXX -#define ARY_SYMTREE_NODE_HXX - - -// USED SERVICES - // BASE CLASSES - // OTHER - - - -namespace ary -{ -namespace symtree -{ - - - -/** Represents a node in a tree of symbols like a namespace tree or a - directory tree. - - @tpl NODE_TRAITS - Needs to define the types: - entity_base_type: The type of the entities in that storage, - e.g. ->ary::cpp::CodeEntity. - id_type: The type of the ids of those entities, - e.g. ->ary::cpp::Ce_id. - - Needs to define the functions: - 1. static entity_base_type & - EntityOf_( - id_type i_id ); - 2. static symtree::Node<LeNode_Traits> * - NodeOf_( - const entity_base_type & - i_entity ); - 3. static const String & - LocalNameOf_( - const entity_base_type & - i_entity ); - 4. static entity_base_type * - ParentOf_( - const entity_base_type & - i_entity ); - 5. template <class KEY> - static id_t Search_( - const entity_base_type & - i_entity, - const KEY & i_localKey ); -*/ -template <class NODE_TRAITS> -class Node -{ - public: - typedef Node<NODE_TRAITS> node_self; - typedef typename NODE_TRAITS::entity_base_type entity_t; - typedef typename NODE_TRAITS::id_type id_t; - - - // LIFECYCLE - /// @attention Always needs to be followed by ->Assign_Entity()! - Node(); - explicit Node( - entity_t & i_entity ); - void Assign_Entity( - entity_t & i_entity ); - ~Node(); - // INQUIRY - id_t Id(); - const String Name() const; - int Depth() const; - const entity_t & Entity() const; - const node_self * Parent() const; - - /** Gets a child with a specific name and of a specific type. - - There may be more children with the same name. - - @return id_t(0), if no matching child is found. - */ - template <class KEY> - typename NODE_TRAITS::id_type - Search( - const KEY & i_localKey ) const - { - // Inline here to workaround SUNW8 compiler bug, works in SUNW12. - return NODE_TRAITS::Search_(Entity(), i_localKey); - } - - - /** Gets a child with a specific qualified name below this node. - - The child may not exists. - */ - template <class KEY> - void SearchBelow( - id_t & o_return, // Workaround SUNW8 compiler bug - StringVector::const_iterator - i_qualifiedSearchedName_begin, - StringVector::const_iterator - i_qualifiedSearchedName_end, - const KEY & i_localKey ) const; - - /** Gets a child with a specific qualified name, either below this node - or below any of the parent nodes. - - The child may not exists. - */ - template <class KEY> - void SearchUp( - id_t & o_return, // Workaround SUNW8 compiler bug - StringVector::const_iterator - i_qualifiedSearchedName_begin, - StringVector::const_iterator - i_qualifiedSearchedName_end, - const KEY & i_localKey ) const; - // ACCESS - entity_t & Entity(); - node_self * Parent(); - - private: - // Forbid copying: - Node(const node_self&); - node_self& operator=(const node_self&); - - // Locals - void InitDepth(); - node_self * Get_Parent() const; - node_self * NodeOf( - id_t i_id ) const; - - // DATA - entity_t * pEntity; - int nDepth; -}; - - - - -// IMPLEMENTATION - -template <class NODE_TRAITS> -inline const typename Node<NODE_TRAITS>::entity_t & -Node<NODE_TRAITS>::Entity() const -{ - csv_assert(pEntity != 0); - return *pEntity; -} - -template <class NODE_TRAITS> -inline Node<NODE_TRAITS> * -Node<NODE_TRAITS>::NodeOf(id_t i_id) const -{ - if (i_id.IsValid()) - return NODE_TRAITS::NodeOf_(NODE_TRAITS::EntityOf_(i_id)); - return 0; -} - -template <class NODE_TRAITS> -inline Node<NODE_TRAITS> * -Node<NODE_TRAITS>::Get_Parent() const -{ - entity_t * - parent = NODE_TRAITS::ParentOf_(Entity()); - if (parent != 0) - return NODE_TRAITS::NodeOf_(*parent); - return 0; -} - -template <class NODE_TRAITS> -Node<NODE_TRAITS>::Node() - : pEntity(0), - nDepth(0) -{ -} - -template <class NODE_TRAITS> -Node<NODE_TRAITS>::Node(entity_t & i_entity) - : pEntity(&i_entity), - nDepth(0) -{ - InitDepth(); -} - -template <class NODE_TRAITS> -void -Node<NODE_TRAITS>::Assign_Entity(entity_t & i_entity) -{ - pEntity = &i_entity; - InitDepth(); -} - -template <class NODE_TRAITS> -Node<NODE_TRAITS>::~Node() -{ -} - -template <class NODE_TRAITS> -inline typename Node<NODE_TRAITS>::id_t -Node<NODE_TRAITS>::Id() -{ - return NODE_TRAITS::IdOf(Entity()); -} - -template <class NODE_TRAITS> -inline const String -Node<NODE_TRAITS>::Name() const -{ - return NODE_TRAITS::LocalNameOf_(Entity()); -} - -template <class NODE_TRAITS> -inline int -Node<NODE_TRAITS>::Depth() const -{ - return nDepth; -} - -template <class NODE_TRAITS> -inline const Node<NODE_TRAITS> * -Node<NODE_TRAITS>::Parent() const -{ - return Get_Parent(); -} - -template <class NODE_TRAITS> -template <class KEY> -void -Node<NODE_TRAITS>::SearchBelow( - id_t & o_return, // Workaround SUNW8 compiler bug - StringVector::const_iterator i_qualifiedSearchedName_begin, - StringVector::const_iterator i_qualifiedSearchedName_end, - const KEY & i_localKey ) const -{ - if (i_qualifiedSearchedName_begin != i_qualifiedSearchedName_end) - { - id_t - next = Search(*i_qualifiedSearchedName_begin); - if (next.IsValid()) - { - const node_self * - subnode = NodeOf(next); - if (subnode != 0) - { - subnode->SearchBelow( o_return, - i_qualifiedSearchedName_begin+1, - i_qualifiedSearchedName_end , - i_localKey ); - return; - } - } - o_return = id_t(0); - return; - } - - o_return = Search(i_localKey); -} - -template <class NODE_TRAITS> -template <class KEY> -void -Node<NODE_TRAITS>::SearchUp( - id_t & o_return, // Workaround SUNW8 compiler bug - StringVector::const_iterator i_qualifiedSearchedName_begin, - StringVector::const_iterator i_qualifiedSearchedName_end, - const KEY & i_localKey ) const -{ - SearchBelow( o_return, - i_qualifiedSearchedName_begin, - i_qualifiedSearchedName_end, - i_localKey ); - if (o_return.IsValid()) - return; - - node_self * - parent = Get_Parent(); - if (parent != 0) - { - parent->SearchUp( o_return, - i_qualifiedSearchedName_begin, - i_qualifiedSearchedName_end, - i_localKey ); - } -} - -template <class NODE_TRAITS> -typename Node<NODE_TRAITS>::entity_t & -Node<NODE_TRAITS>::Entity() -{ - csv_assert(pEntity != 0); - return *pEntity; -} - -template <class NODE_TRAITS> -inline Node<NODE_TRAITS> * -Node<NODE_TRAITS>::Parent() -{ - return Get_Parent(); -} - -template <class NODE_TRAITS> -void -Node<NODE_TRAITS>::InitDepth() -{ - Node<NODE_TRAITS> * - pp = Get_Parent(); - if (pp != 0) - nDepth = pp->Depth() + 1; - else - nDepth = 0; -} - - - - -} // namespace symtree -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/inc/autodoc/displaying.hxx b/autodoc/inc/autodoc/displaying.hxx index 96bd66c0ad71..b16fa84a810c 100644 --- a/autodoc/inc/autodoc/displaying.hxx +++ b/autodoc/inc/autodoc/displaying.hxx @@ -40,7 +40,6 @@ namespace display namespace autodoc { -class HtmlDisplay_UdkStd; class HtmlDisplay_Idl_Ifc; // class TextDisplay_FunctionList_Ifc; @@ -59,8 +58,6 @@ class DisplayToolsFactory_Ifc // virtual DYN autodoc::TextDisplay_FunctionList_Ifc * // Create_TextDisplay_FunctionList() const = 0; - virtual DYN autodoc::HtmlDisplay_UdkStd * - Create_HtmlDisplay_UdkStd() const = 0; virtual DYN autodoc::HtmlDisplay_Idl_Ifc * Create_HtmlDisplay_Idl() const = 0; diff --git a/autodoc/inc/autodoc/dsp_html_std.hxx b/autodoc/inc/autodoc/dsp_html_std.hxx index 78d75efe7e23..b674b2651dda 100644 --- a/autodoc/inc/autodoc/dsp_html_std.hxx +++ b/autodoc/inc/autodoc/dsp_html_std.hxx @@ -33,10 +33,6 @@ namespace ary { - namespace cpp - { - class Gate; - } namespace idl { class Gate; @@ -52,127 +48,6 @@ namespace display namespace autodoc { - -class HtmlDisplay_UdkStd -{ - public: - virtual ~HtmlDisplay_UdkStd() {} - - /** Displays the names of several C++ code entities within the - given namespace (or the global namespace as default). All - subnamespaces are included. - - Output has following format: - - ========================================================================= - OutputDirectory - index.html - def-all.html - prj\ - sal\ - index.html // Overview about project - - f-FileName[1,2,...] // Overview about file - f-OtherFileName[1,2,...] - ... - def-FileName[1,2,...] // #defines and macros in file - def-OtherFileName[1,2,...] - ... - rtl\ - ... - cppu\ - ... - cppuhelper\ - ... - ... - ix\ - ix-a.html - ix-b.html - ... - ix-z.html - ix-_.html - ix-other.html - - cpp\ - index.html // Overview about global namespace - - Namespace_A\ - Namespace_C\ - index.html // Overview about namespace C - ... - ... - - index.html // Overview about namespace A - - c-ClassName_X.html // Description of class - ... - e-EnumName.html // Description of enum - ... - t-TypedefName.html // Description of typedef - ... - o-Filename.html // Descriptions of operations in this file in this namespace - ... - d-Filename.html // Descriptions of data in this file in this namespace - ... - - ClassName_X\ - c-ClassName_Y.html - e-EnumName.html - t-TypedefName.html - o.html // Descriptions of operations in class X - d.html // Descriptions of data in class X - - ClassName_Y\ - ... - ... - - idl\ - ... - java\ - ... - ========================================================================= - - - @param i_sOutputDirectory - Directory for output. Path must be given in correct - syntax for the actual operating system without final - path delimiter. If this is 0 or "", the current - working directory is chosen. - @param i_rAryGate - The access to the Autodoc Repository. - @param i_rLayout - Gives parameters for the appearance of the HTML output. - @param i_pProjectList - If this is != 0, then only code entities which are declared - in this projects are displayed. - */ - void Run( - const char * i_sOutputDirectory, - const ary::cpp::Gate & - i_rAryGate, - const display::CorporateFrame & - i_rLayout ); - private: - virtual void do_Run( - const char * i_sOutputDirectory, - const ary::cpp::Gate & - i_rAryGate, - const display::CorporateFrame & - i_rLayout ) = 0; -}; - -// IMPLEMENTATION - -inline void -HtmlDisplay_UdkStd::Run( const char * i_sOutputDirectory, - const ary::cpp::Gate & i_rAryGate, - const display::CorporateFrame & i_rLayout ) -{ - do_Run( i_sOutputDirectory, i_rAryGate, i_rLayout ); -} - - - // class HtmlDisplay_Idl_Ifc class HtmlDisplay_Idl_Ifc diff --git a/autodoc/inc/autodoc/parsing.hxx b/autodoc/inc/autodoc/parsing.hxx index d0073af86731..a91d9b197f73 100644 --- a/autodoc/inc/autodoc/parsing.hxx +++ b/autodoc/inc/autodoc/parsing.hxx @@ -34,7 +34,6 @@ namespace autodoc { -class CodeParser_Ifc; class DocumentationParser_Ifc; class FileCollector_Ifc; @@ -49,19 +48,6 @@ class ParseToolsFactory_Ifc static ParseToolsFactory_Ifc & GetIt_(); - virtual DYN autodoc::CodeParser_Ifc * - Create_Parser_Cplusplus() const = 0; - -// virtual DYN autodoc::CodeParser_Ifc * -// CreateParser_UnoIDL() const = 0; -// virtual DYN autodoc::CodeParser_Ifc * -// CreateParser_Java() const = 0; -// virtual DYN autodoc::CodeParser_Ifc * -// CreateParser_StoredProcedures() const = 0; - - virtual DYN autodoc::DocumentationParser_Ifc * - Create_DocuParser_AutodocStyle() const = 0; - // virtual DYN autodoc::DocumentationParser_Ifc * // CreateDocuParser_StarOfficeAPIStyle() const = 0; diff --git a/autodoc/inc/autodoc/prs_code.hxx b/autodoc/inc/autodoc/prs_code.hxx deleted file mode 100644 index 982fa91c6f79..000000000000 --- a/autodoc/inc/autodoc/prs_code.hxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef AUTODOC_PRS_CODE_HXX -#define AUTODOC_PRS_CODE_HXX - - - -namespace csv -{ - namespace ploc - { - class Path; - } -} - -namespace ary -{ - class Repository; -} - -namespace autodoc -{ - class FileCollector_Ifc; - class DocumentationParser_Ifc; - - - - -/** Interface for parsing code of a programming language and - delivering the information into an Autodoc Repository. -**/ -class CodeParser_Ifc -{ - public: - virtual ~CodeParser_Ifc() {} - - virtual void Setup( - ary::Repository & o_rRepository, - const autodoc::DocumentationParser_Ifc & - i_rDocumentationInterpreter ) = 0; - - virtual void Run( - const autodoc::FileCollector_Ifc & - i_rFiles ) = 0; -}; - - - - -} // namespace autodoc -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/prj/build.lst b/autodoc/prj/build.lst index c6ae87451fe2..d74fe9e0c9f1 100644 --- a/autodoc/prj/build.lst +++ b/autodoc/prj/build.lst @@ -1,22 +1,17 @@ ar autodoc : cosv udm sal NULL -ar autodoc\source\ary\cpp nmake - all ar_sr_cpp NULL ar autodoc\source\ary\doc nmake - all ar_sr_doc NULL ar autodoc\source\ary\idl nmake - all ar_sr_idl NULL ar autodoc\source\ary\info nmake - all ar_sr_info NULL ar autodoc\source\ary\kernel nmake - all ar_sr_kernel NULL -ar autodoc\source\ary\loc nmake - all ar_sr_loc NULL ar autodoc\source\ary_i\kernel nmake - all ar_sr_cinfo NULL ar autodoc\source\display\html nmake - all ar_sd_html NULL ar autodoc\source\display\kernel nmake - all ar_sd_kernel NULL ar autodoc\source\display\idl nmake - all ar_sd_idl NULL ar autodoc\source\display\toolkit nmake - all ar_sd_tkit NULL -ar autodoc\source\parser\adoc nmake - all ar_sp_adoc NULL -ar autodoc\source\parser\cpp nmake - all ar_sp_cpp NULL ar autodoc\source\parser\kernel nmake - all ar_sp_krnl NULL -ar autodoc\source\parser\semantic nmake - all ar_sp_sem NULL ar autodoc\source\parser\tokens nmake - all ar_sp_tok NULL ar autodoc\source\parser_i\idl nmake - all ar_sp2_idl NULL ar autodoc\source\parser_i\idoc nmake - all ar_sp2_idoc NULL ar autodoc\source\parser_i\tokens nmake - all ar_sp2_tok NULL ar autodoc\source\tools nmake - all ar_st NULL -ar autodoc\source\exes\adc_uni nmake - all ar_se_uni ar_sr_cpp ar_sr_doc ar_sr_idl ar_sr_info ar_sr_kernel ar_sr_loc ar_sr_cinfo ar_sd_html ar_sd_kernel ar_sd_idl ar_sp_adoc ar_sp_cpp ar_sp_krnl ar_sp_sem ar_sp_tok ar_sp2_idl ar_sd_tkit ar_sp2_idoc ar_sp2_tok ar_st NULL +ar autodoc\source\exes\adc_uni nmake - all ar_se_uni ar_sr_doc ar_sr_idl ar_sr_info ar_sr_kernel ar_sr_cinfo ar_sd_html ar_sd_kernel ar_sd_idl ar_sp_krnl ar_sp_tok ar_sp2_idl ar_sd_tkit ar_sp2_idoc ar_sp2_tok ar_st NULL diff --git a/autodoc/source/ary/cpp/c_builtintype.cxx b/autodoc/source/ary/cpp/c_builtintype.cxx deleted file mode 100644 index f6168f197856..000000000000 --- a/autodoc/source/ary/cpp/c_builtintype.cxx +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_builtintype.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_type.hxx> - - -namespace ary -{ -namespace cpp -{ - - - - -//********************** Type **************************// -Rid -Type::inq_RelatedCe() const -{ - return 0; -} - - -//********************** BuiltInType **************************// - -BuiltInType::BuiltInType( const String & i_sName, - E_TypeSpecialisation i_eSpecialisation ) - : sName( i_sName ), - eSpecialisation( i_eSpecialisation ) -{ -} - -String -BuiltInType::SpecializedName_( const char * i_sName, - E_TypeSpecialisation i_eTypeSpecialisation ) -{ - StreamLock - aStrLock(60); - StreamStr & - ret = aStrLock(); - - switch ( i_eTypeSpecialisation ) - { - case TYSP_unsigned: - ret << "u_"; - break; - case TYSP_signed: - if (strcmp(i_sName,"char") == 0) - ret << "s_"; - break; - default: - ; - - } // end switch - - ret << i_sName; - return String(ret.c_str()); -} - -void -BuiltInType::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ary::ClassId -BuiltInType::get_AryClass() const -{ - return class_id; -} - -bool -BuiltInType::inq_IsConst() const -{ - return false; -} - -void -BuiltInType::inq_Get_Text( StreamStr & , // o_rPreName - StreamStr & o_rName, - StreamStr & , // o_rPostName - const Gate & ) const // i_rGate -{ - switch (eSpecialisation) - { - case TYSP_unsigned: o_rName << "unsigned "; break; - case TYSP_signed: o_rName << "signed "; break; - - default: // Does nothing. - ; - } - o_rName << sName; -} - - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_class.cxx b/autodoc/source/ary/cpp/c_class.cxx deleted file mode 100644 index 33aa04a8c5ac..000000000000 --- a/autodoc/source/ary/cpp/c_class.cxx +++ /dev/null @@ -1,287 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_class.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <slots.hxx> -#include "c_slots.hxx" - - - -namespace ary -{ -namespace cpp -{ - -Class::Class( const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - loc::Le_id i_nFile, - E_ClassKey i_eClassKey ) - : aEssentials( i_sLocalName, - i_nOwner, - i_nFile ), - aAssignedNode(), - aBaseClasses(), - aTemplateParameterTypes(), - aClasses(), - aEnums(), - aTypedefs(), - aOperations(), - aStaticOperations(), - aData(), - aStaticData(), - aFriendClasses(), - aFriendOperations(), - aKnownDerivatives(), - eClassKey(i_eClassKey), - eProtection(i_eProtection), - eVirtuality(VIRTUAL_none) -{ - aAssignedNode.Assign_Entity(*this); -} - -Class::~Class() -{ -} - -void -Class::Add_BaseClass( const S_Classes_Base & i_rBaseClass ) -{ - aBaseClasses.push_back(i_rBaseClass); -} - -void -Class::Add_TemplateParameterType( const String & i_sLocalName, - Type_id i_nIdAsType ) -{ - aTemplateParameterTypes.push_back( - List_TplParam::value_type(i_sLocalName,i_nIdAsType) ); -} - -void -Class::Add_LocalClass( const String & i_sLocalName, - Cid i_nId ) -{ - aClasses.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - -void -Class::Add_LocalEnum( const String & i_sLocalName, - Cid i_nId ) -{ - aEnums.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - -void -Class::Add_LocalTypedef( const String & i_sLocalName, - Cid i_nId ) -{ - aTypedefs.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - -void -Class::Add_LocalOperation( const String & i_sLocalName, - Cid i_nId ) -{ - aOperations.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - -void -Class::Add_LocalStaticOperation( const String & i_sLocalName, - Cid i_nId ) -{ - aStaticOperations.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - -void -Class::Add_LocalData( const String & i_sLocalName, - Cid i_nId ) -{ - aData.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - -void -Class::Add_LocalStaticData( const String & i_sLocalName, - Cid i_nId ) -{ - aStaticData.push_back( S_LocalCe(i_sLocalName, i_nId) ); -} - - -struct find_name -{ - find_name( - const String & i_name ) - : sName(i_name) {} - - bool operator()( - const S_LocalCe & i_lce ) const - { return i_lce.sLocalName == sName; } - private: - String sName; -}; - -Ce_id -Class::Search_Child(const String & i_key) const -{ - Ce_id - ret = Ce_id(Search_LocalClass(i_key)); - if (ret.IsValid()) - return ret; - - CIterator_Locals - itret = std::find_if(aEnums.begin(), aEnums.end(), find_name(i_key)); - if (itret != aEnums.end()) - return (*itret).nId; - itret = std::find_if(aTypedefs.begin(), aTypedefs.end(), find_name(i_key)); - if (itret != aTypedefs.end()) - return (*itret).nId; - itret = std::find_if(aData.begin(), aData.end(), find_name(i_key)); - if (itret != aData.end()) - return (*itret).nId; - itret = std::find_if(aStaticData.begin(), aStaticData.end(), find_name(i_key)); - if (itret != aStaticData.end()) - return (*itret).nId; - return Ce_id(0); -} - -Rid -Class::Search_LocalClass( const String & i_sName ) const -{ - CIterator_Locals itFound = PosOfName(aClasses, i_sName); - if (itFound != aClasses.end()) - return (*itFound).nId.Value(); - return 0; -} - -const String & -Class::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -Class::inq_Owner() const -{ - return aEssentials.Owner(); -} - -loc::Le_id -Class::inq_Location() const -{ - return aEssentials.Location(); -} - -void -Class::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Class::get_AryClass() const -{ - return class_id; -} - -Gid -Class::inq_Id_Group() const -{ - return static_cast<Gid>(Id()); -} - -const ary::cpp::CppEntity & -Class::inq_RE_Group() const -{ - return *this; -} - -const group::SlotList & -Class::inq_Slots() const -{ - static const SlotAccessId aProjectSlotData[] - = { SLOT_Bases, - SLOT_NestedClasses, - SLOT_Enums, - SLOT_Typedefs, - SLOT_Operations, - SLOT_StaticOperations, - SLOT_Data, - SLOT_StaticData, - SLOT_FriendClasses, - SLOT_FriendOperations }; - static const std::vector< SlotAccessId > - aSlots( &aProjectSlotData[0], - &aProjectSlotData[0] - + sizeof aProjectSlotData / sizeof (SlotAccessId) ); - return aSlots; -} - - -DYN Slot * -Class::inq_Create_Slot( SlotAccessId i_nSlot ) const -{ - switch ( i_nSlot ) - { - case SLOT_Bases: return new Slot_BaseClass(aBaseClasses); - case SLOT_NestedClasses: return new Slot_ListLocalCe(aClasses); - case SLOT_Enums: return new Slot_ListLocalCe(aEnums); - case SLOT_Typedefs: return new Slot_ListLocalCe(aTypedefs); - case SLOT_Operations: return new Slot_ListLocalCe(aOperations); - case SLOT_StaticOperations: return new Slot_ListLocalCe(aStaticOperations); - case SLOT_Data: return new Slot_ListLocalCe(aData); - case SLOT_StaticData: return new Slot_ListLocalCe(aStaticData); - case SLOT_FriendClasses: return new Slot_SequentialIds<Ce_id>(aFriendClasses); - case SLOT_FriendOperations: return new Slot_SequentialIds<Ce_id>(aFriendOperations); - default: - return new Slot_Null; - } // end switch -} - -Class::CIterator_Locals -Class::PosOfName( const List_LocalCe & i_rList, - const String & i_sName ) const -{ - for ( CIterator_Locals ret = i_rList.begin(); - ret != i_rList.end(); - ++ret ) - { - if ( (*ret).sLocalName == i_sName ) - return ret; - } - return i_rList.end(); -} - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_de.cxx b/autodoc/source/ary/cpp/c_de.cxx deleted file mode 100644 index 704bc697e239..000000000000 --- a/autodoc/source/ary/cpp/c_de.cxx +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_de.hxx> - - - -namespace ary -{ -namespace cpp -{ - - - -DefineEntity::DefineEntity( const String & i_name, - loc::Le_id i_declaringFile ) - : sName(i_name), - nLocation(i_declaringFile) -{ -} - - - - -} // end namespace cpp -} // end namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_define.cxx b/autodoc/source/ary/cpp/c_define.cxx deleted file mode 100644 index 6ea6b8f6a04f..000000000000 --- a/autodoc/source/ary/cpp/c_define.cxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_define.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <prprpr.hxx> - - - - -namespace ary -{ -namespace cpp -{ - - - -Define::Define( const String & i_name, - const StringVector & i_definition, - loc::Le_id i_declaringFile) - : DefineEntity(i_name, i_declaringFile), - aDefinition(i_definition) -{ -} - -Define::~Define() -{ -} - -void -Define::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor, *this); -} - -ClassId -Define::get_AryClass() const -{ - return class_id; -} - -const StringVector & -Define::inq_DefinitionText() const -{ - return aDefinition; -} - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_enum.cxx b/autodoc/source/ary/cpp/c_enum.cxx deleted file mode 100644 index e4f8ad15983c..000000000000 --- a/autodoc/source/ary/cpp/c_enum.cxx +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_enum.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <slots.hxx> -#include "c_slots.hxx" - - - - -namespace ary -{ -namespace cpp -{ - -Enum::Enum( const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - Lid i_nFile ) - : aEssentials( i_sLocalName, - i_nOwner, - i_nFile ), - aValues(), - eProtection(i_eProtection) -{ -} - -Enum::~Enum() -{ -} - -void -Enum::Add_Value( Ce_id i_nId ) -{ - aValues.Add( i_nId ); -} - -const String & -Enum::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -Enum::inq_Owner() const -{ - return aEssentials.Owner(); -} - -Lid -Enum::inq_Location() const -{ - return aEssentials.Location(); -} - -void -Enum::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Enum::get_AryClass() const -{ - return class_id; -} - -Gid -Enum::inq_Id_Group() const -{ - return static_cast<Gid>(Id()); -} - -const ary::cpp::CppEntity & -Enum::inq_RE_Group() const -{ - return *this; -} - -const group::SlotList & -Enum::inq_Slots() const -{ - static const SlotAccessId aProjectSlotData[] - = { SLOT_Values }; - static const std::vector< SlotAccessId > - aSlots( &aProjectSlotData[0], - &aProjectSlotData[0] - + sizeof aProjectSlotData / sizeof (SlotAccessId) ); - return aSlots; -} - -DYN Slot * -Enum::inq_Create_Slot( SlotAccessId i_nSlot ) const -{ - switch ( i_nSlot ) - { - case SLOT_Values: return new Slot_SequentialIds<Ce_id>(aValues); - default: - return new Slot_Null; - } // end switch -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_enuval.cxx b/autodoc/source/ary/cpp/c_enuval.cxx deleted file mode 100644 index 1641689895d4..000000000000 --- a/autodoc/source/ary/cpp/c_enuval.cxx +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_enuval.hxx> - - -// NOT FULLY DECLARED SERVICES - - -namespace ary -{ -namespace cpp -{ - - -EnumValue::EnumValue( const String & i_sLocalName, - Ce_id i_nOwner, - String i_sInitialisation ) - : aEssentials( i_sLocalName, - i_nOwner, - Lid(0) ), - sInitialisation(i_sInitialisation) -{ -} - -EnumValue::~EnumValue() -{ -} - -const String & -EnumValue::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -EnumValue::inq_Owner() const -{ - return aEssentials.Owner(); -} - -Lid -EnumValue::inq_Location() const -{ - return aEssentials.Location(); -} - -void -EnumValue::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -EnumValue::get_AryClass() const -{ - return class_id; -} - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_funct.cxx b/autodoc/source/ary/cpp/c_funct.cxx deleted file mode 100644 index 514e294f2bef..000000000000 --- a/autodoc/source/ary/cpp/c_funct.cxx +++ /dev/null @@ -1,250 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_funct.hxx> - - - -// NOT FULLY DECLARED SERVICES -#include <algorithm> -#include <ary/cpp/c_funct.hxx> - - - - - -namespace -{ -using namespace ::ary::cpp; - - -class Parameter_2_NonTypeParamInfo -{ - public: - String operator()( - const S_Parameter & i_rParam ) const; -}; - -class Parameter_2_Type -{ - public: - Type_id operator()( - const S_Parameter & i_rParam ) const - { return i_rParam.nType; } -}; - -/** @return - A vector with Strings like this: - "ParamName" or "ParamName[ArraySize]" or "ParamName = InitValue". -*/ -StringVector Create_NonTypeParameterInfos( - const std::vector<S_Parameter> & - i_rParameters ); -/** @return - A vector of the parameters' type ids. -*/ -std::vector<Type_id> - Create_ParameterTypeList( - const std::vector<S_Parameter> & - i_rParameters ); - -} // namspace anonymous - - -namespace ary -{ -namespace cpp -{ - -Function::Function( const String & i_sLocalName, - Ce_id i_nOwner, - E_Protection i_eProtection, - Lid i_nFile, - Type_id i_nReturnType, - const std::vector<S_Parameter> & - i_parameters, - E_ConVol i_conVol, - E_Virtuality i_eVirtuality, - FunctionFlags i_aFlags, - bool i_bThrowExists, - const std::vector<Type_id> & - i_rExceptions ) - : aEssentials( i_sLocalName, - i_nOwner, - i_nFile ), - aTemplateParameterTypes(), - aSignature( Create_ParameterTypeList(i_parameters), - i_conVol ), - nReturnType(i_nReturnType), - eProtection(i_eProtection), - eVirtuality(i_eVirtuality), - aFlags(i_aFlags), - aParameterInfos( Create_NonTypeParameterInfos(i_parameters) ), - pExceptions( i_bThrowExists ? new ExceptionTypeList(i_rExceptions) : 0 ) -{ -} - -Function::~Function() -{ -} - -bool -Function::IsIdentical( const Function & i_f ) const -{ - return - LocalName() == i_f.LocalName() - AND - Owner() == i_f.Owner() - AND - aSignature == i_f.aSignature - AND - nReturnType == i_f.nReturnType - AND - eProtection == i_f.eProtection - AND - eVirtuality == i_f.eVirtuality - AND - aFlags == i_f.aFlags - AND - ( ( NOT pExceptions AND NOT i_f.pExceptions ) - OR - ( pExceptions AND i_f.pExceptions - ? *pExceptions == *i_f.pExceptions - : false ) - ) - AND - aTemplateParameterTypes.size() == i_f.aTemplateParameterTypes.size(); -} - -void -Function::Add_TemplateParameterType( const String & i_sLocalName, - Type_id i_nIdAsType ) -{ - aTemplateParameterTypes.push_back( - List_TplParam::value_type(i_sLocalName, i_nIdAsType) ); -} - - -const String & -Function::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -Function::inq_Owner() const -{ - return aEssentials.Owner(); -} - -Lid -Function::inq_Location() const -{ - return aEssentials.Location(); -} - -void -Function::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Function::get_AryClass() const -{ - return class_id; -} - - - -} // namespace cpp -} // namespace ary - - - -namespace -{ - -String -Parameter_2_NonTypeParamInfo::operator()( const ary::cpp::S_Parameter & i_rParam ) const -{ - static StreamStr aParamName_(1020); - aParamName_.seekp(0); - - aParamName_ << i_rParam.sName; - if ( i_rParam.sSizeExpression.length() > 0 ) - { - aParamName_ << '[' - << i_rParam.sSizeExpression - << ']'; - } - if ( i_rParam.sInitExpression.length() > 0 ) - { - aParamName_ << " = " - << i_rParam.sInitExpression; - } - - return aParamName_.c_str(); -} - - -StringVector -Create_NonTypeParameterInfos( const std::vector<S_Parameter> & i_rParameters ) -{ - static Parameter_2_NonTypeParamInfo - aTransformFunction_; - - StringVector - ret(i_rParameters.size(), String::Null_()); - std::transform( i_rParameters.begin(), i_rParameters.end(), - ret.begin(), - aTransformFunction_ ); - return ret; -} - -std::vector<Type_id> -Create_ParameterTypeList( const std::vector<S_Parameter> & i_rParameters ) -{ - static Parameter_2_Type - aTransformFunction_; - - std::vector<Type_id> - ret(i_rParameters.size(), Type_id(0)); - std::transform( i_rParameters.begin(), i_rParameters.end(), - ret.begin(), - aTransformFunction_ ); - return ret; -} - - - - -} // namespace anonymous - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_macro.cxx b/autodoc/source/ary/cpp/c_macro.cxx deleted file mode 100644 index 2fad2c0fe5aa..000000000000 --- a/autodoc/source/ary/cpp/c_macro.cxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_macro.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <prprpr.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -Macro::Macro( const String & i_name, - const StringVector & i_params, - const StringVector & i_definition, - loc::Le_id i_declaringFile ) - : DefineEntity(i_name, i_declaringFile), - aParams(i_params), - aDefinition(i_definition) -{ -} - -Macro::~Macro() -{ -} - -void -Macro::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Macro::get_AryClass() const -{ - return class_id; - - // return RCID_MACRO; -} - -const StringVector & -Macro::inq_DefinitionText() const -{ - return aDefinition; -} - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_namesp.cxx b/autodoc/source/ary/cpp/c_namesp.cxx deleted file mode 100644 index 133f8e96c812..000000000000 --- a/autodoc/source/ary/cpp/c_namesp.cxx +++ /dev/null @@ -1,295 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_namesp.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <algorithm> -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/getncast.hxx> -#include <slots.hxx> -#include "c_slots.hxx" - - -namespace ary -{ -namespace cpp -{ - -typedef std::multimap<String, Ce_id>::const_iterator operations_citer; - -Namespace::Namespace() - : aEssentials(), - aAssignedNode(), - // aLocalNamespaces, - // aLocalClasses, - // aLocalEnums, - // aLocalTypedefs, - // aLocalOperations, - // aLocalVariables, - // aLocalConstants, - pParent(0), - nDepth(0) -{ - aAssignedNode.Assign_Entity(*this); -} - -Namespace::Namespace( const String & i_sLocalName, - Namespace & i_rParent ) - : aEssentials( i_sLocalName, - i_rParent.CeId(), - Lid(0) ), - aAssignedNode(), - // aLocalNamespaces, - // aLocalClasses, - // aLocalEnums, - // aLocalTypedefs, - // aLocalOperations, - // aLocalVariables, - // aLocalConstants, - pParent(&i_rParent), - nDepth(i_rParent.Depth()+1) -{ - aAssignedNode.Assign_Entity(*this); -} - -Namespace::~Namespace() -{ -} - -void -Namespace::Add_LocalNamespace( DYN Namespace & io_rLocalNamespace ) -{ - aLocalNamespaces[io_rLocalNamespace.LocalName()] = &io_rLocalNamespace; -} - -void -Namespace::Add_LocalClass( const String & i_sLocalName, - Cid i_nId ) -{ - aLocalClasses[i_sLocalName] = i_nId; -} - -void -Namespace::Add_LocalEnum( const String & i_sLocalName, - Cid i_nId ) -{ - aLocalEnums[i_sLocalName] = i_nId; -} - -void -Namespace::Add_LocalTypedef( const String & i_sLocalName, - Cid i_nId ) -{ - aLocalTypedefs[i_sLocalName] = i_nId; -} - -void -Namespace::Add_LocalOperation( const String & i_sLocalName, - Cid i_nId ) -{ - aLocalOperations.insert( Map_Operations::value_type(i_sLocalName, i_nId) ); -} - - -void -Namespace::Add_LocalVariable( const String & i_sLocalName, - Cid i_nId ) -{ - aLocalVariables[i_sLocalName] = i_nId; -} - -void -Namespace::Add_LocalConstant( const String & i_sLocalName, - Cid i_nId ) -{ - aLocalConstants[i_sLocalName] = i_nId; -} - -uintt -Namespace::Depth() const -{ - return nDepth; -} - -Namespace * -Namespace::Parent() const -{ - return pParent; -} - -Ce_id -Namespace::Search_Child(const String & i_key) const -{ - Namespace * - ret_nsp = Search_LocalNamespace(i_key); - if (ret_nsp != 0) - return ret_nsp->CeId(); - - Ce_id - ret = Search_LocalClass(i_key); - if (ret.IsValid()) - return ret; - - ret = csv::value_from_map(aLocalEnums, i_key, Ce_id(0)); - if (ret.IsValid()) - return ret; - ret = csv::value_from_map(aLocalTypedefs, i_key, Ce_id(0)); - if (ret.IsValid()) - return ret; - ret = csv::value_from_map(aLocalVariables, i_key, Ce_id(0)); - if (ret.IsValid()) - return ret; - return csv::value_from_map(aLocalConstants, i_key, Ce_id(0)); -} - -Namespace * -Namespace::Search_LocalNamespace( const String & i_sLocalName ) const -{ - return csv::value_from_map(aLocalNamespaces, i_sLocalName, (Namespace*)(0)); -} - -uintt -Namespace::Get_SubNamespaces( std::vector< const Namespace* > & o_rResultList ) const -{ - for ( Map_NamespacePtr::const_iterator it = aLocalNamespaces.begin(); - it != aLocalNamespaces.end(); - ++it ) - { - o_rResultList.push_back( (*it).second ); - } - return o_rResultList.size(); -} - -Ce_id -Namespace::Search_LocalClass( const String & i_sName ) const -{ - return csv::value_from_map(aLocalClasses, i_sName, Ce_id(0)); -} - -void -Namespace::Search_LocalOperations( std::vector<Ce_id> & o_result, - const String & i_sName ) const -{ - operations_citer - itLower = aLocalOperations.lower_bound(i_sName); - if (itLower == aLocalOperations.end()) - return; - if ( (*itLower).first != i_sName ) - return; - - for ( operations_citer it = itLower; - it != aLocalOperations.end() ? (*itLower).first == i_sName : false; - ++it ) - { - o_result.push_back((*it).second); - } -} - - -const String & -Namespace::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -Namespace::inq_Owner() const -{ - return aEssentials.Owner(); -} - -Lid -Namespace::inq_Location() const -{ - return Lid(0); -} - -void -Namespace::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Namespace::get_AryClass() const -{ - return class_id; -} - -Gid -Namespace::inq_Id_Group() const -{ - return static_cast<Gid>(Id()); -} - -const ary::cpp::CppEntity & -Namespace::inq_RE_Group() const -{ - return *this; -} - -const ary::group::SlotList & -Namespace::inq_Slots() const -{ - static const SlotAccessId aProjectSlotData[] - = { SLOT_SubNamespaces, SLOT_Classes, SLOT_Enums, SLOT_Typedefs, SLOT_Operations, - SLOT_Variables, SLOT_Constants }; - static const std::vector< SlotAccessId > - aSlots( &aProjectSlotData[0], - &aProjectSlotData[0] - + sizeof aProjectSlotData / sizeof (SlotAccessId) ); - return aSlots; -} - -DYN Slot * -Namespace::inq_Create_Slot( SlotAccessId i_nSlot ) const -{ - switch ( i_nSlot ) - { - case SLOT_SubNamespaces: return new Slot_SubNamespaces(aLocalNamespaces); - case SLOT_Classes: return new Slot_MapLocalCe(aLocalClasses); - case SLOT_Enums: return new Slot_MapLocalCe(aLocalEnums); - case SLOT_Typedefs: return new Slot_MapLocalCe(aLocalTypedefs); - case SLOT_Operations: return new Slot_MapOperations(aLocalOperations); - case SLOT_Variables: return new Slot_MapLocalCe(aLocalVariables); - case SLOT_Constants: return new Slot_MapLocalCe(aLocalConstants); - default: - return new Slot_Null; - } // end switch -} - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_osigna.cxx b/autodoc/source/ary/cpp/c_osigna.cxx deleted file mode 100644 index 463c84b1f5f7..000000000000 --- a/autodoc/source/ary/cpp/c_osigna.cxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_osigna.hxx> - - -// NOT FULLY DEFINED SERVICES - - -namespace ary -{ -namespace cpp -{ - - -OperationSignature::OperationSignature( std::vector<Type_id> i_parameterTypes, - E_ConVol i_conVol ) - : aParameterTypes(i_parameterTypes), - eConVol(i_conVol) -{ -} - -int -OperationSignature::Compare( const OperationSignature & i_rSig ) const -{ - if ( aParameterTypes.size() < i_rSig.aParameterTypes.size() ) - return -1; - else if ( i_rSig.aParameterTypes.size() < aParameterTypes.size() ) - return 1; - - ParameterTypeList::const_iterator iMe = aParameterTypes.begin(); - ParameterTypeList::const_iterator iOther = i_rSig.aParameterTypes.begin(); - for ( ; iMe != aParameterTypes.end(); ++iMe, ++iOther ) - { - if ( *iMe < *iOther ) - return -1; - else if ( *iOther < *iMe ) - return 1; - } - - if ( eConVol < i_rSig.eConVol ) - return -1; - else if ( eConVol != i_rSig.eConVol ) - return 1; - - return 0; -} - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_reposypart.cxx b/autodoc/source/ary/cpp/c_reposypart.cxx deleted file mode 100644 index 05fb5947e259..000000000000 --- a/autodoc/source/ary/cpp/c_reposypart.cxx +++ /dev/null @@ -1,526 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "c_reposypart.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <ary/getncast.hxx> -#include <ary/namesort.hxx> -#include <ary/cpp/c_builtintype.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_cppentity.hxx> -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_type.hxx> -#include <ary/cpp/usedtype.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/loc/locp_le.hxx> -#include <ary/getncast.hxx> -#include <loc_internalgate.hxx> -#include <reposy.hxx> -#include "ca_ce.hxx" -#include "ca_def.hxx" -#include "ca_type.hxx" -#include "cs_ce.hxx" -#include "cs_def.hxx" -#include "cs_type.hxx" - - - -namespace -{ - -using ::ary::GlobalId; -using ::ary::Rid; -using namespace ::ary::cpp; - - -inline bool -IsDefine( const GlobalId & i_id ) -{ - return i_id.Class() == Define::class_id - OR - i_id.Class() == Macro::class_id; -} - - -/// Find Ces -class TypeConnector -{ - public: - TypeConnector( - Gate & i_gate ) - : pGate(&i_gate) {} - ~TypeConnector() {} - - void operator()( - Type & io_rType ) const; - private: - // DATA - Gate * pGate; -}; - -/// Find Ces only known from base class name scope. -class TypeConnector2ndTry -{ - public: - TypeConnector2ndTry( - Gate & i_gate ) - : pGate(&i_gate) {} - ~TypeConnector2ndTry() {} - - void operator()( - Type & io_rType ) const; - private: - // DATA - Gate * pGate; -}; - -/// Reconnect (in both directions) base-derived relations of classes. -class HierarchyLinker -{ - public: - HierarchyLinker( - Gate & i_gate ) - : pGate(&i_gate) {} - - ~HierarchyLinker() {} - - void operator()( - Class & io_rCe ) const; - private: - // DATA - Gate * pGate; -}; - - - -/// Helper functor for ->RepositoryPartition::Get_AlphabeticalList(). -template <class TRAITS> -struct MakeGlobalId -{ - GlobalId operator()( - typename TRAITS::id_type - i_id ) const - { - return GlobalId( TRAITS::EntityOf_(i_id).AryClass(), - i_id.Value() ); - } -}; - - - - -/** Compare two {->GlobalId}s. - - - @todo Move this up to the definition of GlobalId<>. -*/ -struct LesserGlobal -{ - LesserGlobal( - const Ce_Storage & i_ces, - const Def_Storage & i_des ) - : rCes(i_ces), rDes(i_des) {} - - bool operator()( - GlobalId i_1, - GlobalId i_2 ) const; - - private: - const String & NameOf( - GlobalId i_id ) const; - // DATA - const Ce_Storage & rCes; - const Def_Storage & rDes; - ::ary::LesserName aLess; -}; - - -bool -LesserGlobal::operator()( GlobalId i_1, - GlobalId i_2 ) const - { - String s1 = NameOf(i_1); - String s2 = NameOf(i_2); - - if (s1 != s2) - return aLess(s1, s2); - - if ( IsDefine(i_1) != IsDefine(i_2) ) - { - return NOT IsDefine(i_2); - } - else if (IsDefine(i_1)) - { - return i_1.Class() < i_2.Class(); - } - - return Ce_GlobalCompare::Lesser_( - rCes[i_1.Id()], - rCes[i_2.Id()] ); - } - - -} // namespace anonymous - - - - - - -namespace ary -{ -namespace cpp -{ - -DYN InternalGate & -InternalGate::Create_Partition_(RepositoryCenter & i_center) -{ - return *new RepositoryPartition(i_center); -} - - -RepositoryPartition::RepositoryPartition(RepositoryCenter & i_center) - : pRepositoryCenter(&i_center), - pCes(0), - pTypes(0), - pDefs(0), - pLocations(& loc::InternalGate::Create_Locations_()) -{ - pCes = new CeAdmin(*this); - pTypes = new TypeAdmin(*this); - pDefs = new DefAdmin(*this); - pCes->Set_Related(*pTypes); -} - -RepositoryPartition::~RepositoryPartition() -{ -} - -void -RepositoryPartition::Calculate_AllSecondaryInformation() -// const ::autodoc::Options & ) -{ - // KORR_FUTURE - // Forward the options from here. - - Connect_AllTypes_2_TheirRelated_CodeEntites(); -} - -const String & -RepositoryPartition::RepositoryTitle() const -{ - return static_cast< ary::Repository* >(pRepositoryCenter)->Title(); -} - -const CodeEntity * -RepositoryPartition::Search_RelatedCe(Type_id i_type) const -{ - if (NOT i_type.IsValid()) - return 0; - - Ce_id - ce_id = pTypes->Find_Type(i_type).RelatedCe(); - return ce_id.IsValid() - ? & pCes->Find_Ce(ce_id) - : (CodeEntity*)(0); -} - -const ::ary::cpp::CppEntity * -RepositoryPartition::Search_Entity(GlobalId i_id) const -{ - if (i_id.Id() == 0) - return 0; - - if ( NOT IsDefine(i_id) ) - { - // Shall make sure this is a C++ CodeEntity: - csv_assert( i_id.Class() >= Namespace::class_id - AND - i_id.Class() < BuiltInType::class_id - && "Unexpected entity type in cpp::RepositoryPartition" - "::Search_Entity()." ); - return & Ces().Find_Ce( Ce_id(i_id.Id()) ); - } - else - { - return & Defs().Find_Def( De_id(i_id.Id()) ); - } -} - - -const CePilot & -RepositoryPartition::Ces() const -{ - csv_assert(pCes != 0); - return *pCes; -} - -const DefPilot & -RepositoryPartition::Defs() const -{ - csv_assert(pDefs != 0); - return *pDefs; -} - -const TypePilot & -RepositoryPartition::Types() const -{ - csv_assert(pTypes != 0); - return *pTypes; -} - -const loc::LocationPilot & -RepositoryPartition::Locations() const -{ - csv_assert(pLocations != 0); - return *pLocations; -} - -CePilot & -RepositoryPartition::Ces() -{ - csv_assert(pCes != 0); - return *pCes; -} - -DefPilot & -RepositoryPartition::Defs() -{ - csv_assert(pDefs != 0); - return *pDefs; -} - -TypePilot & -RepositoryPartition::Types() -{ - csv_assert(pTypes != 0); - return *pTypes; -} - -loc::LocationPilot & -RepositoryPartition::Locations() -{ - csv_assert(pLocations != 0); - return *pLocations; -} - - -void -RepositoryPartition::Connect_AllTypes_2_TheirRelated_CodeEntites() -{ - TypeConnector - aConnector(*this); - std::for_each( pTypes->Storage().BeginUnreserved(), - pTypes->Storage().End(), - aConnector ); - - typedef ::ary::stg::filter_iterator<CodeEntity,Class> - filter_class_iter; - - HierarchyLinker - aHierarchyLinker(*this); - filter_class_iter itEnd( pCes->Storage().End() ); - for ( filter_class_iter it( pCes->Storage().BeginUnreserved() ); - it != itEnd; - ++it ) - { - if (NOT it.IsValid()) - continue; - - if (is_type<Class>(*it)) - aHierarchyLinker(ary_cast<Class>(*it)); - } - - TypeConnector2ndTry - aConnector2ndTry(*this); - std::for_each( pTypes->Storage().BeginUnreserved(), - pTypes->Storage().End(), - aConnector2ndTry ); -} - -template <class COMPARE> -void Add2Result( - List_GlobalIds & o_result, - const SortedIds<COMPARE> & - i_data, - const char * i_begin, - const char * i_end ); -template <class COMPARE> -void -Add2Result( List_GlobalIds & o_result, - const SortedIds<COMPARE> & i_data, - const char * i_begin, - const char * i_end ) -{ - const size_t - previous_size = o_result.size(); - typename std::vector<typename COMPARE::id_type>::const_iterator - it_beg = i_data.LowerBound(i_begin); - typename std::vector<typename COMPARE::id_type>::const_iterator - it_end = i_data.LowerBound(i_end); - size_t - count_added = static_cast<size_t>( std::distance(it_beg,it_end) ); - o_result.insert( o_result.end(), - count_added, - GlobalId() ); - List_GlobalIds::iterator - it_out = o_result.begin() + previous_size; - std::transform( it_beg, it_end, - it_out, - MakeGlobalId<COMPARE>() ); -} - - -uintt -RepositoryPartition::Get_AlphabeticalList( List_GlobalIds & o_result, - const char * i_begin, - const char * i_end ) const -{ - size_t - ret = o_result.size(); - - const Ce_Storage & - ce_storage = pCes->Storage(); - const Def_Storage & - def_storage = pDefs->Storage(); - - Add2Result( o_result, - ce_storage.TypeIndex(), - i_begin, i_end ); - Add2Result( o_result, - ce_storage.OperationIndex(), - i_begin, i_end ); - Add2Result( o_result, - ce_storage.DataIndex(), - i_begin, i_end ); - Add2Result( o_result, - def_storage.DefineIndex(), - i_begin, i_end ); - Add2Result( o_result, - def_storage.MacroIndex(), - i_begin, i_end ); - - LesserGlobal - aLess(ce_storage, def_storage); - - std::sort(o_result.begin(), o_result.end(), aLess); - - return o_result.size() - ret; -} - - - - -} // namespace cpp -} // namespace ary - - - - - -namespace -{ - - -void -TypeConnector::operator()( Type & io_rType ) const -{ - csv_assert(pGate != 0); - UsedType * - pt = ::ary::ary_cast<UsedType>(&io_rType); - if (pt != 0) - pt->Connect2Ce(pGate->Ces()); -} - -void -TypeConnector2ndTry::operator()( Type & io_rType ) const -{ - csv_assert(pGate != 0); - UsedType * - pt = ::ary::ary_cast<UsedType>(&io_rType); - if (pt != 0) - pt->Connect2CeOnlyKnownViaBaseClass(*pGate); -} - -void -HierarchyLinker::operator()( Class & io_rCe ) const -{ - csv_assert( ::ary::is_type<Class>(io_rCe) ); - Class & - rClass = io_rCe; - - for ( List_Bases::const_iterator it = rClass.BaseClasses().begin(); - it != rClass.BaseClasses().end(); - ++it ) - { - const CodeEntity * - pCe = 0; - Type_id - nTid = (*it).nId; - for ( pCe = pGate->Search_RelatedCe(nTid); - ary::ary_cast<Typedef>(pCe) != 0; - pCe = pGate->Search_RelatedCe(nTid) ) - { - nTid = static_cast< const Typedef* >(pCe)->DescribingType(); - } - const Class * - pClass = ary::ary_cast<Class>(pCe); - if (pClass == 0) - return; - // KORR_FUTURE: we need a non const Find_Class() - const_cast< Class* >(pClass)->Add_KnownDerivative( io_rCe.CeId() ); - } -} - -const String & -LesserGlobal::NameOf(GlobalId i_id) const -{ - if ( NOT IsDefine(i_id) ) - { - return rCes[i_id.Id()].LocalName(); - } - else - { - return rDes[i_id.Id()].LocalName(); - } -} - - - -} // namespace anonymous - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_reposypart.hxx b/autodoc/source/ary/cpp/c_reposypart.hxx deleted file mode 100644 index c3b200f1f71b..000000000000 --- a/autodoc/source/ary/cpp/c_reposypart.hxx +++ /dev/null @@ -1,117 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_REPOSYPART_HXX -#define ARY_CPP_C_REPOSYPART_HXX - - - -// BASE CLASSES -#include <cpp_internalgate.hxx> - -namespace ary -{ -namespace cpp -{ - class CeAdmin; - class DefAdmin; - class TypeAdmin; -} -} - - - - -namespace ary -{ -namespace cpp -{ - - - -/** The C++ partition of the repository. -*/ -class RepositoryPartition : public InternalGate -{ - public: - RepositoryPartition( - RepositoryCenter & i_reposyImpl ); - virtual ~RepositoryPartition(); - - // INHERITED - // Interface Gate: - virtual void Calculate_AllSecondaryInformation(); -// const ::autodoc::Options & -// i_options ); - virtual const String & - RepositoryTitle() const; - virtual const CodeEntity * - Search_RelatedCe( - Type_id i_type ) const; - virtual const ::ary::cpp::CppEntity * - Search_Entity( - GlobalId i_id ) const; - virtual uintt Get_AlphabeticalList( - List_GlobalIds & o_result, - const char * i_begin, - const char * i_end ) const; - virtual const CePilot & - Ces() const; - virtual const DefPilot & - Defs() const; - virtual const TypePilot & - Types() const; - virtual const loc::LocationPilot & - Locations() const; - virtual CePilot & Ces(); - virtual DefPilot & Defs(); - virtual TypePilot & Types(); - virtual loc::LocationPilot & - Locations(); - private: - // Locals - void Connect_AllTypes_2_TheirRelated_CodeEntites(); - - // DATA - RepositoryCenter * pRepositoryCenter; - - Dyn<CeAdmin> pCes; - Dyn<TypeAdmin> pTypes; - Dyn<DefAdmin> pDefs; - Dyn<loc::LocationPilot> - pLocations; -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_slots.cxx b/autodoc/source/ary/cpp/c_slots.cxx deleted file mode 100644 index e93b25c60d5c..000000000000 --- a/autodoc/source/ary/cpp/c_slots.cxx +++ /dev/null @@ -1,109 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <c_slots.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/ary_disp.hxx> -#include <ary/cpp/c_namesp.hxx> - - - -namespace ary -{ -namespace cpp -{ - - - -//*********************** Slot_SubNamespaces ********************// - - -Slot_SubNamespaces::Slot_SubNamespaces( const Map_NamespacePtr & i_rData ) - : pData( &i_rData ) -{ -} - -Slot_SubNamespaces::~Slot_SubNamespaces() -{ -} - -uintt -Slot_SubNamespaces::Size() const -{ - return pData->size(); -} - -void -Slot_SubNamespaces::StoreEntries( ary::Display & o_rDestination ) const -{ - for ( Map_NamespacePtr::const_iterator it = pData->begin(); - it != pData->end(); - ++it ) - { - (*(*it).second).Accept(o_rDestination); - } -} - - -//*********************** Slot_BaseClass ********************// - -Slot_BaseClass::Slot_BaseClass( const List_Bases & i_rData ) - : pData( &i_rData ) -{ -} - -Slot_BaseClass::~Slot_BaseClass() -{ -} - -uintt -Slot_BaseClass::Size() const -{ - return pData->size(); -} - -void -Slot_BaseClass::StoreEntries( ary::Display & o_rDestination ) const -{ - for ( List_Bases::const_iterator it = pData->begin(); - it != pData->end(); - ++it ) - { - csv::CheckedCall(o_rDestination, *it); - } -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_slots.hxx b/autodoc/source/ary/cpp/c_slots.hxx deleted file mode 100644 index dab4f5d4552f..000000000000 --- a/autodoc/source/ary/cpp/c_slots.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_C_SLOTS_HXX -#define ARY_CPP_C_SLOTS_HXX - -// BASE CLASSES -#include <ary/ceslot.hxx> -// USED SERVICES -#include <ary/cpp/c_slntry.hxx> - - - - -namespace ary -{ -namespace cpp -{ - - -class Slot_SubNamespaces : public ary::Slot -{ - public: - Slot_SubNamespaces( - const Map_NamespacePtr & - i_rData ); - virtual ~Slot_SubNamespaces(); - - virtual uintt Size() const; - - private: - virtual void StoreEntries( - ary::Display & o_rDestination ) const; - // DATA - const Map_NamespacePtr * - pData; -}; - -class Slot_BaseClass : public ary::Slot -{ - public: - Slot_BaseClass( - const List_Bases & i_rData ); - virtual ~Slot_BaseClass(); - - virtual uintt Size() const; - - private: - virtual void StoreEntries( - ary::Display & o_rDestination ) const; - // DATA - const List_Bases * pData; -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_traits.cxx b/autodoc/source/ary/cpp/c_traits.cxx deleted file mode 100644 index e0bd26a06685..000000000000 --- a/autodoc/source/ary/cpp/c_traits.cxx +++ /dev/null @@ -1,226 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_traits.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/namesort.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/usedtype.hxx> -#include <ary/getncast.hxx> -#include "cs_ce.hxx" -#include "cs_def.hxx" -#include "cs_type.hxx" - - - - -namespace ary -{ -namespace cpp -{ - - - -//******************** Ce_Traits ********************// -Ce_Traits::entity_base_type & -Ce_Traits::EntityOf_(id_type i_id) -{ - csv_assert(i_id.IsValid()); - return Ce_Storage::Instance_()[i_id]; -} - -//******************** CeNode_Traits ********************// -const symtree::Node<CeNode_Traits> * -CeNode_Traits::NodeOf_(const entity_base_type & i_entity) -{ - if (is_type<Namespace>(i_entity)) - return & ary_cast<Namespace>(i_entity).AsNode(); - else if (is_type<Class>(i_entity)) - return & ary_cast<Class>(i_entity).AsNode(); - return 0; -} - -symtree::Node<CeNode_Traits> * -CeNode_Traits::NodeOf_(entity_base_type & io_entity) -{ - if (is_type<Namespace>(io_entity)) - return & ary_cast<Namespace>(io_entity).AsNode(); - else if (is_type<Class>(io_entity)) - return & ary_cast<Class>(io_entity).AsNode(); - return 0; -} - -Ce_Traits::entity_base_type * -CeNode_Traits::ParentOf_(const entity_base_type & i_entity) -{ - Ce_Traits::id_type - ret = i_entity.Owner(); - if (ret.IsValid()) - { - if (is_type<EnumValue>(i_entity)) - { // Return not the Enum, but the owner of the Enum: - ret = EntityOf_(ret).Owner(); - csv_assert(ret.IsValid()); - } - return &EntityOf_(ret); - } - return 0; -} - -Ce_id -CeNode_Search( const CodeEntity & i_entity, - const String & i_localKey ) -{ - if (is_type<Namespace>(i_entity)) - return ary_cast<Namespace>(i_entity).Search_Child(i_localKey); - else if (is_type<Class>(i_entity)) - return ary_cast<Class>(i_entity).Search_Child(i_localKey); - return Ce_id(0); -} - - - - -//******************** Ce_Compare ********************// -const Ce_Compare::key_type & -Ce_Compare::KeyOf_(const entity_base_type & i_entity) -{ - return i_entity.LocalName(); -} - -bool -Ce_Compare::Lesser_( const key_type & i_1, - const key_type & i_2 ) -{ - static ::ary::LesserName less_; - return less_(i_1,i_2); -} - - -//******************** Ce_GlobalCompare ********************// -void -Get_Qualified( StreamStr & o_out, - const CodeEntity & i_ce ) -{ - if (i_ce.LocalName().empty()) - return; - if (i_ce.Owner().IsValid()) - Get_Qualified(o_out, Ce_Traits::EntityOf_(i_ce.Owner())); - - o_out << i_ce.LocalName() << "::"; -} - - -bool -Ce_GlobalCompare::Lesser_( const key_type & i_1, - const key_type & i_2 ) -{ - static ::ary::LesserName less_; - - if (i_1.LocalName() != i_2.LocalName()) - return less_(i_1.LocalName(), i_2.LocalName()); - - csv_assert(i_1.Owner().IsValid() AND i_2.Owner().IsValid()); - - static StreamStr - aBuffer1_(300); - static StreamStr - aBuffer2_(300); - aBuffer1_.reset(); - aBuffer2_.reset(); - - Get_Qualified(aBuffer1_, Ce_Traits::EntityOf_(i_1.Owner())); - Get_Qualified(aBuffer2_, Ce_Traits::EntityOf_(i_2.Owner())); - if (aBuffer1_.size() >= 2) - aBuffer1_.pop_back(2); - if (aBuffer2_.size() >= 2) - aBuffer2_.pop_back(2); - return less_(aBuffer1_.c_str(), aBuffer2_.c_str()); -} - - - -//******************** Def_Traits ********************// -Def_Traits::entity_base_type & -Def_Traits::EntityOf_(id_type i_id) -{ - csv_assert(i_id.IsValid()); - return Def_Storage::Instance_()[i_id]; -} - -//******************** Def_Compare ********************// -const Def_Compare::key_type & -Def_Compare::KeyOf_(const entity_base_type & i_entity) -{ - return i_entity.LocalName(); -} - -bool -Def_Compare::Lesser_( const key_type & i_1, - const key_type & i_2 ) -{ - static ::ary::LesserName less_; - return less_(i_1,i_2); -} - - - -//******************** Type_Traits ********************// -Type_Traits::entity_base_type & -Type_Traits::EntityOf_(id_type i_id) -{ - csv_assert(i_id.IsValid()); - return Type_Storage::Instance_()[i_id]; -} - -//******************** Type_Compare ********************// -const UsedType_Compare::key_type & -UsedType_Compare::KeyOf_(const entity_base_type & i_entity) -{ - csv_assert( is_type<UsedType>(i_entity) ); - return ary_cast<UsedType>(i_entity); -} - -bool -UsedType_Compare::Lesser_( const key_type & i_1, - const key_type & i_2 ) -{ - return i_1 < i_2; -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_tydef.cxx b/autodoc/source/ary/cpp/c_tydef.cxx deleted file mode 100644 index 60f67e7e6c30..000000000000 --- a/autodoc/source/ary/cpp/c_tydef.cxx +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_tydef.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <slots.hxx> -#include "c_slots.hxx" - - - - -namespace ary -{ -namespace cpp -{ - -Typedef::Typedef( const String & i_sLocalName, - Cid i_nOwner, - E_Protection i_eProtection, - Lid i_nFile, - Tid i_nDescribingType ) - : aEssentials( i_sLocalName, - i_nOwner, - i_nFile ), - nDescribingType(i_nDescribingType), - eProtection(i_eProtection) -{ -} - -Typedef::~Typedef() -{ - -} - -const String & -Typedef::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -Typedef::inq_Owner() const -{ - return aEssentials.Owner(); -} - -Lid -Typedef::inq_Location() const -{ - return aEssentials.Location(); -} - -void -Typedef::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Typedef::get_AryClass() const -{ - return class_id; -} - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/c_vari.cxx b/autodoc/source/ary/cpp/c_vari.cxx deleted file mode 100644 index 5006748f65c9..000000000000 --- a/autodoc/source/ary/cpp/c_vari.cxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/c_vari.hxx> - - -// NOT FULLY DECLARED SERVICES - - - -namespace ary -{ -namespace cpp -{ - -Variable::Variable( const String & i_sLocalName, - Cid i_nOwner, - E_Protection i_eProtection, - Lid i_nFile, - Tid i_nType, - VariableFlags i_aFlags, - const String & i_sArraySize, - const String & i_sInitValue ) - : aEssentials( i_sLocalName, - i_nOwner, - i_nFile ), - nType(i_nType), - eProtection(i_eProtection), - aFlags(i_aFlags), - sArraySize(i_sArraySize), - sInitialisation(i_sInitValue) -{ -} - -Variable::~Variable() -{ -} - -const String & -Variable::inq_LocalName() const -{ - return aEssentials.LocalName(); -} - -Cid -Variable::inq_Owner() const -{ - return aEssentials.Owner(); -} - -Lid -Variable::inq_Location() const -{ - return aEssentials.Location(); -} - -void -Variable::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Variable::get_AryClass() const -{ - return class_id; -} - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/ca_ce.cxx b/autodoc/source/ary/cpp/ca_ce.cxx deleted file mode 100644 index b2ceb27dc41a..000000000000 --- a/autodoc/source/ary/cpp/ca_ce.cxx +++ /dev/null @@ -1,623 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#include <precomp.h> -#include "ca_ce.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/qualiname.hxx> -#include <ary/cpp/inpcontx.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_type.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/cp_type.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/getncast.hxx> - - - - - - -namespace -{ - -String Get_NewAnonymousNamespaceName(); -String Get_NewAnonymousName( - char i_start ); - - -} // anonymous namespace - - - - -namespace ary -{ -namespace cpp -{ - - -// KORR_FUTURE -// What about namespace visibility ? -// Perhaps handle all/some visibility transfer only after parse is complete. -void -transfer_visibility( const Class * i_owner, - CodeEntity & o_child ) -{ - if ( i_owner != 0 ? NOT i_owner->IsVisible() : false ) - o_child.Set_InVisible(); -} - -inline const TypePilot & -CeAdmin::Types() const -{ - csv_assert(pTypes != 0); - return *pTypes; -} - - - - - - -CeAdmin::CeAdmin(RepositoryPartition & io_myReposyPartition) - : aStorage(), - pTypes(0), - pCppRepositoryPartition(&io_myReposyPartition) -{ -} - -void -CeAdmin::Set_Related(const TypePilot & i_types) -{ - pTypes = &i_types; -} - -CeAdmin::~CeAdmin() -{ -} - -Namespace & -CeAdmin::CheckIn_Namespace( const InputContext & i_context, - const String & i_localName ) -{ - const String - local_name = NOT i_localName.empty() - ? i_localName - : Get_NewAnonymousNamespaceName(); - Namespace & - rParent = i_context.CurNamespace(); - Namespace * - ret = rParent.Search_LocalNamespace(local_name); - if ( ret == 0 ) - { - ret = &Create_Namespace(rParent, local_name); - } - return *ret; -} - -Class & -CeAdmin::Store_Class( const InputContext & i_context, - const String & i_localName, - E_ClassKey i_eClassKey ) -{ - const String - local_name = i_localName.empty() - ? Get_NewAnonymousName( i_eClassKey == CK_class - ? 'c' - : i_eClassKey == CK_struct - ? 's' - : 'u' ) - : i_localName; - - Class & - ret = * new Class( local_name, - i_context.CurOwner().CeId(), - i_context.CurProtection(), - i_context.CurFile().LeId(), - i_eClassKey ); - aStorage.Store_Type(ret); - i_context.CurOwner().Add_Class(local_name, ret.CeId()); - transfer_visibility(i_context.CurClass(), ret); - - return ret; -} - -Enum & -CeAdmin::Store_Enum( const InputContext & i_context, - const String & i_localName ) -{ - const String - local_name = i_localName.empty() - ? Get_NewAnonymousName('e') - : i_localName; - Enum & - ret = * new Enum( local_name, - i_context.CurOwner().CeId(), - i_context.CurProtection(), - i_context.CurFile().LeId() ); - aStorage.Store_Type(ret); - i_context.CurOwner().Add_Enum(local_name, ret.CeId()); - transfer_visibility(i_context.CurClass(), ret); - - return ret; -} - -Typedef & -CeAdmin::Store_Typedef( const InputContext& i_context, - const String & i_localName, - Type_id i_referredType ) -{ - Typedef & - ret = * new Typedef( i_localName, - i_context.CurOwner().CeId(), - i_context.CurProtection(), - i_context.CurFile().LeId(), - i_referredType ); - aStorage.Store_Type(ret); - i_context.CurOwner().Add_Typedef(i_localName, ret.CeId()); - transfer_visibility(i_context.CurClass(), ret); - - return ret; -} - -Function * -CeAdmin::Store_Operation( const InputContext & i_context, - const String & i_localName, - Type_id i_returnType, - const std::vector<S_Parameter> & i_parameters, - E_Virtuality i_virtuality, - E_ConVol i_conVol, - FunctionFlags i_flags, - bool i_throwExists, - const std::vector<Type_id> & i_exceptions ) -{ - Function & - ret = * new Function( i_localName, - i_context.CurOwner().CeId(), - i_context.CurProtection(), - i_context.CurFile().LeId(), - i_returnType, - i_parameters, - i_conVol, - i_virtuality, - i_flags, - i_throwExists, - i_exceptions ); - - // Check for double declaration: - Ce_id - nAlreadyExistingFunction(0); - switch ( lhf_CheckAndHandle_DuplicateOperation( - nAlreadyExistingFunction, - i_context, - ret) ) - { - case df_discard_new: - delete &ret; - return 0; - case df_replace: - csv_assert(nAlreadyExistingFunction.IsValid()); - aStorage.Replace_Entity( - nAlreadyExistingFunction, - ret ); - break; - case df_no: - aStorage.Store_Operation(ret); // Now it has a valid id. - i_context.CurOwner().Add_Operation( i_localName, ret.CeId(), i_flags.IsStaticMember() ); - break; - default: - csv_assert(false); - } - - transfer_visibility(i_context.CurClass(), ret); - if ( i_context.CurProtection() != PROTECT_global ) - { - Class * - pClass = i_context.CurClass(); - if ( pClass != 0 AND i_virtuality != VIRTUAL_none) - { - pClass->UpdateVirtuality(i_virtuality); - } - } - - return &ret; -} - -Variable & -CeAdmin::Store_Variable( const InputContext& i_context, - const String & i_localName, - Type_id i_type, - VariableFlags i_flags, - const String & i_arraySize, - const String & i_initValue ) -{ - Variable & - ret = * new Variable( i_localName, - i_context.CurOwner().CeId(), - i_context.CurProtection(), - i_context.CurFile().LeId(), - i_type, - i_flags, - i_arraySize, - i_initValue ); - - bool - is_const = Types().Find_Type(i_type).IsConst(); - aStorage.Store_Datum(ret); - i_context.CurOwner().Add_Variable( - i_localName, - ret.CeId(), - is_const, - i_flags.IsStaticMember() ); - transfer_visibility(i_context.CurClass(), ret); - - return ret; -} - -EnumValue & -CeAdmin::Store_EnumValue( const InputContext & i_context, - const String & i_localName, - const String & i_initValue ) -{ - Enum * - parent = i_context.CurEnum(); - csv_assert( parent != 0 ); - - EnumValue & - ret = * new EnumValue( i_localName, - parent->CeId(), - i_initValue ); - aStorage.Store_Datum(ret); - parent->Add_Value(ret.CeId()); - - // KORR also for current enum: - transfer_visibility(i_context.CurClass(), ret); - - return ret; -} - -const Namespace & -CeAdmin::GlobalNamespace() const -{ - return ary_cast<Namespace>( aStorage[predefined::ce_GlobalNamespace] ); -} - -const CodeEntity & -CeAdmin::Find_Ce(Ce_id i_id) const -{ - return aStorage[i_id]; -} - -const CodeEntity * -CeAdmin::Search_Ce(Ce_id i_id) const -{ - return aStorage.Exists(i_id) - ? & aStorage[i_id] - : (const CodeEntity*)(0); -} - -const CodeEntity * -CeAdmin::Search_CeAbsolute( const CodeEntity & i_curScope, - const QualifiedName & i_rSearchedName ) const -{ - const symtree::Node<CeNode_Traits> * - cur_node = CeNode_Traits::NodeOf_(i_curScope); - csv_assert(cur_node != 0); - - Ce_id - ret(0); - cur_node->SearchUp( ret, - i_rSearchedName.first_namespace(), - i_rSearchedName.end_namespace(), - i_rSearchedName.LocalName() ); - return Search_Ce(ret); -} - -const CodeEntity * -CeAdmin::Search_CeLocal( const String & i_localName, - bool i_bIsFunction, - const Namespace & i_rCurNamespace, - const Class * i_pCurClass ) const -{ - // KORR_FUTURE - // See if this is correct. - - Ce_id - ret(0); - - if ( NOT i_bIsFunction ) - { - CesResultList - type_instances = aStorage.TypeIndex().SearchAll(i_localName); - CesResultList - data_instances = aStorage.DataIndex().SearchAll(i_localName); - Ce_id - ret1 = Search_MatchingInstance( - type_instances, - (i_pCurClass - ? i_pCurClass->CeId() - : i_rCurNamespace.CeId()) - ); - Ce_id - ret2 = Search_MatchingInstance( - data_instances, - (i_pCurClass - ? i_pCurClass->CeId() - : i_rCurNamespace.CeId()) - ); - if (NOT ret2.IsValid()) - ret = ret1; - else if (NOT ret1.IsValid()) - ret = ret2; - } - else - { - CesResultList - function_instances = aStorage.OperationIndex().SearchAll(i_localName); - if ( function_instances.size() == 1 ) - ret = *function_instances.begin(); - else - { - ret = Search_MatchingInstance( - function_instances, - (i_pCurClass - ? i_pCurClass->CeId() - : i_rCurNamespace.CeId()) - ); - } - } - - if ( ret.IsValid() ) - return & Find_Ce(ret); - - return 0; -} - -void -CeAdmin::Get_QualifiedName( StreamStr & o_rOut, - const String & i_localName, - Ce_id i_nOwner, - const char * i_sDelimiter ) const -{ - if ( i_localName.empty() OR NOT i_nOwner.IsValid() ) - return; - - const CodeEntity * - pOwner = & Find_Ce( i_nOwner ); - if ( is_type<Enum>(*pOwner) ) - pOwner = &Find_Ce( Ce_id(pOwner->Owner()) ); - - Get_QualifiedName( o_rOut, - pOwner->LocalName(), - Ce_id(pOwner->Owner()), - i_sDelimiter ); - o_rOut - << i_sDelimiter - << i_localName; -} - -void -CeAdmin::Get_SignatureText( StreamStr & o_rOut, - const OperationSignature & i_signature, - const StringVector * i_sParameterNames ) const -{ - OperationSignature::ParameterTypeList::const_iterator - it = i_signature.Parameters().begin(); - OperationSignature::ParameterTypeList::const_iterator - it_end = i_signature.Parameters().end(); - - const StringVector aDummy; - StringVector::const_iterator - itName = i_sParameterNames != 0 - ? i_sParameterNames->begin() - : aDummy.begin(); - StringVector::const_iterator - itName_end = i_sParameterNames != 0 - ? i_sParameterNames->end() - : aDummy.end(); - - if (NOT (it == it_end) ) - { - o_rOut << "( "; - Types().Get_TypeText(o_rOut, *it); - if (itName != itName_end) - o_rOut << " " << (*itName); - - for ( ++it; it != it_end; ++it ) - { - o_rOut << ", "; - Types().Get_TypeText(o_rOut, *it); - if (itName != itName_end) - { - ++itName; - if (itName != itName_end) - o_rOut << " " << (*itName); - } - } - o_rOut << " )"; - } - else - { - o_rOut << "( )"; - } - - if ( intt(i_signature.ConVol()) & intt(ary::cpp::CONVOL_const) ) - o_rOut << " const"; - if ( intt(i_signature.ConVol()) & intt(ary::cpp::CONVOL_volatile) ) - o_rOut << " volatile"; -} - -CesResultList -CeAdmin::Search_TypeName(const String & i_sName) const -{ - return aStorage.TypeIndex().SearchAll(i_sName); -} - -Namespace & -CeAdmin::GlobalNamespace() -{ - return ary_cast<Namespace>( aStorage[predefined::ce_GlobalNamespace] ); -} - -CeAdmin::E_DuplicateFunction -CeAdmin::lhf_CheckAndHandle_DuplicateOperation( - Ce_id & o_existentFunction, - const InputContext & i_context, - const Function & i_newFunction ) -{ - if (i_context.CurProtection() != PROTECT_global) - { - // Assume, there will be no duplicates within the same class. - - // KORR_FUTURE - // Assumption may be wrong in case of #defines providing different - // versions for different compilers. - return df_no; - } - - std::vector<Ce_id> - aOperationsWithSameName; - i_context.CurNamespace().Search_LocalOperations( - aOperationsWithSameName, - i_newFunction.LocalName() ); - - for ( std::vector<Ce_id>::const_iterator - it = aOperationsWithSameName.begin(); - it != aOperationsWithSameName.end(); - ++it ) - { - const Function & - rFunction = ary_cast<Function>(aStorage[*it]); - if ( rFunction.LocalName() == i_newFunction.LocalName() - AND rFunction.Signature() == i_newFunction.Signature() ) - { - if (NOT rFunction.IsIdentical(i_newFunction)) - { - // KORR_FUTURE Make this more detailed. - Cerr() << "Non identical function with same signature " - << "found: " - << i_context.CurNamespace().LocalName() - << "::" - << i_newFunction.LocalName() - << "(..)" - << Endl(); - } - o_existentFunction = rFunction.CeId(); - if (rFunction.Docu().Data() == 0) - return df_replace; - else - return df_discard_new; - } - } // end for - - return df_no; -} - -Namespace & -CeAdmin::Create_Namespace( Namespace & o_parent, - const String & i_localName ) -{ - DYN Namespace & - ret = *new Namespace(i_localName, o_parent); - aStorage.Store_Entity(ret); - o_parent.Add_LocalNamespace(ret); - return ret; -} - -Ce_id -CeAdmin::Search_MatchingInstance( CesResultList i_list, - Ce_id i_owner ) const -{ - // KORR - // Multiple results? - - for ( CesList::const_iterator it = i_list.begin(); - it != i_list.end(); - ++it ) - { - const CodeEntity & - ce = aStorage[*it]; - if ( ce.Owner() == i_owner) - { - return *it; - } - } - return Ce_id(0); -} - - - -} // namespace cpp -} // namespace ary - - - -namespace -{ - -uintt G_nLastFreeAnonymousNamespaceNr = 0; -uintt G_nLastFreeAnonymousEntityNr = 0; - -String -Get_NewAnonymousNamespaceName() -{ - StreamLock - sl(100); - return String( sl() - << "namespace_anonymous_" - << ++G_nLastFreeAnonymousNamespaceNr - << csv::c_str ); - -} - -String -Get_NewAnonymousName(char i_cStart) -{ - StreamLock - sl(100); - return String( sl() - << i_cStart - << "_Anonymous__" - << ++G_nLastFreeAnonymousEntityNr - << c_str ); -} - - - -} // namespace anonymous - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/ca_ce.hxx b/autodoc/source/ary/cpp/ca_ce.hxx deleted file mode 100644 index 00e722b170c4..000000000000 --- a/autodoc/source/ary/cpp/ca_ce.hxx +++ /dev/null @@ -1,216 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CA_CE_HXX -#define ARY_CPP_CA_CE_HXX - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/cp_ce.hxx> - // OTHER -#include "cs_ce.hxx" - - -namespace ary -{ -namespace cpp -{ - class Ce_Storage; - class RepositoryPartition; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - -/** Administrates all C++ code entities (types, operations, variables). -*/ -class CeAdmin : public CePilot -{ - public: - // LIFECYCLE - CeAdmin( - RepositoryPartition & - io_myReposyPartition ); - void Set_Related( - const TypePilot & i_types ); - virtual ~CeAdmin(); - - // INQUIRY - const Ce_Storage & Storage() const; - - // ACCESS - Ce_Storage & Storage(); - - // INHERITED - // Interface CePilot: - virtual Namespace & CheckIn_Namespace( - const InputContext & - i_context, - const String & i_localName ); - virtual Class & Store_Class( - const InputContext & - i_context, - const String & i_localName, - E_ClassKey i_classKey ); - virtual Enum & Store_Enum( - const InputContext & - i_context, - const String & i_localName ); - virtual Typedef & Store_Typedef( - const InputContext & - i_context, - const String & i_localName, - Type_id i_referredType ); - virtual Function * Store_Operation( - const InputContext & - i_context, - const String & i_localName, - Type_id i_returnType, - const std::vector<S_Parameter> & - i_parameters, - E_Virtuality i_virtuality, - E_ConVol i_conVol, - FunctionFlags i_flags, - bool i_throwExists, - const std::vector<Type_id> & - i_exceptions ); - virtual Variable & Store_Variable( - const InputContext & - i_context, - const String & i_localName, - Type_id i_type, - VariableFlags i_flags, - const String & i_arraySize, - const String & i_initValue ); - virtual EnumValue & Store_EnumValue( - const InputContext & - i_context, - const String & i_localName, - const String & i_initValue ); - virtual const Namespace & - GlobalNamespace() const; - virtual const CodeEntity & - Find_Ce( - Ce_id i_id ) const; - virtual const CodeEntity * - Search_Ce( - Ce_id i_id ) const; - virtual const CodeEntity * - Search_CeAbsolute( - const CodeEntity & i_curScope, - const QualifiedName & - i_absoluteName ) const; - virtual const CodeEntity * - Search_CeLocal( - const String & i_relativeName, - bool i_isFunction, - const Namespace & i_curNamespace, - const Class * i_curClass ) const; - virtual void Get_QualifiedName( - StreamStr & o_result, - const String & i_localName, - Ce_id i_owner, - const char * i_delimiter = "::" ) const; - virtual void Get_SignatureText( - StreamStr & o_rOut, - const OperationSignature & - i_signature, - const StringVector * - i_sParameterNames = 0 ) const; - virtual CesResultList - Search_TypeName( - const String & i_sName ) const; - virtual Namespace & GlobalNamespace(); - - private: - // Locals - /// @return true, if function is duplicate. - enum E_DuplicateFunction - { - df_no, - df_replace, - df_discard_new - }; - - /** @param o_existentFunction - The id of the already existing function, else unset. - */ - E_DuplicateFunction lhf_CheckAndHandle_DuplicateOperation( - Ce_id & o_existentFunction, - const InputContext & - i_context, - const Function & i_newFunction ); - Namespace & Create_Namespace( - Namespace & o_parent, - const String & i_localName ); - Ce_id Search_MatchingInstance( - CesResultList i_list, - Ce_id i_owner ) const; - const TypePilot & Types() const; - - // DATA - Ce_Storage aStorage; - const TypePilot * pTypes; - RepositoryPartition * - pCppRepositoryPartition; -}; - - - - -// IMPLEMENTATION -inline const Ce_Storage & -CeAdmin::Storage() const -{ - return aStorage; -} - -inline Ce_Storage & -CeAdmin::Storage() -{ - return aStorage; -} - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/ca_def.cxx b/autodoc/source/ary/cpp/ca_def.cxx deleted file mode 100644 index 8a2daa8dd9ea..000000000000 --- a/autodoc/source/ary/cpp/ca_def.cxx +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "ca_def.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/cpp/inpcontx.hxx> - - - - -namespace ary -{ -namespace cpp -{ - - -DefAdmin::DefAdmin(RepositoryPartition & io_myReposyPartition) - : aStorage(), - pCppRepositoryPartition(&io_myReposyPartition) -{ -} - -DefAdmin::~DefAdmin() -{ -} - -Define & -DefAdmin::Store_Define( const InputContext& i_rContext, - const String & i_sName, - const StringVector & i_rDefinition ) -{ - Define & - ret = *new Define( i_sName, - i_rDefinition, - i_rContext.CurFile().LeId() ); - aStorage.Store_Define(ret); - return ret; - -} - -Macro & -DefAdmin::Store_Macro( const InputContext& i_rContext, - const String & i_sName, - const StringVector & i_rParams, - const StringVector & i_rDefinition ) -{ - Macro & - ret = *new Macro( i_sName, - i_rParams, - i_rDefinition, - i_rContext.CurFile().LeId() ); - aStorage.Store_Macro(ret); - return ret; -} - -const DefineEntity & -DefAdmin::Find_Def(De_id i_id) const -{ - return aStorage[i_id]; -} - -DefsResultList -DefAdmin::AllDefines() const -{ - return csv::make_range( aStorage.DefineIndex().Begin(), - aStorage.DefineIndex().End() ); -} - -DefsResultList -DefAdmin::AllMacros() const -{ - return csv::make_range( aStorage.MacroIndex().Begin(), - aStorage.MacroIndex().End() ); -} - - - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/ca_def.hxx b/autodoc/source/ary/cpp/ca_def.hxx deleted file mode 100644 index 254ad1797b1b..000000000000 --- a/autodoc/source/ary/cpp/ca_def.hxx +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CA_DEF_HXX -#define ARY_CPP_CA_DEF_HXX - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/cp_def.hxx> - // OTHER -#include "cs_def.hxx" - - - -namespace ary -{ -namespace cpp -{ - class Def_Storage; - class RepositoryPartition; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - - -class DefAdmin : public DefPilot -{ - public: - // LIFECYCLE - DefAdmin( - RepositoryPartition & - io_myReposyPartition ); - ~DefAdmin(); - - // INQUIRY - const Def_Storage & Storage() const; - - // INHERITED - // Interface DefPilot: - virtual Define & Store_Define( - const InputContext& i_rContext, - const String & i_sName, - const StringVector & - i_rDefinition ); - virtual Macro & Store_Macro( - const InputContext& i_rContext, - const String & i_sName, - const StringVector & - i_rParams, - const StringVector & - i_rDefinition ); - virtual const DefineEntity & - Find_Def( - De_id i_id ) const; - virtual DefsResultList - AllDefines() const; - virtual DefsResultList - AllMacros() const; - - private: - // DATA - Def_Storage aStorage; - RepositoryPartition * - pCppRepositoryPartition; -}; - - - - -// IMPLEMENTATION -inline const Def_Storage & -DefAdmin::Storage() const -{ - return aStorage; -} - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/ca_type.cxx b/autodoc/source/ary/cpp/ca_type.cxx deleted file mode 100644 index 29117aea7cd0..000000000000 --- a/autodoc/source/ary/cpp/ca_type.cxx +++ /dev/null @@ -1,139 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "ca_type.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_builtintype.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/cpp/inpcontx.hxx> -#include <ary/cpp/usedtype.hxx> -#include <ary/getncast.hxx> -#include "c_reposypart.hxx" -#include "cs_type.hxx" - - - - -namespace ary -{ -namespace cpp -{ - - -TypeAdmin::TypeAdmin(RepositoryPartition & io_myReposyPartition) - : aStorage(), - pCppRepositoryPartition(&io_myReposyPartition) -{ -} - -TypeAdmin::~TypeAdmin() -{ -} - - -// KORR_FUTURE -// Remove unused parameter. - -const Type & -TypeAdmin::CheckIn_UsedType( const InputContext & , - DYN UsedType & pass_type ) -{ - Dyn<UsedType> - pNewType(&pass_type); // Ensure clean up of heap object. - - Type_id - tid(0); - if (pass_type.IsBuiltInType()) - { - tid = aStorage.Search_BuiltInType( - BuiltInType::SpecializedName_( pass_type.LocalName().c_str(), - pass_type.TypeSpecialisation() )); - csv_assert(tid.IsValid()); - return aStorage[tid]; - } - - tid = aStorage.UsedTypeIndex().Search(pass_type); - if (tid.IsValid()) - { - return aStorage[tid]; - } - - // Type does not yet exist: - // Transfer ownership from pNewTypeand assign id: - aStorage.Store_Entity(*pNewType.Release()); - - aStorage.UsedTypeIndex().Add(pass_type.TypeId()); - return pass_type; -} - -const Type & -TypeAdmin::Find_Type(Type_id i_type) const -{ - return aStorage[i_type]; -} - -bool -TypeAdmin::Get_TypeText( StreamStr & o_result, - Type_id i_type ) const -{ - if (NOT i_type.IsValid()) - return false; - aStorage[i_type].Get_Text(o_result, *pCppRepositoryPartition); - return true; -} - -bool -TypeAdmin::Get_TypeText( StreamStr & o_preName, - StreamStr & o_name, - StreamStr & o_postName, - Type_id i_type ) const -{ - if (NOT i_type.IsValid()) - return false; - aStorage[i_type].Get_Text(o_preName, o_name, o_postName, *pCppRepositoryPartition); - return true; -} - -Type_id -TypeAdmin::Tid_Ellipse() const -{ - return Type_id(predefined::t_ellipse); -} - - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/ca_type.hxx b/autodoc/source/ary/cpp/ca_type.hxx deleted file mode 100644 index 123912d7c389..000000000000 --- a/autodoc/source/ary/cpp/ca_type.hxx +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CA_TYPE_HXX -#define ARY_CPP_CA_TYPE_HXX - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/cp_type.hxx> - // OTHER -#include "cs_type.hxx" - - - -namespace ary -{ -namespace cpp -{ - class RepositoryPartition; -} -} - - - - - -namespace ary -{ -namespace cpp -{ - - - -/** Administrates all C++ types as uses in user declarations - as return-, parameter- or variable-types. -*/ -class TypeAdmin : public TypePilot -{ - public: - // LIFECYCLE - TypeAdmin( - RepositoryPartition & - io_myReposyPartition ); - virtual ~TypeAdmin(); - - // INQUIRY - /// @return A list of all stored types that are not C++ or STL builtin types. - const Type_Storage & - Storage() const; - - // ACCESS - Type_Storage & Storage(); - - // INHERITED - // Interface TypePilot: - virtual const Type & - CheckIn_UsedType( - const InputContext & - i_context, - DYN UsedType & pass_type ); - virtual const Type & - Find_Type( - Type_id i_type ) const; - virtual bool Get_TypeText( - StreamStr & o_result, - Type_id i_type ) const; - virtual bool Get_TypeText( - StreamStr & o_preName, /// ::ary::cpp:: - StreamStr & o_name, /// MyClass - StreamStr & o_postName, /// <TplArgument> * const & - Type_id i_type ) const; - virtual Type_id Tid_Ellipse() const; - - private: - // DATA - Type_Storage aStorage; - RepositoryPartition * - pCppRepositoryPartition; -}; - - - - -// IMPLEMENTATION -inline const Type_Storage & -TypeAdmin::Storage() const -{ - return aStorage; -} - -inline Type_Storage & -TypeAdmin::Storage() -{ - return aStorage; -} - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/cs_ce.cxx b/autodoc/source/ary/cpp/cs_ce.cxx deleted file mode 100644 index 3b4828b67230..000000000000 --- a/autodoc/source/ary/cpp/cs_ce.cxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cs_ce.hxx" - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_namesp.hxx> - - - -namespace -{ -const uintt - C_nReservedElements = ::ary::cpp::predefined::ce_MAX; // Skipping "0" and the GlobalNamespace -} - - - - -namespace ary -{ -namespace cpp -{ - -Ce_Storage * Ce_Storage::pInstance_ = 0; - - - -Ce_Storage::Ce_Storage() - : stg::Storage<CodeEntity>(C_nReservedElements), - aTypes(), - aOperations(), - aData() - -{ - Set_Reserved( predefined::ce_GlobalNamespace, - *new Namespace ); - - csv_assert(pInstance_ == 0); - pInstance_ = this; -} - -Ce_Storage::~Ce_Storage() -{ - csv_assert(pInstance_ != 0); - pInstance_ = 0; -} - -Ce_id -Ce_Storage::Store_Type(DYN CodeEntity & pass_ce) -{ - Ce_id - ret = Store_Entity(pass_ce); - aTypes.Add(ret); - return ret; -} - -Ce_id -Ce_Storage::Store_Operation(DYN CodeEntity & pass_ce) -{ - Ce_id - ret = Store_Entity(pass_ce); - aOperations.Add(ret); - return ret; -} - -Ce_id -Ce_Storage::Store_Datum(DYN CodeEntity & pass_ce) -{ - Ce_id - ret = Store_Entity(pass_ce); - aData.Add(ret); - return ret; -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/cs_ce.hxx b/autodoc/source/ary/cpp/cs_ce.hxx deleted file mode 100644 index a741f0d86c09..000000000000 --- a/autodoc/source/ary/cpp/cs_ce.hxx +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CS_CE_HXX -#define ARY_CPP_CS_CE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <store/s_storage.hxx> - // OTHER -#include <ary/cpp/c_ce.hxx> -#include <ary/cpp/c_traits.hxx> -#include <sortedids.hxx> - - - -namespace ary -{ -namespace cpp -{ - - -/** The data base for all ->ary::cpp::CodeEntity objects. -*/ -class Ce_Storage : public ::ary::stg::Storage<CodeEntity> -{ - public: - typedef SortedIds<Ce_Compare> Index; - - Ce_Storage(); - virtual ~Ce_Storage(); - - Ce_id Store_Type( - DYN CodeEntity & pass_ce ); - Ce_id Store_Operation( - DYN CodeEntity & pass_ce ); - Ce_id Store_Datum( - DYN CodeEntity & pass_ce ); - - const Index & TypeIndex() const { return aTypes; } - const Index & OperationIndex() const { return aOperations; } - const Index & DataIndex() const { return aData; } - - Index & TypeIndex() { return aTypes; } - Index & OperationIndex() { return aOperations; } - Index & DataIndex() { return aData; } - - static Ce_Storage & Instance_() { csv_assert(pInstance_ != 0); - return *pInstance_; } - private: - // DATA - Index aTypes; - Index aOperations; - Index aData; - - static Ce_Storage * pInstance_; -}; - - - - -namespace predefined -{ - -enum E_CodeEntity -{ - ce_GlobalNamespace = 1, - ce_MAX -}; - -} // namespace predefined - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/cs_def.cxx b/autodoc/source/ary/cpp/cs_def.cxx deleted file mode 100644 index 713c2aaa63d8..000000000000 --- a/autodoc/source/ary/cpp/cs_def.cxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cs_def.hxx" - -// NOT FULLY DEFINED SERVICES - - -namespace -{ -const uintt - C_nReservedElements = ::ary::cpp::predefined::de_MAX; // Skipping "0" -} - - - -namespace ary -{ -namespace cpp -{ - -Def_Storage * Def_Storage::pInstance_ = 0; - - - - -Def_Storage::Def_Storage() - : stg::Storage<DefineEntity>(C_nReservedElements) -{ - csv_assert(pInstance_ == 0); - pInstance_ = this; -} - -Def_Storage::~Def_Storage() -{ - csv_assert(pInstance_ != 0); - pInstance_ = 0; -} - -De_id -Def_Storage::Store_Define(DYN DefineEntity & pass_de) -{ - De_id - ret = Store_Entity(pass_de); - aDefines.Add(ret); - return ret; -} - -De_id -Def_Storage::Store_Macro(DYN DefineEntity & pass_de) -{ - De_id - ret = Store_Entity(pass_de); - aMacros.Add(ret); - return ret; -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/cs_def.hxx b/autodoc/source/ary/cpp/cs_def.hxx deleted file mode 100644 index cfd6b5c61b53..000000000000 --- a/autodoc/source/ary/cpp/cs_def.hxx +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CS_DE_HXX -#define ARY_CPP_CS_DE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <store/s_storage.hxx> - // OTHER -#include <ary/cpp/c_de.hxx> -#include <ary/cpp/c_traits.hxx> -#include <sortedids.hxx> - - - -namespace ary -{ -namespace cpp -{ - - - - -/** The data base for all ->ary::cpp::Type objects. -*/ -class Def_Storage : public ::ary::stg::Storage<DefineEntity> -{ - public: - typedef SortedIds<Def_Compare> Index; - - // LIFECYCLE - Def_Storage(); - virtual ~Def_Storage(); - - De_id Store_Define( - DYN DefineEntity & pass_de ); - De_id Store_Macro( - DYN DefineEntity & pass_de ); - - const Index & DefineIndex() const { return aDefines; } - const Index & MacroIndex() const { return aMacros; } - - Index & DefineIndex() { return aDefines; } - Index & MacroIndex() { return aMacros; } - - static Def_Storage & - Instance_() { csv_assert(pInstance_ != 0); - return *pInstance_; } - private: - // DATA - Index aDefines; - Index aMacros; - - - static Def_Storage * - pInstance_; -}; - - - - -namespace predefined -{ - -enum E_DefineEntity -{ - // 0 is always unused with repository storages. - de_MAX = 1 -}; - -} // namespace predefined - - - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/cs_type.cxx b/autodoc/source/ary/cpp/cs_type.cxx deleted file mode 100644 index a5c6791a7ec2..000000000000 --- a/autodoc/source/ary/cpp/cs_type.cxx +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cs_type.hxx" - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_builtintype.hxx> - - -namespace -{ - const uintt - C_nReservedElements = ary::cpp::predefined::t_MAX; // Skipping "0" and the builtin types -} - - -namespace ary -{ -namespace cpp -{ - - - -Type_Storage * Type_Storage::pInstance_ = 0; - - - - -Type_Storage::Type_Storage() - : stg::Storage<Type>(C_nReservedElements), - aBuiltInTypes() -{ - Setup_BuiltInTypes(); - - csv_assert(pInstance_ == 0); - pInstance_ = this; -} - -Type_Storage::~Type_Storage() -{ - csv_assert(pInstance_ != 0); - pInstance_ = 0; -} - -Type_id -Type_Storage::Search_BuiltInType( const String & i_specializedName ) const -{ - return csv::value_from_map(aBuiltInTypes, i_specializedName, Tid(0)); -} - -void -Type_Storage::Setup_BuiltInTypes() -{ - Set_BuiltInType( predefined::t_void, "void" ); - Set_BuiltInType( predefined::t_bool, "bool" ); - Set_BuiltInType( predefined::t_char, "char" ); - Set_BuiltInType( predefined::t_signed_char, "char", TYSP_signed ); - Set_BuiltInType( predefined::t_unsigned_char, "char", TYSP_unsigned ); - Set_BuiltInType( predefined::t_short, "short" ); - Set_BuiltInType( predefined::t_unsigned_short, "short", TYSP_unsigned ); - Set_BuiltInType( predefined::t_int, "int" ); - Set_BuiltInType( predefined::t_unsigned_int, "int", TYSP_unsigned ); - Set_BuiltInType( predefined::t_long, "long" ); - Set_BuiltInType( predefined::t_unsigned_long, "long", TYSP_unsigned ); - Set_BuiltInType( predefined::t_float, "float" ); - Set_BuiltInType( predefined::t_double, "double" ); - Set_BuiltInType( predefined::t_size_t, "size_t" ); - Set_BuiltInType( predefined::t_wchar_t, "wchar_t" ); - Set_BuiltInType( predefined::t_ptrdiff_t, "ptrdiff_t" ); - Set_BuiltInType( predefined::t_ellipse, "..." ); -} - -void -Type_Storage::Set_BuiltInType( Rid i_id, - const char * i_sName, - ary::cpp::E_TypeSpecialisation i_eSpecialisation ) -{ - DYN BuiltInType & - rNew = *new BuiltInType(i_sName, i_eSpecialisation); - Set_Reserved( i_id, rNew); // Here goes the ownership for rNew. - aBuiltInTypes[rNew.SpecializedName()] = rNew.TypeId(); -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/cs_type.hxx b/autodoc/source/ary/cpp/cs_type.hxx deleted file mode 100644 index c1f1568cb097..000000000000 --- a/autodoc/source/ary/cpp/cs_type.hxx +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_CS_TYPE_HXX -#define ARY_CPP_CS_TYPE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <store/s_storage.hxx> - // COMPONENTS - // PARAMETERS -#include <ary/cpp/c_type.hxx> -#include <ary/cpp/c_traits.hxx> -#include <ary/cpp/usedtype.hxx> -#include <sortedids.hxx> - - - -namespace ary -{ -namespace cpp -{ - - - -/** The data base for all ->ary::cpp::Type objects. -*/ -class Type_Storage : public ::ary::stg::Storage<Type> -{ - public: - typedef SortedIds<UsedType_Compare> UT_Index; - - Type_Storage(); - virtual ~Type_Storage(); - - const UT_Index & UsedTypeIndex() const; - - UT_Index & UsedTypeIndex(); - Type_id Search_BuiltInType( - const String & i_specializedName ) const; - - static Type_Storage & - Instance_() { csv_assert(pInstance_ != 0); - return *pInstance_; } - private: - // Locals - void Setup_BuiltInTypes(); - void Set_BuiltInType( - Rid i_nId, - const char * i_sName, - ary::cpp::E_TypeSpecialisation - i_eSpecialisation = TYSP_none ); - // DATA - UT_Index aUsedTypes; - std::map<String,Type_id> - aBuiltInTypes; - - - static Type_Storage * - pInstance_; -}; - - - - -namespace predefined -{ - -enum E_Type -{ - // 0 is always unused with repository storages. - t_void = 1, - t_bool, - t_char, - t_signed_char, - t_unsigned_char, - t_short, - t_unsigned_short, - t_int, - t_unsigned_int, - t_long, - t_unsigned_long, - t_float, - t_double, - t_size_t, - t_wchar_t, - t_ptrdiff_t, - t_ellipse, - t_MAX -}; - -} // namespace predefined - - - -// IMPLEMENTATION -inline const Type_Storage::UT_Index & -Type_Storage::UsedTypeIndex() const -{ - return aUsedTypes; -} - -inline Type_Storage::UT_Index & -Type_Storage::UsedTypeIndex() -{ - return aUsedTypes; -} - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/makefile.mk b/autodoc/source/ary/cpp/makefile.mk deleted file mode 100644 index 5c20a59bd82e..000000000000 --- a/autodoc/source/ary/cpp/makefile.mk +++ /dev/null @@ -1,80 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org 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 version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=autodoc -TARGET=ary_cpp - - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=true -PRJINC=$(PRJ)$/source - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk - - -# --- Files -------------------------------------------------------- - - -OBJFILES= \ - $(OBJ)$/c_builtintype.obj \ - $(OBJ)$/c_class.obj \ - $(OBJ)$/c_de.obj \ - $(OBJ)$/c_define.obj \ - $(OBJ)$/c_enum.obj \ - $(OBJ)$/c_enuval.obj \ - $(OBJ)$/c_funct.obj \ - $(OBJ)$/c_macro.obj \ - $(OBJ)$/c_namesp.obj \ - $(OBJ)$/c_osigna.obj \ - $(OBJ)$/c_reposypart.obj \ - $(OBJ)$/c_slots.obj \ - $(OBJ)$/c_traits.obj \ - $(OBJ)$/c_tydef.obj \ - $(OBJ)$/c_vari.obj \ - $(OBJ)$/ca_ce.obj \ - $(OBJ)$/ca_def.obj \ - $(OBJ)$/ca_type.obj \ - $(OBJ)$/cs_ce.obj \ - $(OBJ)$/cs_def.obj \ - $(OBJ)$/cs_type.obj \ - $(OBJ)$/namechain.obj \ - $(OBJ)$/tplparam.obj \ - $(OBJ)$/usedtype.obj - - - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - - - diff --git a/autodoc/source/ary/cpp/namechain.cxx b/autodoc/source/ary/cpp/namechain.cxx deleted file mode 100644 index 4df64afe3deb..000000000000 --- a/autodoc/source/ary/cpp/namechain.cxx +++ /dev/null @@ -1,199 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/namechain.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/usedtype.hxx> -#include <ary/cpp/c_gate.hxx> -#include "tplparam.hxx" - - - -namespace ary -{ -namespace cpp -{ -namespace ut -{ - - -//********************* NameSegment ******************// - -NameSegment::NameSegment( const char * i_sName ) - : sName( i_sName ) - // pTemplate -{ -} - -NameSegment::NameSegment( const NameSegment & i_rSeg ) - : sName(i_rSeg.sName) - // pTemplate -{ - // KORR_FUTURE : Handling of copying of templates. -// csv_assert( NOT i_rSeg.pTemplate ); -} - -NameSegment& NameSegment::operator=(const NameSegment & i_rSeg) -{ - sName = i_rSeg.sName; - return *this; -} - -NameSegment::~NameSegment() -{ -} - -List_TplParameter & -NameSegment::AddTemplate() -{ - return * (pTemplate = new List_TplParameter); -} - -intt -NameSegment::Compare( const NameSegment & i_rOther ) const -{ - intt nResult = strcmp( sName.c_str(), i_rOther.sName.c_str() ); - if (nResult != 0) - return nResult; - if ( bool(pTemplate) != bool(i_rOther.pTemplate) ) - { - if ( NOT pTemplate ) - return -1; - else - return +1; - } - else if ( NOT pTemplate ) - return 0; - else - return pTemplate->Compare( *i_rOther.pTemplate ); -} - -void -NameSegment::Get_Text_AsScope( StreamStr & o_rOut, - const Gate & i_rGate ) const -{ - o_rOut << sName; - if ( pTemplate ) - pTemplate->Get_Text( o_rOut, i_rGate ); -} - -void -NameSegment::Get_Text_AsMainType( StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const -{ - o_rName << sName; - if ( pTemplate ) - pTemplate->Get_Text( o_rPostName, i_rGate ); -} - - -//********************* NameChain ******************// - -NameChain::NameChain() -// : aSegments -{ -} - -NameChain::~NameChain() -{ -} - -void -NameChain::Add_Segment( const char * i_sSeg ) -{ - aSegments.push_back( NameSegment(i_sSeg) ); -} - -List_TplParameter & -NameChain::Templatize_LastSegment() -{ - csv_assert( aSegments.size() > 0 ); - - return aSegments.back().AddTemplate(); -} - -intt -NameChain::Compare( const NameChain & i_rChain ) const -{ - intt nResult = intt(aSegments.size()) - intt(i_rChain.aSegments.size()); - if (nResult != 0) - return nResult; - - std::vector< NameSegment >::const_iterator it1 = aSegments.begin(); - std::vector< NameSegment >::const_iterator it1End = aSegments.end(); - std::vector< NameSegment >::const_iterator it2 = i_rChain.aSegments.begin(); - - for ( ; it1 != it1End; ++it1, ++it2 ) - { - nResult = (*it1).Compare(*it2); - if (nResult != 0) - return nResult; - } - - return 0; -} - -const String & -NameChain::LastSegment() const -{ - if ( aSegments.size() > 0 ) - return aSegments.back().Name(); - return String::Null_(); -} - -void -NameChain::Get_Text( StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const -{ - std::vector< NameSegment >::const_iterator it = aSegments.begin(); - std::vector< NameSegment >::const_iterator itEnd = aSegments.end(); - - if ( it == itEnd ) - return; - - for ( --itEnd; it != itEnd; ++it ) - { - (*it).Get_Text_AsScope( o_rPreName, i_rGate ); - o_rPreName << "::"; - } - (*it).Get_Text_AsMainType( o_rName, o_rPostName, i_rGate ); -} - - - -} // namespace ut -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/tplparam.cxx b/autodoc/source/ary/cpp/tplparam.cxx deleted file mode 100644 index c22fb78e4787..000000000000 --- a/autodoc/source/ary/cpp/tplparam.cxx +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "tplparam.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_type.hxx> - - -namespace ary -{ -namespace cpp -{ -namespace ut -{ - -TplParameter_Type::TplParameter_Type( Tid i_nType ) - : nType(i_nType) -{ -} - -TplParameter_Type::~TplParameter_Type() -{ -} - -intt -TplParameter_Type::Compare( const TemplateParameter & i_rOther ) const -{ - const TplParameter_Type * pOther - = dynamic_cast< const TplParameter_Type* >( &i_rOther ); - if (pOther == 0) - return -1; - - return static_cast<long>(nType.Value()) - - static_cast<long>(pOther->nType.Value()); -} - -void -TplParameter_Type::Get_Text( StreamStr & o_rOut, - const ary::cpp::Gate & i_rGate ) const -{ - i_rGate.Types().Get_TypeText( o_rOut, nType ); -} - -} // namespace ut -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/tplparam.hxx b/autodoc/source/ary/cpp/tplparam.hxx deleted file mode 100644 index a720eff22776..000000000000 --- a/autodoc/source/ary/cpp/tplparam.hxx +++ /dev/null @@ -1,87 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_TPLPARAM_HXX -#define ARY_CPP_TPLPARAM_HXX - -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> - - - - -namespace ary -{ -namespace cpp -{ - class UsedType; - class Gate; - -namespace ut -{ - - -class TemplateParameter -{ - public: - virtual ~TemplateParameter() {} - - virtual intt Compare( - const TemplateParameter & - i_rOther ) const = 0; - virtual void Get_Text( - StreamStr & o_rOut, - const ary::cpp::Gate & - i_rGate ) const = 0; -}; - - -class TplParameter_Type : public TemplateParameter -{ - public: - TplParameter_Type( - Tid i_nType ); - ~TplParameter_Type(); - - virtual intt Compare( - const TemplateParameter & - i_rOther ) const; - virtual void Get_Text( - StreamStr & o_rOut, - const ary::cpp::Gate & - i_rGate ) const; - private: - Tid nType; -}; - -} // namespace ut -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/cpp/usedtype.cxx b/autodoc/source/ary/cpp/usedtype.cxx deleted file mode 100644 index bde91e5b644b..000000000000 --- a/autodoc/source/ary/cpp/usedtype.cxx +++ /dev/null @@ -1,578 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cpp/usedtype.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/symtreenode.hxx> -#include <ary/cpp/c_ce.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_slntry.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_traits.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/cpp/cp_type.hxx> -#include <ary/doc/d_oldcppdocu.hxx> -#include <ary/getncast.hxx> -#include "tplparam.hxx" - - - -namespace -{ - -using namespace ::ary::cpp; -typedef std::vector< ary::cpp::E_ConVol > PtrLevelVector; - - -inline bool -result2bool( intt i_nResult ) - { return i_nResult < 0; } - - -intt compare_PtrLevelVector( - const PtrLevelVector & - i_r1, - const PtrLevelVector & - i_r2 ); -inline intt -compare_ConVol( E_ConVol i_e1, - E_ConVol i_e2 ) - { return intt(i_e1) - intt(i_e2); } - -inline intt -compare_bool( bool i_b1, - bool i_b2 ) - { return i_b1 == i_b2 - ? 0 - : i_b1 - ? -1 - : +1; } -inline intt -compare_Specialisation( E_TypeSpecialisation i_e1, - E_TypeSpecialisation i_e2 ) - { return intt(i_e1) - intt(i_e2); } - -inline bool -is_const( E_ConVol i_eCV ) - { return ( intt(i_eCV) & intt(CONVOL_const) ) != 0; } - -inline bool -is_volatile( E_ConVol i_eCV ) - { return ( intt(i_eCV) & intt(CONVOL_volatile) ) != 0; } - - -intt -compare_PtrLevelVector( const PtrLevelVector & i_r1, - const PtrLevelVector & i_r2 ) -{ - intt nResult = i_r1.size() - i_r2.size(); - if ( nResult != 0 ) - return nResult; - - PtrLevelVector::const_iterator it1 = i_r1.begin(); - PtrLevelVector::const_iterator it1End = i_r1.end(); - PtrLevelVector::const_iterator it2 = i_r2.begin(); - - for ( ; it1 != it1End; ++it1, ++it2 ) - { - nResult = compare_ConVol(*it1, *it2); - if ( nResult != 0 ) - return nResult; - } - - return 0; -} - - -} // anonymous namespace - - - - -namespace ary -{ -namespace cpp -{ - -typedef symtree::Node<CeNode_Traits> CeNode; -typedef ut::NameChain::const_iterator nc_iter; - -Ce_id CheckForRelatedCe_inNode( - const CeNode & i_node, - const StringVector& i_qualification, - const String & i_name ); - - -UsedType::UsedType(Ce_id i_scope ) - : aPath(), - aPtrLevels(), - eConVol_Type(CONVOL_none), - bIsReference(false), - bIsAbsolute(false), - bRefers2BuiltInType(false), - eTypeSpecialisation(TYSP_none), - nRelatedCe(0), - nScope(i_scope) -{ -} - -UsedType::~UsedType() -{ -} - - -bool -UsedType::operator<( const UsedType & i_rType ) const -{ - intt nResult = compare_bool( bIsAbsolute, i_rType.bIsAbsolute ); - if ( nResult != 0 ) - return result2bool(nResult); - - nResult = static_cast<intt>(nScope.Value()) - - - static_cast<intt>(i_rType.nScope.Value()); - if ( nResult != 0 ) - return result2bool(nResult); - - nResult = aPath.Compare( i_rType.aPath ); - if ( nResult != 0 ) - return result2bool(nResult); - - nResult = compare_ConVol( eConVol_Type, i_rType.eConVol_Type ); - if ( nResult != 0 ) - return result2bool(nResult); - - nResult = compare_PtrLevelVector( aPtrLevels, i_rType.aPtrLevels ); - if ( nResult != 0 ) - return result2bool(nResult); - - nResult = compare_bool( bIsReference, i_rType.bIsReference ); - if ( nResult != 0 ) - return result2bool(nResult); - - nResult = compare_Specialisation( eTypeSpecialisation, i_rType.eTypeSpecialisation ); - if ( nResult != 0 ) - return result2bool(nResult); - - return false; -} - -void -UsedType::Set_Absolute() -{ - bIsAbsolute = true; -} - -void -UsedType::Add_NameSegment( const char * i_sSeg ) -{ - aPath.Add_Segment(i_sSeg); -} - -ut::List_TplParameter & -UsedType::Enter_Template() -{ - return aPath.Templatize_LastSegment(); -} - -void -UsedType::Set_Unsigned() -{ - eTypeSpecialisation = TYSP_unsigned; -} - -void -UsedType::Set_Signed() -{ - eTypeSpecialisation = TYSP_signed; -} - -void -UsedType::Set_BuiltIn( const char * i_sType ) -{ - aPath.Add_Segment(i_sType); - bRefers2BuiltInType = true; -} - -void -UsedType::Set_Const() -{ - if (PtrLevel() == 0) - eConVol_Type = E_ConVol(eConVol_Type | CONVOL_const); - else - aPtrLevels.back() = E_ConVol(aPtrLevels.back() | CONVOL_const); -} - -void -UsedType::Set_Volatile() -{ - if (PtrLevel() == 0) - eConVol_Type = E_ConVol(eConVol_Type | CONVOL_volatile); - else - aPtrLevels.back() = E_ConVol(aPtrLevels.back() | CONVOL_volatile); -} - -void -UsedType::Add_PtrLevel() -{ - aPtrLevels.push_back(CONVOL_none); -} - -void -UsedType::Set_Reference() -{ - bIsReference = true; -} - -inline bool -IsInternal(const ary::cpp::CodeEntity & i_ce) -{ - const ary::doc::OldCppDocu * - docu = dynamic_cast< const ary::doc::OldCppDocu* >(i_ce.Docu().Data()); - if (docu != 0) - return docu->IsInternal(); - return false; -} - - -void -UsedType::Connect2Ce( const CePilot & i_ces) -{ - StringVector - qualification; - String - name; - Get_NameParts(qualification, name); - - for ( const CeNode * scope_node = CeNode_Traits::NodeOf_( - i_ces.Find_Ce(nScope)); - scope_node != 0; - scope_node = scope_node->Parent() ) - { - nRelatedCe = CheckForRelatedCe_inNode(*scope_node, qualification, name); - if ( nRelatedCe.IsValid() ) - { - if ( IsInternal(i_ces.Find_Ce(nRelatedCe)) ) - nRelatedCe = Ce_id(0); - return; - } - } // end for -} - -void -UsedType::Connect2CeOnlyKnownViaBaseClass(const Gate & i_gate) -{ - csv_assert(nScope.IsValid()); - CesResultList - instances = i_gate.Ces().Search_TypeName( LocalName() ); - - // If there are no matches, or only one match that was already - // accepted, all work is done. - if ( (nRelatedCe.IsValid() AND instances.size() == 1) - OR instances.size() == 0 ) - return; - - StringVector - qualification; - String - name; - Get_NameParts(qualification, name); - - const CodeEntity & - scopece = i_gate.Ces().Find_Ce(nScope); - - // Else search for declaration in own class and then in base classes. - // These would be of higher priority than those in parent namespaces. - Ce_id - foundce = RecursiveSearchCe_InBaseClassesOf( - scopece, qualification, name, i_gate); - if (foundce.IsValid()) - nRelatedCe = foundce; - - if ( nRelatedCe.IsValid() AND IsInternal(i_gate.Ces().Find_Ce(nRelatedCe)) ) - { - nRelatedCe = Ce_id(0); - } -} - -bool -UsedType::IsBuiltInType() const -{ - return bRefers2BuiltInType - AND aPtrLevels.size() == 0 - AND NOT bIsReference - AND eConVol_Type == ary::cpp::CONVOL_none; -} - -const String & -UsedType::LocalName() const -{ - return aPath.LastSegment(); -} - -E_TypeSpecialisation -UsedType::TypeSpecialisation() const -{ - return eTypeSpecialisation; -} - -void -UsedType::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ary::ClassId -UsedType::get_AryClass() const -{ - return class_id; -} - -Rid -UsedType::inq_RelatedCe() const -{ - return nRelatedCe.Value(); -} - -bool -UsedType::inq_IsConst() const -{ - if ( is_const(eConVol_Type) ) - return true; - for ( PtrLevelVector::const_iterator it = aPtrLevels.begin(); - it != aPtrLevels.end(); - ++it ) - { - if ( is_const(*it) ) - return true; - } - - return false; -} - -void -UsedType::inq_Get_Text( StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const Gate & i_rGate ) const -{ - if ( is_const(eConVol_Type) ) - o_rPreName << "const "; - if ( is_volatile(eConVol_Type) ) - o_rPreName << "volatile "; - if ( bIsAbsolute ) - o_rPreName << "::"; - - aPath.Get_Text( o_rPreName, o_rName, o_rPostName, i_rGate ); - - for ( PtrLevelVector::const_iterator it = aPtrLevels.begin(); - it != aPtrLevels.end(); - ++it ) - { - o_rPostName << " *"; - if ( is_const(*it) ) - o_rPostName << " const"; - if ( is_volatile(*it) ) - o_rPostName << " volatile"; - } - if ( bIsReference ) - o_rPostName << " &"; -} - -Ce_id -UsedType::RecursiveSearchCe_InBaseClassesOf( const CodeEntity & i_mayBeClass, - const StringVector & i_myQualification, - const String & i_myName, - const Gate & i_gate ) const -{ - // Find in this class? - const CeNode * - basenode = CeNode_Traits::NodeOf_(i_mayBeClass); - if (basenode == 0) - return Ce_id(0); - Ce_id - found = CheckForRelatedCe_inNode(*basenode, i_myQualification, i_myName); - if (found.IsValid()) - return found; - - - const Class * - cl = ary_cast<Class>(&i_mayBeClass); - if (cl == 0) - return Ce_id(0); - - for ( List_Bases::const_iterator it = cl->BaseClasses().begin(); - it != cl->BaseClasses().end(); - ++it ) - { - csv_assert((*it).nId.IsValid()); - Ce_id - base = i_gate.Types().Find_Type((*it).nId).RelatedCe(); - while (base.IsValid() AND is_type<Typedef>(i_gate.Ces().Find_Ce(base)) ) - { - base = i_gate.Types().Find_Type( - ary_cast<Typedef>(i_gate.Ces().Find_Ce(base)) - .DescribingType() ) - .RelatedCe(); - } - - if (base.IsValid()) - { - const CodeEntity & - basece = i_gate.Ces().Find_Ce(base); - found = RecursiveSearchCe_InBaseClassesOf( - basece, i_myQualification, i_myName, i_gate); - if (found.IsValid()) - return found; - } - } // end for - - return Ce_id(0); -} - - -void -UsedType::Get_NameParts( StringVector & o_qualification, - String & o_name ) -{ - nc_iter nit = aPath.begin(); - nc_iter nit_end = aPath.end(); - csv_assert(nit != nit_end); // Each UsedType has to have a local name. - - --nit_end; - o_name = (*nit_end).Name(); - for ( ; - nit != nit_end; - ++nit ) - { - o_qualification.push_back( (*nit).Name() ); - } -} - -Ce_id -CheckForRelatedCe_inNode( const CeNode & i_node, - const StringVector & i_qualification, - const String & i_name ) -{ - if (i_qualification.size() > 0) - { - Ce_id - ret(0); - i_node.SearchBelow( ret, - i_qualification.begin(), - i_qualification.end(), - i_name ); - return ret; - } - else - { - return i_node.Search(i_name); - } -} - - -namespace ut -{ - -List_TplParameter::List_TplParameter() - : aTplParameters() -{ -} - -List_TplParameter::~List_TplParameter() -{ - csv::erase_container_of_heap_ptrs(aTplParameters); -} - -void -List_TplParameter::AddParam_Type( Type_id i_nType ) -{ - aTplParameters.push_back( new TplParameter_Type(i_nType) ); -} - -void -List_TplParameter::Get_Text( StreamStr & o_rOut, - const ary::cpp::Gate & i_rGate ) const -{ - Vector_TplArgument::const_iterator it = aTplParameters.begin(); - Vector_TplArgument::const_iterator itEnd = aTplParameters.end(); - - if ( it == itEnd ) - { - o_rOut << "<>"; - return; - } - - o_rOut << "< "; - - (*it)->Get_Text( o_rOut, i_rGate ); - - for ( ++it; it != itEnd; ++it ) - { - o_rOut << ", "; - (*it)->Get_Text( o_rOut, i_rGate ); - } - - o_rOut << " >"; -} - -intt -List_TplParameter::Compare( const List_TplParameter & i_rOther ) const -{ - intt nResult = intt(aTplParameters.size()) - intt(i_rOther.aTplParameters.size()); - - if (nResult != 0) - return nResult; - - Vector_TplArgument::const_iterator it1 = aTplParameters.begin(); - Vector_TplArgument::const_iterator it1End = aTplParameters.end(); - Vector_TplArgument::const_iterator it2 = i_rOther.aTplParameters.begin(); - - for ( ; it1 != it1End; ++it1, ++it2 ) - { - nResult = (*it1)->Compare( *(*it2) ); - if (nResult != 0) - return nResult; - } - - return 0; -} - - -} // namespace ut -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/doc/d_boolean.cxx b/autodoc/source/ary/doc/d_boolean.cxx deleted file mode 100644 index 163f5ef0c8e6..000000000000 --- a/autodoc/source/ary/doc/d_boolean.cxx +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/doc/d_boolean.hxx> - - -// NOT FULLY DEFINED SERVICES - - - -namespace ary -{ -namespace doc -{ - -Boolean::~Boolean() -{ -} - -void -Boolean::do_Accept(csv::ProcessorIfc & io_processor ) const -{ - csv::CheckedCall(io_processor,*this); -} - - - - -} // namespace doc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/doc/d_oldcppdocu.cxx b/autodoc/source/ary/doc/d_oldcppdocu.cxx deleted file mode 100644 index 17d2edcb298a..000000000000 --- a/autodoc/source/ary/doc/d_oldcppdocu.cxx +++ /dev/null @@ -1,339 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/doc/d_oldcppdocu.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/info/all_tags.hxx> -#include <ary/info/docstore.hxx> -#include <ary/info/infodisp.hxx> -#include <docu_node_ids.hxx> - - - - -namespace ary -{ -namespace doc -{ - -using namespace info; - - - - -unsigned char C_ucNO_INDEX = 255; -typedef DYN StdTag * (F_CREATE)(); - - -OldCppDocu::OldCppDocu() - : Node(docnt::nt_OldCppDocu), - bIsObsolete(false), - bIsInternal(false), - bIsInterface(false) -{ - memset( nTags, C_ucNO_INDEX, size_t(C_eAtTag_NrOfClasses) ); -} - -OldCppDocu::~OldCppDocu() -{ -} - -void -OldCppDocu::Store2( info::DocuStore & o_rDocuStore ) -{ - o_rDocuStore.Store2ConnectedDeclaration(*this); -} - -AtTag * -OldCppDocu::Create_StdTag( E_AtTagId i_eId ) -{ - UINT8 nIndex = static_cast<UINT8>(i_eId); - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new StdTag(i_eId); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::CheckIn_BaseTag() -{ - UINT8 nIndex = atc_base; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new BaseTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::CheckIn_ExceptionTag() -{ - UINT8 nIndex = atc_exception; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new ExceptionTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::Create_ImplementsTag() -{ - UINT8 nIndex = atc_implements; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new ImplementsTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::Create_KeywordTag() -{ - UINT8 nIndex = atc_keyword; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new KeywordTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::CheckIn_ParameterTag() -{ - UINT8 nIndex = atc_parameter; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new ParameterTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::CheckIn_SeeTag() -{ - UINT8 nIndex = atc_see; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new SeeTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::CheckIn_TemplateTag() -{ - UINT8 nIndex = atc_template; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new TemplateTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::Create_LabelTag() -{ - UINT8 nIndex = atc_label; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new LabelTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::Create_DefaultTag() -{ - UINT8 nIndex = atid_descr; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new StdTag(atid_descr); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - -AtTag * -OldCppDocu::Create_SinceTag() -{ - UINT8 nIndex = atc_since; - if ( nTags[nIndex] == C_ucNO_INDEX ) - { - AtTag * ret = new SinceTag(); - NewTag(nIndex) = ret; - return ret; - } - else - { - return GetTag(nIndex).GetFollower(); - } -} - - -void -OldCppDocu::Replace_AtShort_By_AtDescr() -{ - unsigned char nPosInTags = nTags[atid_short]; - if ( nPosInTags == C_ucNO_INDEX ) - return; - - AtTag * pTag = aTags[ nPosInTags ]; - if ( pTag == 0 ) // Should be csv_assert(). - return; - - csv_assert( dynamic_cast< StdTag* >(pTag) != 0 ); - StdTag * pStdTag = static_cast< StdTag* >(pTag); - - pStdTag->ChangeId2(atid_descr); - nTags[atid_short] = C_ucNO_INDEX; - nTags[atid_descr] = nPosInTags; -} - -void -OldCppDocu::Set_Obsolete() -{ - bIsObsolete = true; -} - -void -OldCppDocu::Set_Internal() -{ - bIsInternal = true; -} - -const AtTag & -OldCppDocu::Short() const -{ - static const StdTag aNull_(atid_short); - - unsigned char nPosInTags = nTags[atid_short]; - if ( nPosInTags != C_ucNO_INDEX ) - { - AtTag * pTag = aTags[ nPosInTags ]; - if ( pTag != 0 ) // Should be csv_assert(). - { - return *pTag; - } - } - - return aNull_; -} - -AtTag * & -OldCppDocu::NewTag(UINT8 i_nIndex) -{ - nTags[i_nIndex] = static_cast<UINT8>(aTags.size()); - aTags.push_back(0); - return aTags.back(); -} - -AtTag & -OldCppDocu::GetTag( UINT8 i_nIndex ) -{ - csv_assert( i_nIndex < C_eAtTag_NrOfClasses ); - csv_assert( nTags[i_nIndex] != C_ucNO_INDEX ); - csv_assert( aTags[nTags[i_nIndex]] != 0 ); - return * aTags[nTags[i_nIndex]]; -} - -bool -OldCppDocu::IsInternal() const -{ - return bIsInternal; -} - -bool -OldCppDocu::IsInterface() const -{ - return bIsInterface; -} - -void -OldCppDocu::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor, *this); -} - -} // namespace doc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/doc/makefile.mk b/autodoc/source/ary/doc/makefile.mk index 21989dcc5827..d8e23e369def 100644 --- a/autodoc/source/ary/doc/makefile.mk +++ b/autodoc/source/ary/doc/makefile.mk @@ -46,10 +46,8 @@ PRJINC=$(PRJ)$/source OBJFILES= \ - $(OBJ)$/d_boolean.obj \ $(OBJ)$/d_docu.obj \ $(OBJ)$/d_node.obj \ - $(OBJ)$/d_oldcppdocu.obj \ $(OBJ)$/d_oldidldocu.obj diff --git a/autodoc/source/ary/inc/cpp_internalgate.hxx b/autodoc/source/ary/inc/cpp_internalgate.hxx deleted file mode 100644 index a2d4532c71ed..000000000000 --- a/autodoc/source/ary/inc/cpp_internalgate.hxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_INTERNALGATE_HXX -#define ARY_CPP_INTERNALGATE_HXX - -// BASE CLASSES -#include <ary/cpp/c_gate.hxx> - -namespace ary -{ - class RepositoryCenter; -} - - - - -namespace ary -{ -namespace cpp -{ - - -/** Provides access to the ->cpp::RepositoryPartition as far as is needed - by the ->RepositoryCenter. -*/ -class InternalGate : public ::ary::cpp::Gate -{ - public: - virtual ~InternalGate() {} - - static DYN InternalGate & - Create_Partition_( - RepositoryCenter & i_center ); -}; - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/inc/reposy.hxx b/autodoc/source/ary/inc/reposy.hxx index 8668d2e47ef3..bc5466317b3e 100644 --- a/autodoc/source/ary/inc/reposy.hxx +++ b/autodoc/source/ary/inc/reposy.hxx @@ -36,10 +36,6 @@ namespace ary { -namespace cpp -{ - class InternalGate; -} namespace idl { class InternalGate; @@ -67,10 +63,8 @@ class RepositoryCenter : public ::ary::Repository // INHERITED // Interface Repository: - virtual const cpp::Gate & Gate_Cpp() const; virtual const idl::Gate & Gate_Idl() const; virtual const String & Title() const; - virtual cpp::Gate & Gate_Cpp(); virtual idl::Gate & Gate_Idl(); virtual void Set_Title(const String & i_sName ); @@ -79,8 +73,6 @@ class RepositoryCenter : public ::ary::Repository String sDisplayedName; /// Name to be displayed for human users. csv::ploc::Directory aLocation; - Dyn<cpp::InternalGate> - pCppPartition; Dyn<idl::InternalGate> pIdlPartition; }; diff --git a/autodoc/source/ary/inc/slots.hxx b/autodoc/source/ary/inc/slots.hxx deleted file mode 100644 index bcba75defda9..000000000000 --- a/autodoc/source/ary/inc/slots.hxx +++ /dev/null @@ -1,166 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_SLOTS_HXX -#define ARY_SLOTS_HXX - - -// USED SERVICES - // BASE CLASSES -#include <ary/ceslot.hxx> - // COMPONENTS - // PARAMETERS -#include <ary/ary_disp.hxx> -#include <ary/types.hxx> -#include <ary/sequentialids.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_slntry.hxx> - - - -namespace ary -{ - - -class Slot_Null : public Slot -{ - public: - virtual ~Slot_Null(); - - virtual void StoreAt( - Display & o_rDestination ) const; - virtual uintt Size() const; - - private: - virtual void StoreEntries( - Display & o_rDestination ) const; -}; - -class Slot_MapLocalCe : public Slot -{ - public: - Slot_MapLocalCe( - const cpp::Map_LocalCe & i_rData ); - virtual ~Slot_MapLocalCe(); - virtual uintt Size() const; - - private: - virtual void StoreEntries( - Display & o_rDestination ) const; - // DATA - const cpp::Map_LocalCe * - pData; -}; - -class Slot_MapOperations : public Slot -{ - public: - Slot_MapOperations( - const std::multimap<String, cpp::Ce_id> & - i_rData ); - virtual ~Slot_MapOperations(); - virtual uintt Size() const; - - private: - virtual void StoreEntries( - Display & o_rDestination ) const; - // DATA - const std::multimap<String, cpp::Ce_id> * - pData; -}; - -class Slot_ListLocalCe : public Slot -{ - public: - Slot_ListLocalCe( - const cpp::List_LocalCe & - i_rData ); - virtual ~Slot_ListLocalCe(); - - virtual uintt Size() const; - - private: - virtual void StoreEntries( - Display & o_rDestination ) const; - // DATA - const cpp::List_LocalCe * - pData; -}; - -template <class ID> -class Slot_SequentialIds : public Slot -{ - public: - Slot_SequentialIds( - const SequentialIds<ID> & - i_rData ) - : pData(&i_rData) {} - virtual ~Slot_SequentialIds(); - - virtual uintt Size() const; - - private: - virtual void StoreEntries( - Display & o_rDestination ) const; - // DATA - const SequentialIds<ID> * - pData; -}; - - -template <class ID> -Slot_SequentialIds<ID>::~Slot_SequentialIds() -{ -} - -template <class ID> -uintt -Slot_SequentialIds<ID>::Size() const -{ - return pData->Size(); -} - -template <class ID> -void -Slot_SequentialIds<ID>::StoreEntries( Display & o_rDestination ) const -{ - for ( typename SequentialIds<ID>::const_iterator it = pData->Begin(); - it != pData->End(); - ++it ) - { - o_rDestination.DisplaySlot_Rid( (*it).Value() ); - } -} - - - - -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/kernel/ary_disp.cxx b/autodoc/source/ary/kernel/ary_disp.cxx deleted file mode 100644 index b9608f2f547a..000000000000 --- a/autodoc/source/ary/kernel/ary_disp.cxx +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/ary_disp.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <ary/cpp/c_ce.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_ce.hxx> - - - -namespace ary -{ - -void -Display::DisplaySlot_Rid( ary::Rid i_nId ) -{ - const cpp::Gate * - pGate = Get_ReFinder(); - if (pGate != 0) - { - const ary::cpp::CodeEntity * - pRE = pGate->Ces().Search_Ce( cpp::Ce_id(i_nId) ); - if (pRE != 0) - { - pRE->Accept( *this ); - return; - } - } - - do_DisplaySlot_Rid( i_nId ); -} - - -void -Display::DisplaySlot_LocalCe( ary::cpp::Ce_id i_nId, - const String & i_sName ) -{ - const cpp::Gate * - pGate = Get_ReFinder(); - if (pGate != 0) - { - const ary::cpp::CodeEntity * - pRE = pGate->Ces().Search_Ce(i_nId); - if (pRE != 0) - { - pRE->Accept( *this ); - return; - } - } - - do_DisplaySlot_LocalCe( i_nId, i_sName ); -} - - - -// Dummy implementations for class Display - -void -Display::do_StartSlot() -{ -} - -void -Display::do_FinishSlot() -{ -} - -void -Display::do_DisplaySlot_Rid( ary::Rid ) -{ -} - -void -Display::do_DisplaySlot_LocalCe( ary::cpp::Ce_id , - const String & ) -{ -} - - -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/kernel/cessentl.cxx b/autodoc/source/ary/kernel/cessentl.cxx deleted file mode 100644 index 0fcf37542a6a..000000000000 --- a/autodoc/source/ary/kernel/cessentl.cxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/cessentl.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_ce.hxx> -#include <ary/doc/d_oldcppdocu.hxx> - - -namespace ary -{ -namespace cpp -{ - - -CeEssentials::CeEssentials() - : sLocalName(), - nOwner(0), - nLocation(0) -{ -} - -CeEssentials::CeEssentials( const String & i_sLocalName, - Cid i_nOwner, - loc::Le_id i_nLocation ) - : sLocalName(i_sLocalName), - nOwner(i_nOwner), - nLocation(i_nLocation) -{ -} - -CeEssentials::~CeEssentials() -{ -} - - - -inline bool -IsInternal(const doc::Documentation & i_doc) -{ - const ary::doc::OldCppDocu * - docu = dynamic_cast< const ary::doc::OldCppDocu* >(i_doc.Data()); - if (docu != 0) - return docu->IsInternal(); - return false; -} - - -bool -CodeEntity::IsVisible() const -{ - // KORR_FUTURE: Improve the whole handling of internal and visibility. - return bIsVisible && NOT IsInternal(Docu()); -} - - - -} // namespace cpp -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/kernel/makefile.mk b/autodoc/source/ary/kernel/makefile.mk index 6c90252bc3b8..dbd6cd528d81 100644 --- a/autodoc/source/ary/kernel/makefile.mk +++ b/autodoc/source/ary/kernel/makefile.mk @@ -46,12 +46,9 @@ PRJINC=$(PRJ)$/source OBJFILES= \ - $(OBJ)$/ary_disp.obj \ - $(OBJ)$/cessentl.obj \ $(OBJ)$/namesort.obj \ $(OBJ)$/qualiname.obj \ $(OBJ)$/reposy.obj \ - $(OBJ)$/slots.obj diff --git a/autodoc/source/ary/kernel/reposy.cxx b/autodoc/source/ary/kernel/reposy.cxx index 5d28d46bb1be..7ed5b6944d76 100644 --- a/autodoc/source/ary/kernel/reposy.cxx +++ b/autodoc/source/ary/kernel/reposy.cxx @@ -31,7 +31,6 @@ // NOT FULLY DECLARED SERVICES -#include <cpp_internalgate.hxx> #include <idl_internalgate.hxx> @@ -53,10 +52,8 @@ Repository::Create_() RepositoryCenter::RepositoryCenter() : sDisplayedName(), aLocation(), - pCppPartition(0), pIdlPartition(0) { - pCppPartition = & cpp::InternalGate::Create_Partition_(*this); pIdlPartition = & idl::InternalGate::Create_Partition_(*this); } @@ -64,13 +61,6 @@ RepositoryCenter::~RepositoryCenter() { } -const ::ary::cpp::Gate & -RepositoryCenter::Gate_Cpp() const -{ - csv_assert(pCppPartition); - return *pCppPartition; -} - const ::ary::idl::Gate & RepositoryCenter::Gate_Idl() const { @@ -84,14 +74,6 @@ RepositoryCenter::Title() const return sDisplayedName; } - -::ary::cpp::Gate & -RepositoryCenter::Gate_Cpp() -{ - csv_assert(pCppPartition); - return *pCppPartition; -} - ::ary::idl::Gate & RepositoryCenter::Gate_Idl() { @@ -117,56 +99,13 @@ RepositoryCenter::Set_Title(const String & i_sName) /* ClassType-Ids ------------- - cpp 1000 idl 2000 - corba 3000 - java 4000 information 5000 logic location 6000 phys location 7000 sec. prod. 8000 - cpp - --- - Namespace 1000 - Class 1001 - Enum 1002 - Typedef 1003 - Function 1004 - Variable 1005 - EnumValue 1006 - NamespaceAlias 1007 - - BuiltInType 1200 - CeType_Final 1201 - CeType_Extern 1202 - UsedType 1203 - PtrType 1211 - RefType 1212 - ConstType 1221 - VolatileType 1222 - ArrayType 1230 - TemplateInstance 1235 - FunctionPtr 1240 - DataMemberPtr 1250 - OperationMemberPtr 1260 - - TplParam_Type 1301 - TplParam_Value 1302 - - OpSignature 1400 - - Define 1601 - Macro 1602 - - ProjectGroup 1901 - FileGroup 1902 - - TopProject 1921 - - - idl --- @@ -195,13 +134,6 @@ RepositoryCenter::Set_Title(const String & i_sName) ExplicitNameRoom 2204 TemplateParamType 2205 - - java - ---- - Package 4000 - Interface 4001 - Class 4002 - physical location ----------------- Root 7000 diff --git a/autodoc/source/ary/kernel/slots.cxx b/autodoc/source/ary/kernel/slots.cxx deleted file mode 100644 index 5689432cd8e8..000000000000 --- a/autodoc/source/ary/kernel/slots.cxx +++ /dev/null @@ -1,167 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <slots.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/ary_disp.hxx> - - - -namespace ary -{ - - -//*********************** Slot ********************// - - -void -Slot::StoreAt( Display & o_rDestination ) const -{ - o_rDestination.StartSlot(); - StoreEntries(o_rDestination); - o_rDestination.FinishSlot(); -} - - -//*********************** Slot_Null ********************// - -Slot_Null::~Slot_Null() -{ -} - -void -Slot_Null::StoreAt( Display & ) const -{ - // Does nothing -} - -uintt -Slot_Null::Size() const -{ - return 0; -} - -void -Slot_Null::StoreEntries( Display & ) const -{ - // Does nothing -} - -//*********************** Slot_MapLocalCe ********************// - -Slot_MapLocalCe::Slot_MapLocalCe( const cpp::Map_LocalCe & i_rData ) - : pData(&i_rData) -{ -} - -Slot_MapLocalCe::~Slot_MapLocalCe() -{ -} - -uintt -Slot_MapLocalCe::Size() const -{ - return pData->size();; -} - -void -Slot_MapLocalCe::StoreEntries( Display & o_rDestination ) const -{ - for ( cpp::Map_LocalCe::const_iterator it = pData->begin(); - it != pData->end(); - ++it ) - { - o_rDestination.DisplaySlot_LocalCe( (*it).second, (*it).first ); - } -} - - - -//*********************** Slot_MapOperations ********************// - -Slot_MapOperations::Slot_MapOperations( const std::multimap<String, cpp::Ce_id> & i_rData ) - : pData(&i_rData) -{ -} - -Slot_MapOperations::~Slot_MapOperations() -{ -} - -uintt -Slot_MapOperations::Size() const -{ - return pData->size();; -} - -void -Slot_MapOperations::StoreEntries( Display & o_rDestination ) const -{ - for ( std::multimap<String, cpp::Ce_id>::const_iterator it = pData->begin(); - it != pData->end(); - ++it ) - { - o_rDestination.DisplaySlot_LocalCe( (*it).second, (*it).first ); - } -} - -//*********************** Slot_ListLocalCe ********************// - -Slot_ListLocalCe::Slot_ListLocalCe( const cpp::List_LocalCe & i_rData ) - : pData(&i_rData) -{ -} - -Slot_ListLocalCe::~Slot_ListLocalCe() -{ -} - -uintt -Slot_ListLocalCe::Size() const -{ - return pData->size();; -} - -void -Slot_ListLocalCe::StoreEntries( Display & o_rDestination ) const -{ - for ( cpp::List_LocalCe::const_iterator it = pData->begin(); - it != pData->end(); - ++it ) - { - o_rDestination.DisplaySlot_LocalCe( (*it).nId, (*it).sLocalName ); - } -} - - -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loc_dir.cxx b/autodoc/source/ary/loc/loc_dir.cxx deleted file mode 100644 index 220f47486332..000000000000 --- a/autodoc/source/ary/loc/loc_dir.cxx +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/loc/loc_dir.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/loc/loc_file.hxx> -#include <sortedids.hxx> -#include "locs_le.hxx" - - -namespace ary -{ -namespace loc -{ - -struct Directory::Container -{ - typedef SortedIds<Le_Compare> SortedChildList; - - SortedChildList aSubDirectories; - SortedChildList aFiles; - - Container() - : aSubDirectories(), - aFiles() - {} -}; - - - - -Directory::Directory(Le_id i_assignedRoot) - : sLocalName(), - nParentDirectory(0), - nAssignedRoot(i_assignedRoot), - aAssignedNode(), - pChildren(new Container) -{ - aAssignedNode.Assign_Entity(*this); -} - -Directory::Directory( const String & i_localName, - Le_id i_parentDirectory ) - : sLocalName(i_localName), - nParentDirectory(i_parentDirectory), - nAssignedRoot(0), - aAssignedNode(), - pChildren(new Container) -{ - aAssignedNode.Assign_Entity(*this); -} - -Directory::~Directory() -{ -} - -void -Directory::Add_Dir(const Directory & i_dir) -{ - pChildren->aSubDirectories.Add(i_dir.LeId()); -} - -void -Directory::Add_File(const File & i_file) -{ - pChildren->aFiles.Add(i_file.LeId()); -} - -Le_id -Directory::Search_Dir(const String & i_name) const -{ - return pChildren->aSubDirectories.Search(i_name); -} - -Le_id -Directory::Search_File(const String & i_name) const -{ - return pChildren->aFiles.Search(i_name); -} - -void -Directory::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Directory::get_AryClass() const -{ - return class_id; -} - -const String & -Directory::inq_LocalName() const -{ - return sLocalName; -} - -Le_id -Directory::inq_ParentDirectory() const -{ - return nParentDirectory; -} - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loc_file.cxx b/autodoc/source/ary/loc/loc_file.cxx deleted file mode 100644 index 5de548219842..000000000000 --- a/autodoc/source/ary/loc/loc_file.cxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/loc/loc_file.hxx> - - -// NOT FULLY DEFINED SERVICES - - - -namespace ary -{ -namespace loc -{ - -File::File( const String & i_sLocalName, - Le_id i_nParentDirectory ) - : FileBase(i_sLocalName, i_nParentDirectory) -{ -} - -File::~File() -{ -} - -void -File::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor, *this); -} - -ClassId -File::get_AryClass() const -{ - return class_id; -} - - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loc_filebase.cxx b/autodoc/source/ary/loc/loc_filebase.cxx deleted file mode 100644 index f9297084c552..000000000000 --- a/autodoc/source/ary/loc/loc_filebase.cxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/loc/loc_filebase.hxx> - - -// NOT FULLY DEFINED SERVICES - - - -namespace ary -{ -namespace loc -{ - -FileBase::FileBase( const String & i_localName, - Le_id i_parentDirectory ) - : sLocalName(i_localName), - nParentDirectory(i_parentDirectory) -{ -} - -const String & -FileBase::inq_LocalName() const -{ - return sLocalName; -} - -Le_id -FileBase::inq_ParentDirectory() const -{ - return nParentDirectory; -} - - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loc_root.cxx b/autodoc/source/ary/loc/loc_root.cxx deleted file mode 100644 index 198b6ee7f784..000000000000 --- a/autodoc/source/ary/loc/loc_root.cxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/loc/loc_root.hxx> - - -// NOT FULLY DEFINED SERVICES - - -namespace ary -{ -namespace loc -{ - - -Root::Root(const csv::ploc::Path & i_path) - : aPath(i_path), - sPathAsString(), - aMyDirectory(0) -{ - StreamLock - path_string(700); - path_string() << i_path; - sPathAsString = path_string().c_str(); -} - -Root::~Root() -{ -} - -void -Root::do_Accept(csv::ProcessorIfc & io_processor) const -{ - csv::CheckedCall(io_processor,*this); -} - -ClassId -Root::get_AryClass() const -{ - return class_id; -} - -const String & -Root::inq_LocalName() const -{ - return sPathAsString; -} - -Le_id -Root::inq_ParentDirectory() const -{ - return Le_id::Null_(); -} - - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loc_traits.cxx b/autodoc/source/ary/loc/loc_traits.cxx deleted file mode 100644 index 8e010beef263..000000000000 --- a/autodoc/source/ary/loc/loc_traits.cxx +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <ary/loc/loc_traits.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/namesort.hxx> -#include <ary/getncast.hxx> -#include "locs_le.hxx" - - - -namespace ary -{ -namespace loc -{ - - -//******************** Le_Traits ************************// -Le_Traits::entity_base_type & -Le_Traits::EntityOf_(id_type i_id) -{ - csv_assert(i_id.IsValid()); - return Le_Storage::Instance_()[i_id]; -} - -//******************** LeNode_Traits ************************// -symtree::Node<LeNode_Traits> * -LeNode_Traits::NodeOf_(entity_base_type & io_entity) -{ - if (is_type<Directory>(io_entity)) - return & ary_cast<Directory>(io_entity).AsNode(); - return 0; -} - -Le_Traits::entity_base_type * -LeNode_Traits::ParentOf_(const entity_base_type & i_entity) -{ - Le_Traits::id_type - ret = i_entity.ParentDirectory(); - if (ret.IsValid()) - return &EntityOf_(ret); - return 0; -} - -//******************** Le_Compare ************************// -const Le_Compare::key_type & -Le_Compare::KeyOf_(const entity_base_type & i_entity) -{ - return i_entity.LocalName(); -} - -bool -Le_Compare::Lesser_( const key_type & i_1, - const key_type & i_2 ) -{ - static ::ary::LesserName less_; - return less_(i_1,i_2); -} - - - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loca_le.cxx b/autodoc/source/ary/loc/loca_le.cxx deleted file mode 100644 index 428ca5849ccb..000000000000 --- a/autodoc/source/ary/loc/loca_le.cxx +++ /dev/null @@ -1,184 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "loca_le.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/loc/loc_dir.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/loc/loc_root.hxx> -#include <loc_internalgate.hxx> -#include "locs_le.hxx" - - - - -namespace ary -{ -namespace loc -{ - -DYN LocationPilot & -InternalGate::Create_Locations_() -{ - return *new LocationAdmin; -} - - - - -inline Le_Storage & -LocationAdmin::Storage() const -{ - csv_assert(pStorage); - return *pStorage.MutablePtr(); -} - - -LocationAdmin::LocationAdmin() - : pStorage(new Le_Storage) -{ -} - -LocationAdmin::~LocationAdmin() -{ -} - -Root & -LocationAdmin::CheckIn_Root(const csv::ploc::Path & i_path) -{ - Dyn<Root> - p_new( new Root(i_path) ); - - Le_id - id = Storage().RootIndex().Search(p_new->LocalName()); - if ( id.IsValid() ) - { - return ary_cast<Root>(Storage()[id]); - } - - Root * - ret = p_new.Ptr(); - Storage().Store_Entity(*p_new.Release()); - Storage().RootIndex().Add(ret->LeId()); - - Directory * - p_rootdir = new Directory(ret->LeId()); - Storage().Store_Entity(*p_rootdir); - ret->Assign_Directory(p_rootdir->LeId()); - - return *ret; -} - -File & -LocationAdmin::CheckIn_File( const String & i_name, - const csv::ploc::DirectoryChain & i_subPath, - Le_id i_root ) -{ - Root & - root = Find_Root(i_root); - Directory & - parent_dir = CheckIn_Directories( - Find_Directory(root.MyDir()), - i_subPath.Begin(), - i_subPath.End() ); - Le_id - fid = parent_dir.Search_File(i_name); - if (NOT fid.IsValid()) - { - File * - ret = new File(i_name, parent_dir.LeId()); - Storage().Store_Entity(*ret); - parent_dir.Add_File(*ret); - return *ret; - } - else - { - return Find_File(fid); - } -} - -Root & -LocationAdmin::Find_Root(Le_id i_id) const -{ - return ary_cast<Root>(Storage()[i_id]); -} - -Directory & -LocationAdmin::Find_Directory(Le_id i_id) const -{ - return ary_cast<Directory>(Storage()[i_id]); -} - -File & -LocationAdmin::Find_File(Le_id i_id) const -{ - return ary_cast<File>(Storage()[i_id]); -} - -Directory & -LocationAdmin::CheckIn_Directory( Directory & io_parent, - const String & i_name ) -{ - Le_id - did = io_parent.Search_Dir(i_name); - if (NOT did.IsValid()) - { - Directory * - ret = new Directory(i_name, io_parent.LeId()); - Storage().Store_Entity(*ret); - io_parent.Add_Dir(*ret); - return *ret; - } - else - { - return Find_Directory(did); - } -} - -Directory & -LocationAdmin::CheckIn_Directories( - Directory & io_root, - StringVector::const_iterator i_beginSubPath, - StringVector::const_iterator i_endSubPath ) -{ - if (i_beginSubPath == i_endSubPath) - return io_root; - - Directory & - next = CheckIn_Directory(io_root, *i_beginSubPath); - return CheckIn_Directories(next, i_beginSubPath+1, i_endSubPath); -} - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/loca_le.hxx b/autodoc/source/ary/loc/loca_le.hxx deleted file mode 100644 index 8f206f7c1c98..000000000000 --- a/autodoc/source/ary/loc/loca_le.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_LOCA_LE_HXX -#define ARY_LOC_LOCA_LE_HXX - -// BASE CLASSES -#include <ary/loc/locp_le.hxx> - -namespace ary -{ -namespace loc -{ - class Le_Storage; -} -} - - - - -namespace ary -{ -namespace loc -{ - - -/** Provides access to files and directories stored in the - repository. -*/ -class LocationAdmin : public LocationPilot -{ - public: - LocationAdmin(); - virtual ~LocationAdmin(); - - // INHERITED - // Interface LocationPilot: - virtual Root & CheckIn_Root( - const csv::ploc::Path & - i_rPath ); - virtual File & CheckIn_File( - const String & i_name, - const csv::ploc::DirectoryChain & - i_subPath, - Le_id i_root ); - - virtual Root & Find_Root( - Le_id i_id ) const; - virtual Directory & Find_Directory( - Le_id i_id ) const; - virtual File & Find_File( - Le_id i_id ) const; - private: - // Locals - Le_Storage & Storage() const; - Directory & CheckIn_Directory( - Directory & io_parent, - const String & i_name ); - Directory & CheckIn_Directories( - Directory & io_root, - StringVector::const_iterator - i_beginSubPath, - StringVector::const_iterator - i_endSubPath ); - // DATA - Dyn<Le_Storage> pStorage; -}; - - - - -} // namespace loc -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/locs_le.cxx b/autodoc/source/ary/loc/locs_le.cxx deleted file mode 100644 index 1f2df4430173..000000000000 --- a/autodoc/source/ary/loc/locs_le.cxx +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "locs_le.hxx" - -// NOT FULLY DEFINED SERVICES - - -namespace -{ - const uintt - C_nReservedElements = ary::loc::predefined::le_MAX; // Skipping "0" -} - - - -namespace ary -{ -namespace loc -{ - -Le_Storage * Le_Storage::pInstance_ = 0; - - - - -Le_Storage::Le_Storage() - : stg::Storage<LocationEntity>(C_nReservedElements) -{ - csv_assert(pInstance_ == 0); - pInstance_ = this; -} - -Le_Storage::~Le_Storage() -{ - csv_assert(pInstance_ != 0); - pInstance_ = 0; -} - - -} // namespace loc -} // namespace ary - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/locs_le.hxx b/autodoc/source/ary/loc/locs_le.hxx deleted file mode 100644 index 1d1494ccbc5f..000000000000 --- a/autodoc/source/ary/loc/locs_le.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_LOC_LOCS_LE_HXX -#define ARY_LOC_LOCS_LE_HXX - -// BASE CLASSES -#include <store/s_storage.hxx> -// USED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/loc/loc_le.hxx> -#include <ary/loc/loc_root.hxx> -#include <sortedids.hxx> - - - - -namespace ary -{ -namespace loc -{ - - -/** The data base for all ->ary::cpp::CodeEntity objects. -*/ -class Le_Storage : public ::ary::stg::Storage<LocationEntity> -{ - public: - typedef SortedIds<Le_Compare> Index; - - Le_Storage(); - virtual ~Le_Storage(); - - const Index & RootIndex() const { return aRoots; } - Index & RootIndex() { return aRoots; } - - static Le_Storage & Instance_() { csv_assert(pInstance_ != 0); - return *pInstance_; } - private: - // DATA - Index aRoots; - - static Le_Storage * pInstance_; -}; - - - - -namespace predefined -{ - -enum E_LocationEntity -{ - le_MAX = 1 -}; - -} // namespace predefined - - - - -} // namespace cpp -} // namespace ary -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/ary/loc/makefile.mk b/autodoc/source/ary/loc/makefile.mk deleted file mode 100644 index e4aa0e9b43f5..000000000000 --- a/autodoc/source/ary/loc/makefile.mk +++ /dev/null @@ -1,61 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org 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 version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=autodoc -TARGET=ary_loc - - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=true -PRJINC=$(PRJ)$/source - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk - - - -# --- Files -------------------------------------------------------- - - -OBJFILES= \ - $(OBJ)$/loc_dir.obj \ - $(OBJ)$/loc_file.obj \ - $(OBJ)$/loc_filebase.obj \ - $(OBJ)$/loc_root.obj \ - $(OBJ)$/loc_traits.obj \ - $(OBJ)$/loca_le.obj \ - $(OBJ)$/locs_le.obj - - - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk diff --git a/autodoc/source/display/html/aryattrs.cxx b/autodoc/source/display/html/aryattrs.cxx deleted file mode 100644 index 2eef10ded2e9..000000000000 --- a/autodoc/source/display/html/aryattrs.cxx +++ /dev/null @@ -1,251 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "aryattrs.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/getncast.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/cpp/cp_type.hxx> -#include "strconst.hxx" - - - - -//******************** HtmlDisplay_Impl *********************// - -const char * -Get_ClassTypeKey( const ary::cpp::Class & i_rClass ) -{ - return i_rClass.ClassKey() == ary::cpp::CK_class - ? C_sHFTypeTitle_Class - : i_rClass.ClassKey() == ary::cpp::CK_struct - ? C_sHFTypeTitle_Struct - : C_sHFTypeTitle_Union; - -} - -const char * -Get_TypeKey( const ary::cpp::CodeEntity & i_rCe ) -{ - if ( ary::is_type<ary::cpp::Class>(i_rCe) ) - { - return Get_ClassTypeKey( - ary::ary_cast<ary::cpp::Class>(i_rCe) ); - } - if ( ary::is_type<ary::cpp::Enum>(i_rCe) ) - { - return "enum"; - } - return ""; -} - -bool -Ce_IsInternal( const ary::cpp::CodeEntity & i_rCe ) -{ - return NOT i_rCe.IsVisible(); -} - -const char * -SyntaxText_PreName( const ary::cpp::Function & i_rFunction, - const ary::cpp::Gate & i_rAryGate ) -{ - static StreamStr sResult( 150 ); - sResult.seekp(0); - - // write pre-name: - const ary::cpp::FunctionFlags & rFlags = i_rFunction.Flags(); - if ( rFlags.IsStaticLocal() OR rFlags.IsStaticMember() ) - sResult << "static "; - if ( rFlags.IsExplicit() ) - sResult << "explicit "; - if ( rFlags.IsMutable() ) - sResult << "mutable "; - if ( i_rFunction.Virtuality() != ary::cpp::VIRTUAL_none ) - sResult << "virtual "; - i_rAryGate.Types().Get_TypeText( sResult, i_rFunction.ReturnType() ); - sResult << " "; - - return sResult.c_str(); -} - -const char * -SyntaxText_PostName( const ary::cpp::Function & i_rFunction, - const ary::cpp::Gate & i_rAryGate ) -{ - static StreamStr sResult( 850 ); - sResult.seekp(0); - - // parameters and con_vol - i_rAryGate.Ces().Get_SignatureText( sResult, i_rFunction.Signature(), &i_rFunction.ParamInfos() ); - - // write Exceptions: - const std::vector< ary::cpp::Type_id > * - pThrow = i_rFunction.Exceptions(); - if ( pThrow) - { - - std::vector< ary::cpp::Type_id >::const_iterator - it = pThrow->begin(); - std::vector< ary::cpp::Type_id >::const_iterator - it_end = pThrow->end(); - - if (it != it_end) - { - sResult << " throw( "; - i_rAryGate.Types().Get_TypeText(sResult, *it); - - for ( ++it; it != it_end; ++it ) - { - sResult << ", "; - i_rAryGate.Types().Get_TypeText(sResult, *it); - } - sResult << " )"; - } - else - { - sResult << " throw( )"; - } - } // endif // pThrow - - // abstractness: - if ( i_rFunction.Virtuality() == ary::cpp::VIRTUAL_abstract ) - sResult << " = 0"; - - // finish: - sResult << ";"; - - return sResult.c_str(); -} - -bool -Get_TypeText( const char * & o_rPreName, - const char * & o_rName, - const char * & o_rPostName, - ary::cpp::Type_id i_nTypeid, - const ary::cpp::Gate & i_rAryGate ) -{ - static StreamStr sResult_PreName(250); - static StreamStr sResult_Name(250); - static StreamStr sResult_PostName(250); - - sResult_PreName.seekp(0); - sResult_Name.seekp(0); - sResult_PostName.seekp(0); - - bool ret = i_rAryGate.Types().Get_TypeText( - sResult_PreName, - sResult_Name, - sResult_PostName, - i_nTypeid ); - if ( sResult_PreName.tellp() > 0 ) - { - char cLast = *( sResult_PreName.c_str() + (sResult_PreName.tellp() - 1) ); - if (cLast != ':' AND cLast != ' ') - sResult_PreName << " "; - } - - - if (ret) - { - o_rPreName = sResult_PreName.c_str(); - o_rName = sResult_Name.c_str(); - o_rPostName = sResult_PostName.c_str(); - } - else - { - o_rPreName = o_rName = o_rPostName = ""; - } - return ret; -} - - - - -//********************* FunctionParam_Iterator *****************// - - -FunctionParam_Iterator::FunctionParam_Iterator() - : // itTypes - // itTypes_end - // itNames_andMore - // itNames_andMore_end - eConVol(ary::cpp::CONVOL_none) -{ - static std::vector<ary::cpp::Type_id> aTypesNull_; - static StringVector aNamesNull_; - - itTypes = itTypes_end = aTypesNull_.end(); - itNames_andMore = itNames_andMore_end = aNamesNull_.end(); -} - -FunctionParam_Iterator::~FunctionParam_Iterator() -{ -} - -FunctionParam_Iterator & -FunctionParam_Iterator::operator++() -{ - if ( IsValid() ) - { - ++itTypes; - ++itNames_andMore; - } - return *this; -} - -void -FunctionParam_Iterator::Assign( const ary::cpp::Function & i_rFunction ) -{ - const ary::cpp::OperationSignature & - rSigna = i_rFunction.Signature(); - - const std::vector<ary::cpp::Type_id> & - rTypes = rSigna.Parameters(); - const StringVector & - rNames = i_rFunction.ParamInfos(); - - if ( rTypes.size() != rNames.size() OR rTypes.size() == 0 ) - return; - - itTypes = rTypes.begin(); - itTypes_end = rTypes.end(); - itNames_andMore = rNames.begin(); - itNames_andMore_end = rNames.end(); - - eConVol = rSigna.ConVol(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/aryattrs.hxx b/autodoc/source/display/html/aryattrs.hxx deleted file mode 100644 index 16d762f750a2..000000000000 --- a/autodoc/source/display/html/aryattrs.hxx +++ /dev/null @@ -1,157 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_ARYATTRS_HXX -#define ADC_DISPLAY_ARYATTRS_HXX - -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/doc/d_docu.hxx> -#include <ary/doc/d_oldcppdocu.hxx> - -namespace ary -{ - namespace cpp - { - class CodeEntity; - class Class; - class DisplayGate; - class Function; - class Namespace; - } -} - - - - -const char * Get_ClassTypeKey( - const ary::cpp::Class & i_rClass ); -const char * Get_TypeKey( - const ary::cpp::CodeEntity & - i_rCe ); -bool Ce_IsInternal( - const ary::cpp::CodeEntity & - i_rCe ); -const char * SyntaxText_PreName( - const ary::cpp::Function & - i_rFunction, - const ary::cpp::Gate & i_rAryGate ); -const char * SyntaxText_PostName( - const ary::cpp::Function & - i_rFunction, - const ary::cpp::Gate & i_rAryGate ); - -bool Get_TypeText( - const char * & o_rPreName, - const char * & o_rName, - const char * & o_rPostName, - ary::cpp::Type_id i_nTypeid, - const ary::cpp::Gate & i_rAryGate ); - - -inline const ary::doc::OldCppDocu * -Get_CppDocu(const ary::doc::Documentation & i_doc) -{ - return dynamic_cast< const ary::doc::OldCppDocu* >(i_doc.Data()); -} - - -class FunctionParam_Iterator -{ - public: - FunctionParam_Iterator(); - ~FunctionParam_Iterator(); - - operator bool() const; - FunctionParam_Iterator & - operator++(); - - void Assign( - const ary::cpp::Function & - i_rFunction ); - - ary::cpp::Type_id - CurType() const; - const String & CurName() const; - - bool IsFunctionConst() const; - bool IsFunctionVolatile() const; - - private: - typedef std::vector<ary::cpp::Type_id>::const_iterator Type_Iterator; - typedef StringVector::const_iterator Name_Iterator; - - bool IsValid() const; - - // Forbidden - FunctionParam_Iterator & - operator++(int); - // DATA - Type_Iterator itTypes; - Type_Iterator itTypes_end; - Name_Iterator itNames_andMore; /// Name, init-value. - Name_Iterator itNames_andMore_end; - - ary::cpp::E_ConVol eConVol; -}; - - - - -// IMPLEMENTATION -inline -FunctionParam_Iterator::operator bool() const - { return IsValid(); } - -inline bool -FunctionParam_Iterator::IsValid() const -{ - // By C'tor and Assign(), it is assured, that - // both iterators are valid, if one is valid. - return itTypes != itTypes_end; -} - -inline ary::cpp::Type_id -FunctionParam_Iterator::CurType() const - { return IsValid() ? *itTypes : ary::cpp::Type_id(0); } -inline const String & -FunctionParam_Iterator::CurName() const - { return IsValid() ? *itNames_andMore : String::Null_(); } -inline bool -FunctionParam_Iterator::IsFunctionConst() const - { return (eConVol & ary::cpp::CONVOL_const) != 0; } -inline bool -FunctionParam_Iterator::IsFunctionVolatile() const - { return (eConVol & ary::cpp::CONVOL_volatile) != 0; } - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/chd_udk2.cxx b/autodoc/source/display/html/chd_udk2.cxx deleted file mode 100644 index 76380aecc6fa..000000000000 --- a/autodoc/source/display/html/chd_udk2.cxx +++ /dev/null @@ -1,204 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <html/chd_udk2.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/ary_disp.hxx> -#include <ary/ceslot.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/cp_ce.hxx> - -#include "dsply_cl.hxx" -#include "dsply_da.hxx" -#include "dsply_op.hxx" -#include "opageenv.hxx" -#include "outfile.hxx" -#include "pagemake.hxx" - - - -//******************** CppHtmlDisplay_Udk2 ********************// - - -CppHtmlDisplay_Udk2::CppHtmlDisplay_Udk2() - : pCurPageEnv(0) -{ -} - -CppHtmlDisplay_Udk2::~CppHtmlDisplay_Udk2() -{ -} - -void -CppHtmlDisplay_Udk2::do_Run( const char * i_sOutputDirectory, - const ary::cpp::Gate & i_rAryGate, - const display::CorporateFrame & i_rLayout ) -{ - SetRunData( i_sOutputDirectory, i_rAryGate, i_rLayout ); - - Create_Css_File(); - Create_Overview_File(); - Create_Help_File(); - Create_AllDefs_File(); - - CreateFiles_InSubTree_Namespaces(); - CreateFiles_InSubTree_Index(); -} - -void -CppHtmlDisplay_Udk2::SetRunData( const char * i_sOutputDirectory, - const ary::cpp::Gate & i_rAryGate, - const display::CorporateFrame & i_rLayout ) -{ - csv::ploc::Path aOutputDir( i_sOutputDirectory, true ); - pCurPageEnv = new OuputPage_Environment( aOutputDir, i_rAryGate, i_rLayout ); -} - -void -CppHtmlDisplay_Udk2::Create_Css_File() -{ - pCurPageEnv->MoveDir_2Root(); - pCurPageEnv->SetFile_Css(); - HtmlDocuFile::WriteCssFile(pCurPageEnv->CurPath()); -} - -void -CppHtmlDisplay_Udk2::Create_Overview_File() -{ - pCurPageEnv->MoveDir_2Root(); - PageDisplay aPageMaker( *pCurPageEnv ); - aPageMaker.Create_OverviewFile(); -} - -void -CppHtmlDisplay_Udk2::Create_Help_File() -{ - PageDisplay aPageMaker( *pCurPageEnv ); - aPageMaker.Create_HelpFile(); -} - -void -CppHtmlDisplay_Udk2::Create_AllDefs_File() -{ - PageDisplay aPageMaker( *pCurPageEnv ); - aPageMaker.Create_AllDefsFile(); -} - -void -CppHtmlDisplay_Udk2::CreateFiles_InSubTree_Namespaces() -{ - Cout() << "\nCreate files in subtree namespaces" << Endl(); - - const ary::cpp::Namespace & - rGlobalNsp = Gate().Ces().GlobalNamespace(); - - RecursiveDisplay_Namespace(rGlobalNsp); - Cout() << Endl(); -} - -void -CppHtmlDisplay_Udk2::CreateFiles_InSubTree_Index() -{ - Cout() << "\nCreate files in subtree index" << Endl(); - Cout() << Endl(); - - PageDisplay aPageMaker( *pCurPageEnv ); - aPageMaker.Create_IndexFiles(); -} - -void -CppHtmlDisplay_Udk2::RecursiveDisplay_Namespace( const ary::cpp::Namespace & i_rNsp ) -{ - if (i_rNsp.Owner().IsValid()) - pCurPageEnv->MoveDir_Down2( i_rNsp ); - else - pCurPageEnv->MoveDir_2Names(); - DisplayFiles_InNamespace( i_rNsp ); - - typedef std::vector< const ary::cpp::Namespace* > NspList; - NspList aSubNspList; - i_rNsp.Get_SubNamespaces( aSubNspList ); - for ( NspList::const_iterator it = aSubNspList.begin(); - it != aSubNspList.end(); - ++it ) - { - RecursiveDisplay_Namespace( *(*it) ); - } // end for - - pCurPageEnv->MoveDir_Up(); -} - -void -CppHtmlDisplay_Udk2::DisplayFiles_InNamespace( const ary::cpp::Namespace & i_rNsp ) -{ - PageDisplay aPageMaker( *pCurPageEnv ); - - ary::Slot_AutoPtr pSlot; - - // Namespace - aPageMaker.Create_NamespaceFile(); - - // Classes - ClassDisplayer aClassDisplayer( *pCurPageEnv ); - DisplaySlot( aClassDisplayer, i_rNsp, ary::cpp::Namespace::SLOT_Classes ); - - // Enums - DisplaySlot( aPageMaker, i_rNsp, ary::cpp::Namespace::SLOT_Enums ); - - // Typedefs - DisplaySlot( aPageMaker, i_rNsp, ary::cpp::Namespace::SLOT_Typedefs ); - - // Operations - OperationsDisplay aOperationsDisplayer( *pCurPageEnv ); - DisplaySlot( aOperationsDisplayer, i_rNsp, ary::cpp::Namespace::SLOT_Operations ); - aOperationsDisplayer.Create_Files(); - - // Data - DataDisplay aDataDisplayer( *pCurPageEnv ); - - aDataDisplayer.PrepareForConstants(); - DisplaySlot( aDataDisplayer, i_rNsp, ary::cpp::Namespace::SLOT_Constants ); - - aDataDisplayer.PrepareForVariables(); - DisplaySlot( aDataDisplayer, i_rNsp, ary::cpp::Namespace::SLOT_Variables ); - - aDataDisplayer.Create_Files(); -} - -const ary::cpp::Gate & -CppHtmlDisplay_Udk2::Gate() const -{ - return pCurPageEnv->Gate(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/cre_link.cxx b/autodoc/source/display/html/cre_link.cxx deleted file mode 100644 index 74561b027e73..000000000000 --- a/autodoc/source/display/html/cre_link.cxx +++ /dev/null @@ -1,272 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cre_link.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/loc/locp_le.hxx> -#include "hdimpl.hxx" -#include "opageenv.hxx" -#include "strconst.hxx" - - - - - -LinkCreator::LinkCreator( char * o_rOutput, - uintt i_nOutputSize ) - : pOut(o_rOutput), - nOutMaxSize(i_nOutputSize), - pEnv(0) -{ -} - -LinkCreator::~LinkCreator() -{ -} - -void -LinkCreator::do_Process( const ary::cpp::Namespace & i_rData ) -{ - Create_PrePath( i_rData ); - strcat( pOut, "index.html" ); // KORR_FUTURE // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Class & i_rData ) -{ - Create_PrePath( i_rData ); - strcat( pOut, ClassFileName(i_rData.LocalName().c_str()) ); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Enum & i_rData ) -{ - Create_PrePath( i_rData ); - strcat( pOut, EnumFileName(i_rData.LocalName().c_str()) ); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Typedef & i_rData ) -{ - Create_PrePath( i_rData ); - strcat( pOut, TypedefFileName(i_rData.LocalName().c_str()) ); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Function & i_rData ) -{ - Create_PrePath( i_rData ); - - if ( i_rData.Protection() != ary::cpp::PROTECT_global ) - { - strcat( pOut, "o.html" ); // SAFE STRCAT (#100211# - checked) - } - else - { - csv_assert(i_rData.Location().IsValid()); - const ary::loc::File & - rFile = pEnv->Gate().Locations().Find_File(i_rData.Location()); - strcat( pOut, HtmlFileName("o-", rFile.LocalName().c_str()) ); // SAFE STRCAT (#100211# - checked) - } - - csv_assert(pEnv != 0); - strcat( pOut, OperationLink(pEnv->Gate(), i_rData.LocalName(), i_rData.CeId()) ); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Variable & i_rData ) -{ - Create_PrePath( i_rData ); - - if ( i_rData.Protection() != ary::cpp::PROTECT_global ) - { - strcat( pOut, "d.html" ); // SAFE STRCAT (#100211# - checked) - } - else - { - csv_assert(i_rData.Location().IsValid()); - const ary::loc::File & - rFile = pEnv->Gate().Locations().Find_File(i_rData.Location()); - strcat( pOut, HtmlFileName("d-", rFile.LocalName().c_str()) ); // SAFE STRCAT (#100211# - checked) - } - - strcat( pOut, DataLink(i_rData.LocalName()) ); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::EnumValue & i_rData ) -{ - const ary::cpp::CodeEntity * - pEnum = pEnv->Gate().Ces().Search_Ce(i_rData.Owner()); - if (pEnum == 0) - return; - - pEnum->Accept(*this); - strcat(pOut, "#"); // SAFE STRCAT (#100211# - checked) - strcat(pOut, i_rData.LocalName().c_str()); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Define & i_rData ) -{ - // KORR_FUTURE - // Only valid from Index: - - *pOut = '\0'; - strcat(pOut, "../def-all.html#"); // SAFE STRCAT (#100211# - checked) - strcat(pOut, i_rData.LocalName().c_str()); // SAFE STRCAT (#100211# - checked) -} - -void -LinkCreator::do_Process( const ary::cpp::Macro & i_rData ) -{ - // KORR_FUTURE - // Only valid from Index: - - *pOut = '\0'; - strcat(pOut, "../def-all.html#"); // SAFE STRCAT (#100211# - checked) - strcat(pOut, i_rData.LocalName().c_str()); // SAFE STRCAT (#100211# - checked) -} - - -namespace -{ - -class NameScope_const_iterator -{ - public: - NameScope_const_iterator( - ary::cpp::Ce_id i_nId, - const ary::cpp::Gate & - i_rGate ); - - operator bool() const { return pCe != 0; } - const String & operator*() const; - - void go_up(); - - private: - const ary::cpp::CodeEntity * - pCe; - const ary::cpp::Gate * - pGate; -}; - - -NameScope_const_iterator::NameScope_const_iterator( - ary::cpp::Ce_id i_nId, - const ary::cpp::Gate & i_rGate ) - : pCe(i_rGate.Ces().Search_Ce(i_nId)), - pGate(&i_rGate) -{ -} - -const String & -NameScope_const_iterator::operator*() const -{ - return pCe ? pCe->LocalName() - : String::Null_(); -} - -void -NameScope_const_iterator::go_up() -{ - if (pCe == 0) - return; - pCe = pGate->Ces().Search_Ce(pCe->Owner()); -} - - -void Recursive_CreatePath( - char * o_pOut, - const NameScope_const_iterator & - i_it ); - -void -Recursive_CreatePath( char * o_pOut, - const NameScope_const_iterator & i_it ) -{ - if (NOT i_it) - return; - - NameScope_const_iterator it( i_it ); - it.go_up(); - if (NOT it) - return; // Global Namespace - Recursive_CreatePath( o_pOut, it ); - - strcat( o_pOut, (*i_it).c_str() ); // SAFE STRCAT (#100211# - checked) - strcat( o_pOut, "/" ); // SAFE STRCAT (#100211# - checked) -} - - -} // anonymous namespace - - - - - -void -LinkCreator::Create_PrePath( const ary::cpp::CodeEntity & i_rData ) -{ - *pOut = NULCH; - - if ( pEnv->CurNamespace() != 0 ) - { - if ( pEnv->CurClass() - ? pEnv->CurClass()->CeId() == i_rData.Owner() - : pEnv->CurNamespace()->CeId() == i_rData.Owner() ) - return; - - strcat( pOut, PathUp(pEnv->Depth() - 1) ); // SAFE STRCAT (#100211# - checked) - } - else - { // Within Index - strcat( pOut, "../names/" ); // SAFE STRCAT (#100211# - checked) - } - - NameScope_const_iterator it( i_rData.Owner(), pEnv->Gate() ); - Recursive_CreatePath( pOut, it ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/cre_link.hxx b/autodoc/source/display/html/cre_link.hxx deleted file mode 100644 index c79523ff655f..000000000000 --- a/autodoc/source/display/html/cre_link.hxx +++ /dev/null @@ -1,136 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_CRE_LINK_HXX -#define ADC_DISPLAY_CRE_LINK_HXX - - -// USED SERVICES - // BASE CLASSES -#include <cosv/tpl/processor.hxx> - // COMPONENTS - // PARAMETERS - -namespace ary -{ -namespace cpp -{ - class CodeEntity; - class Namespace; - class Class; - class Enum; - class Typedef; - class Function; - class Variable; - class EnumValue; - class Define; - class Macro; -} -} - - -class OuputPage_Environment; - - - -/** Displays links to ->{ary::cpp::CodeEntity CodeEntites}. -*/ -class LinkCreator : public csv::ProcessorIfc, - public csv::ConstProcessor<ary::cpp::Namespace>, - public csv::ConstProcessor<ary::cpp::Class>, - public csv::ConstProcessor<ary::cpp::Enum>, - public csv::ConstProcessor<ary::cpp::Typedef>, - public csv::ConstProcessor<ary::cpp::Function>, - public csv::ConstProcessor<ary::cpp::Variable>, - public csv::ConstProcessor<ary::cpp::EnumValue>, - public csv::ConstProcessor<ary::cpp::Define>, - public csv::ConstProcessor<ary::cpp::Macro> -{ - public: - LinkCreator( - char * o_rOutput, - uintt i_nOutputSize ); - ~LinkCreator(); - - - void SetEnv( - const OuputPage_Environment & - i_rEnv ); - private: - void Create_PrePath( - const ary::cpp::CodeEntity & - i_rData ); - // Interface csv::ConstProcessor<> - virtual void do_Process( - const ary::cpp::Namespace & - i_rData ); - virtual void do_Process( - const ary::cpp::Class & - i_rData ); - virtual void do_Process( - const ary::cpp::Enum & - i_rData ); - virtual void do_Process( - const ary::cpp::Typedef & - i_rData ); - virtual void do_Process( - const ary::cpp::Function & - i_rData ); - virtual void do_Process( - const ary::cpp::Variable & - i_rData ); - virtual void do_Process( - const ary::cpp::EnumValue & - i_rData ); - virtual void do_Process( - const ary::cpp::Define & - i_rData ); - virtual void do_Process( - const ary::cpp::Macro & - i_rData ); - // DATA - char * pOut; - uintt nOutMaxSize; - const OuputPage_Environment * - pEnv; -}; - - - - -// IMPLEMENTATION -inline void -LinkCreator::SetEnv( const OuputPage_Environment & i_rEnv ) - { pEnv = &i_rEnv; } - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/dsply_cl.cxx b/autodoc/source/display/html/dsply_cl.cxx deleted file mode 100644 index f590889683c4..000000000000 --- a/autodoc/source/display/html/dsply_cl.cxx +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "dsply_cl.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_gate.hxx> -#include "dsply_da.hxx" -#include "dsply_op.hxx" -#include "hdimpl.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" - - - - -ClassDisplayer::ClassDisplayer( OuputPage_Environment & io_rEnv ) - : pEnv(&io_rEnv) -{ -} - -ClassDisplayer::~ClassDisplayer() -{ -} - -void -ClassDisplayer::DisplayFiles_InClass( const ary::cpp::Class & i_rData, - PageDisplay & io_rPageMaker ) -{ - // Classes - ClassDisplayer aClassDisplayer( Env() ); - DisplaySlot( aClassDisplayer, i_rData, ary::cpp::Class::SLOT_NestedClasses ); - - // Enums - DisplaySlot( io_rPageMaker, i_rData, ary::cpp::Class::SLOT_Enums ); - - // Typedefs - DisplaySlot( io_rPageMaker, i_rData, ary::cpp::Class::SLOT_Typedefs ); - - // Operations - OperationsDisplay aOperationsDisplayer( Env() ); - - aOperationsDisplayer.PrepareForStdMembers(); - DisplaySlot( aOperationsDisplayer, i_rData, ary::cpp::Class::SLOT_Operations ); - - aOperationsDisplayer.PrepareForStaticMembers(); - DisplaySlot( aOperationsDisplayer, i_rData, ary::cpp::Class::SLOT_StaticOperations ); - - aOperationsDisplayer.Create_Files(); - - // Data - DataDisplay aDataDisplayer( Env() ); - - aDataDisplayer.PrepareForStdMembers(); - DisplaySlot( aDataDisplayer, i_rData, ary::cpp::Class::SLOT_Data ); - - aDataDisplayer.PrepareForStaticMembers(); - DisplaySlot( aDataDisplayer, i_rData, ary::cpp::Class::SLOT_StaticData ); - - aDataDisplayer.Create_Files(); -} - -void -ClassDisplayer::do_Process( const ary::cpp::Class & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - PageDisplay aPageMaker( Env() ); - aPageMaker.Process(i_rData); - - Env().MoveDir_Down2( i_rData ); - DisplayFiles_InClass( i_rData, aPageMaker ); - Env().MoveDir_Up(); -} - -const ary::cpp::Gate * -ClassDisplayer::inq_Get_ReFinder() const -{ - return & pEnv->Gate(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/dsply_cl.hxx b/autodoc/source/display/html/dsply_cl.hxx deleted file mode 100644 index f2be896d2564..000000000000 --- a/autodoc/source/display/html/dsply_cl.hxx +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_HD_PAGE_HXX -#define ADC_DISPLAY_HTML_HD_PAGE_HXX - -// BASE CLASSES -#include <ary/ary_disp.hxx> -#include <cosv/tpl/processor.hxx> -// USED SERVICES -#include <ary/types.hxx> - -class OuputPage_Environment; - -namespace ary -{ -namespace cpp -{ - class Class; -} -} - -class PageDisplay; - - - - -class ClassDisplayer : public ary::Display, - public csv::ConstProcessor<ary::cpp::Class> -{ - public: - ClassDisplayer( // TODO - OuputPage_Environment & - io_rEnv ); - virtual ~ClassDisplayer(); - - private: - // Interface csv::ConstProcessor<>: - virtual void do_Process( - const ary::cpp::Class & - i_data ); - // Interface ary::Display: - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - - // Locals - void DisplayFiles_InClass( - const ary::cpp::Class & - i_rData, - PageDisplay & io_rPageMaker ); - - OuputPage_Environment & - Env() { return *pEnv; } - - // DATA - OuputPage_Environment * - pEnv; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/dsply_da.cxx b/autodoc/source/display/html/dsply_da.cxx deleted file mode 100644 index 4989e774f946..000000000000 --- a/autodoc/source/display/html/dsply_da.cxx +++ /dev/null @@ -1,202 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "dsply_da.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/doc/d_docu.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/loc/locp_le.hxx> -#include <udm/html/htmlitem.hxx> -#include "hd_docu.hxx" -#include "hdimpl.hxx" -#include "html_kit.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" - - -using namespace csi; - - - -DataDisplay::DataDisplay( OuputPage_Environment & io_rEnv ) - : aMap_GlobalDataDisplay(), - pClassMembersDisplay(0), - pEnv( &io_rEnv ), - pDocuShow( new Docu_Display(io_rEnv) ) -{ -} - -DataDisplay::~DataDisplay() -{ - csv::erase_map_of_heap_ptrs( aMap_GlobalDataDisplay ); -} - -void -DataDisplay::PrepareForConstants() -{ - if (pClassMembersDisplay) - pClassMembersDisplay = 0; - - csv::erase_map_of_heap_ptrs( aMap_GlobalDataDisplay ); -} - -void -DataDisplay::PrepareForVariables() -{ - // Doesn't need to do anything yet. -} - -void -DataDisplay::PrepareForStdMembers() -{ - csv::erase_map_of_heap_ptrs( aMap_GlobalDataDisplay ); - - pClassMembersDisplay = new PageDisplay(*pEnv); - const ary::cpp::Class * pClass = pEnv->CurClass(); - csv_assert( pClass != 0 ); - pClassMembersDisplay->Setup_DataFile_for(*pClass); -} - -void -DataDisplay::PrepareForStaticMembers() -{ - // Doesn't need to do anything yet. -} - -void -DataDisplay::Create_Files() -{ - if (pClassMembersDisplay) - { - pClassMembersDisplay->Create_File(); - pClassMembersDisplay = 0; - } - else - { - for ( Map_FileId2PagePtr::const_iterator it = aMap_GlobalDataDisplay.begin(); - it != aMap_GlobalDataDisplay.end(); - ++it ) - { - (*it).second->Create_File(); - } - csv::erase_map_of_heap_ptrs( aMap_GlobalDataDisplay ); - } -} - -void -DataDisplay::do_Process( const ary::cpp::Variable & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - PageDisplay & rPage = FindPage_for( i_rData ); - - csi::xml::Element & rOut = rPage.CurOut(); - Display_SglDatum( rOut, i_rData ); -} - -const ary::cpp::Gate * -DataDisplay::inq_Get_ReFinder() const -{ - return & pEnv->Gate(); -} - -PageDisplay & -DataDisplay::FindPage_for( const ary::cpp::Variable & i_rData ) -{ - if ( pClassMembersDisplay ) - return *pClassMembersDisplay; - - SourceFileId - nSourceFile = i_rData.Location(); - PageDisplay * - pFound = csv::value_from_map( aMap_GlobalDataDisplay, nSourceFile, (PageDisplay*)0 ); - if ( pFound == 0 ) - { - pFound = new PageDisplay( *pEnv ); - const ary::loc::File & - rFile = pEnv->Gate().Locations().Find_File( nSourceFile ); - pFound->Setup_DataFile_for(rFile); - aMap_GlobalDataDisplay[nSourceFile] = pFound; - } - - return *pFound; -} - -void -DataDisplay::Display_SglDatum( csi::xml::Element & rOut, - const ary::cpp::Variable & i_rData ) -{ - adcdisp::ExplanationList aDocu(rOut, true); - aDocu.AddEntry( 0 ); - - aDocu.Term() - >> *new html::Label( DataLabel(i_rData.LocalName()) ) - << " "; - aDocu.Term() - << i_rData.LocalName(); - - dshelp::Get_LinkedTypeText( aDocu.Def(), *pEnv, i_rData.Type() ); - aDocu.Def() - << " " - >> *new html::Strong - << i_rData.LocalName(); - if ( i_rData.ArraySize().length() > 0 ) - { - aDocu.Def() - << "[" - << i_rData.ArraySize() - << "]"; - } - if ( i_rData.Initialisation().length() > 0 ) - { - aDocu.Def() - << " = " - << i_rData.Initialisation(); - } - aDocu.Def() - << ";" - << new html::LineBreak - << new html::LineBreak; - - aDocu.AddEntry_NoTerm(); - - pDocuShow->Assign_Out(aDocu.Def()); - pDocuShow->Process(i_rData.Docu()); - pDocuShow->Unassign_Out(); - - rOut << new html::HorizontalLine; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/dsply_da.hxx b/autodoc/source/display/html/dsply_da.hxx deleted file mode 100644 index 45f0b15f9503..000000000000 --- a/autodoc/source/display/html/dsply_da.hxx +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_DSPLY_DA_HXX -#define ADC_DISPLAY_HTML_DSPLY_DA_HXX - -// BASE CLASSES -#include <ary/ary_disp.hxx> -#include <cosv/tpl/processor.hxx> -// USED SERVICES -#include <ary/cpp/c_ce.hxx> - -namespace ary -{ - namespace cpp - { - class Variable; - } -} -namespace csi -{ - namespace xml - { - class Element; - } -} - - - - -class OuputPage_Environment; -class PageDisplay; -class Docu_Display; - -class DataDisplay : public ary::Display, - public csv::ConstProcessor<ary::cpp::Variable> -{ - public: - DataDisplay( - OuputPage_Environment & - io_rInfo ); - virtual ~DataDisplay(); - - void PrepareForConstants(); - void PrepareForVariables(); - void PrepareForStdMembers(); - void PrepareForStaticMembers(); - - void Create_Files(); - - private: - // Interface csv::ConstProcessor<>: - virtual void do_Process( - const ary::cpp::Variable & - i_rData ); - // Interface ary::cpp::Display: - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - - // Locals - typedef ary::cpp::Lid SourceFileId; - typedef std::map< SourceFileId, DYN PageDisplay* > Map_FileId2PagePtr; - - PageDisplay & FindPage_for( - const ary::cpp::Variable & - i_rData ); - void Display_SglDatum( - csi::xml::Element & rOut, - const ary::cpp::Variable & - i_rData ); - // DATA - Map_FileId2PagePtr aMap_GlobalDataDisplay; - Dyn<PageDisplay> pClassMembersDisplay; - - OuputPage_Environment * - pEnv; - Dyn<Docu_Display> pDocuShow; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/dsply_op.cxx b/autodoc/source/display/html/dsply_op.cxx deleted file mode 100644 index e34db602ff6a..000000000000 --- a/autodoc/source/display/html/dsply_op.cxx +++ /dev/null @@ -1,210 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "dsply_op.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/loc/locp_le.hxx> -#include <udm/html/htmlitem.hxx> -#include "hd_docu.hxx" -#include "hdimpl.hxx" -#include "html_kit.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" - -using namespace csi; -using namespace adcdisp; - - - - -OperationsDisplay::OperationsDisplay( OuputPage_Environment & io_rEnv ) - : // aMap_GlobalFunctionsDisplay, - // pClassMembersDisplay, - pEnv( &io_rEnv ), - pDocuShow( new Docu_Display(io_rEnv) ) -{ -} - -OperationsDisplay::~OperationsDisplay() -{ - csv::erase_map_of_heap_ptrs( aMap_GlobalFunctionsDisplay ); -} - -void -OperationsDisplay::PrepareForStdMembers() -{ - csv::erase_map_of_heap_ptrs( aMap_GlobalFunctionsDisplay ); - - pClassMembersDisplay = new PageDisplay(*pEnv); - const ary::cpp::Class * pClass = pEnv->CurClass(); - csv_assert( pClass != 0 ); - pClassMembersDisplay->Setup_OperationsFile_for(*pClass); -} - -void -OperationsDisplay::PrepareForStaticMembers() -{ - // Doesn't need to do anything yet. -} - -void -OperationsDisplay::Create_Files() -{ - if (pClassMembersDisplay) - pClassMembersDisplay->Create_File(); - else - { - for ( Map_FileId2PagePtr::const_iterator it = aMap_GlobalFunctionsDisplay.begin(); - it != aMap_GlobalFunctionsDisplay.end(); - ++it ) - { - (*it).second->Create_File(); - } - } -} - -void -OperationsDisplay::do_Process( const ary::cpp::Function & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - PageDisplay & rPage = FindPage_for( i_rData ); - - csi::xml::Element & rOut = rPage.CurOut(); - Display_SglOperation( rOut, i_rData ); -} - -const ary::cpp::Gate * -OperationsDisplay::inq_Get_ReFinder() const -{ - return & pEnv->Gate(); -} - -PageDisplay & -OperationsDisplay::FindPage_for( const ary::cpp::Function & i_rData ) -{ - if ( pClassMembersDisplay ) - return *pClassMembersDisplay; - - SourceFileId - nSourceFile = i_rData.Location(); - PageDisplay * - pFound = csv::value_from_map( aMap_GlobalFunctionsDisplay, nSourceFile, (PageDisplay*)0 ); - if ( pFound == 0 ) - { - pFound = new PageDisplay( *pEnv ); - const ary::loc::File & - rFile = pEnv->Gate().Locations().Find_File( nSourceFile ); - pFound->Setup_OperationsFile_for(rFile); - aMap_GlobalFunctionsDisplay[nSourceFile] = pFound; - } - - return *pFound; -} - -void -OperationsDisplay::Display_SglOperation( csi::xml::Element & rOut, - const ary::cpp::Function & i_rData ) -{ - adcdisp::ExplanationList aDocu(rOut, true); - aDocu.AddEntry( 0 ); - - - adcdisp::OperationTitle fTitle; - fTitle( aDocu.Term(), - i_rData.LocalName(), - i_rData.CeId(), - pEnv->Gate() ); - - // Syntax - adcdisp::ExplanationList aSyntaxHeader(aDocu.Def()); - aSyntaxHeader.AddEntry( 0, "simple" ); - csi::xml::Element & rHeader = aSyntaxHeader.Term(); - - adcdisp::ParameterTable - aParams( aSyntaxHeader.Def() ); - - if (i_rData.TemplateParameters().size() > 0) - { - TemplateClause fTemplateClause; - fTemplateClause( rHeader, i_rData.TemplateParameters() ); - rHeader << new html::LineBreak; - } - if ( i_rData.Flags().IsExternC() ) - { - rHeader - << "extern \"C\"" - << new html::LineBreak; - } - - bool bConst = false; - bool bVolatile = false; - WriteOut_LinkedFunctionText( rHeader, aParams, i_rData, *pEnv, - &bConst, &bVolatile ); - aDocu.Def() << new html::LineBreak; - - // Flags - aDocu.AddEntry_NoTerm(); - adcdisp::FlagTable - aFlags( aDocu.Def(), 8 ); - - const ary::cpp::FunctionFlags & - rFFlags = i_rData.Flags(); - aFlags.SetColumn( 0, "virtual", - i_rData.Virtuality() != ary::cpp::VIRTUAL_none ); - aFlags.SetColumn( 1, "abstract", - i_rData.Virtuality() == ary::cpp::VIRTUAL_abstract ); - aFlags.SetColumn( 2, "const", bConst ); - aFlags.SetColumn( 3, "volatile", bVolatile ); - aFlags.SetColumn( 4, "template", - i_rData.TemplateParameters().size() > 0 ); - aFlags.SetColumn( 5, "static", - rFFlags.IsStaticLocal() OR rFFlags.IsStaticMember() ); - aFlags.SetColumn( 6, "inline", - rFFlags.IsInline() ); - aFlags.SetColumn( 7, "C-linkage", - rFFlags.IsExternC() ); - aDocu.Def() << new html::LineBreak; - - // Docu - aDocu.AddEntry_NoTerm(); - pDocuShow->Assign_Out(aDocu.Def()); - pDocuShow->Process(i_rData.Docu()); - pDocuShow->Unassign_Out(); - - rOut << new html::HorizontalLine; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/dsply_op.hxx b/autodoc/source/display/html/dsply_op.hxx deleted file mode 100644 index 27f2657a0f57..000000000000 --- a/autodoc/source/display/html/dsply_op.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_DSPLY_OP_HXX -#define ADC_DISPLAY_HTML_DSPLY_OP_HXX - -// BASE CLASSES -#include <ary/ary_disp.hxx> -#include <cosv/tpl/processor.hxx> -// USED SERVICES -#include <ary/cpp/c_ce.hxx> - -namespace ary -{ - namespace cpp - { - class Function; - } -} -namespace csi -{ - namespace xml - { - class Element; - } -} - -class OuputPage_Environment; -class PageDisplay; -class Docu_Display; - - - - -class OperationsDisplay : public ary::Display, - public csv::ConstProcessor<ary::cpp::Function> -{ - public: - OperationsDisplay( - OuputPage_Environment & - io_rInfo ); - virtual ~OperationsDisplay(); - - void PrepareForStdMembers(); - void PrepareForStaticMembers(); - void Create_Files(); - - private: - // Interface csv::ConstProcessor<>: - virtual void do_Process( - const ary::cpp::Function & - i_rData ); - // Interface ary::Display: - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - - // Locals - typedef ary::cpp::Lid SourceFileId; - typedef std::map< SourceFileId, DYN PageDisplay* > Map_FileId2PagePtr; - - PageDisplay & FindPage_for( - const ary::cpp::Function & - i_rData ); - void Display_SglOperation( - csi::xml::Element & rOut, - const ary::cpp::Function & - i_rData ); - // DATA - Map_FileId2PagePtr aMap_GlobalFunctionsDisplay; - Dyn<PageDisplay> pClassMembersDisplay; - - OuputPage_Environment * - pEnv; - Dyn<Docu_Display> pDocuShow; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/easywri.cxx b/autodoc/source/display/html/easywri.cxx deleted file mode 100644 index b68b36d011d4..000000000000 --- a/autodoc/source/display/html/easywri.cxx +++ /dev/null @@ -1,67 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "easywri.hxx" - - -// NOT FULLY DEFINED SERVICES - - -using namespace csi::html; - - -EasyWriter::EasyWriter() -{ -} - -EasyWriter::~EasyWriter() -{ -} - -void -EasyWriter::Open_OutputNode( csi::xml::Element & io_rDestination ) -{ - aCurDestination.push(&io_rDestination); -} - -void -EasyWriter::Finish_OutputNode() -{ - csv_assert( NOT aCurDestination.empty() ); - aCurDestination.pop(); -} - -csi::xml::Element & -EasyWriter::Out() -{ - csv_assert( aCurDestination.size() > 0); - return *aCurDestination.top(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/easywri.hxx b/autodoc/source/display/html/easywri.hxx deleted file mode 100644 index 9a70a3c5b91c..000000000000 --- a/autodoc/source/display/html/easywri.hxx +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_EASYWRI_HXX -#define ADC_DISPLAY_HTML_EASYWRI_HXX - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS -#include <estack.hxx> - // PARAMETERS -#include <udm/html/htmlitem.hxx> - - -class EasyWriter -{ - public: - // LIFECYCLE - EasyWriter(); - ~EasyWriter(); - - // OPERATIONS - /// Pushes csi::xml::Element on stack. - void Open_OutputNode( - csi::xml::Element & io_rDestination ); - /// Pops front csi::xml::Element from stack. - void Finish_OutputNode(); - - void Enter( - csi::xml::Element & io_rDestination ) - { Open_OutputNode(io_rDestination); } - void Leave() { Finish_OutputNode(); } - - // ACCESS - csi::xml::Element & Out(); // CurOutputNode - - private: - EStack< csi::xml::Element * > - aCurDestination; // The front element is the currently used. - // The later ones are the parents. -}; - -/* -inline csi::xml::Element & -EasyWriter::Out() - { csv_assert( aCurDestination.size() > 0 ); - return *aCurDestination.top(); } -*/ - -// IMPLEMENTATION - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/hd_chlst.cxx b/autodoc/source/display/html/hd_chlst.cxx deleted file mode 100644 index 8e3c3c95ced1..000000000000 --- a/autodoc/source/display/html/hd_chlst.cxx +++ /dev/null @@ -1,592 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "hd_chlst.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/ceslot.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/loc/locp_le.hxx> -#include <ary/doc/d_oldcppdocu.hxx> -#include <ary/info/ci_attag.hxx> -#include <ary/info/ci_text.hxx> -#include <ary/info/all_dts.hxx> -#include "hd_docu.hxx" -#include "opageenv.hxx" -#include "protarea.hxx" -#include "strconst.hxx" - - -using namespace csi; -using html::Table; -using html::TableRow; -using html::TableCell; -using html::Font; -using html::SizeAttr; -using html::BgColorAttr; -using html::WidthAttr; - - -const int ixPublic = 0; -const int ixProtected = 1; -const int ixPrivate = 2; - -struct ChildList_Display::S_AreaCo -{ - public: - ProtectionArea aArea; - Area_Result * pResult; - - S_AreaCo( - Area_Result & o_rResult, - const char * i_sLabel, - const char * i_sTitle ); - ~S_AreaCo(); - - void PerformResult(); - - private: - csi::xml::Element & Out() { return pResult->rOut; } -}; - - -const ary::info::DocuText & -ShortDocu( const ary::cpp::CodeEntity & i_rCe ) -{ - static const ary::info::DocuText - aNull_; - - const ary::doc::OldCppDocu * - pInfo = dynamic_cast< const ary::doc::OldCppDocu* >( i_rCe.Docu().Data() ); - if (pInfo == 0) - return aNull_; - - return pInfo->Short().CText(); -} - - -ChildList_Display::ChildList_Display( OuputPage_Environment & io_rEnv ) - : HtmlDisplay_Impl( io_rEnv ), - pShortDocu_Display( new Docu_Display(io_rEnv) ), - pActiveParentClass(0), - pActiveParentEnum(0), - // pSglArea, - // aMemberAreas, - peClassesFilter(0) -{ -} - -ChildList_Display::ChildList_Display( OuputPage_Environment & io_rEnv, - const ary::cpp::Class & i_rClass ) - : HtmlDisplay_Impl( io_rEnv ), - pShortDocu_Display( new Docu_Display(io_rEnv) ), - pActiveParentClass(&i_rClass), - pActiveParentEnum(0), - // pSglArea, - // aMemberAreas, - peClassesFilter(0) -{ -} - -ChildList_Display::ChildList_Display( OuputPage_Environment & io_rEnv, - const ary::cpp::Enum & i_rEnum ) - : HtmlDisplay_Impl( io_rEnv ), - pShortDocu_Display( new Docu_Display(io_rEnv) ), - pActiveParentClass(0), - pActiveParentEnum(&i_rEnum), - // pSglArea, - // aMemberAreas, - peClassesFilter(0) -{ -} - -ChildList_Display::~ChildList_Display() -{ -} - -void -ChildList_Display::Run_Simple( Area_Result & o_rResult, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel, - const char * i_sListTitle ) -{ - ary::Slot_AutoPtr - pSlot( ActiveParent().Create_Slot( i_nSlot ) ); - if ( pSlot->Size() == 0 ) - return; - - pSglArea = new S_AreaCo( o_rResult, - i_sListLabel, - i_sListTitle ); - - pSlot->StoreAt(*this); - - pSglArea->PerformResult(); - pSglArea = 0; -} - -void -ChildList_Display::Run_GlobalClasses( Area_Result & o_rResult, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel, - const char * i_sListTitle, - ary::cpp::E_ClassKey i_eFilter ) -{ - ary::Slot_AutoPtr - pSlot( ActiveParent().Create_Slot( i_nSlot ) ); - if ( pSlot->Size() == 0 ) - return; - - pSglArea = new S_AreaCo( o_rResult, - i_sListLabel, - i_sListTitle ); - - SetClassesFilter(i_eFilter); - pSlot->StoreAt(*this); - UnsetClassesFilter(); - - pSglArea->PerformResult(); - pSglArea = 0; -} - -void -ChildList_Display::Run_Members( Area_Result & o_rResult_public, - Area_Result & o_rResult_protected, - Area_Result & o_rResult_private, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel_public, - const char * i_sListLabel_protected, - const char * i_sListLabel_private, - const char * i_sListTitle ) -{ - ary::Slot_AutoPtr - pSlot( ActiveParent().Create_Slot(i_nSlot) ); - if ( pSlot->Size() == 0 ) - return; - - aMemberAreas[ixPublic] = new S_AreaCo( o_rResult_public, - i_sListLabel_public, - i_sListTitle ); - aMemberAreas[ixProtected] = new S_AreaCo( o_rResult_protected, - i_sListLabel_protected, - i_sListTitle ); - aMemberAreas[ixPrivate] = new S_AreaCo( o_rResult_private, - i_sListLabel_private, - i_sListTitle ); - - pSlot->StoreAt(*this); - - aMemberAreas[ixPublic]->PerformResult(); - aMemberAreas[ixProtected]->PerformResult(); - aMemberAreas[ixPrivate]->PerformResult(); - - aMemberAreas[ixPublic] = 0; - aMemberAreas[ixProtected] = 0; - aMemberAreas[ixPrivate] = 0; -} - -void -ChildList_Display::Run_MemberClasses( Area_Result & o_rResult_public, - Area_Result & o_rResult_protected, - Area_Result & o_rResult_private, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel_public, - const char * i_sListLabel_protected, - const char * i_sListLabel_private, - const char * i_sListTitle, - ary::cpp::E_ClassKey i_eFilter ) -{ - ary::Slot_AutoPtr - pSlot( ActiveParent().Create_Slot(i_nSlot) ); - if ( pSlot->Size() == 0 ) - return; - - aMemberAreas[ixPublic] = new S_AreaCo( o_rResult_public, - i_sListLabel_public, - i_sListTitle ); - aMemberAreas[ixProtected] = new S_AreaCo( o_rResult_protected, - i_sListLabel_protected, - i_sListTitle ); - aMemberAreas[ixPrivate] = new S_AreaCo( o_rResult_private, - i_sListLabel_private, - i_sListTitle ); - - SetClassesFilter(i_eFilter); - pSlot->StoreAt(*this); - UnsetClassesFilter(); - - aMemberAreas[ixPublic]->PerformResult(); - aMemberAreas[ixProtected]->PerformResult(); - aMemberAreas[ixPrivate]->PerformResult(); - - aMemberAreas[ixPublic] = 0; - aMemberAreas[ixProtected] = 0; - aMemberAreas[ixPrivate] = 0; -} - -void -ChildList_Display::do_Process( const ary::cpp::Namespace & i_rData ) -{ - Write_ListItem( i_rData.LocalName(), - Path2ChildNamespace(i_rData.LocalName()), - ShortDocu( i_rData ), - GetArea().GetTable() ); -} - -void -ChildList_Display::do_Process( const ary::cpp::Class & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - if (peClassesFilter) - { - if (*peClassesFilter != i_rData.ClassKey() ) - return; - } - - String sLink; - if ( i_rData.Protection() == ary::cpp::PROTECT_global ) - { - sLink = ClassFileName(i_rData.LocalName()); - - } - else - { - csv_assert( pActiveParentClass != 0 ); - sLink = Path2Child( ClassFileName(i_rData.LocalName()), pActiveParentClass->LocalName() ); - } - - if (peClassesFilter) - { - Write_ListItem( i_rData.LocalName(), - sLink, - ShortDocu( i_rData ), - GetArea(i_rData.Protection()) - .GetTable() ); - } - else - { - Write_ListItem( i_rData.LocalName(), - sLink, - ShortDocu( i_rData ), - GetArea(i_rData.Protection()) - .GetTable(i_rData.ClassKey()) ); - } -} - -void -ChildList_Display::do_Process( const ary::cpp::Enum & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - String sLink; - if ( i_rData.Protection() == ary::cpp::PROTECT_global ) - { - sLink = EnumFileName(i_rData.LocalName()); - } - else - { - csv_assert( pActiveParentClass != 0 ); - sLink = Path2Child( EnumFileName(i_rData.LocalName()), - pActiveParentClass->LocalName() ); - } - - Write_ListItem( i_rData.LocalName(), - sLink, - ShortDocu( i_rData ), - GetArea(i_rData.Protection()).GetTable() ); -} - -void -ChildList_Display::do_Process( const ary::cpp::Typedef & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - String sLink; - if ( i_rData.Protection() == ary::cpp::PROTECT_global ) - { - sLink = TypedefFileName(i_rData.LocalName()); - } - else - { - csv_assert( pActiveParentClass != 0 ); - sLink = Path2Child( TypedefFileName(i_rData.LocalName()), - pActiveParentClass->LocalName() ); - } - - Write_ListItem( i_rData.LocalName(), - sLink, - ShortDocu( i_rData ), - GetArea(i_rData.Protection()).GetTable() ); -} - -void -ChildList_Display::do_Process( const ary::cpp::Function & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - String sLinkPrePath; - if ( i_rData.Protection() == ary::cpp::PROTECT_global ) - { - const ary::loc::File & - rFile = Env().Gate().Locations().Find_File( i_rData.Location() ); - sLinkPrePath = HtmlFileName( "o-", rFile.LocalName() ); - } - else - { - csv_assert( pActiveParentClass != 0 ); - sLinkPrePath = Path2Child( HtmlFileName( "o", "" ), - pActiveParentClass->LocalName() ); - } - - // Out - Table & rOut = GetArea(i_rData.Protection()).GetTable(); - TableRow * dpRow = new TableRow; - rOut << dpRow; - TableCell & rCell1 = dpRow->AddCell(); - - rCell1 - << SyntaxText_PreName( i_rData, Env().Gate() ) - << new html::LineBreak; - rCell1 - >> *new html::Link( OperationLink( - Env().Gate(), - i_rData.LocalName(), - i_rData.CeId(), - sLinkPrePath) ) - << i_rData.LocalName(); - rCell1 - << SyntaxText_PostName( i_rData, Env().Gate() ); - TableCell & - rCell2 = dpRow->AddCell(); - rCell2 - << new WidthAttr("50%") - << " "; - - pShortDocu_Display->Assign_Out( rCell2 ); - ShortDocu( i_rData ).StoreAt( *pShortDocu_Display ); - pShortDocu_Display->Unassign_Out(); -} - -void -ChildList_Display::do_Process( const ary::cpp::Variable & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - String sLinkPrePath; - if ( i_rData.Protection() == ary::cpp::PROTECT_global ) - { - const ary::loc::File & - rFile = Env().Gate().Locations().Find_File( i_rData.Location() ); - sLinkPrePath = HtmlFileName( "d-", rFile.LocalName() ); - } - else - { - csv_assert( pActiveParentClass != 0 ); - sLinkPrePath = Path2Child( HtmlFileName( "d", "" ), - pActiveParentClass->LocalName() ); - } - - TableRow * dpRow = new TableRow; - GetArea(i_rData.Protection()).GetTable() << dpRow; - - *dpRow << new html::BgColorAttr("white"); - csi::xml::Element & - rCell1 = dpRow->AddCell(); - - dshelp::Get_LinkedTypeText( rCell1, Env(), i_rData.Type() ); - rCell1 - << " " - >> *new html::Link( DataLink(i_rData.LocalName(), sLinkPrePath.c_str()) ) - >> *new html::Strong - << i_rData.LocalName() - << ";"; - - TableCell & rShortDocu = dpRow->AddCell(); - pShortDocu_Display->Assign_Out( rShortDocu ); - ShortDocu( i_rData ).StoreAt( *pShortDocu_Display ); - pShortDocu_Display->Unassign_Out(); -} - -void -ChildList_Display::do_Process( const ary::cpp::EnumValue & i_rData ) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - Table & rOut = GetArea().GetTable(); - - TableRow * dpRow = new TableRow; - rOut << dpRow; - - *dpRow << new html::BgColorAttr("white"); - dpRow->AddCell() - << new WidthAttr("20%") - << new xml::AnAttribute("valign", "top") - >> *new html::Label(i_rData.LocalName()) - >> *new html::Bold - << i_rData.LocalName(); - - TableCell & rValueDocu = dpRow->AddCell(); - pShortDocu_Display->Assign_Out( rValueDocu ); - i_rData.Docu().Accept( *pShortDocu_Display ); - pShortDocu_Display->Unassign_Out(); -} - -void -ChildList_Display::do_StartSlot() -{ -} - -void -ChildList_Display::do_FinishSlot() -{ -} - -const ary::cpp::Gate * -ChildList_Display::inq_Get_ReFinder() const -{ - return & Env().Gate(); -} - -void -ChildList_Display::Write_ListItem( const String & i_sLeftText, - const char * i_sLink, - const ary::info::DocuText & i_rRightText, - csi::xml::Element & o_rOut ) -{ - TableRow * dpRow = new TableRow; - o_rOut << dpRow; - - *dpRow << new html::BgColorAttr("white"); - dpRow->AddCell() - << new WidthAttr("20%") - >> *new html::Link( i_sLink ) - >> *new html::Bold - << i_sLeftText; - - TableCell & rShortDocu = dpRow->AddCell(); - pShortDocu_Display->Assign_Out( rShortDocu ); - i_rRightText.StoreAt( *pShortDocu_Display ); - pShortDocu_Display->Unassign_Out(); -} - -const ary::AryGroup & -ChildList_Display::ActiveParent() -{ - return pActiveParentClass != 0 - ? static_cast< const ary::AryGroup& >(*pActiveParentClass) - : pActiveParentEnum != 0 - ? static_cast< const ary::AryGroup& >(*pActiveParentEnum) - : static_cast< const ary::AryGroup& >(*Env().CurNamespace()); -} - -ProtectionArea & -ChildList_Display::GetArea() -{ - return pSglArea->aArea; -} - -ProtectionArea & -ChildList_Display::GetArea( ary::cpp::E_Protection i_eProtection ) -{ - switch ( i_eProtection ) - { - case ary::cpp::PROTECT_public: - return aMemberAreas[ixPublic]->aArea; - case ary::cpp::PROTECT_protected: - return aMemberAreas[ixProtected]->aArea; - case ary::cpp::PROTECT_private: - return aMemberAreas[ixPrivate]->aArea; - default: - return pSglArea->aArea; - } -} - - -//******************* ********************// - -ChildList_Display:: -S_AreaCo::S_AreaCo( Area_Result & o_rResult, - const char * i_sLabel, - const char * i_sTitle ) - : aArea(i_sLabel, i_sTitle), - pResult(&o_rResult) -{ -} - -ChildList_Display:: -S_AreaCo::~S_AreaCo() -{ -} - -void -ChildList_Display:: -S_AreaCo::PerformResult() -{ - bool bUsed = aArea.WasUsed_Area(); - pResult->rChildrenExist = bUsed; - if ( bUsed ) - { - Create_ChildListLabel( Out(), aArea.Label() ); - - if ( aArea.Size() == 1 ) - { - Out() << aArea.ReleaseTable(); - } - else - { - Table * pTable = aArea.ReleaseTable( ary::cpp::CK_class ); - if (pTable != 0) - Out() << pTable; - pTable = aArea.ReleaseTable( ary::cpp::CK_struct ); - if (pTable != 0) - Out() << pTable; - pTable = aArea.ReleaseTable( ary::cpp::CK_union ); - if (pTable != 0) - Out() << pTable; - } - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/hd_chlst.hxx b/autodoc/source/display/html/hd_chlst.hxx deleted file mode 100644 index cbd784d4ed2c..000000000000 --- a/autodoc/source/display/html/hd_chlst.hxx +++ /dev/null @@ -1,209 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_HD_CHLST_HXX -#define ADC_DISPLAY_HTML_HD_CHLST_HXX - -// BASE CLASSES -#include <ary/ary_disp.hxx> -#include <cosv/tpl/processor.hxx> - -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> -#include "hdimpl.hxx" - - - -namespace ary -{ - namespace cpp - { - class Namespace; - class Class; - class Enum; - class Typedef; - class Function; - class Variable; - class EnumValue; - } - namespace info - { - class DocuText; - } -} - -class Docu_Display; -class ProtectionArea; - -class ChildList_Display : public ary::Display, - public csv::ConstProcessor<ary::cpp::Namespace>, - public csv::ConstProcessor<ary::cpp::Class>, - public csv::ConstProcessor<ary::cpp::Enum>, - public csv::ConstProcessor<ary::cpp::Typedef>, - public csv::ConstProcessor<ary::cpp::Function>, - public csv::ConstProcessor<ary::cpp::Variable>, - public csv::ConstProcessor<ary::cpp::EnumValue>, - private HtmlDisplay_Impl -{ - public: - struct Area_Result - { - bool & rChildrenExist; - csi::xml::Element & rOut; - - Area_Result( - bool & o_rChildrenExist, - csi::xml::Element & o_rOut ) - : rChildrenExist(o_rChildrenExist), - rOut(o_rOut) {} - }; - - - ChildList_Display( - OuputPage_Environment & - io_rEnv ); - ChildList_Display( - OuputPage_Environment & - io_rEnv, - const ary::cpp::Class & - i_rClass ); - ChildList_Display( - OuputPage_Environment & - io_rEnv, - const ary::cpp::Enum & - i_rEnum ); - - virtual ~ChildList_Display(); - - void Run_Simple( - Area_Result & o_rResult, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel, - const char * i_sListTitle ); - void Run_GlobalClasses( - Area_Result & o_rResult, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel, - const char * i_sListTitle, - ary::cpp::E_ClassKey - i_eFilter ); - void Run_Members( - Area_Result & o_rResult_public, - Area_Result & o_rResult_protected, - Area_Result & o_rResult_private, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel_public, - const char * i_sListLabel_protected, - const char * i_sListLabel_private, - const char * i_sListTitle ); - void Run_MemberClasses( - Area_Result & o_rResult_public, - Area_Result & o_rResult_protected, - Area_Result & o_rResult_private, - ary::SlotAccessId i_nSlot, - const char * i_sListLabel_public, - const char * i_sListLabel_protected, - const char * i_sListLabel_private, - const char * i_sListTitle, - ary::cpp::E_ClassKey - i_eFilter ); - private: - // Interface csv::ConstProcessor<>: - virtual void do_Process( - const ary::cpp::Namespace & - i_rData ); - /** i_rData is shown only, if it passes two filters: - it must have the right protection, checked with pFilter, - and the right class key (class,struct,union), checked with - pClassFilter. A not exsting filter allows i_rData to be - displayed. - */ - virtual void do_Process( - const ary::cpp::Class & - i_rData ); - virtual void do_Process( - const ary::cpp::Enum & - i_rData ); - virtual void do_Process( - const ary::cpp::Typedef & - i_rData ); - virtual void do_Process( - const ary::cpp::Function & - i_rData ); - virtual void do_Process( - const ary::cpp::Variable & - i_rData ); - virtual void do_Process( - const ary::cpp::EnumValue & - i_rData ); - private: - // Interface ary::Display: - virtual void do_StartSlot(); - virtual void do_FinishSlot(); - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - // Locals - struct S_AreaCo; - void Write_ListItem( - const String & i_sLeftText, - const char * i_sLink, - const ary::info::DocuText & - i_rRightText, - csi::xml::Element & rOut ); - const ary::AryGroup & - ActiveParent(); - ProtectionArea & GetArea(); - ProtectionArea & GetArea( - ary::cpp::E_Protection - i_eProtection ); - void SetClassesFilter( - ary::cpp::E_ClassKey - i_eFilter ) - { peClassesFilter = new ary::cpp::E_ClassKey(i_eFilter); } - void UnsetClassesFilter() { peClassesFilter = 0; } - - // DATA - Dyn<Docu_Display> pShortDocu_Display; - const ary::cpp::Class * - pActiveParentClass; - const ary::cpp::Enum * - pActiveParentEnum; - - Dyn<S_AreaCo> pSglArea; - Dyn<S_AreaCo> aMemberAreas[3]; - - Dyn<ary::cpp::E_ClassKey> - peClassesFilter; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/hd_docu.cxx b/autodoc/source/display/html/hd_docu.cxx deleted file mode 100644 index c328255d7d6a..000000000000 --- a/autodoc/source/display/html/hd_docu.cxx +++ /dev/null @@ -1,486 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "hd_docu.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/doc/d_oldcppdocu.hxx> -#include <ary/info/all_tags.hxx> -#include <ary/info/all_dts.hxx> -#include <adc_cl.hxx> -#include "html_kit.hxx" -#include "opageenv.hxx" - - - -using namespace ary::info; -using namespace csi; - -using html::DefList; -using html::DefListTerm; -using html::DefListDefinition; -using html::Headline; -using html::Link; - - -const char * -C_sTagHeadlines[ ary::info::C_eAtTag_NrOfClasses ] = - { - "ATTENTION!", "Author", "Changes", "Collaborators", - "Contact", // Contact may be unused - "Copyright", "Deprecated", "Description", "Date of Documentation", - "How to Derive from this Class", - "Heap object - owner is responsible for deletion.", - "Important Instances", - "Interface Only", - "Invariant", "Lifecycle", - "Multiplicity", "On Error", "Persistency", "Postcondition", - "Precondition", - "Responsibilities", - "Return", "Summary", "Todos", "Version", - "Base Classes", "Exceptions", "Implements", "Keywords", "Parameters", - "See Also", "Template Parameters", - "", "Since " - }; - - - -Docu_Display::Docu_Display( OuputPage_Environment & io_rEnv ) - : HtmlDisplay_Impl(io_rEnv), - bUseHtmlInDocuTokens(false), - pCurClassOverwrite(0) -{ -} - -Docu_Display::~Docu_Display() -{ -} - -void -Docu_Display::Assign_Out( csi::xml::Element & o_rOut ) -{ - Easy().Enter(o_rOut); -} - -void -Docu_Display::Unassign_Out() -{ - Easy().Leave(); -} - -void -Docu_Display::do_Process( const ary::cpp::Namespace & i_rData ) -{ - Process(i_rData.Docu()); -} - -void -Docu_Display::do_Process( const ary::cpp::Class & i_rData ) -{ - pCurClassOverwrite = &i_rData; - Process(i_rData.Docu()); - pCurClassOverwrite = 0; -} - -void -Docu_Display::do_Process( const ary::cpp::Enum & i_rData ) -{ - Process(i_rData.Docu()); -} - -void -Docu_Display::do_Process( const ary::cpp::Typedef & i_rData ) -{ - Process(i_rData.Docu()); -} - -void -Docu_Display::do_Process( const ary::cpp::Function & i_rData ) -{ - Process(i_rData.Docu()); -} - -void -Docu_Display::do_Process( const ary::cpp::Variable & i_rData ) -{ - Process(i_rData.Docu()); -} - - - -// -------------- Interface ary::info::DocuDisplay ------------------ // - - -void -Docu_Display::do_Process(const ary::doc::Documentation & i_rData) -{ - if (i_rData.Data() == 0) - return; - - const ary::doc::OldCppDocu * - docdata = dynamic_cast< const ary::doc::OldCppDocu* >(i_rData.Data()); - csv_assert(docdata != 0); - - Start_DocuBlock(); - - if ( docdata->IsObsolete() ) - { - CurOut() - >> *new html::DefListTerm - >> *new html::Strong - << "D E P R E C A T E D"; - - } - - ary::doc::OldCppDocu::TagList::const_iterator - itEnd = docdata->Tags().end(); - for ( ary::doc::OldCppDocu::TagList::const_iterator it = docdata->Tags().begin(); - it != itEnd; - ++it ) - { - (*it)->StoreAt( *this ); - } - - Finish_DocuBlock(); -} - -void -Docu_Display::Display_StdTag( const StdTag & i_rData ) -{ - const ary::info::DocuText::TokenList & - rText = i_rData.CText().Tokens(); - typedef ary::info::DocuText::TokenList::const_iterator TokenIterator; - - if ( rText.empty() ) - return; - else if ( rText.size() < 3 ) - { - bool bIsWhite = true; - for ( TokenIterator it = rText.begin(); - it != rText.end(); - ++it ) - { - if (bIsWhite) - bIsWhite = (*it)->IsWhite(); - } - if (bIsWhite) - return; - } - - Write_TagTitle( C_sTagHeadlines[i_rData.Std_Id()] ); - Write_TagContents( i_rData.CText() ); -} - -void -Docu_Display::Display_BaseTag( const BaseTag & ) -{ -} - -void -Docu_Display::Display_ExceptionTag( const ExceptionTag & ) -{ -} - -void -Docu_Display::Display_ImplementsTag( const ImplementsTag & ) -{ -} - -void -Docu_Display::Display_KeywordTag( const KeywordTag & ) -{ -} - -void -Docu_Display::Display_ParameterTag( const ParameterTag & i_rData ) -{ - Write_TagTitle( "Parameters" ); - - adcdisp::ExplanationTable - aParams( CurOut() >> *new DefListDefinition ); - - for ( const ParameterTag * pParam = &i_rData; - pParam != 0; - pParam = pParam->GetNext() ) // KORR_FUTURE - { - aParams.AddEntry( pParam->ParamName().c_str() ); - - Easy().Enter( aParams.Def() ); - Write_Text( pParam->CText() ); - Easy().Leave(); - } // end for -} - -void -Docu_Display::Display_SeeTag( const SeeTag & i_rData ) -{ - Write_TagTitle( "See Also" ); - - DefListDefinition * dpDef = new DefListDefinition; - CurOut() << dpDef; - Easy().Enter(*dpDef); - - for ( std::vector< ary::QualifiedName >::const_iterator - it = i_rData.References().begin(); - it != i_rData.References().end(); - ++it ) - { - Write_LinkableText( (*it) ); - CurOut() << new html::LineBreak; - } - - Easy().Leave(); -} - -void -Docu_Display::Display_TemplateTag( const TemplateTag & i_rData ) -{ - Write_TagTitle( "Template Parameters" ); - - adcdisp::ExplanationTable - aTplParams( CurOut() >> *new DefListDefinition ); - - for ( const TemplateTag * pTplParam = &i_rData; - pTplParam != 0; - pTplParam = pTplParam->GetNext() ) - { - aTplParams.AddEntry( pTplParam->TplParamName().c_str() ); - - Easy().Enter( aTplParams.Def() ); - Write_Text( pTplParam->CText() ); - Easy().Leave(); - } // end for -} - -void -Docu_Display::Display_LabelTag( const LabelTag & ) -{ -} - -void -Docu_Display::Display_SinceTag( const ary::info::SinceTag & i_rData ) -{ - if ( i_rData.Version().empty() ) - { - return; - } - - // Transform the value of the @since tag into the text to be displayed. - String sDisplay; - if ( autodoc::CommandLine::Get_().DoesTransform_SinceTag() ) - { - sDisplay = autodoc::CommandLine::Get_() - .DisplayOf_SinceTagValue( i_rData.Version() ); - } - else - { - sDisplay = i_rData.Version(); - } - - if (sDisplay.empty()) - return; - - Write_TagTitle( "Since " ); - - DefListDefinition * dpDef = new DefListDefinition; - CurOut() << dpDef; - - Easy().Enter(*dpDef); - CurOut() << sDisplay; - Easy().Leave(); -} - -void -Docu_Display::Display_DT_Text( const DT_Text & i_rData ) -{ - Write_TextToken( i_rData.Text() ); -} - -void -Docu_Display::Display_DT_MaybeLink( const DT_MaybeLink & i_rData ) -{ - // KORR_FUTURE - Write_TextToken( i_rData.Text() ); -} - -void -Docu_Display::Display_DT_Whitespace( const DT_Whitespace & i_rData ) -{ - static char sSpace[300] = - " " - " " - " " - " " - " " - " "; - UINT8 nLength = i_rData.Length(); - sSpace[nLength] = NULCH; - CurOut() << sSpace; - sSpace[nLength] = ' '; -} - -void -Docu_Display::Display_DT_Eol( const DT_Eol & ) -{ - CurOut() << new html::Sbr; -} - -void -Docu_Display::Display_DT_Xml( const ary::info::DT_Xml & i_rData ) -{ - CurOut() << new xml::XmlCode( i_rData.Text() ); -} - -const ary::cpp::Gate * -Docu_Display::inq_Get_ReFinder() const -{ - return &Env().Gate(); -} - -void -Docu_Display::Start_DocuBlock() -{ - DYN DefList * dpDefList = new DefList; - CurOut() << dpDefList; - Easy().Enter( *dpDefList ); -} - -void -Docu_Display::Finish_DocuBlock() -{ - Easy().Leave(); -} - -void -Docu_Display::Write_TagTitle( const char * i_sText, - const char * ) -{ - if ( strcmp(i_sText,"ATTENTION!") == 0 ) - { - CurOut() - >> *new html::DefListTerm - << new html::ClassAttr("attention") - << i_sText; - } - else - { - CurOut() - >> *new html::DefListTerm - << i_sText; - } -} - -void -Docu_Display::Write_TagContents( const DocuText & i_rDocuText ) -{ - DefListDefinition * dpDef = new DefListDefinition; - CurOut() << dpDef; - - Easy().Enter(*dpDef); - Write_Text(i_rDocuText); - Easy().Leave(); -} - -void -Docu_Display::Write_Text( const ary::info::DocuText & i_rDocuText ) -{ - if ( i_rDocuText.IsNoHtml() ) - { - CurOut() - << new xml::XmlCode("<pre>"); - bUseHtmlInDocuTokens = false; - } - else - { - bUseHtmlInDocuTokens = true; - } - i_rDocuText.StoreAt( *this ); - if ( i_rDocuText.IsNoHtml() ) - { - CurOut() - << new xml::XmlCode("</pre>"); - } -} - -void -Docu_Display::Write_TextToken( const String & i_sText ) -{ - if ( bUseHtmlInDocuTokens ) - CurOut() << new xml::XmlCode(i_sText); - else - CurOut() << i_sText; -} - -void -Docu_Display::Write_LinkableText( const ary::QualifiedName & i_sQuName ) -{ - const ary::cpp::CodeEntity * - pCe = FindUnambiguousCe( Env(), i_sQuName, pCurClassOverwrite ); - if ( pCe != 0 ) - { - csi::xml::Element * - pLink = new csi::html::Link( Link2Ce(Env(), *pCe) ); - CurOut() << pLink; - Easy().Enter(*pLink); - Write_QualifiedName(i_sQuName); - Easy().Leave(); - } - else - { - Write_QualifiedName(i_sQuName); - } - CurOut() << " "; -} - -void -Docu_Display::Write_QualifiedName( const ary::QualifiedName & i_sQuName ) -{ - if ( i_sQuName.IsAbsolute() ) - CurOut() << "::"; - for ( ary::QualifiedName::namespace_iterator it = i_sQuName.first_namespace(); - it != i_sQuName.end_namespace(); - ++it ) - { - CurOut() << (*it) << "::"; - } - CurOut() << i_sQuName.LocalName(); - if ( i_sQuName.IsFunction() ) - CurOut() << "()"; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/hd_docu.hxx b/autodoc/source/display/html/hd_docu.hxx deleted file mode 100644 index 1eb00ae1c449..000000000000 --- a/autodoc/source/display/html/hd_docu.hxx +++ /dev/null @@ -1,199 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_HD_DOCU_HXX -#define ADC_DISPLAY_HTML_HD_DOCU_HXX - -// BASE CLASSES -#include <ary/ary_disp.hxx> -#include <ary/info/infodisp.hxx> -#include <cosv/tpl/processor.hxx> -#include "hdimpl.hxx" - -namespace ary -{ - namespace cpp - { - class Namespace; - class Class; - class Enum; - class Typedef; - class Function; - class Variable; - } - - namespace doc - { - class Documentation; - } - namespace info - { - class DocuText; - } - - class QualifiedName; -} - -class OuputPage_Environment; - - -class Docu_Display : public ary::Display, - public csv::ConstProcessor<ary::cpp::Namespace>, - public csv::ConstProcessor<ary::cpp::Class>, - public csv::ConstProcessor<ary::cpp::Enum>, - public csv::ConstProcessor<ary::cpp::Typedef>, - public csv::ConstProcessor<ary::cpp::Function>, - public csv::ConstProcessor<ary::cpp::Variable>, - public csv::ConstProcessor<ary::doc::Documentation>, - public ary::info::DocuDisplay, - private HtmlDisplay_Impl -{ - public: - Docu_Display( - OuputPage_Environment & - io_rEnv ); - virtual ~Docu_Display(); - - void Assign_Out( - csi::xml::Element & o_rOut ); - void Unassign_Out(); - - virtual void Display_StdTag( - const ary::info::StdTag & - i_rData ); - virtual void Display_BaseTag( - const ary::info::BaseTag & - i_rData ); - virtual void Display_ExceptionTag( - const ary::info::ExceptionTag & - i_rData ); - virtual void Display_ImplementsTag( - const ary::info::ImplementsTag & - i_rData ); - virtual void Display_KeywordTag( - const ary::info::KeywordTag & - i_rData ); - virtual void Display_ParameterTag( - const ary::info::ParameterTag & - i_rData ); - virtual void Display_SeeTag( - const ary::info::SeeTag & - i_rData ); - virtual void Display_TemplateTag( - const ary::info::TemplateTag & - i_rData ); - virtual void Display_LabelTag( - const ary::info::LabelTag & - i_rData ); - virtual void Display_SinceTag( - const ary::info::SinceTag & - i_rData ); - - virtual void Display_DT_Text( - const ary::info::DT_Text & - i_rData ); - virtual void Display_DT_MaybeLink( - const ary::info::DT_MaybeLink & - i_rData ); - virtual void Display_DT_Whitespace( - const ary::info::DT_Whitespace & - i_rData ); - virtual void Display_DT_Eol( - const ary::info::DT_Eol & - i_rData ); - virtual void Display_DT_Xml( - const ary::info::DT_Xml & - i_rData ); - - using csv::ConstProcessor<ary::doc::Documentation>::Process; - - private: - // Interface csv::ConstProcessor<>: - virtual void do_Process( - const ary::cpp::Namespace & - i_rData ); - virtual void do_Process( - const ary::cpp::Class & - i_rData ); - virtual void do_Process( - const ary::cpp::Enum & - i_rData ); - virtual void do_Process( - const ary::cpp::Typedef & - i_rData ); - virtual void do_Process( - const ary::cpp::Function & - i_rData ); - virtual void do_Process( - const ary::cpp::Variable & - i_rData ); - virtual void do_Process( - const ary::doc::Documentation & - i_rData ); - // Interface ary::Display: - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - // Locals - void Start_DocuBlock(); - void Finish_DocuBlock(); - - void Write_TagTitle( - const char * i_sText, - const char * i_nFontSize = "+0" ); - void Write_TagContents( - const ary::info::DocuText & - i_rDocuText ); - void Write_Text( - const ary::info::DocuText & - i_rDocuText ); - void Write_TextToken( - const String & i_sText ); - void Write_LinkableText( - const ary::QualifiedName & - i_sQuName ); - void Write_QualifiedName( - const ary::QualifiedName & - i_sQuName ); - - // DATA - bool bUseHtmlInDocuTokens; - - /** This is used, if a class documentation is displayed, - because for links to members then the "current class" - is not the parent, but this class itself. - */ - const ary::cpp::Class * - pCurClassOverwrite; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/hdimpl.cxx b/autodoc/source/display/html/hdimpl.cxx deleted file mode 100644 index c3d5bd84afbd..000000000000 --- a/autodoc/source/display/html/hdimpl.cxx +++ /dev/null @@ -1,548 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "hdimpl.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <stdlib.h> -#include <stdio.h> -#include <ary/ceslot.hxx> -#include <ary/qualiname.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_de.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <udm/html/htmlitem.hxx> -#include "cre_link.hxx" -#include "hd_docu.hxx" -#include "html_kit.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" -#include "strconst.hxx" - - -using namespace csi; - - -//******************** HtmlDisplay_Impl *********************// - -HtmlDisplay_Impl::~HtmlDisplay_Impl() -{ -} - -HtmlDisplay_Impl::HtmlDisplay_Impl( OuputPage_Environment & io_rEnv ) - : pEnv(&io_rEnv) - // aWriteHelper -{ -} - - -//******************** Free Functions *********************// - - - -namespace dshelp -{ - -void -DisplaySlot( ary::Display & o_rDisplay, - const ary::AryGroup & i_rGroup, - ary::SlotAccessId i_nSlot ) -{ - ary::Slot_AutoPtr pSlot( i_rGroup.Create_Slot(i_nSlot) ); - pSlot->StoreAt( o_rDisplay ); -} - - -const char * -PathUp( uintt i_nLevels ) -{ - static char sResult[300]; - - sResult[0] = NULCH; - for ( uintt lev = 0; lev < i_nLevels; ++lev ) - { - strcat( sResult, "../"); // SAFE STRCAT (#100211# - checked) - } - return sResult; -} - -const char * -PathPerLevelsUp( uintt i_nLevels, - const char * i_nPathBelowDestinationLevel ) -{ - static char sResult[500]; - strcpy( sResult, PathUp(i_nLevels) ); // SAFE STRCPY (#100211# - checked) - // KORR_FUTURE: Make it still safer here: - strcat( sResult, i_nPathBelowDestinationLevel ); // SAFE STRCAT (#100211# - checked) - return sResult; -} - - -const char * -PathPerRoot( const OuputPage_Environment & i_rEnv, - const char * i_sPathFromRootDir ) -{ - return PathPerLevelsUp( i_rEnv.Depth(), i_sPathFromRootDir ); -} - -const char * -PathPerNamespace( const OuputPage_Environment & i_rEnv, - const char * i_sPathFromNamespaceDir ) -{ - const ary::cpp::Namespace * pNsp = i_rEnv.CurNamespace(); - if ( pNsp == 0 ) - return ""; - - uintt nCount = i_rEnv.Depth() - (pNsp->Depth() + 1) ; - csv_assert( nCount < 100 ); - return PathPerLevelsUp( nCount, i_sPathFromNamespaceDir ); -} - -const char * -HtmlFileName( const char * i_sPrefix, - const char * i_sEntityName ) -{ - // KORR_FUTURE: Make it still safer here: - static char sResult[300]; - strcpy( sResult, i_sPrefix ); // SAFE STRCPY (#100211# - checked) - strcat( sResult, i_sEntityName ); // SAFE STRCAT (#100211# - checked) - strcat( sResult, ".html" ); // SAFE STRCAT (#100211# - checked) - return sResult; -} - -const char * -Path2Class( uintt i_nLevelsUp, - const char * i_sClassLocalName ) -{ - return PathPerLevelsUp( i_nLevelsUp, ClassFileName(i_sClassLocalName) ); -} - -const char * -Path2Child( const char * i_sFileName, - const char * i_sSubDir ) -{ - static char sResult[400]; - if ( i_sSubDir != 0 ) - { - // KORR_FUTURE: Make it still safer here: - strcpy( sResult, i_sSubDir ); // SAFE STRCPY (#100211# - checked) - strcat( sResult, "/" ); // SAFE STRCAT (#100211# - checked) - } - else - { - sResult[0] = NULCH; - } - - strcat( sResult, i_sFileName ); // SAFE STRCAT (#100211# - checked) - return sResult; -} - -const char * -Path2ChildNamespace( const char * i_sLocalName ) -{ - return Path2Child( C_sHFN_Namespace, i_sLocalName ); -} - -String -OperationLink( const ary::cpp::Gate & , - const String & i_sOpName, - ary::cpp::Ce_id i_nOpId, - const char * i_sPrePath ) -{ - StreamLock - slResult(3000); - StreamStr & - sResult = slResult(); - - sResult - << i_sPrePath - << "#" - << i_sOpName - << "-" - << i_nOpId.Value(); - - - - return sResult.c_str(); -} - -const char * -DataLink( const String & i_sLocalName, - const char * i_sPrePath ) -{ - StreamLock - slResult(3000); - StreamStr & - sResult = slResult(); - - sResult - << i_sPrePath - << "#" - << i_sLocalName; - - return sResult.c_str(); -} - -void -Get_LinkedTypeText( csi::xml::Element & o_rOut, - const OuputPage_Environment & i_rEnv, - ary::cpp::Type_id i_nId, - bool i_bWithAbsolutifier ) -{ - if (NOT i_nId.IsValid()) - return; - - const char * sPreName = ""; - const char * sName = ""; - const char * sPostName = ""; - - if ( NOT Get_TypeText( sPreName, - sName, - sPostName, - i_nId, - i_rEnv.Gate() ) ) - return; - - if ( NOT i_bWithAbsolutifier AND strncmp(sPreName,"::",2) == 0 ) - sPreName+=2; - - const ary::cpp::CodeEntity * - pCe = i_rEnv.Gate().Search_RelatedCe(i_nId); - - String sLink; - if ( pCe != 0 ) - { - sLink = Link2Ce(i_rEnv,*pCe); - } - else - { - if ( strstr(sPreName,"com::sun::star") != 0 ) - { - static StreamStr aLink(400); - aLink.seekp(0); - aLink << PathPerRoot(i_rEnv, "../../common/ref"); - if ( *sPreName != ':' ) - aLink << '/'; - for ( const char * s = sPreName; - *s != 0; - ++s ) - { - if ( *s == ':' ) - { - aLink << '/'; - ++s; - } - else - { - aLink << *s; - } - } // end for - aLink << sName - << ".html"; - sLink = aLink.c_str(); - } - } // endif( pCe != 0 ) - - o_rOut - << sPreName; - csi::xml::Element & - o_Goon = sLink.length() > 0 - ? o_rOut >> * new html::Link( sLink.c_str() ) - : o_rOut; - o_Goon - << sName; - o_rOut - << sPostName; -} - -void -Create_ChildListLabel( csi::xml::Element & o_rParentElement, - const char * i_sLabel ) -{ - if ( NOT csv::no_str(i_sLabel) ) - { - o_rParentElement - >> *new html::Label(i_sLabel) - << " "; - } -} - -DYN csi::html::Table & -Create_ChildListTable( const char * i_sTitle ) -{ - html::Table * - dpTable = new html::Table; - *dpTable - << new html::ClassAttr( "childlist") - << new xml::AnAttribute( "border", "1" ) - << new xml::AnAttribute( "cellpadding", "5" ) - << new xml::AnAttribute( "cellspacing", "0" ) - << new html::WidthAttr( "100%" ); - - html::TableRow & - rRow = dpTable->AddRow(); - rRow - << new html::ClassAttr("subtitle") - >> *new html::TableCell - << new xml::AnAttribute( "colspan","2" ) - >> *new html::Headline(4) - << i_sTitle; - return *dpTable; -} - -const char * -Link2Ce( const OuputPage_Environment & i_rEnv, - const ary::cpp::CodeEntity & i_rCe ) -{ - const uintt nMaxSize - = 3000; - static char sLink[nMaxSize]; - static LinkCreator aLinkCreator( &sLink[0], nMaxSize ); - sLink[0] = NULCH; - - aLinkCreator.SetEnv(i_rEnv); - i_rCe.Accept(aLinkCreator); - - return sLink; -} - -const char * -Link2CppDefinition( const OuputPage_Environment & i_rEnv, - const ary::cpp::DefineEntity & i_rDef ) -{ - const uintt nMaxSize - = 1000; - static char sLink[nMaxSize]; - static LinkCreator aLinkCreator( &sLink[0], nMaxSize ); - sLink[0] = NULCH; - - aLinkCreator.SetEnv(i_rEnv); - i_rDef.Accept(aLinkCreator); - - return sLink; -} - -const ary::cpp::CodeEntity * -FindUnambiguousCe( const OuputPage_Environment & i_rEnv, - const ary::QualifiedName & i_rQuName, - const ary::cpp::Class * i_pJustDocumentedClass ) -{ - if ( i_rEnv.CurNamespace() == 0 ) - return 0; - - const ary::cpp::CodeEntity * ret = 0; - - if ( NOT i_rQuName.IsQualified() ) - { - if ( i_pJustDocumentedClass != 0 ) - ret = i_rEnv.Gate().Ces().Search_CeLocal( i_rQuName.LocalName(), - i_rQuName.IsFunction(), - *i_rEnv.CurNamespace(), - i_pJustDocumentedClass ); - if (ret != 0) - return ret; - - ret = i_rEnv.Gate().Ces().Search_CeLocal( i_rQuName.LocalName(), - i_rQuName.IsFunction(), - *i_rEnv.CurNamespace(), - i_rEnv.CurClass() ); - } - if (ret != 0) - return ret; - - return i_rEnv.Gate().Ces().Search_CeAbsolute( *i_rEnv.CurNamespace(), - i_rQuName ); -} - -void -ShowDocu_On( csi::xml::Element & o_rOut, - Docu_Display & io_rDisplay, - const ary::cpp::CppEntity & i_rRE ) -{ - if (i_rRE.Docu().Data() != 0) - { - io_rDisplay.Assign_Out( o_rOut ); - io_rDisplay.Process(i_rRE.Docu()); - io_rDisplay.Unassign_Out(); - } -} - -void -WriteOut_TokenList( csi::xml::Element & o_rOut, - const StringVector & i_rTokens, - const char * i_sSeparator ) -{ - if ( i_rTokens.size() > 0 ) - { - StringVector::const_iterator - it = i_rTokens.begin(); - StringVector::const_iterator - itEnd = i_rTokens.end(); - - o_rOut << *it; - for ( ++it; it != itEnd; ++it ) - { - o_rOut << i_sSeparator << *it; - } - }; - -} - -void -EraseLeadingSpace( String & io_rStr ) -{ - if ( *io_rStr.c_str() < 33 AND io_rStr.length() > 0 ) - { - const unsigned char * pNew; - for ( pNew = (const unsigned char * ) io_rStr.c_str(); - *pNew < 33 AND *pNew != 0; - ++pNew ) {} - String sNew( (const char*)pNew ); - io_rStr = sNew; - } -} - -void -WriteOut_LinkedFunctionText( csi::xml::Element & o_rTitleOut, - adcdisp::ParameterTable & o_rParameters, - const ary::cpp::Function & i_rFunction, - const OuputPage_Environment & i_rEnv, - bool * o_bIsConst, - bool * o_bIsVirtual ) -{ - // write pre-name: - const ary::cpp::FunctionFlags & rFlags = i_rFunction.Flags(); - if ( rFlags.IsStaticLocal() OR rFlags.IsStaticMember() ) - o_rTitleOut << "static "; - if ( rFlags.IsExplicit() ) - o_rTitleOut << "explicit "; - if ( rFlags.IsMutable() ) - o_rTitleOut << "mutable "; - if ( i_rFunction.Virtuality() != ary::cpp::VIRTUAL_none ) - o_rTitleOut << "virtual "; -// o_rTitleOut << new html::LineBreak; - - Get_LinkedTypeText( o_rTitleOut, i_rEnv, i_rFunction.ReturnType() ); - - // write name: - o_rTitleOut - << " " - >> *new html::Strong - << i_rFunction.LocalName(); - o_rTitleOut - << "("; - - - csi::xml::Element * pOutLast = &o_rTitleOut; - - // write post-name: - FunctionParam_Iterator fit; - fit.Assign(i_rFunction); - - if (fit) - { - o_rParameters.AddEntry(); - Get_LinkedTypeText( o_rParameters.Type(), i_rEnv, fit.CurType() ); - o_rParameters.Type() << " "; - o_rParameters.Name() << " " << fit.CurName(); - - for ( ++fit; fit; ++fit ) - { - o_rParameters.Name() << ","; - o_rParameters.AddEntry(); - Get_LinkedTypeText( o_rParameters.Type(), i_rEnv, fit.CurType() ); - o_rParameters.Name() << fit.CurName(); - } - - pOutLast = &o_rParameters.Name(); - o_rParameters.Name() << " "; - } - - *pOutLast << ")"; - if ( fit.IsFunctionConst() ) - { - *pOutLast << " const"; - if ( o_bIsConst != 0 ) - *o_bIsConst = true; - } - if ( fit.IsFunctionVolatile() ) - { - *pOutLast << " volatile"; - if ( o_bIsVirtual != 0 ) - *o_bIsVirtual = true; - } - - // write Exceptions: - const std::vector< ary::cpp::Type_id > * - pThrow = i_rFunction.Exceptions(); - if ( pThrow) - { - std::vector< ary::cpp::Type_id >::const_iterator - it = pThrow->begin(); - std::vector< ary::cpp::Type_id >::const_iterator - it_end = pThrow->end(); - - if (it != it_end) - { - o_rParameters.AddEntry(); - pOutLast = &o_rParameters.Name(); - - o_rParameters.Name() << " throw( "; - Get_LinkedTypeText(o_rParameters.Name(), i_rEnv, *it); - - for ( ++it; it != it_end; ++it ) - { - o_rParameters.Name() << ", "; - Get_LinkedTypeText(o_rParameters.Name(), i_rEnv, *it); - } - o_rParameters.Name() << " )"; - } - else - { - *pOutLast << " throw()"; - } - } // endif // pThrow - - // abstractness: - if ( i_rFunction.Virtuality() == ary::cpp::VIRTUAL_abstract ) - *pOutLast << " = 0"; - - // finish: - *pOutLast << ";"; -} - - - -} // namespace dshelp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/hdimpl.hxx b/autodoc/source/display/html/hdimpl.hxx deleted file mode 100644 index 6caf652d499f..000000000000 --- a/autodoc/source/display/html/hdimpl.hxx +++ /dev/null @@ -1,250 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HDIMPL_HXX -#define ADC_DISPLAY_HDIMPL_HXX - -// BASE CLASSES -#include <udm/html/htmlitem.hxx> -// USED SERVICES -#include "easywri.hxx" -#include <cosv/bstream.hxx> -#include <ary/ary_disp.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_ce.hxx> -#include "aryattrs.hxx" // For compatibility with earlier times, when those funtions were in this header. - - -namespace ary -{ - namespace cpp - { - class CodeEntity; - class Class; - class DisplayGate; - class Function; - class DefineEntity; - class OperationSignature; - } - - class QualifiedName; -} -namespace csi -{ - namespace xml - { - class Element; - } - namespace html - { - class Table; - } -} - -namespace adcdisp -{ - class ParameterTable; -} - -class OuputPage_Environment; -class Docu_Display; - -class HtmlDisplay_Impl -{ - public: - ~HtmlDisplay_Impl(); - - const OuputPage_Environment & - Env() const { return *pEnv; } - - // ACCESS - OuputPage_Environment & - Env() { return *pEnv; } - EasyWriter & Easy() { return aWriteHelper; } - csi::xml::Element & CurOut() { return aWriteHelper.Out(); } - - protected: - HtmlDisplay_Impl( - OuputPage_Environment & - io_rEnv ); - private: - // DATA - OuputPage_Environment * - pEnv; - EasyWriter aWriteHelper; -}; - - -namespace dshelp -{ - -void DisplaySlot( - ary::Display & o_rDisplay, - const ary::AryGroup & - i_rGroup, - ary::SlotAccessId i_nSlot ); - - -const char * PathUp( - uintt i_nLevels ); -const char * PathPerLevelsUp( - uintt i_nLevels, - const char * i_nPathBelowDestinationLevel ); - -const char * PathPerRoot( - const OuputPage_Environment & - i_rEnv, - const char * i_sPathFromRootDir ); -const char * PathPerNamespace( - const OuputPage_Environment & - i_rEnv, - const char * i_sPathFromNamespaceDir ); - -void Create_ChildListLabel( - csi::xml::Element & o_rParentElement, - const char * i_sLabel ); -DYN csi::html::Table & - Create_ChildListTable( - const char * i_sTitle ); - -const char * HtmlFileName( - const char * i_sPrefix, - const char * i_sEntityName ); - -inline const char * -ClassFileName( const char * i_sClassLocalName ) - { return HtmlFileName( "c-", i_sClassLocalName); } -inline const char * -EnumFileName( const char * i_sEnumLocalName ) - { return HtmlFileName( "e-", i_sEnumLocalName); } -inline const char * -TypedefFileName( const char * i_sTypedefLocalName ) - { return HtmlFileName( "t-", i_sTypedefLocalName); } -inline const char * -FileFileName( const char * i_sFileLocalName ) - { return HtmlFileName( "f-", i_sFileLocalName); } - -const char * Path2Class( - uintt i_nLevelsUp, - const char * i_sClassLocalName ); - -const char * Path2Child( - const char * i_sFileName, - const char * i_sSubDir = 0 ); - -const char * Path2ChildNamespace( - const char * i_sLocalName ); - -String OperationLink( - const ary::cpp::Gate & i_gate, - const String & i_sOpName, - ary::cpp::Ce_id i_nOpId, - const char * i_sPrePath = "" ); -const char * DataLink( - const String & i_sLocalName, - const char * i_sPrePath = "" ); - -inline String -OperationLabel( const String & i_sOpName, - ary::cpp::Ce_id i_nOpId, - const ary::cpp::Gate & i_gate ) - { return String(OperationLink(i_gate, i_sOpName, i_nOpId) + 1); } // Skip '#' in front. -inline const char * -DataLabel( const String & i_sLocalName ) - { return DataLink(i_sLocalName) + 1; } // Skip '#' in front. - - -void Get_LinkedTypeText( - csi::xml::Element & o_rOut, - const OuputPage_Environment & - i_rEnv, - ary::cpp::Type_id i_nId, - bool i_bWithAbsolutifier = true ); - - -const char * Link2Ce( - const OuputPage_Environment & - i_rEnv, - const ary::cpp::CodeEntity & - i_rCe ); - -const char * Link2CppDefinition( - const OuputPage_Environment & - i_rEnv, - const ary::cpp::DefineEntity & - i_rDef ); - -const ary::cpp::CodeEntity * - FindUnambiguousCe( - const OuputPage_Environment & - i_rEnv, - const ary::QualifiedName & - i_rQuName, - const ary::cpp::Class * i_pJustDocumentedClass ); - -void ShowDocu_On( - csi::xml::Element & o_rOut, - Docu_Display & io_rDisplay, - const ary::cpp::CppEntity & - i_rRE ); - -void WriteOut_TokenList( - csi::xml::Element & o_rOut, - const StringVector & i_rTokens, - const char * i_sSeparator ); - -void EraseLeadingSpace( - String & io_rStr ); - -/** @param o_bIsConst - *o_bIsConst will be set to true, if o_bIsConst != 0 and function is const. - If the function is not const, *o_bIsConst remains unchanged! - - @param o_bIsVirtual - The same as o_bIsConst. -*/ -void WriteOut_LinkedFunctionText( - csi::xml::Element & o_rTitleOut, - adcdisp::ParameterTable & - o_rParameters, - const ary::cpp::Function & - i_rFunction, - const OuputPage_Environment & - i_rEnv, - bool * o_bIsConst = 0, - bool * o_bIsVirtual = 0 ); - - - -} // namespace dshelp - -using namespace dshelp; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/html_kit.cxx b/autodoc/source/display/html/html_kit.cxx deleted file mode 100644 index 32ab5252a00c..000000000000 --- a/autodoc/source/display/html/html_kit.cxx +++ /dev/null @@ -1,307 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "html_kit.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <stdio.h> -#include <ary/cpp/c_slntry.hxx> -#include "hdimpl.hxx" - - -namespace adcdisp -{ - - -using namespace csi::xml; -using namespace csi::html; - - -void -PageTitle_Left::operator()( XmlElement & o_rOwner, - const char * i_sTypeTitle, - const String & i_sLocalName ) -{ - o_rOwner - >> *new Headline(2) - << i_sTypeTitle - << " " - << i_sLocalName; -} - -void -PageTitle_Std::operator()( XmlElement & o_rOwner, - const char * i_sTypeTitle, - const String & i_sLocalName ) -{ - o_rOwner - >> *new AnElement("div") - << new ClassAttr("title") - >> *new Headline(2) - << i_sTypeTitle - << " " - << i_sLocalName; -} - -XmlElement & -PageTitle_Std::operator()( XmlElement & o_rOwner ) -{ - XmlElement & ret = - o_rOwner - >> *new AnElement("div") - << new ClassAttr("title") - >> *new Headline(2); - return ret; -} - -void -OperationTitle::operator()( XmlElement & o_owner, - const char * i_itemName, - ary::cpp::Ce_id i_id, - const ::ary::cpp::Gate & i_gate ) -{ - o_owner - >> *new Label( OperationLabel(i_itemName, i_id, i_gate) ) - << " "; - o_owner - << i_itemName; -} - - -void -TemplateClause::operator()( XmlElement & o_rOwner, - const List_TplParams & i_rTplParams ) -{ - if ( i_rTplParams.size() == 0 ) - return; - - Element & rOut = - o_rOwner - << new LineBreak - >> *new Paragraph - >> *new Strong - << "template< "; - - List_TplParams::const_iterator - it = i_rTplParams.begin(); - List_TplParams::const_iterator - itEnd = i_rTplParams.end(); - - rOut - << (*it).Name(); - for ( ++it; it != itEnd; ++it ) - { - rOut - << ", " - << (*it).Name(); - } // end for - rOut << " >"; -} - -ExplanationList::ExplanationList( XmlElement & o_rOwner, - bool i_bMemberStyle ) - : pList( new DefList), - pTerm(0), - pDefinition(0), - bMemberStyle(i_bMemberStyle) -{ - if (bMemberStyle) - *pList << new ClassAttr("member"); - - o_rOwner << pList; -} - -void -ExplanationList::AddEntry( const char * i_sTerm, - const char * i_sDifferentClass ) -{ - DefListTerm & rNewTerm = pList->AddTerm(); - if ( i_sDifferentClass != 0 ) - { - rNewTerm << new ClassAttr(i_sDifferentClass); - } - else if (bMemberStyle) - { - rNewTerm << new ClassAttr("member"); - } - if ( i_sTerm != 0 ) - rNewTerm << i_sTerm; - - pTerm = &rNewTerm; - pDefinition = &pList->AddDefinition(); - if (bMemberStyle) - *pDefinition << new ClassAttr("member"); -} - -void -ExplanationList::AddEntry_NoTerm() -{ - pTerm = 0; - pDefinition = &pList->AddDefinition(); - if (bMemberStyle) - *pDefinition << new ClassAttr("member"); -} - -ExplanationTable::ExplanationTable( XmlElement & o_rOwner ) - : pTable(0), - pTerm(0), - pDefinition(0) -{ - pTable = new Table("0", "100%", "3", "0"); - *pTable << new AnAttribute("class", "expl-table"); - o_rOwner << pTable; -} - -void -ExplanationTable::AddEntry( const char * i_sTerm, - const char * i_sDifferentStyle ) -{ - TableRow & - rNewRow = pTable->AddRow(); - TableCell & - rNewTerm = rNewRow.AddCell(); - TableCell & - rNewDefinition = rNewRow.AddCell(); - - if ( i_sDifferentStyle == 0 ) - { - rNewTerm << new WidthAttr("15%") - << new StyleAttr("vertical-align:top; font-weight:bold"); - } - else - { - rNewTerm << new StyleAttr(i_sDifferentStyle); - } - if ( i_sTerm != 0 ) - rNewTerm << i_sTerm; - - pTerm = &rNewTerm; - pDefinition = & (rNewDefinition >> *new APureElement("pre")); -} - -ParameterTable::ParameterTable( XmlElement & o_rOwner ) - : pTable(0), - pTerm(0), - pDefinition(0) -{ - pTable = new Table; - *pTable << new AnAttribute("class", "param-table"); - o_rOwner << pTable; -} - -void -ParameterTable::AddEntry() -{ - TableRow & - rNewRow = pTable->AddRow(); - TableCell & - rNewTerm = rNewRow.AddCell(); - TableCell & - rNewDefinition = rNewRow.AddCell(); - - pTerm = &rNewTerm; - pDefinition = &rNewDefinition; -} - -FlagTable::FlagTable( XmlElement & o_rOwner, - uintt i_nNrOfColumns ) -{ - pTable = new Table; - *pTable << new AnAttribute("class", "flag-table"); - *pTable << new AnAttribute("border", "1"); - *pTable << new AnAttribute("cellspacing", "0"); - o_rOwner << pTable; - - TableRow & rRow1 = pTable->AddRow(); - TableRow & rRow2 = pTable->AddRow(); - - for ( uintt c = 0; c < i_nNrOfColumns; ++c ) - { - TableCell & rCell1 = rRow1.AddCell(); - int nWidth = 100 / i_nNrOfColumns; - static char sWidth[20]; - sprintf( sWidth, "%d%%", nWidth ); // SAFE SPRINTF (#100211# - checked) - - rCell1 - << new WidthAttr( sWidth ) - << new ClassAttr( "flagname" ); - TableCell & rCell2 = rRow2.AddCell(); - aCells.push_back( CellPair(&rCell1, &rCell2) ); - } // end for -} - -void -FlagTable::SetColumn( uintt i_nColumnPosition, - const char * i_sColumnName, - bool i_bValue ) -{ - csv_assert( i_nColumnPosition < aCells.size() ); - - TableCell & - rCell1 = *aCells[i_nColumnPosition].first; - TableCell & - rCell2 = *aCells[i_nColumnPosition].second; - rCell1 - << i_sColumnName; - if (i_bValue) - { - rCell2 - << new ClassAttr("flagyes") - << "YES"; - } - else // - { - rCell2 - << new ClassAttr("flagno") - << "NO"; - } // endif -} - -IndexList::IndexList( XmlElement & o_rOwner ) - : pList( new DefList ), - pTerm(0), - pDefinition(0) -{ - o_rOwner << pList; -} - -void -IndexList::AddEntry() -{ - pTerm = &pList->AddTerm(); - pDefinition = &pList->AddDefinition(); -} - - -} // namespace adcdisp - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/html_kit.hxx b/autodoc/source/display/html/html_kit.hxx deleted file mode 100644 index 35aba2887cdb..000000000000 --- a/autodoc/source/display/html/html_kit.hxx +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_KIT_HXX -#define ADC_DISPLAY_HTML_KIT_HXX - -// BASE CLASSES -#include <udm/xml/xmlitem.hxx> -#include <udm/html/htmlitem.hxx> -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ - namespace cpp - { - struct S_TplParam; - class OperationSignature; - class Gate; - } -} - - - - -namespace adcdisp -{ - -typedef csi::xml::Element XmlElement; - -class PageTitle_Left -{ - public: - void operator()( - XmlElement & o_rOwner, - const char * i_sTypeTitle, - const String & i_sLocalName ); -}; - -class PageTitle_Std -{ - public: - void operator()( - XmlElement & o_rOwner, - const char * i_sTypeTitle, - const String & i_sLocalName ); - XmlElement & operator()( - XmlElement & o_rOwner ); -}; - -class OperationTitle -{ - public: - void operator()( - XmlElement & o_rOwner, - const char * i_sItemName, - ary::cpp::Ce_id i_nId, - const ::ary::cpp::Gate & - i_gate ); -}; - - -class TemplateClause -{ - public: - typedef std::vector< ary::cpp::S_TplParam> List_TplParams; - - void operator()( - XmlElement & o_rOwner, - const List_TplParams & - i_rTplParams ); -}; - - -class ExplanationList -{ - public: - ExplanationList( - XmlElement & o_rOwner, - bool i_bMemberStyle = false ); - - void AddEntry( - const char * i_sTerm = 0, - const char * i_sDifferentClass = 0 ); - void AddEntry_NoTerm(); - - XmlElement & Term() { return *pTerm; } - XmlElement & Def() { return *pDefinition; } - - private: - csi::html::DefList* pList; - XmlElement * pTerm; - XmlElement * pDefinition; - bool bMemberStyle; -}; - -class ExplanationTable -{ - public: - ExplanationTable( - XmlElement & o_rOwner ); - - void AddEntry( - const char * i_sTerm = 0, - const char * i_sDifferentStyle = 0 ); - - XmlElement & Term() { return *pTerm; } - XmlElement & Def() { return *pDefinition; } - - private: - csi::html::Table* pTable; - XmlElement * pTerm; - XmlElement * pDefinition; -}; - -class ParameterTable -{ - public: - ParameterTable( - XmlElement & o_rOwner ); - - void AddEntry(); - - XmlElement & Type() { return *pTerm; } - XmlElement & Name() { return *pDefinition; } - - private: - csi::html::Table* pTable; - XmlElement * pTerm; - XmlElement * pDefinition; -}; - -class FlagTable -{ - public: - FlagTable( - XmlElement & o_rOwner, - uintt i_nNrOfColumns ); - - void SetColumn( - uintt i_nColumnPosition, /// Starting with 0. - const char * i_sColumnName, - bool i_bValue ); /// "YES" or "NO" - private: - typedef std::pair< csi::html::TableCell*, csi::html::TableCell* > CellPair; - - // DATA - csi::html::Table* pTable; - std::vector<CellPair> - aCells; -}; - -class IndexList -{ - public: - IndexList( - XmlElement & o_rOwner ); - - void AddEntry(); - - XmlElement & Term() { return *pTerm; } - XmlElement & Def() { return *pDefinition; } - - private: - csi::html::DefList* pList; - XmlElement * pTerm; - XmlElement * pDefinition; -}; - - - - -} // namespace adcdisp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/makefile.mk b/autodoc/source/display/html/makefile.mk index 58046760ebd7..087a5345f44e 100644 --- a/autodoc/source/display/html/makefile.mk +++ b/autodoc/source/display/html/makefile.mk @@ -43,31 +43,7 @@ PRJINC=$(PRJ)$/source # --- Files -------------------------------------------------------- OBJFILES= \ - $(OBJ)$/aryattrs.obj \ $(OBJ)$/cfrstd.obj \ - $(OBJ)$/chd_udk2.obj \ - $(OBJ)$/cre_link.obj \ - $(OBJ)$/dsply_cl.obj \ - $(OBJ)$/dsply_da.obj \ - $(OBJ)$/dsply_op.obj \ - $(OBJ)$/easywri.obj \ - $(OBJ)$/hd_chlst.obj \ - $(OBJ)$/hd_docu.obj \ - $(OBJ)$/hdimpl.obj \ - $(OBJ)$/html_kit.obj \ - $(OBJ)$/nav_main.obj \ - $(OBJ)$/navibar.obj \ - $(OBJ)$/outfile.obj \ - $(OBJ)$/opageenv.obj \ - $(OBJ)$/pagemake.obj \ - $(OBJ)$/pm_aldef.obj \ - $(OBJ)$/pm_base.obj \ - $(OBJ)$/pm_class.obj \ - $(OBJ)$/pm_help.obj \ - $(OBJ)$/pm_index.obj \ - $(OBJ)$/pm_namsp.obj \ - $(OBJ)$/pm_start.obj \ - $(OBJ)$/protarea.obj # --- Targets ------------------------------------------------------ diff --git a/autodoc/source/display/html/nav_main.cxx b/autodoc/source/display/html/nav_main.cxx deleted file mode 100644 index 781636fc9844..000000000000 --- a/autodoc/source/display/html/nav_main.cxx +++ /dev/null @@ -1,379 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "nav_main.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_ce.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/loc/loc_file.hxx> -#include <udm/html/htmlitem.hxx> -#include "hdimpl.hxx" -#include "opageenv.hxx" -#include "strconst.hxx" - - -using namespace ::csi::html; -using namespace ::csi::xml; - - -const String sOverview("Overview"); -const String sNamespace("Namespace"); -const String sClass("Class"); -const String sTree("Tree"); -const String sProject("Project"); -const String sFile("File"); -const String sIndex("Index"); -const String sHelp("Help"); - - - -//******************** MainItem and derived ones ***************// -class MainItem -{ - public: - virtual ~MainItem() {} - void Write2( - TableRow & o_rOut ); - private: - virtual void do_Write2( - TableRow & o_rOut ) = 0; -}; - -inline void -MainItem::Write2( TableRow & o_rOut ) - { do_Write2(o_rOut); } - - -namespace -{ - -class MainRowItem : public MainItem -{ - public: - MainRowItem( - const String & i_sText, - const char * i_sLink, - const char * i_sTip ); - ~MainRowItem(); - private: - enum E_Style { eSelf, eNo, eStd }; - - virtual void do_Write2( - TableRow & o_rOut ); - String sText; - String sLink; - String sTip; -}; - -MainRowItem::MainRowItem( const String & i_sText, - const char * i_sLink, - const char * i_sTip ) - : sText(i_sText), - sLink(i_sLink), - sTip(i_sTip) -{ -} - -MainRowItem::~MainRowItem() -{ -} - -void -MainRowItem::do_Write2( TableRow & o_rOut ) -{ - TableCell & rCell = o_rOut.AddCell(); - - rCell - << new ClassAttr( "navimain" ) - << new XmlCode(" ") - >> *new Link(sLink.c_str()) - << sText.c_str(); - rCell - << new XmlCode(" "); -} - - -class SelectedItem : public MainItem -{ - public: - SelectedItem( - const String & i_sText ) - : sText(i_sText) {} - private: - virtual void do_Write2( - TableRow & o_rOut ); - String sText; -}; - -void -SelectedItem::do_Write2( TableRow & o_rOut ) -{ - TableCell & rCell = o_rOut.AddCell(); - - rCell - << new ClassAttr( "navimainself" ) - << new XmlCode(" ") - << sText.c_str() - << new XmlCode(" "); -} - -class UnavailableItem : public MainItem -{ - public: - UnavailableItem( - const String & i_sText ) - : sText(i_sText) {} - private: - virtual void do_Write2( - TableRow & o_rOut ); - String sText; -}; - -void -UnavailableItem::do_Write2( TableRow & o_rOut ) -{ - TableCell & rCell = o_rOut.AddCell(); - - rCell - << new ClassAttr( "navimainnone" ) - << new XmlCode(" ") - << sText.c_str() - << new XmlCode(" "); -} - -} // anonymous namespace - -//************************ MainRow ***************************// - -MainRow::MainRow( const OuputPage_Environment & i_rEnv ) - : // aItems, - pEnv(&i_rEnv) -{ -} - -MainRow::~MainRow() -{ - csv::erase_container_of_heap_ptrs(aItems); -} - -void -MainRow::SetupItems_Overview() -{ - Create_ItemList_Global( eSelf, eStd, eStd ); -} - -void -MainRow::SetupItems_AllDefs() -{ - Create_ItemList_Global( eStd, eStd, eStd ); -} - -void -MainRow::SetupItems_Index() -{ - Create_ItemList_Global( eStd, eSelf, eStd ); -} - -void -MainRow::SetupItems_Help() -{ - Create_ItemList_Global( eStd, eStd, eSelf ); -} - -void -MainRow::SetupItems_Ce( const ary::cpp::CodeEntity & i_rCe ) -{ - csv_assert( pEnv->CurNamespace() != 0 ); - bool bIsNamespace = i_rCe.Id() == pEnv->CurNamespace()->Id(); - bool bHasClass = pEnv->CurClass() != 0; - bool bIsClass = dynamic_cast< const ary::cpp::Class * >(&i_rCe) != 0; - - Create_ItemList_InDirTree_Cpp( - ( bIsNamespace ? eSelf : eStd ), - ( bIsClass ? eSelf : bHasClass ? eStd : eNo ), - eNo, 0 ); -} - -void -MainRow::SetupItems_FunctionGroup() -{ - Create_ItemList_InDirTree_Cpp( - eStd, - (pEnv->CurClass() != 0 ? eStd : eNo), - eNo, 0 ); -} - -void -MainRow::SetupItems_DataGroup() -{ - SetupItems_FunctionGroup(); -} - -void -MainRow::Write2( csi::xml::Element & o_rOut ) const -{ - Table * pTable = new Table; - o_rOut - >> *pTable - << new AnAttribute( "class", "navimain" ) - << new AnAttribute( "border", "0" ) - << new AnAttribute( "cellpadding", "1" ) - << new AnAttribute( "cellspacing", "0" ); - TableRow & rRow = pTable->AddRow(); - rRow - << new AnAttribute( "align", "center" ) - << new AnAttribute( "valign", "top" ); - for ( ItemList::const_iterator it = aItems.begin(); - it != aItems.end(); - ++it ) - { - (*it)->Write2( rRow ); - } -} - -void -MainRow::Create_ItemList_Global( E_Style i_eOverview, - E_Style i_eIndex, - E_Style i_eHelp ) -{ - if ( i_eOverview == eStd ) - { - String sLinkOverview = ( i_eIndex == eSelf - ? dshelp::PathPerLevelsUp( - 1, - C_sHFN_Overview ) - : C_sHFN_Overview ); - Add_Item( i_eOverview, sOverview, sLinkOverview.c_str(), "" ); - } - else - { - Add_Item( i_eOverview, sOverview, "", "" ); - } - - if ( i_eIndex == eSelf ) - Add_Item( eStd, sNamespace, "../names/index.html", "" ); - else - Add_Item( eStd, sNamespace, "names/index.html", "" ); - - Add_Item( eNo, sClass, "", "" ); - - if ( i_eIndex == eStd ) - { - Add_Item( i_eIndex, sIndex, C_sPath_Index, "" ); - } - else - { - Add_Item( i_eIndex, sIndex, "", "" ); - } - - if ( i_eHelp == eStd ) - { - String sLinkHelp = ( i_eIndex == eSelf - ? PathPerLevelsUp(1,C_sHFN_Help) - : C_sHFN_Help ); - Add_Item( i_eHelp, sHelp, sLinkHelp.c_str(), "" ); - } - else - { - Add_Item( i_eHelp, sHelp, "", "" ); - } -} - -void -MainRow::Create_ItemList_InDirTree_Cpp( E_Style i_eNsp, - E_Style i_eClass, - E_Style , - const char * ) -{ - String - sLinkOverview = PathPerRoot(*pEnv, C_sHFN_Overview); - Add_Item( eStd, sOverview, sLinkOverview.c_str(), "" ); - - if (i_eNsp == eStd) - { - String sLinkNamespace = PathPerNamespace(*pEnv, "index.html"); - Add_Item( i_eNsp, sNamespace, sLinkNamespace.c_str(), "" ); - } - else - { - Add_Item( i_eNsp, sNamespace, "", "" ); - } - - if (i_eClass == eStd) - { - csv_assert( pEnv->CurClass() != 0 ); - - StreamLock sLinkClass(300); - sLinkClass() << PathPerNamespace(*pEnv, "c-") - << pEnv->CurClass()->LocalName() - << ".html"; - StreamLock sTipClass(300); - sTipClass() << "Class " - << pEnv->CurClass()->LocalName(); - Add_Item( i_eClass, sClass, sLinkClass().c_str(), sTipClass().c_str() ); - } - else - { - Add_Item( i_eClass, sClass, "", "" ); - } - - - Add_Item( eStd, sIndex, PathPerRoot(*pEnv, C_sPath_Index), "" ); - String - sLinkHelp = PathPerRoot(*pEnv, "help.html"); - Add_Item( eStd, sHelp, sLinkHelp.c_str(), "" ); -} - -void -MainRow::Add_Item( E_Style i_eStyle, - const String & i_sText, - const char * i_sLink, - const char * i_sTip ) -{ - switch (i_eStyle) - { - case eStd: aItems.push_back( new MainRowItem(i_sText, i_sLink, i_sTip) ); - break; - case eNo: aItems.push_back( new UnavailableItem(i_sText) ); - break; - case eSelf: aItems.push_back( new SelectedItem(i_sText) ); - break; - default: - csv_assert(false); - } -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/nav_main.hxx b/autodoc/source/display/html/nav_main.hxx deleted file mode 100644 index fe3e79c822e4..000000000000 --- a/autodoc/source/display/html/nav_main.hxx +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_NAV_MAIN_HXX -#define ADC_DISPLAY_HTML_NAV_MAIN_HXX - -// USED SERVICES - -namespace ary -{ -namespace cpp -{ - class CodeEntity; -} -namespace loc -{ - class File; -} -} -namespace csi -{ -namespace xml -{ - class Element; -} -} - -class OuputPage_Environment; -class MainItem; - - - - -class MainRow -{ - public: - MainRow( - const OuputPage_Environment & - i_rEnv ); - ~MainRow(); - - void SetupItems_Overview(); - void SetupItems_AllDefs(); - void SetupItems_Index(); - void SetupItems_Help(); - - void SetupItems_Ce( - const ary::cpp::CodeEntity & - i_rCe ); - void SetupItems_FunctionGroup(); /// For class member methods. - void SetupItems_DataGroup(); /// For class member data. - - void Write2( - csi::xml::Element & o_rOut ) const; - private: - // Local - enum E_Style - { - eSelf, - eNo, - eStd - }; - - /** @precond - Only combinations of 1 eSelf and 2 eStd are allowed - as arguments, here. - */ - void Create_ItemList_Global( - E_Style i_eOverview, - E_Style i_eIndex, - E_Style i_eHelp ); - void Create_ItemList_InDirTree_Cpp( - E_Style i_eNsp, - E_Style i_eClass, - E_Style i_eTree, - const char * i_sTreeLink ); - void Add_Item( - E_Style i_eStyle, - const String & i_sText, - const char * i_sLink, - const char * i_sTip ); - // DATA - typedef std::vector< DYN MainItem* > ItemList; - - - ItemList aItems; - const OuputPage_Environment * - pEnv; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/navibar.cxx b/autodoc/source/display/html/navibar.cxx deleted file mode 100644 index 8490e834b6d8..000000000000 --- a/autodoc/source/display/html/navibar.cxx +++ /dev/null @@ -1,318 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "navibar.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include "nav_main.hxx" -#include "opageenv.hxx" - - -using namespace csi::xml; -using namespace csi::html; - - -namespace -{ - -//************************ SubRowItem ***************************// - -class SubRowItem -{ - public: - SubRowItem( - const char * i_sText, - const char * i_sLink, - bool i_bActive, - bool i_bFirstOfRow = false ); - ~SubRowItem(); - - void Write2( - Element & o_rOut ) const; - private: - String sText; - String sLink; - bool bIsActive; - bool bFirstOfRow; -}; - -SubRowItem::SubRowItem( const char * i_sText, - const char * i_sLink, - bool i_bActive, - bool i_bFirstOfRow ) - : sText(i_sText), - sLink(i_sLink), - bIsActive(i_bActive), - bFirstOfRow(i_bFirstOfRow) -{ - csv_assert( NOT csv::no_str(i_sLink) ); -} - -SubRowItem::~SubRowItem() -{ -} - -void -SubRowItem::Write2( Element & o_rOut ) const -{ - o_rOut << new Sbr; - if ( NOT bFirstOfRow ) - o_rOut << new XmlCode( "| " ); - else - o_rOut << new XmlCode( " " ); - - if ( bIsActive ) - { - o_rOut - >> *new Link( sLink.c_str() ) - >> *new AnElement( "font" ) - << new AnAttribute("size","-2") - >> *new Bold - << sText.c_str(); - } - else - { - o_rOut - >> *new AnElement( "font" ) - << new AnAttribute("size","-2") - << sText.c_str(); - } -} - - - -//************************ SubRow ***************************// - -class SubRow -{ - public: - SubRow( - const char * i_sTitle ); - ~SubRow(); - - void AddItem( - const char * i_sText, - const char * i_sLink, - bool i_bActive ); - void Write2( - Table & o_rOut ) const; - private: - typedef std::vector< DYN SubRowItem * > List_Items; - - List_Items aItemList; - String sTitle; -}; - -SubRow::SubRow( const char * i_sTitle ) -// : // aItemList, - // sTitle -{ - StreamStr sUp(i_sTitle,0); - sUp.to_upper(); - sTitle = sUp.c_str(); -} - -SubRow::~SubRow() -{ - for ( List_Items::iterator it = aItemList.begin(); - it != aItemList.end(); - ++it ) - { - delete (*it); - } -} - -inline void -SubRow::AddItem( const char * i_sText, - const char * i_sLink, - bool i_bActive ) -{ - aItemList.push_back( new SubRowItem(i_sText, i_sLink, i_bActive, aItemList.empty()) ); -} - -void -SubRow::Write2( Table & o_rOut ) const -{ - TableRow * pRow = new TableRow; - o_rOut << pRow; - - if (sTitle.length() > 0) - { - Element & rCell1 = pRow->AddCell(); - rCell1 - << new WidthAttr("20%") - >> *new AnElement( "font" ) - << new AnAttribute("size","-2") - << sTitle - << ":"; - } - - Element & rCell2 = pRow->AddCell(); - for ( List_Items::const_iterator it = aItemList.begin(); - it != aItemList.end(); - ++it ) - { - (*it)->Write2( rCell2 ); - } -} - - -} // anonymous namespace - - - -//************************* CheshireCat ***********************// - - -typedef std::vector< DYN SubRow * > List_SubRows; - -struct NavigationBar::CheshireCat -{ - MainRow aMainRow; - List_SubRows aSubRows; - const OuputPage_Environment * - pEnv; - - - CheshireCat( - const OuputPage_Environment & - i_rEnv ); - ~CheshireCat(); -}; - -NavigationBar:: -CheshireCat::CheshireCat( const OuputPage_Environment & i_rEnv ) - : aMainRow( i_rEnv ), - pEnv( & i_rEnv ) -{ -} - -NavigationBar:: -CheshireCat::~CheshireCat() -{ - csv::erase_container_of_heap_ptrs( aSubRows ); -} - - -//************************ NavigationBar *******************// - -NavigationBar::NavigationBar( const OuputPage_Environment & i_rEnv, - E_GlobalLocation i_eLocation ) - : pi( new CheshireCat(i_rEnv) ) -{ - switch (i_eLocation) - { - case LOC_Overview: pi->aMainRow.SetupItems_Overview(); break; - case LOC_AllDefs: pi->aMainRow.SetupItems_AllDefs(); break; - case LOC_Index: pi->aMainRow.SetupItems_Index(); break; - case LOC_Help: pi->aMainRow.SetupItems_Help(); break; - default: - csv_assert(false); - } -} - -NavigationBar::NavigationBar( const OuputPage_Environment & i_rEnv, - const ary::cpp::CodeEntity & i_rCe ) - : pi( new CheshireCat(i_rEnv) ) -{ - pi->aMainRow.SetupItems_Ce( i_rCe ); -} - -NavigationBar::NavigationBar( const OuputPage_Environment & i_rEnv, - E_CeGatheringType i_eCeGatheringType ) - : pi( new CheshireCat(i_rEnv) ) -{ - switch (i_eCeGatheringType) - { - case CEGT_operations: pi->aMainRow.SetupItems_FunctionGroup(); break; - case CEGT_data: pi->aMainRow.SetupItems_DataGroup(); break; - default: - csv_assert(false); - } -} - -NavigationBar::~NavigationBar() -{ - csv::erase_container_of_heap_ptrs( pi->aSubRows ); -} - -void -NavigationBar::MakeSubRow( const char * i_sTitle ) -{ - pi->aSubRows.push_back( new SubRow(i_sTitle) ); -} - -void -NavigationBar::AddItem( const char * i_sName, - const char * i_sLink, - bool i_bValid ) -{ - csv_assert( pi->aSubRows.size() > 0 ); - StreamStr sName(i_sName, 0); - sName.to_upper(); - - StreamLock aSum(100); - pi->aSubRows.back()->AddItem( sName.c_str(), - aSum() << "#" << i_sLink << c_str, - i_bValid ); -} - -void -NavigationBar::Write( Element & o_rOut, - bool i_bWithSubRows ) const -{ - pi->aMainRow.Write2( o_rOut ); - - const_cast< NavigationBar* >(this)->pSubRowsTable = new Table; - o_rOut << pSubRowsTable; - *pSubRowsTable - << new AnAttribute( "class", "navisub" ) - << new AnAttribute( "cellpadding", "0" ) - << new AnAttribute( "cellspacing", "3" ); - - if (i_bWithSubRows) - { - Write_SubRows(); - } -} - -void -NavigationBar::Write_SubRows() const -{ - for ( List_SubRows::const_iterator it = pi->aSubRows.begin(); - it != pi->aSubRows.end(); - ++it ) - { - (*it)->Write2( *pSubRowsTable ); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/navibar.hxx b/autodoc/source/display/html/navibar.hxx deleted file mode 100644 index ec81e6e94e5c..000000000000 --- a/autodoc/source/display/html/navibar.hxx +++ /dev/null @@ -1,121 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_NAVIBAR_HXX -#define ADC_DISPLAY_HTML_NAVIBAR_HXX - -// BASE CLASSES -#include "hdimpl.hxx" - -namespace ary -{ -namespace cpp -{ - class CodeEntity; -} -namespace loc -{ - class File; -} -} - - - - -/** Creates a HTML navigation bar wth the following parts: - - A main bar with fixed items. - Zero to several subbars with user defined items, depending of - the contents of the page. - - The main bar contains those items: - - Overview | Namespace | Class | Tree | Project | File | Index | Help -*/ -class NavigationBar -{ - public: - enum E_GlobalLocation - { - LOC_Overview, - LOC_AllDefs, - LOC_Index, - LOC_Help - }; - enum E_CeGatheringType - { - CEGT_operations, - CEGT_data - }; - - /// Used for Overview, Index and Help. - NavigationBar( - const OuputPage_Environment & - i_rEnv, - E_GlobalLocation i_eLocation ); - /// Used for all Ces except operations and data. - NavigationBar( - const OuputPage_Environment & - i_rEnv, - const ary::cpp::CodeEntity & - i_rCe ); - /** Used for operations and data. - */ - NavigationBar( - const OuputPage_Environment & - i_rEnv, - E_CeGatheringType i_eCeGatheringType ); - ~NavigationBar(); - - void MakeSubRow( - const char * i_sTitle ); - void AddItem( /// Items are added to last made sub-row. - const char * i_sName, - const char * i_sLink, - bool i_bValid ); - /** This writes the main bar and the pSubRowTable to o_rOut. - The pSubRowsTable stays in memory and can be filled later, - when all SubRow items are known. - */ - void Write( - csi::xml::Element & o_rOut, - bool i_bWithSubRows = false ) const; - void Write_SubRows() const; - - private: - struct CheshireCat; - Dyn<CheshireCat> pi; - csi::html::Table * pSubRowsTable; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/opageenv.cxx b/autodoc/source/display/html/opageenv.cxx deleted file mode 100644 index 4f48ca138217..000000000000 --- a/autodoc/source/display/html/opageenv.cxx +++ /dev/null @@ -1,492 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "opageenv.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/ploc_dir.hxx> -#include <ary/cpp/c_ce.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/loc/loc_file.hxx> -#include <udm/html/htmlitem.hxx> -#include <estack.hxx> -#include "hdimpl.hxx" -#include "strconst.hxx" - - -const String C_sCppDir( "names" ); -const String C_sIndexDir( "ix" ); - - -//************************ Implementation ********************// - -namespace -{ - -void CreateDirectory( const csv::ploc::Path & i_rPath ); - -void -CreateDirectory( const csv::ploc::Path & i_rPath ) -{ - csv::ploc::Directory aDirectory(i_rPath); - if (NOT aDirectory.Exists()) - aDirectory.PhysicalCreate(); -} - -//************************ CheshireCat ********************// - -struct InNamespaceTree -{ - enum E_Type - { - t_unknown, - t_namespace, - t_type, - t_operations, - t_data - }; - - EStack< const ary::cpp::Namespace * > - aNamespaces; /// never empty. - EStack< const ary::cpp::Class * > - aClasses; /// maybe empty. - const ary::cpp::CodeEntity * - pCe; /// CurFileCe, maybe 0 - E_Type eType; - - InNamespaceTree( - const ary::cpp::Namespace & - i_rNsp ); - ~InNamespaceTree(); - void GoDown( - const ary::cpp::Namespace & - i_rNsp ); - void GoDown( - const ary::cpp::Class & - i_rClass ); - void GoUp(); -}; - -InNamespaceTree::InNamespaceTree( const ary::cpp::Namespace & i_rNsp ) - : // aNamespaces, - // aClasses, - pCe(0), - eType(t_unknown) -{ - aNamespaces.push( &i_rNsp ); -} - -InNamespaceTree::~InNamespaceTree() -{ -} - -void -InNamespaceTree::GoDown( const ary::cpp::Namespace & i_rNsp ) -{ - aNamespaces.push(&i_rNsp); - aClasses.erase_all(); - pCe = 0; - eType = t_unknown; -} - -void -InNamespaceTree::GoDown( const ary::cpp::Class & i_rClass ) -{ - aClasses.push(&i_rClass); - pCe = 0; - eType = t_unknown; -} - -void -InNamespaceTree::GoUp() -{ - if ( NOT aClasses.empty() ) - aClasses.pop(); - else - aNamespaces.pop(); - pCe = 0; - eType = t_unknown; -} - -struct InIndex -{ - char cLetter; - - InIndex() : cLetter('A') {} -}; - - -} // anonymous namespace - - - - - -struct OuputPage_Environment::CheshireCat -{ - csv::ploc::Path aOutputRoot; - csv::ploc::Path aMyPath; - csv::StreamStr aFileName; - - const ary::cpp::Gate * - pGate; - const display::CorporateFrame * - pLayout; - intt nDepth; - - Dyn<InNamespaceTree> - pInNamespace; - Dyn<InIndex> pInIndex; - - CheshireCat( - const csv::ploc::Path & - io_rOutputDir, - const ary::cpp::Gate & - i_rGate, - const display::CorporateFrame & - i_rLayout ); - ~CheshireCat(); - void AddQualifiedName2Path( - const ary::cpp::CodeEntity & - i_rCe, - bool i_bIncludeLocalName ); - - const Dyn<InNamespaceTree> & - NspEnv() const { return pInNamespace; } - Dyn<InNamespaceTree> & - NspEnv() { return pInNamespace; } - const ary::cpp::Namespace * - Namespace() const { return pInNamespace ? pInNamespace->aNamespaces.top() : 0; } - const ary::cpp::Class * - Class() const { return pInNamespace ? (pInNamespace->aClasses.empty() ? 0 : pInNamespace->aClasses.top()) : 0; } -}; - -OuputPage_Environment:: -CheshireCat::CheshireCat( const csv::ploc::Path & io_rOutputDir, - const ary::cpp::Gate & i_rGate, - const display::CorporateFrame & i_rLayout ) - : aOutputRoot(io_rOutputDir), - aMyPath(io_rOutputDir), - aFileName(500), - pGate(&i_rGate), - pLayout(&i_rLayout), - nDepth(0), - pInNamespace(), - pInIndex() -{ -} - -OuputPage_Environment:: -CheshireCat::~CheshireCat() -{ -} - -void -OuputPage_Environment:: -CheshireCat::AddQualifiedName2Path( const ary::cpp::CodeEntity & i_rCe, - bool i_bIncludeLocalName ) -{ - if (NOT i_rCe.Owner().IsValid()) - { - aMyPath.DirChain().PushBack( C_sCppDir ); - return; - } - - const ary::cpp::CodeEntity & - rParent = pGate->Ces().Find_Ce( i_rCe.Owner() ); - AddQualifiedName2Path( rParent, true ); - - if ( i_bIncludeLocalName ) - aMyPath.DirChain().PushBack( i_rCe.LocalName() ); -} - - - -//************************ OuputPage_Environment ********************// - -OuputPage_Environment::OuputPage_Environment( const csv::ploc::Path & io_rOutputDir, - const ary::cpp::Gate & i_rGate, - const display::CorporateFrame & i_rLayout ) - : pi( new CheshireCat(io_rOutputDir, i_rGate, i_rLayout) ) -{ -} - -OuputPage_Environment::~OuputPage_Environment() -{ -} - -void -OuputPage_Environment::MoveDir_2Root() -{ - pi->NspEnv() = 0; - pi->pInIndex = 0; - pi->nDepth = 0; - while ( pi->aMyPath.DirChain().Size() > pi->aOutputRoot.DirChain().Size() ) - pi->aMyPath.DirChain().PopBack(); - pi->aMyPath.SetFile(String ::Null_()); -} - -void -OuputPage_Environment::MoveDir_2Names() -{ - pi->NspEnv() = new InNamespaceTree( Gate().Ces().GlobalNamespace() ); - pi->aMyPath.DirChain().PushBack( C_sCppDir ); - pi->aMyPath.SetFile(String ::Null_()); - ++pi->nDepth; - - CreateDirectory( pi->aMyPath ); -} - -void -OuputPage_Environment::MoveDir_Down2( const ary::cpp::Namespace & i_rNsp ) -{ - csv_assert(i_rNsp.Depth() > 0); - csv_assert( pi->NspEnv() ); - csv_assert( pi->Namespace()->CeId() == i_rNsp.Owner() ); - - pi->NspEnv()->GoDown( i_rNsp ); - pi->aMyPath.DirChain().PushBack(i_rNsp.LocalName()); - ++pi->nDepth; - pi->aMyPath.SetFile(String ::Null_()); - - CreateDirectory( pi->aMyPath ); -} - -void -OuputPage_Environment::MoveDir_Down2( const ary::cpp::Class & i_rClass ) -{ - csv_assert( pi->NspEnv() ); - if ( i_rClass.Protection() == ary::cpp::PROTECT_global ) - { - csv_assert( pi->Namespace()->CeId() == i_rClass.Owner() ); - } - else - { - csv_assert( pi->Class() != 0 ); - csv_assert( pi->Class()->CeId() == i_rClass.Owner() ); - } - - pi->NspEnv()->GoDown(i_rClass); - pi->aMyPath.DirChain().PushBack(i_rClass.LocalName()); - pi->aMyPath.SetFile(String ::Null_()); - ++pi->nDepth; - - CreateDirectory( pi->aMyPath ); -} - -void -OuputPage_Environment::MoveDir_2Index() -{ - MoveDir_2Root(); - pi->pInIndex = new InIndex; - pi->aMyPath.DirChain().PushBack( String (C_sDIR_Index) ); - pi->aMyPath.SetFile(String ::Null_()); - pi->nDepth = 1; - - CreateDirectory( pi->aMyPath ); -} - -void -OuputPage_Environment::MoveDir_Up() -{ - if ( pi->nDepth == 1 ) - { - MoveDir_2Root(); - return; - } - else if ( pi->NspEnv() ) - { - pi->NspEnv()->GoUp(); - pi->aMyPath.DirChain().PopBack(); - pi->aMyPath.SetFile(String ::Null_()); - --pi->nDepth; - } -} - -void -OuputPage_Environment::SetFile_Css() -{ - pi->aMyPath.SetFile( C_sHFN_Css ); -} - -void -OuputPage_Environment::SetFile_Overview() -{ - pi->aMyPath.SetFile( C_sHFN_Overview ); -} - -void -OuputPage_Environment::SetFile_AllDefs() -{ - // Provisorium - pi->aMyPath.SetFile("def-all.html"); -} - -void -OuputPage_Environment::SetFile_Index( char i_cLetter ) -{ - csv_assert( ( 'A' <= i_cLetter AND i_cLetter <= 'Z' ) OR i_cLetter == '_' ); - - static StreamStr sIndexFileName(40); - sIndexFileName.seekp(0); - sIndexFileName << "index-"; - if ( i_cLetter == '_' ) - { - sIndexFileName << "27"; - } - else - { - sIndexFileName << int(i_cLetter -'A' + 1); - } - sIndexFileName << ".html"; - - pi->aMyPath.SetFile( sIndexFileName.c_str() ); -} - -void -OuputPage_Environment::SetFile_Help() -{ - pi->aMyPath.SetFile( C_sHFN_Help ); -} - -void -OuputPage_Environment::SetFile_CurNamespace() -{ - csv_assert( pi->NspEnv() ); - pi->aMyPath.SetFile("index.html"); - pi->NspEnv()->pCe = pi->Namespace(); - pi->NspEnv()->eType = InNamespaceTree::t_namespace; -} - -void -OuputPage_Environment::SetFile_Class( const ary::cpp::Class & i_rClass ) -{ - csv_assert( pi->NspEnv() ); - pi->aMyPath.SetFile( ClassFileName(i_rClass.LocalName()) ); - pi->NspEnv()->pCe = &i_rClass; - pi->NspEnv()->eType = InNamespaceTree::t_type; -} - -void -OuputPage_Environment::SetFile_Enum( const ary::cpp::Enum & i_rEnum ) -{ - csv_assert( pi->NspEnv() ); - pi->aMyPath.SetFile( EnumFileName(i_rEnum.LocalName()) ); - pi->NspEnv()->pCe = &i_rEnum; - pi->NspEnv()->eType = InNamespaceTree::t_type; -} - -void -OuputPage_Environment::SetFile_Typedef( const ary::cpp::Typedef & i_rTypedef ) -{ - csv_assert( pi->NspEnv() ); - pi->aMyPath.SetFile( TypedefFileName(i_rTypedef.LocalName()) ); - pi->NspEnv()->pCe = &i_rTypedef; - pi->NspEnv()->eType = InNamespaceTree::t_type; -} - -void -OuputPage_Environment::SetFile_Operations( const ary::loc::File * i_pFile ) -{ - csv_assert( pi->NspEnv() ); - if ( CurClass() != 0 ) - pi->aMyPath.SetFile( "o.html" ); - else - { - csv_assert( i_pFile != 0 ); - pi->aMyPath.SetFile( HtmlFileName("o-", i_pFile->LocalName()) ); - } - pi->NspEnv()->pCe = 0; - pi->NspEnv()->eType = InNamespaceTree::t_operations; -} - -void -OuputPage_Environment::SetFile_Data( const ary::loc::File * i_pFile ) -{ - csv_assert( pi->NspEnv() ); - if ( CurClass() != 0 ) - pi->aMyPath.SetFile( "d.html" ); - else - { - csv_assert( i_pFile != 0 ); - pi->aMyPath.SetFile( HtmlFileName("d-", i_pFile->LocalName()) ); - } - pi->NspEnv()->pCe = 0; - pi->NspEnv()->eType = InNamespaceTree::t_data; -} - -const ary::cpp::Namespace * -OuputPage_Environment::CurNamespace() const -{ - return pi->Namespace(); -} - -const ary::cpp::Class * -OuputPage_Environment::CurClass() const -{ - return pi->Class(); -} - -const csv::ploc::Path & -OuputPage_Environment::CurPath() const -{ - return pi->aMyPath; -} - -const ary::cpp::Gate & -OuputPage_Environment::Gate() const -{ - return *pi->pGate; -} - -const display::CorporateFrame & -OuputPage_Environment::Layout() const -{ - return *pi->pLayout; -} - -uintt -OuputPage_Environment::Depth() const -{ - return static_cast<uintt>(pi->nDepth); -} - -const String & -OuputPage_Environment::RepositoryTitle() const -{ - return Gate().RepositoryTitle(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/opageenv.hxx b/autodoc/source/display/html/opageenv.hxx deleted file mode 100644 index c0bb48ef5962..000000000000 --- a/autodoc/source/display/html/opageenv.hxx +++ /dev/null @@ -1,131 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_OPAGEENV_HXX -#define ADC_DISPLAY_HTML_OPAGEENV_HXX - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS -#include <cosv/ploc.hxx> - // PARAMETERS - -namespace ary -{ - namespace cpp - { - class Gate; - - class Namespace; - class Class; - class Enum; - class Typedef; - } - namespace loc - { - class File; - } -} -namespace display -{ - class CorporateFrame; -} - -class OuputPage_Environment -{ - public: - // LIFECYCLE - OuputPage_Environment( - const csv::ploc::Path & - io_rOutputDir, - const ary::cpp::Gate & - i_rGate, - const display::CorporateFrame & - i_rLayout ); - ~OuputPage_Environment(); - - // OPERATIONS - void MoveDir_2Root(); - void MoveDir_2Names(); - void MoveDir_Down2( /// Only one level. - const ary::cpp::Namespace & - i_rNsp ); - void MoveDir_Down2( /// Only one level. - const ary::cpp::Class & - i_rClass ); - void MoveDir_2Index(); - void MoveDir_Up(); - - void SetFile_Css(); - void SetFile_Overview(); - void SetFile_AllDefs(); - void SetFile_Index( - char i_cLetter ); - void SetFile_Help(); - void SetFile_CurNamespace(); - void SetFile_Class( - const ary::cpp::Class & - i_rClass ); - void SetFile_Enum( - const ary::cpp::Enum & - i_rEnum ); - void SetFile_Typedef( - const ary::cpp::Typedef & - i_typedef ); - void SetFile_Operations( - const ary::loc::File * - i_pFile = 0 ); /// Only needed for global functions. - void SetFile_Data( - const ary::loc::File * - i_pFile = 0 ); /// Only needed for global variables. - // INQUIRY - const ary::cpp::Namespace * - CurNamespace() const; - const ary::cpp::Class * - CurClass() const; - const csv::ploc::Path & - CurPath() const; - const ary::cpp::Gate & - Gate() const; - const display::CorporateFrame & - Layout() const; - uintt Depth() const; - const String & RepositoryTitle() const; - - private: - struct CheshireCat; - Dyn<CheshireCat> pi; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/outfile.cxx b/autodoc/source/display/html/outfile.cxx deleted file mode 100644 index 2dd31dd4a52b..000000000000 --- a/autodoc/source/display/html/outfile.cxx +++ /dev/null @@ -1,390 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "outfile.hxx" - -// NOT FULLY DECLARED SERVICES -#include <cosv/file.hxx> -#include <udm/html/htmlitem.hxx> -#include <toolkit/out_position.hxx> -#include "strconst.hxx" - - -namespace -{ -bool bUse_OOoFrameDiv = true; -const String C_sOOoFrameDiv_CppId("adc-cppref"); -} - - -using namespace csi; -using csi::xml::AnAttribute; - - - -#define CRLF "\n" - -const char * const - C_sStdStyle = - "body { background-color:#ffffff; }" CRLF - "h1 { font-size:20pt; margin-top:3pt; margin-bottom:7pt; }" CRLF - "h2 { font-family:Arial; font-size:16pt; margin-top:3pt; margin-bottom:5pt; }" CRLF - "h3 { font-size:13pt; margin-top:2pt; margin-bottom:3pt; }" CRLF - "h4 { font-size:10pt; font-weight:bold; margin-top:2pt; margin-bottom:1pt; }" CRLF - "dl { margin-top:1pt; margin-bottom:1pt; }" CRLF - "dl.member { margin-top:1pt; margin-bottom:1pt; background-color:#eeeeff; }" CRLF - "dt { font-size:10pt; font-weight:bold; margin-top:2pt; margin-bottom:1pt; }" CRLF - "dt.member { font-size:13pt; font-weight:bold; margin-top:2pt; margin-bottom:1pt; }" CRLF - "dt.simple { font-size:10pt; font-weight:normal; margin-top:2pt; margin-bottom:1pt; }" CRLF - "dd { font-size:10pt; margin-top:1pt; margin-bottom:1pt; }" CRLF - "dd.member { font-size:10pt; margin-top:1pt; margin-bottom:1pt; background-color:#ffffff; }" CRLF - "p { font-size:10pt; margin-top:3pt; margin-bottom:1pt; }" CRLF - "pre { font-family:monospace; font-size:10pt; margin-top:1pt; margin-bottom:1pt; }" CRLF - "tr { font-size:10pt; }" CRLF - "td { font-size:10pt; }" CRLF - CRLF - "dt.attention { color:#dd0000; }" CRLF - CRLF - "div.title { text-align:center; line-height:26pt; background-color:#ccccff; }" CRLF - ".subtitle { background-color:#ccccff; }" CRLF - CRLF - "td.flagname { background-color:#eeeeff; font-family:Arial; font-size:8pt; font-weight:bold; }" CRLF - "td.flagyes { font-family:Arial; font-size:8pt; font-weight:bold; }" CRLF - "td.flagno { font-family:Arial; font-size:8pt; }" CRLF - "td.flagtext { font-family:Arial; font-size:8pt; font-weight:bold; }" CRLF - CRLF - "td.navimain, td.navimain a" CRLF - " { background-color:#eeeeff; color:#000000;" CRLF - " font-family:Arial; font-size:12pt; font-weight:bold; }" CRLF - "td.navimainself" CRLF - " { background-color:#2222ad; color:#ffffff;" CRLF - " font-family:Arial; font-size:12pt; font-weight:bold; }" CRLF - "td.navimainnone" CRLF - " { background-color:#eeeeff; color:#000000;" CRLF - " font-family:Arial; font-size:12pt; }" CRLF - CRLF - "div.define { font-family:Arial; background-color:#ccccff; }" CRLF - CRLF - ".nqclass { color:#008800; }" CRLF - CRLF - "h3.help { background-color:#eeeeff; margin-top:12pt; }" CRLF - CRLF - ".btpubl { color:#33ff33; }" CRLF - ".btprot { color:#cc9933; }" CRLF - ".btpriv { color:#ff6666; }" CRLF - ".btvpubl { color:#33ff33; font-style:italic; }" CRLF - ".btvprot { color:#cc9933; font-style:italic; }" CRLF - ".btvpriv { color:#ff6666; font-style:italic; }" CRLF - ".btself { font-weight:bold; }" CRLF - ; - - -const char * const - C_sCssExplanations = - "/* Explanation of CSS classes:" CRLF - CRLF - "dl.member provides coloured frame for function descriptions." CRLF - "dd.member makes the content of this frame white" CRLF - CRLF - "dt.attention special colour for @attention remarks" CRLF - CRLF - "div.title HTML page headline" CRLF - ".subtitle headline of lists of members and similar" CRLF - CRLF - " These are for the flagtables in classes:" CRLF - "td.flagname Flag name." CRLF - "td.flagyes flag value \"yes\"" CRLF - "td.flagno flag value \"no\"" CRLF - "td.flagtext other flag value" CRLF - CRLF - CRLF - " These are for the main navigationbar:" CRLF - "td.navimain, td.navimain a" CRLF - " Links in navibar." CRLF - "td.navimainself Text in navibar which refers to current page." CRLF - "td.navimainnone Text which links to nothing." CRLF - CRLF - CRLF - "div.define Subtitles on the #define/macro descriptions page" CRLF - CRLF - ".nqclass special color for classes in the qualification" CRLF - " on top of type pages like in:" CRLF - " ::nsp1::nsp2::_ClassXY_::" CRLF - CRLF - "h3.help Subtitles on the help page" CRLF - CRLF - " These are for the base class tree on class pages:" CRLF - ".btpubl public base class" CRLF - ".btprot protected" CRLF - ".btpriv private" CRLF - ".btvpubl virtual public" CRLF - ".btvprot virtual protected" CRLF - ".btvpriv virtual private" CRLF - ".btself placeholder for currently displayed class" CRLF - CRLF - "*/" CRLF - ; - - -const char * const - C_sStdStyle_withDivFrame = - "body { background-color:#ffffff; }" CRLF - "#adc-cppref h1 { font-size:20pt; margin-top:3pt; margin-bottom:7pt; }" CRLF - "#adc-cppref h2 { font-family:Arial; font-size:16pt; margin-top:3pt; margin-bottom:5pt; }" CRLF - "#adc-cppref h3 { font-size:13pt; margin-top:2pt; margin-bottom:3pt; }" CRLF - "#adc-cppref h4 { font-size:10pt; font-weight:bold; margin-top:2pt; margin-bottom:1pt; }" CRLF - "#adc-cppref dl { margin-top:1pt; margin-bottom:1pt; }" CRLF - "#adc-cppref dl.member { margin-top:1pt; margin-bottom:1pt; background-color:#eeeeff; }" CRLF - "#adc-cppref dt { font-size:10pt; font-weight:bold; margin-top:2pt; margin-bottom:1pt; }" CRLF - "#adc-cppref dt.member { font-size:13pt; font-weight:bold; margin-top:2pt; margin-bottom:1pt; }" CRLF - "#adc-cppref dt.simple { font-size:10pt; font-weight:normal; margin-top:2pt; margin-bottom:1pt; }" CRLF - "#adc-cppref dd { font-size:10pt; margin-top:1pt; margin-bottom:1pt; }" CRLF - "#adc-cppref dd.member { font-size:10pt; margin-top:1pt; margin-bottom:1pt; background-color:#ffffff; }" CRLF - "#adc-cppref p { font-size:10pt; margin-top:3pt; margin-bottom:1pt; }" CRLF - "#adc-cppref pre { font-family:monospace; font-size:10pt; margin-top:1pt; margin-bottom:1pt; }" CRLF - "#adc-cppref tr { font-size:10pt; }" CRLF - "#adc-cppref td { font-size:10pt; }" CRLF - CRLF - "#adc-cppref dt.attention { color:#dd0000; }" CRLF - CRLF - "#adc-cppref div.title { text-align:center; line-height:26pt; background-color:#ccccff; }" CRLF - "#adc-cppref .subtitle { background-color:#ccccff; }" CRLF - CRLF - "#adc-cppref td.flagname { background-color:#eeeeff; font-family:Arial; font-size:8pt; font-weight:bold; }" CRLF - "#adc-cppref td.flagyes { font-family:Arial; font-size:8pt; font-weight:bold; }" CRLF - "#adc-cppref td.flagno { font-family:Arial; font-size:8pt; }" CRLF - "#adc-cppref td.flagtext { font-family:Arial; font-size:8pt; font-weight:bold; }" CRLF - CRLF - "#adc-cppref td.navimain, #adc-cppref td.navimain a" CRLF - " { background-color:#eeeeff; color:#000000;" CRLF - " font-family:Arial; font-size:12pt; font-weight:bold; }" CRLF - "#adc-cppref td.navimainself" CRLF - " { background-color:#2222ad; color:#ffffff;" CRLF - " font-family:Arial; font-size:12pt; font-weight:bold; }" CRLF - "#adc-cppref td.navimainnone" CRLF - " { background-color:#eeeeff; color:#000000;" CRLF - " font-family:Arial; font-size:12pt; }" CRLF - CRLF - "#adc-cppref div.define { font-family:Arial; background-color:#ccccff; }" CRLF - CRLF - "#adc-cppref .nqclass { color:#008800; }" CRLF - CRLF - "#adc-cppref h3.help { background-color:#eeeeff; margin-top:12pt; }" CRLF - CRLF - "#adc-cppref .btpubl { color:#33ff33; }" CRLF - "#adc-cppref .btprot { color:#cc9933; }" CRLF - "#adc-cppref .btpriv { color:#ff6666; }" CRLF - "#adc-cppref .btvpubl { color:#33ff33; font-style:italic; }" CRLF - "#adc-cppref .btvprot { color:#cc9933; font-style:italic; }" CRLF - "#adc-cppref .btvpriv { color:#ff6666; font-style:italic; }" CRLF - "#adc-cppref .btself { font-weight:bold; }" CRLF - "" CRLF - "#adc-cppref table { empty-cells:show; }" CRLF - "" CRLF - "#adc-cppref .childlist td, " CRLF - "#adc-cppref .commentedlinks td, " CRLF - "#adc-cppref .memberlist td, " CRLF - "#adc-cppref .subtitle td, " CRLF - "#adc-cppref .crosstitle td { border: .1pt solid #000000; }" CRLF - "" CRLF - "#adc-cppref .flag-table td { border: .1pt solid #cccccc; } " CRLF - "" CRLF - "#adc-cppref .title-table td, " CRLF - "#adc-cppref .table-in-method td, " CRLF - "#adc-cppref .table-in-data td, " CRLF - "#adc-cppref .navimain td, " CRLF - "#adc-cppref .navisub td, " CRLF - "#adc-cppref .expl-table td, " CRLF - "#adc-cppref .param-table td { border: none; }" CRLF - ; - - - -HtmlDocuFile::HtmlDocuFile() - : sFilePath(), - sTitle(), - sLocation(), - sCopyright(), - nDepthInOutputTree(0), - aBodyData(), - aBuffer(60000) // Grows dynamically when necessary. -{ -} - -void -HtmlDocuFile::SetLocation( const csv::ploc::Path & i_rFilePath, - uintt i_depthInOutputTree ) -{ - static StreamStr sPath_(1000); - sPath_.seekp(0); - i_rFilePath.Get( sPath_ ); - - sFilePath = sPath_.c_str(); - nDepthInOutputTree = i_depthInOutputTree; -} - -void -HtmlDocuFile::SetTitle( const char * i_sTitle ) -{ - sTitle = i_sTitle; -} - -void -HtmlDocuFile::SetCopyright( const char * i_sCopyright ) -{ - sCopyright = i_sCopyright; -} - -void -HtmlDocuFile::EmptyBody() -{ - aBodyData.SetContent(0); - - if (bUse_OOoFrameDiv) - { - // Insert <div> tag to allow better formatting for OOo. - aBodyData - << new xml::XmlCode("<div id=\"") - << new xml::XmlCode(C_sOOoFrameDiv_CppId) - << new xml::XmlCode("\">\n\n"); - } - - aBodyData - >> *new html::Label( "_top_" ) - << " "; -} - -bool -HtmlDocuFile::CreateFile() -{ - csv::File aFile(sFilePath, csv::CFM_CREATE); - if (NOT aFile.open()) - { - Cerr() << "Can't create file " << sFilePath << "." << Endl(); - return false; - } - - WriteHeader(aFile); - WriteBody(aFile); - - // Write end - static const char sCompletion[] = "\n</html>\n"; - aFile.write( sCompletion ); - - aFile.close(); - Cout() << '.' << Flush(); - return true; -} - -void -HtmlDocuFile::WriteCssFile( const csv::ploc::Path & i_rFilePath ) -{ - Cout() << "\nCreate css file ..." << Endl(); - - csv::File - aCssFile(i_rFilePath, csv::CFM_CREATE); - csv::OpenCloseGuard - aOpenGuard(aCssFile); - if (NOT aOpenGuard) - { - Cerr() << "Can't create file " << "cpp.css" << "." << Endl(); - return; - } - - aCssFile.write("/* Autodoc css file for C++ documentation */\n\n\n"); - - if (bUse_OOoFrameDiv) - aCssFile.write(C_sStdStyle_withDivFrame); - else - aCssFile.write(C_sStdStyle); - - aCssFile.write("\n\n\n"); - aCssFile.write(C_sCssExplanations); -} - -void -HtmlDocuFile::WriteHeader( csv::File & io_aFile ) -{ - aBuffer.reset(); - - static const char s1[] = - "<html>\n<head>\n" - "<title>"; - static const char s2[] = - "</title>\n" - "<link rel=\"stylesheet\" type=\"text/css\" href=\""; - static const char s3[] = - "\">\n</head>\n"; - - aBuffer.write( s1 ); - aBuffer.write( sTitle ); - aBuffer.write( s2 ); - aBuffer.write( output::get_UpLink(nDepthInOutputTree) ); - aBuffer.write( C_sHFN_Css ); - aBuffer.write( s3 ); - - io_aFile.write(aBuffer.c_str(), aBuffer.size()); -} - -void -HtmlDocuFile::WriteBody( csv::File & io_aFile ) -{ - aBuffer.reset(); - - aBodyData - >> *new html::Link( "#_top_" ) - << new html::ClassAttr( "objchapter" ) - << "Top of Page"; - - if ( sCopyright.length() > 0 ) - { - aBodyData - << new xml::XmlCode("<hr size=\"3\">"); - - aBodyData - >> *new html::Paragraph - << new html::ClassAttr( "copyright" ) - << new xml::AnAttribute( "align", "center" ) - << new xml::XmlCode(sCopyright); - } - - if (bUse_OOoFrameDiv) - { - // Insert <div> tag to allow better formatting for OOo. - aBodyData - << new xml::XmlCode("\n</div> <!-- id=\"") - << new xml::XmlCode(C_sOOoFrameDiv_CppId) - << new xml::XmlCode("\" -->\n"); - } - - aBodyData.WriteOut(aBuffer); - io_aFile.write(aBuffer.c_str(), aBuffer.size()); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/outfile.hxx b/autodoc/source/display/html/outfile.hxx deleted file mode 100644 index 033e92954a3d..000000000000 --- a/autodoc/source/display/html/outfile.hxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_OUTFILE_HXX -#define ADC_DISPLAY_HTML_OUTFILE_HXX - -// USED SERVICES -#include <udm/html/htmlitem.hxx> -#include <cosv/ploc.hxx> - - -namespace csv -{ - class File; -} - - - - -class HtmlDocuFile -{ - public: - // LIFECYCLE - HtmlDocuFile(); - - void SetLocation( - const csv::ploc::Path & - i_rFilePath, - uintt i_depthInOutputTree ); - void SetTitle( - const char * i_sTitle ); - void SetCopyright( - const char * i_sCopyright ); - void EmptyBody(); - - Html::Body & Body() { return aBodyData; } - bool CreateFile(); - - static void WriteCssFile( - const csv::ploc::Path & - i_rFilePath ); - private: - void WriteHeader( - csv::File & io_aFile ); - void WriteBody( - csv::File & io_aFile ); - - // DATA - String sFilePath; - String sTitle; - String sLocation; - String sCopyright; - uintt nDepthInOutputTree; - - Html::Body aBodyData; - StreamStr aBuffer; // Output buffer, should be transfered into csv::File. -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pagemake.cxx b/autodoc/source/display/html/pagemake.cxx deleted file mode 100644 index 52d05fb0b19c..000000000000 --- a/autodoc/source/display/html/pagemake.cxx +++ /dev/null @@ -1,578 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pagemake.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/loc/loc_file.hxx> -#include <display/corframe.hxx> -#include "hd_chlst.hxx" -#include "hd_docu.hxx" -#include "hdimpl.hxx" -#include "html_kit.hxx" -#include "navibar.hxx" -#include "opageenv.hxx" -#include "outfile.hxx" -#include "pm_aldef.hxx" -#include "pm_class.hxx" -#include "pm_help.hxx" -#include "pm_index.hxx" -#include "pm_namsp.hxx" -#include "pm_start.hxx" -#include "strconst.hxx" - - -using namespace csi; -using csi::html::Link; -using csi::html::HorizontalLine; - - -const int C_nNrOfIndexLetters = 27; - - -template <class SPECIAL_MAKER> -inline void -Make_SpecialPage( DYN SPECIAL_MAKER * let_dpMaker ) -{ - Dyn< SPECIAL_MAKER > pMaker( let_dpMaker ); - pMaker->MakePage(); - pMaker = 0; -} - - -PageDisplay::PageDisplay( OuputPage_Environment & io_rEnv ) - : HtmlDisplay_Impl( io_rEnv ), - pMyFile( new HtmlDocuFile ) -{ -} - -PageDisplay::~PageDisplay() -{ - -} - -void -PageDisplay::Create_OverviewFile() -{ - Env().SetFile_Overview(); - File().SetLocation( Env().CurPath(), 0 ); - - SetupFileOnCurEnv( C_sHFTitle_Overview ); - Make_SpecialPage( new PageMaker_Overview(*this) ); - Create_File(); -} - -void -PageDisplay::Create_AllDefsFile() -{ - // This method is a provisorium, because later this will - // be spreaded over the files. - - Env().MoveDir_2Root(); - Env().SetFile_AllDefs(); - File().SetLocation( Env().CurPath(), 0 ); - - SetupFileOnCurEnv( "Defines and Macros" ); - Make_SpecialPage( new PageMaker_AllDefs(*this) ); - Create_File(); -} - -void -PageDisplay::Create_IndexFiles() -{ - Env().MoveDir_2Index(); - - for ( int i = 0; i < C_nNrOfIndexLetters; ++i ) - Create_IndexFile(i); -} - -void -PageDisplay::Create_HelpFile() -{ - Env().SetFile_Help(); - File().SetLocation( Env().CurPath(), 0 ); - - SetupFileOnCurEnv( C_sHFTitle_Help ); - Make_SpecialPage( new PageMaker_Help(*this) ); - Create_File(); -} - -void -PageDisplay::Create_NamespaceFile() -{ - csv_assert( Env().CurNamespace() != 0 ); - Env().SetFile_CurNamespace(); - File().SetLocation( Env().CurPath(), Env().Depth() ); - if (Env().CurNamespace()->Owner().IsValid()) - { - StreamLock sNsp(100); - SetupFileOnCurEnv( sNsp() << C_sHFTypeTitle_Namespace - << " " - << Env().CurNamespace()->LocalName() - << c_str ); - } - else - { - SetupFileOnCurEnv( C_sHFTitle_GlobalNamespaceCpp ); - } - - Make_SpecialPage( new PageMaker_Namespace(*this) ); - - Create_File(); -} - -void -PageDisplay::Setup_OperationsFile_for( const ary::loc::File & i_rFile ) -{ - csv_assert( Env().CurNamespace() != 0 ); - Env().SetFile_Operations(&i_rFile); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - StreamLock sOpFile(100); - SetupFileOnCurEnv( sOpFile() << "Global Functions in Namespace " - << Env().CurNamespace()->LocalName() - << " in Sourcefile " - << i_rFile.LocalName() - << c_str ); - NavigationBar - aNavi( Env(), - NavigationBar::CEGT_operations ); - aNavi.Write( CurOut() ); - CurOut() << new HorizontalLine; - - adcdisp::PageTitle_Std fTitle; - csi::xml::Element & rTitle = fTitle( CurOut() ); - if (Env().CurNamespace()->Owner().IsValid()) - { - rTitle << "Global Functions in Namespace " - << Env().CurNamespace()->LocalName(); - } - else - { - rTitle << "Global Functions in Global Namespace C++"; - } - - rTitle << new html::LineBreak - << "in Sourcefile " - << i_rFile.LocalName(); - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Setup_OperationsFile_for( const ary::cpp::Class & i_rClass ) -{ - csv_assert( Env().CurNamespace() != 0 ); - Env().SetFile_Operations(0); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - StreamLock sOpFile(100); - SetupFileOnCurEnv( sOpFile() << "Methods of Class " - << i_rClass.LocalName() - << c_str ); - NavigationBar - aNavi( Env(), - NavigationBar::CEGT_operations ); - aNavi.Write( CurOut() ); - CurOut() << new HorizontalLine; - - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), "Methods of Class", i_rClass.LocalName() ); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Setup_DataFile_for( const ary::loc::File & i_rFile ) -{ - csv_assert( Env().CurNamespace() != 0 ); - Env().SetFile_Data(&i_rFile); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - StreamLock sDataFile(100); - SetupFileOnCurEnv( sDataFile() << "Global Data in Namespace " - << Env().CurNamespace()->LocalName() - << " in Sourcefile " - << i_rFile.LocalName() - << c_str ); - NavigationBar - aNavi( Env(), - NavigationBar::CEGT_data ); - aNavi.Write( CurOut() ); - CurOut() << new HorizontalLine; - - adcdisp::PageTitle_Std fTitle; - csi::xml::Element & rTitle = fTitle( CurOut() ); - if ( Env().CurNamespace()->Owner().IsValid() ) - { - rTitle << "Global Data in Namespace " - << Env().CurNamespace()->LocalName(); - } - else - { - rTitle << "Global Data in Global Namespace C++"; - } - - rTitle - << new html::LineBreak - << "in Sourcefile " - << i_rFile.LocalName(); - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Setup_DataFile_for( const ary::cpp::Class & i_rClass ) -{ - csv_assert( Env().CurNamespace() != 0 ); - Env().SetFile_Data(0); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - StreamLock sDataFile(100); - SetupFileOnCurEnv( sDataFile() << "Data of Class " - << i_rClass.LocalName() - << c_str ); - - NavigationBar - aNavi( Env(), - NavigationBar::CEGT_data ); - aNavi.Write( CurOut() ); - CurOut() << new HorizontalLine; - - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), "Data of Class", i_rClass.LocalName() ); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Create_File() -{ - Easy().Leave(); - File().CreateFile(); -} - -void -PageDisplay::do_Process(const ary::cpp::Class & i_rData) -{ - Env().SetFile_Class(i_rData); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - const char * - sTypeTitle = i_rData.ClassKey() == ary::cpp::CK_class - ? C_sHFTypeTitle_Class - : i_rData.ClassKey() == ary::cpp::CK_struct - ? C_sHFTypeTitle_Struct - : C_sHFTypeTitle_Union; - StreamLock sClassFile(60); - SetupFileOnCurEnv( sClassFile() << sTypeTitle - << " " - << i_rData.LocalName() - << c_str ); - - Make_SpecialPage( new PageMaker_Class(*this, i_rData) ); - - Create_File(); -} - -void -PageDisplay::do_Process(const ary::cpp::Enum & i_rData) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - Env().SetFile_Enum(i_rData); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - StreamLock sEnumFile(100); - SetupFileOnCurEnv( sEnumFile() << C_sHFTypeTitle_Enum - << " " - << i_rData.LocalName() - << c_str ); - Write_NavBar_Enum(i_rData); - Write_TopArea_Enum(i_rData); - Write_DocuArea_Enum(i_rData); - Write_ChildList_Enum(i_rData); - - Create_File(); -} - -void -PageDisplay::do_Process(const ary::cpp::Typedef & i_rData) -{ - if ( Ce_IsInternal(i_rData) ) - return; - - Env().SetFile_Typedef(i_rData); - File().SetLocation( Env().CurPath(), Env().Depth() ); - - StreamLock sTypedefFile(100); - SetupFileOnCurEnv( sTypedefFile() << C_sHFTypeTitle_Typedef - << " " - << i_rData.LocalName() - << c_str ); - Write_NavBar_Typedef(i_rData); - Write_TopArea_Typedef(i_rData); - Write_DocuArea_Typedef(i_rData); - - - Create_File(); -} - -void -PageDisplay::Write_NameChainWithLinks( const ary::cpp::CodeEntity & i_rCe ) -{ - if ( Env().CurNamespace()->Id() != i_rCe.Id() ) - { - RecursiveWrite_NamespaceLink( Env().CurNamespace() ); - if ( Env().CurClass() != 0 ) - { - CurOut() << new html::Sbr; - RecursiveWrite_ClassLink( Env().CurClass(), 1 ); - } - } - else - { - RecursiveWrite_NamespaceLink( Env().CurNamespace()->Parent() ); - } -} - -const ary::cpp::Gate * -PageDisplay::inq_Get_ReFinder() const -{ - return &Env().Gate(); -} - -void -PageDisplay::RecursiveWrite_NamespaceLink( const ary::cpp::Namespace * i_pNamespace ) -{ - if ( i_pNamespace == 0 ) - { - return; - } - else if (NOT i_pNamespace->Owner().IsValid()) - { // Global namespace: - StreamLock sNspDir(50); - CurOut() - >> *new Link( PathPerRoot(Env(), - sNspDir() << C_sDIR_NamespacesCpp - << "/" - << C_sHFN_Namespace - << c_str) ) - << new xml::AnAttribute( "alt", C_sHFTitle_GlobalNamespaceCpp ) - >> *new html::Font - << new html::SizeAttr("+1") - >> *new html::Bold - << "::"; - CurOut() - << " "; - return; - } - else - { - RecursiveWrite_NamespaceLink( i_pNamespace->Parent() ); - } - - uintt nLevelDistance = Env().Depth() - ( i_pNamespace->Depth() + 1 ); - csv_assert( nLevelDistance < 100 ); - CurOut() - >> *new Link( PathPerLevelsUp(nLevelDistance, C_sHFN_Namespace) ) - << new xml::AnAttribute( "alt", C_sHFTypeTitle_Namespace) - >> *new html::Font - << new html::SizeAttr("+1") - >> *new html::Bold - << i_pNamespace->LocalName(); - CurOut() - >> *new html::Font - << new html::SizeAttr("+1") - << " :: "; -} - -void -PageDisplay::RecursiveWrite_ClassLink( const ary::cpp::Class * i_pClass, - uintt i_nLevelDistance ) -{ - if ( i_pClass == 0 ) - return; - - if ( i_pClass->Protection() != ary::cpp::PROTECT_global ) - { - RecursiveWrite_ClassLink( - dynamic_cast< const ary::cpp::Class* >( - Env().Gate().Ces().Search_Ce(i_pClass->Owner())), - i_nLevelDistance + 1 ); - } - - CurOut() - >> *new Link( Path2Class(i_nLevelDistance, i_pClass->LocalName()) ) - << new html::ClassAttr("nqclass") - << i_pClass->LocalName() - << " :: "; -} - -void -PageDisplay::SetupFileOnCurEnv( const char * i_sTitle ) -{ - File().SetLocation( Env().CurPath(), Env().Depth() ); - File().SetTitle( i_sTitle ); - File().SetCopyright( Env().Layout().CopyrightText() ); - File().EmptyBody(); - - // This sets CurOut() to the contents of <body></body> - // in File() : - Easy().Enter( File().Body() ); -} - -void -PageDisplay::Write_NavBar_Enum( const ary::cpp::Enum & i_rData ) -{ - NavigationBar aNavi( Env(), i_rData ); - aNavi.MakeSubRow("List of"); - aNavi.AddItem( C_sTitle_EnumValues, C_sLabel_EnumValues, true ); - aNavi.Write( CurOut(), true ); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Write_TopArea_Enum( const ary::cpp::Enum & i_rData ) -{ - Write_NameChainWithLinks( i_rData ); - - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), C_sHFTypeTitle_Enum, i_rData.LocalName() ); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Write_DocuArea_Enum( const ary::cpp::Enum & i_rData ) -{ - Docu_Display aDocuShow( Env() ); - - aDocuShow.Assign_Out(CurOut()); - aDocuShow.Process(i_rData.Docu()); - aDocuShow.Unassign_Out(); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Write_ChildList_Enum( const ary::cpp::Enum & i_rData ) -{ - bool bChildrenExist = false; - ChildList_Display::Area_Result - aResult( bChildrenExist, CurOut() ); - - ChildList_Display aDisplay(Env(), i_rData); - aDisplay.Run_Simple( aResult, - ary::cpp::Enum::SLOT_Values, - C_sLabel_EnumValues, - C_sTitle_EnumValues ); - - if (NOT bChildrenExist) - CurOut() >> *new html::Headline(4) << "This enum has no values."; - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Write_NavBar_Typedef( const ary::cpp::Typedef & i_rData ) -{ - NavigationBar aNavi( Env(), i_rData ); - aNavi.Write( CurOut(), true ); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Write_TopArea_Typedef( const ary::cpp::Typedef & i_rData ) -{ - Write_NameChainWithLinks( i_rData ); - - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), C_sHFTypeTitle_Typedef, i_rData.LocalName() ); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Write_DocuArea_Typedef( const ary::cpp::Typedef & i_rData ) -{ - adcdisp::ExplanationList aDef( CurOut() ); - aDef.AddEntry("Definition:"); - xml::Element & rDef = aDef.Def(); - - ary::cpp::Type_id - nDefiningType = i_rData.DescribingType(); - - const ary::cpp::CodeEntity * - pRelatedCe = Env().Gate().Search_RelatedCe(nDefiningType); - if ( pRelatedCe != 0 ) - { - const char * sTypeKey = Get_TypeKey(*pRelatedCe); - if ( NOT csv::no_str(sTypeKey) ) - rDef << sTypeKey << " "; - } - - dshelp::Get_LinkedTypeText( rDef, Env(), nDefiningType ); - - Docu_Display aDocuShow( Env() ); - - aDocuShow.Assign_Out(CurOut()); - aDocuShow.Process(i_rData.Docu()); - aDocuShow.Unassign_Out(); - - CurOut() << new HorizontalLine; -} - -void -PageDisplay::Create_IndexFile( int i_nLetter ) -{ - static char aLetters[C_nNrOfIndexLetters+1] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_"; - csv_assert( 0 <= i_nLetter AND i_nLetter < C_nNrOfIndexLetters ); - - char cCurLetter = aLetters[i_nLetter]; - Env().SetFile_Index( cCurLetter ); - - static char sIndexFileTitle[] = "Global Index X"; - const int nPositionOfLetterInTitle = 13; - sIndexFileTitle[nPositionOfLetterInTitle] = cCurLetter; - SetupFileOnCurEnv( sIndexFileTitle ); - - Make_SpecialPage( new PageMaker_Index(*this, cCurLetter ) ); - - Create_File(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pagemake.hxx b/autodoc/source/display/html/pagemake.hxx deleted file mode 100644 index 72cdbe56e739..000000000000 --- a/autodoc/source/display/html/pagemake.hxx +++ /dev/null @@ -1,167 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PAGEMAKE_HXX -#define ADC_DISPLAY_HTML_PAGEMAKE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/ary_disp.hxx> -#include <cosv/tpl/processor.hxx> -#include "hdimpl.hxx" - // COMPONENTS - // PARAMETERS -#include <ary/cpp/c_namesp.hxx> - -namespace ary -{ - namespace cpp - { - class Namespace; - class Class; - class Enum; - class Typedef; - } - namespace loc - { - class File; - } -} - - -class OuputPage_Environment; -class HtmlDocuFile; - - - -class PageDisplay : public ary::Display, - public csv::ConstProcessor<ary::cpp::Class>, - public csv::ConstProcessor<ary::cpp::Enum>, - public csv::ConstProcessor<ary::cpp::Typedef>, - public HtmlDisplay_Impl -{ - public: - PageDisplay( - OuputPage_Environment & - io_rEnv ); - virtual ~PageDisplay(); - - void Create_OverviewFile(); - void Create_AllDefsFile(); - void Create_IndexFiles(); - void Create_HelpFile(); - - void Create_NamespaceFile(); - - void Setup_OperationsFile_for( - const ary::loc::File & - i_rFile ); - void Setup_OperationsFile_for( - const ary::cpp::Class & - i_rClass ); - void Setup_DataFile_for( - const ary::loc::File & - i_rFile ); - void Setup_DataFile_for( - const ary::cpp::Class & - i_rClass ); - /// Used with Setup_OperatonsFile_for(). - void Create_File(); - - - // Interface for Children of SpecializedPageMaker: - void Write_NameChainWithLinks( - const ary::cpp::CodeEntity & - i_rCe ); - - // Necessary, to call Process() on this class. - using csv::ConstProcessor<ary::cpp::Class>::Process; - using csv::ConstProcessor<ary::cpp::Enum>::Process; - using csv::ConstProcessor<ary::cpp::Typedef>::Process; - - private: - // Interface csv::ConstProcessor<>: - virtual void do_Process( - const ary::cpp::Class & - i_rData ); - virtual void do_Process( - const ary::cpp::Enum & - i_rData ); - virtual void do_Process( - const ary::cpp::Typedef & - i_rData ); - // Interface ary::cpp::Display: - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - // Locals - HtmlDocuFile & File() { return *pMyFile; } - void RecursiveWrite_NamespaceLink( - const ary::cpp::Namespace * - i_pNamespace ); - void RecursiveWrite_ClassLink( - const ary::cpp::Class * - i_pClass, - uintt i_nLevelDistance ); - void SetupFileOnCurEnv( - const char * i_sTitle ); - void Write_NavBar_Enum( - const ary::cpp::Enum & - i_rData ); - void Write_TopArea_Enum( - const ary::cpp::Enum & - i_rData ); - void Write_DocuArea_Enum( - const ary::cpp::Enum & - i_rData ); - void Write_ChildList_Enum( - const ary::cpp::Enum & - i_rData ); - void Write_NavBar_Typedef( - const ary::cpp::Typedef & - i_rData ); - void Write_TopArea_Typedef( - const ary::cpp::Typedef & - i_rData ); - void Write_DocuArea_Typedef( - const ary::cpp::Typedef & - i_rData ); - void Create_IndexFile( - int i_nLetter ); - - // DATA - Dyn<HtmlDocuFile> pMyFile; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_aldef.cxx b/autodoc/source/display/html/pm_aldef.cxx deleted file mode 100644 index 7669ba4ef3a7..000000000000 --- a/autodoc/source/display/html/pm_aldef.cxx +++ /dev/null @@ -1,248 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_aldef.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/cpp/cp_def.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/loc/locp_le.hxx> -#include <ary/getncast.hxx> -#include "hd_docu.hxx" -#include "html_kit.hxx" -#include "navibar.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" -#include "strconst.hxx" - - -using namespace csi; -using csi::html::HorizontalLine; -using csi::html::Link; -using csi::html::Label; -using csi::html::AlignAttr; - - - -PageMaker_AllDefs::PageMaker_AllDefs( PageDisplay & io_rPage ) - : SpecializedPageMaker(io_rPage), - pDocuDisplay( new Docu_Display(io_rPage.Env()) ), - pNavi(0) -{ -} - -PageMaker_AllDefs::~PageMaker_AllDefs() -{ -} - -void -PageMaker_AllDefs::MakePage() -{ - pNavi = new NavigationBar( Env(), NavigationBar::LOC_AllDefs ); - Write_NavBar(); - - Write_TopArea(); - - Write_DefinesList(); - Write_MacrosList(); - - pNavi->Write_SubRows(); -} - -void -PageMaker_AllDefs::Write_NavBar() -{ - pNavi->MakeSubRow( "" ); - pNavi->AddItem( "Defines", "defines", true ); - pNavi->AddItem( "Macros", "macros", true ); - pNavi->Write( CurOut() ); - CurOut() << new HorizontalLine; -} - -void -PageMaker_AllDefs::Write_TopArea() -{ - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), "Defines and ", "Macros" ); - - CurOut() << new HorizontalLine; -} - -void -PageMaker_AllDefs::Write_DocuArea() -{ - // Not needed. -} - -void -PageMaker_AllDefs::Write_DefinesList() -{ - CurOut() - << new html::LineBreak - << new html::LineBreak - >> *new xml::AnElement("div") - << new html::ClassAttr("define") - >> *new html::Label("defines") - >> *new html::Headline(3) - << "Defines"; - - ary::cpp::DefsResultList - aAllDefines = Env().Gate().Defs().AllDefines(); - ary::cpp::DefsConstIterator - itEnd = aAllDefines.end(); - - if (aAllDefines.begin() != itEnd) - { - for ( ary::cpp::DefsConstIterator it = aAllDefines.begin(); - it != itEnd; - ++it ) - { - Write_Define(*it); - } - } - else - { - CurOut() << "None."; - } - - CurOut() << new HorizontalLine; -} - -void -PageMaker_AllDefs::Write_MacrosList() - -{ - CurOut() - << new html::LineBreak - << new html::LineBreak - >> *new xml::AnElement("div") - << new html::ClassAttr("define") - >> *new html::Label("macros") - >> *new html::Headline(3) - << "Macros"; - - ary::cpp::DefsResultList - aAllMacros = Env().Gate().Defs().AllMacros(); - ary::cpp::DefsConstIterator - itEnd = aAllMacros.end(); - - if (aAllMacros.begin() != itEnd) - { - for ( ary::cpp::DefsConstIterator it = aAllMacros.begin(); - it != itEnd; - ++it ) - { - Write_Macro(*it); - } - } - else - { - CurOut() << "None."; - } - - CurOut() << new HorizontalLine; -} - -void -PageMaker_AllDefs::Write_Define(De_id i_nId) -{ - csv_assert( ary::is_type<ary::cpp::Define>( Env().Gate().Defs().Find_Def(i_nId)) ); - const ary::cpp::Define & - rDef = static_cast< const ary::cpp::Define& >( Env().Gate().Defs().Find_Def(i_nId) ); - - CurOut() << new html::HorizontalLine; - - adcdisp::ExplanationList aDocu( CurOut(), true ); - aDocu.AddEntry(); - - aDocu.Term() - >> *new html::Label( rDef.LocalName() ) - << " "; - aDocu.Term() - << rDef.LocalName(); - - Write_DefsDocu( aDocu.Def(), rDef ); -} - -void -PageMaker_AllDefs::Write_Macro(De_id i_nId) -{ - csv_assert( Env().Gate().Defs().Find_Def(i_nId).AryClass() == ary::cpp::Macro::class_id ); - const ary::cpp::Macro & - rDef = static_cast< const ary::cpp::Macro& >( Env().Gate().Defs().Find_Def(i_nId) ); - - CurOut() << new html::HorizontalLine; - - adcdisp::ExplanationList aDocu( CurOut(), true ); - aDocu.AddEntry(); - - aDocu.Term() - >> *new html::Label( rDef.LocalName() ) - << " "; - aDocu.Term() - << rDef.LocalName() - << "("; - WriteOut_TokenList( aDocu.Term(), rDef.Params(), ", " ); - aDocu.Term() - << ")"; - - Write_DefsDocu( aDocu.Def(), rDef ); -} - - -void -PageMaker_AllDefs::Write_DefsDocu( csi::xml::Element & o_rOut, - const ary::cpp::DefineEntity & i_rTextReplacement ) -{ - if ( i_rTextReplacement.DefinitionText().size() > 0 ) - { - EraseLeadingSpace( *const_cast< String * >( - &(*i_rTextReplacement.DefinitionText().begin()) - ) ); - } - - adcdisp::ExplanationTable rList( o_rOut ); - - rList.AddEntry( "Defined As" ); - WriteOut_TokenList( rList.Def(), i_rTextReplacement.DefinitionText(), " " ); - - const ary::loc::File & - rFile = Env().Gate().Locations().Find_File( i_rTextReplacement.Location() ); - rList.AddEntry( "In File" ); - rList.Def() << rFile.LocalName(); - - ShowDocu_On( o_rOut, *pDocuDisplay, i_rTextReplacement ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_aldef.hxx b/autodoc/source/display/html/pm_aldef.hxx deleted file mode 100644 index 8f01cbb7a28a..000000000000 --- a/autodoc/source/display/html/pm_aldef.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PM_ALDEF_HXX -#define ADC_DISPLAY_HTML_PM_ALDEF_HXX - -// BASE CLASSES -#include "pm_base.hxx" -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> -using ary::cpp::De_id; - -namespace ary -{ - namespace cpp - { - class DefineEntity; - } -} - -class Docu_Display; -class NavigationBar; - - - - - -class PageMaker_AllDefs : public SpecializedPageMaker -{ - public: - PageMaker_AllDefs( - PageDisplay & io_rPage ); - - virtual ~PageMaker_AllDefs(); - - virtual void MakePage(); - - private: - typedef std::vector<De_id> List_Ids; - typedef List_Ids::const_iterator ids_iterator; - - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_DocuArea(); - virtual void Write_DefinesList(); - virtual void Write_MacrosList(); - void Write_Define( - De_id i_nId ); - void Write_Macro( - De_id i_nId ); - void Write_DefsDocu( - csi::xml::Element & o_rOut, - const ary::cpp::DefineEntity & - i_rTextReplacement ); - - // DATA - Dyn<Docu_Display> pDocuDisplay; - Dyn<NavigationBar> pNavi; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_base.cxx b/autodoc/source/display/html/pm_base.cxx deleted file mode 100644 index ae045bd3b1de..000000000000 --- a/autodoc/source/display/html/pm_base.cxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_base.hxx" - - -// NOT FULLY DEFINED SERVICES -#include "opageenv.hxx" -#include "pagemake.hxx" - - -//******************** SpecializedPageMaker *********************// - -SpecializedPageMaker::SpecializedPageMaker( PageDisplay & io_rPage ) - : pEnv( &io_rPage.Env() ), - pCurOut( &io_rPage.CurOut() ), - pPage( &io_rPage ) -{ -} - -void -SpecializedPageMaker::Write_NavBar() -{ - // Dummy -} - -void -SpecializedPageMaker::Write_TopArea() -{ - // Dummy -} - -void -SpecializedPageMaker::Write_DocuArea() -{ - // Dummy -} - -//void -//SpecializedPageMaker::Write_ChildList( ary::SlotAccessId , -// const char * , -// const char * ) -//{ -// // Dummy -//} - -csi::xml::Element & -SpecializedPageMaker::CurOut() -{ - return Page().CurOut(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_base.hxx b/autodoc/source/display/html/pm_base.hxx deleted file mode 100644 index 2afa8a77cdfc..000000000000 --- a/autodoc/source/display/html/pm_base.hxx +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_PM_BASE_HXX -#define ADC_DISPLAY_PM_BASE_HXX - - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS -#include "hdimpl.hxx" - - - -class OuputPage_Environment; -namespace csi -{ - namespace xml - { - class Element; - } -} -class PageDisplay; - - -/** Interface for making a special kind of HTML-Page -*/ -class SpecializedPageMaker -{ - public: - virtual ~SpecializedPageMaker() {} - - virtual void MakePage() = 0; - - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_DocuArea(); -// virtual void Write_ChildList( -// ary::SlotAccessId i_nSlot, -// const char * i_nListTitle, -// const char * i_nLabel ); - - protected: - SpecializedPageMaker( - PageDisplay & io_rPage ); - - OuputPage_Environment & - Env() const { return *pEnv; } - csi::xml::Element & CurOut(); - PageDisplay & Page() { return *pPage; } - - private: - OuputPage_Environment * - pEnv; - csi::xml::Element * pCurOut; - PageDisplay * pPage; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_class.cxx b/autodoc/source/display/html/pm_class.cxx deleted file mode 100644 index 16c4fe9a9aea..000000000000 --- a/autodoc/source/display/html/pm_class.cxx +++ /dev/null @@ -1,813 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_class.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/loc/locp_le.hxx> -#include <ary/getncast.hxx> -#include "hd_chlst.hxx" -#include "hd_docu.hxx" -#include "hdimpl.hxx" -#include "html_kit.hxx" -#include "navibar.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" -#include "strconst.hxx" - -using namespace adcdisp; - -using namespace csi; -using csi::html::HorizontalLine; -using csi::html::LineBreak; -using csi::html::Link; -using csi::html::Table; -using csi::html::TableRow; -using csi::html::TableCell; - -using ary::cpp::CesConstIterator; -using ary::doc::OldCppDocu; - -const char * const C_sTitle_InnerClasses = "Classes"; -const char * const C_sTitle_InnerStructs = "Structs"; -const char * const C_sTitle_InnerUnions = "Unions"; -const char * const C_sTitle_Methods = "Methods"; -const char * const C_sTitle_StaticMethods = "Static Methods"; -const char * const C_sTitle_Data = "Data"; -const char * const C_sTitle_StaticData = "Static Data"; - -const char * const C_sLabel_StaticOperations = "static_ops"; -const char * const C_sLabel_StaticVariables = "static_vars"; - -const char * const C_sTitlePublic = "Public Members"; -const char * const C_sTitleProtected = "Protected Members"; -const char * const C_sTitlePrivate = "Private Members"; -const char * const C_sMprTitles[3] = { C_sTitlePublic, - C_sTitleProtected, - C_sTitlePrivate - }; -const char * const C_sSummaryTitlePublic = "Public Members"; -const char * const C_sSummaryTitleProtected = "Protected Members"; -const char * const C_sSummaryTitlePrivate = "Private Members"; -const char * - C_sMprSummaryTitles[3] = - { C_sSummaryTitlePublic, C_sSummaryTitleProtected, C_sSummaryTitlePrivate }; -const char * - C_sMprPrefixes[3] = - { "publ_", "prot_", "priv_" }; -const char * - C_sSummaryItems_Titles[PageMaker_Class::cl_MAX] = - { C_sTitle_InnerClasses, C_sTitle_InnerStructs, C_sTitle_InnerUnions, - C_sTitle_Enums, C_sTitle_Typedefs, - C_sTitle_Methods, C_sTitle_StaticMethods, C_sTitle_Data, C_sTitle_StaticData }; -const char * - C_sSummaryItems_Labels[PageMaker_Class::cl_MAX] = - { C_sLabel_Classes, C_sLabel_Structs, C_sLabel_Unions, - C_sLabel_Enums, C_sLabel_Typedefs, - C_sLabel_Operations, C_sLabel_StaticOperations, - C_sLabel_Variables, C_sLabel_StaticVariables }; - - -const ary::cpp::E_Protection - aProt[3] = { ary::cpp::PROTECT_public, - ary::cpp::PROTECT_protected, - ary::cpp::PROTECT_private }; - - -PageMaker_Class::PageMaker_Class( PageDisplay & io_rPage, - const ary::cpp::Class & i_rClass ) - : SpecializedPageMaker(io_rPage), - pMe( &i_rClass ), - pChildDisplay( new ChildList_Display(io_rPage.Env(), i_rClass) ), - pNavi(0) - // pProtectionArea, - // bChildLists_Exist -{ - int i_max = 3 * cl_MAX; - for (int i = 0; i < i_max; i++) - { - bChildLists_Exist[i] = false; - } // end for -} - -PageMaker_Class::~PageMaker_Class() -{ -} - -void -PageMaker_Class::MakePage() -{ - pNavi = new NavigationBar( Env(), Me() ); - - Write_NavBar(); - Write_TopArea(); - Write_DocuArea(); - Write_ChildLists(); - - pNavi->Write_SubRows(); - pNavi = 0; -} - -void -PageMaker_Class::Write_NavBar() -{ - NavigationBar aNavi( Env(), Me() ); - pNavi->Write( CurOut() ); - CurOut() << new HorizontalLine; -} - -inline bool -IsInterface(const ary::doc::Documentation & i_doc) -{ - const OldCppDocu * - doc = Get_CppDocu(i_doc); - return doc != 0 - ? doc->IsInterface() - : false; -} - -void -PageMaker_Class::Write_TopArea() -{ - TemplateClause fTemplateClause; - PageTitle_Std fTitle; - - Page().Write_NameChainWithLinks( Me() ); - - fTemplateClause( CurOut(), Me().TemplateParameters() ); - fTitle( CurOut(), Get_ClassTypeKey(Me()), Me().LocalName() ); - - CurOut() << new HorizontalLine; - - Write_BaseHierarchy(); - Write_DerivedList(); - - CurOut() << new LineBreak; - - adcdisp::FlagTable - aFlags( CurOut(), 4 ); - aFlags.SetColumn( 0, "virtual", - Me().Virtuality() != ary::cpp::VIRTUAL_none ); - aFlags.SetColumn( 1, "abstract", - Me().Virtuality() == ary::cpp::VIRTUAL_abstract ); - aFlags.SetColumn( 2, "interface", - IsInterface(Me().Docu()) - OR Me().Virtuality() == ary::cpp::VIRTUAL_abstract ); - aFlags.SetColumn( 3, "template", - Me().TemplateParameters().size() > 0 ); -} - -void -PageMaker_Class::Write_DocuArea() -{ - Docu_Display aDocuShow( Env() ); - - aDocuShow.Assign_Out(CurOut()); - Me().Accept( aDocuShow ); - aDocuShow.Unassign_Out(); - - ary::loc::File & - rFile = Env().Gate().Locations().Find_File( Me().Location() ); - - adcdisp::ExplanationList - aFileText( CurOut() ); - aFileText.AddEntry("File"); - aFileText.Def() - << rFile.LocalName(); - - CurOut() << new HorizontalLine; -} - -void -PageMaker_Class::Write_ChildLists() -{ - int i_max = 3 * cl_MAX; - for (int i = 0; i < i_max; i++) - { - bChildLists_Exist[i] = false; - } // end for - - csi::html::DefListDefinition & - rPublic = Setup_MemberSegment_Out( mp_public ); - csi::html::DefListDefinition & - rProtected = Setup_MemberSegment_Out( mp_protected ); - csi::html::DefListDefinition & - rPrivate = Setup_MemberSegment_Out( mp_private ); - - Write_ChildList_forClasses( rPublic, - rProtected, - rPrivate, - C_sLabel_Classes, - C_sTitle_InnerClasses, - ary::cpp::CK_class ); - Write_ChildList_forClasses( rPublic, - rProtected, - rPrivate, - C_sLabel_Structs, - C_sTitle_InnerStructs, - ary::cpp::CK_struct ); - Write_ChildList_forClasses( rPublic, - rProtected, - rPrivate, - C_sLabel_Unions, - C_sTitle_InnerUnions, - ary::cpp::CK_union ); - - Write_ChildList( ary::cpp::Class::SLOT_Enums, - cl_Enums, - C_sLabel_Enums, - C_sTitle_Enums, - rPublic, - rProtected, - rPrivate ); - Write_ChildList( ary::cpp::Class::SLOT_Typedefs, - cl_Typedefs, - C_sLabel_Typedefs, - C_sTitle_Typedefs, - rPublic, - rProtected, - rPrivate ); - - Write_ChildList( ary::cpp::Class::SLOT_Operations, - cl_Operations, - C_sLabel_Operations, - C_sTitle_Methods, - rPublic, - rProtected, - rPrivate ); - Write_ChildList( ary::cpp::Class::SLOT_StaticOperations, - cl_StaticOperations, - C_sLabel_StaticOperations, - C_sTitle_StaticMethods, - rPublic, - rProtected, - rPrivate ); - Write_ChildList( ary::cpp::Class::SLOT_Data, - cl_Data, - C_sLabel_Variables, - C_sTitle_Data, - rPublic, - rProtected, - rPrivate ); - Write_ChildList( ary::cpp::Class::SLOT_StaticData, - cl_StaticData, - C_sLabel_StaticVariables, - C_sTitle_StaticData, - rPublic, - rProtected, - rPrivate ); - - Create_NaviSubRow(mp_public); // Also puts out or deletes pPublic. - Create_NaviSubRow(mp_protected); // Also puts out or deletes pProtected. - Create_NaviSubRow(mp_private); // Also puts out or deletes pPrivate. -} - -void -PageMaker_Class::Write_ChildList( ary::SlotAccessId i_nSlot, - E_ChidList i_eChildListIndex, - const char * i_sLabel, - const char * i_sListTitle, - csi::xml::Element & o_rPublic, - csi::xml::Element & o_rProtected, - csi::xml::Element & o_rPrivate ) - -{ - bool bPublic_ChildrenExist = false; - bool bProtected_ChildrenExist = false; - bool bPrivate_ChildrenExist = false; - - ChildList_Display::Area_Result - aPublic_Result( bPublic_ChildrenExist, o_rPublic ); - ChildList_Display::Area_Result - aProtected_Result( bProtected_ChildrenExist, o_rProtected ); - ChildList_Display::Area_Result - aPrivate_Result( bPrivate_ChildrenExist, o_rPrivate ); - - String sLabelPublic = ChildListLabel(i_sLabel, mp_public); - String sLabelProtected = ChildListLabel(i_sLabel, mp_protected); - String sLabelPrivate = ChildListLabel(i_sLabel, mp_private); - - pChildDisplay->Run_Members( aPublic_Result, - aProtected_Result, - aPrivate_Result, - i_nSlot, - sLabelPublic, - sLabelProtected, - sLabelPrivate, - i_sListTitle ); - - bChildLists_Exist[i_eChildListIndex] - = bPublic_ChildrenExist; - bChildLists_Exist[i_eChildListIndex + cl_MAX] - = bProtected_ChildrenExist; - bChildLists_Exist[i_eChildListIndex + 2*cl_MAX] - = bPrivate_ChildrenExist; - - if (bPublic_ChildrenExist) - o_rPublic << new HorizontalLine; - if (bProtected_ChildrenExist) - o_rProtected << new HorizontalLine; - if (bPrivate_ChildrenExist) - o_rPrivate << new HorizontalLine; -} - -void -PageMaker_Class::Write_ChildList_forClasses( csi::xml::Element & o_rPublic, - csi::xml::Element & o_rProtected, - csi::xml::Element & o_rPrivate, - const char * i_sLabel, - const char * i_sListTitle, - ary::cpp::E_ClassKey i_eFilter ) -{ - bool bPublic_ChildrenExist = false; - bool bProtected_ChildrenExist = false; - bool bPrivate_ChildrenExist = false; - - ChildList_Display::Area_Result - aPublic_Result( bPublic_ChildrenExist, o_rPublic ); - ChildList_Display::Area_Result - aProtected_Result( bProtected_ChildrenExist, o_rProtected ); - ChildList_Display::Area_Result - aPrivate_Result( bPrivate_ChildrenExist, o_rPrivate ); - - String sLabelPublic = ChildListLabel(i_sLabel, mp_public); - String sLabelProtected = ChildListLabel(i_sLabel, mp_protected); - String sLabelPrivate = ChildListLabel(i_sLabel, mp_private); - - pChildDisplay->Run_MemberClasses( aPublic_Result, - aProtected_Result, - aPrivate_Result, - ary::cpp::Class::SLOT_NestedClasses, - sLabelPublic, - sLabelProtected, - sLabelPrivate, - i_sListTitle, - i_eFilter ); - - bChildLists_Exist[int(cl_NestedClasses)+int(i_eFilter)] - = bPublic_ChildrenExist; - bChildLists_Exist[int(cl_NestedClasses)+int(i_eFilter) + cl_MAX] - = bProtected_ChildrenExist; - bChildLists_Exist[int(cl_NestedClasses)+int(i_eFilter) + 2*cl_MAX] - = bPrivate_ChildrenExist; - - if (bPublic_ChildrenExist) - o_rPublic << new HorizontalLine; - if (bProtected_ChildrenExist) - o_rProtected << new HorizontalLine; - if (bPrivate_ChildrenExist) - o_rPrivate << new HorizontalLine; -} - -const char * -PageMaker_Class::ChildListLabel( const char * i_sLabel, E_MemberProtection i_eMpr ) -{ - static char sResult[100]; - strcpy( sResult, C_sMprPrefixes[i_eMpr] ); // SAFE STRCPY (#100211# - checked) - strcat( sResult, i_sLabel ); // SAFE STRCAT (#100211# - checked) - return sResult; -} - -csi::html::DefListDefinition & -PageMaker_Class::Setup_MemberSegment_Out( E_MemberProtection i_eMpr ) -{ - html::DefList * pDefList = new html::DefList; - pProtectionArea[i_eMpr] = pDefList; - - pDefList->AddTerm() - << new html::ClassAttr("subtitle") - >> *new html::Label( C_sMprPrefixes[i_eMpr] ) - >> *new html::Headline(3) - << C_sMprTitles[i_eMpr]; - return pDefList->AddDefinition(); -} - -void -PageMaker_Class::Create_NaviSubRow( E_MemberProtection i_eMpr ) -{ - int nIndexAdd = int(cl_MAX) * int(i_eMpr); - - bool bEmpty = true; - for (int e = 0; e < cl_MAX; e++) - { - if ( bChildLists_Exist[e + nIndexAdd] ) - { - bEmpty = false; - break; - } - } // end for - if (bEmpty) - { - pProtectionArea[i_eMpr] = 0; - return; - } - else // - { - CurOut() << pProtectionArea[i_eMpr].Release(); - } // endif - - pNavi->MakeSubRow( C_sMprSummaryTitles[i_eMpr] ); - for (int i = 0; i < cl_MAX; i++) - { - pNavi->AddItem( C_sSummaryItems_Titles[i], - ChildListLabel( C_sSummaryItems_Labels[i], i_eMpr ), - bChildLists_Exist[i+nIndexAdd] ); - } // end for -} - -void -PageMaker_Class::Write_DerivedList() -{ - adcdisp::ExplanationList - aDeriveds( CurOut() ); - aDeriveds.AddEntry( "Known Derived Classes" ); - - if ( Me().KnownDerivatives().Size() == 0 ) - { - aDeriveds.Def() << "None."; - return; - } - - typedef ary::List_Rid RidList; - - CesConstIterator - itEnd = Me().KnownDerivatives().End(); - for ( CesConstIterator it = Me().KnownDerivatives().Begin(); - it != itEnd; - ++it ) - { - const ary::cpp::CodeEntity & - rCe = Env().Gate().Ces().Find_Ce(*it); - - aDeriveds.Def() - >> *new html::Link( Link2Ce(Env(),rCe) ) - << rCe.LocalName(); - aDeriveds.Def() - << new html::LineBreak; - } // end for -} - - -// ============== Creating a classes base hierarchy ====================== // - - -namespace -{ - -class Node -{ - public: - Node( - const ary::cpp::Class & - i_rClass, - ary::cpp::Type_id i_nClassType, - const ary::cpp::Gate & - i_rGate, - intt i_nPositionOffset, - Node * io_pDerived = 0, - ary::cpp::E_Protection - i_eProtection = ary::cpp::PROTECT_global, - bool i_bVirtual = false ); - ~Node(); - - void FillPositionList( - std::vector< const Node* > & - o_rPositionList ) const; - void Write2( - csi::xml::Element & o_rOut, - const OuputPage_Environment & - i_rEnv ) const; - - intt BaseCount() const { return nCountBases; } - intt Position() const { return nPosition; } - int Xpos() const { return 3*Position(); } - int Ypos() const { return 2*Position(); } - const Node * Derived() const { return pDerived; } - - private: - typedef std::vector< DYN Node* > BaseList; - - void IncrBaseCount(); - - // DATA - BaseList aBases; - intt nCountBases; - Node * pDerived; - - String sName; - const ary::cpp::Class * - pClass; - ary::cpp::Type_id nClassType; - ary::cpp::E_Protection - eProtection; - bool bVirtual; - - intt nPosition; -}; - -void WriteNodeHierarchy( - csi::xml::Element & o_rOut, - const OuputPage_Environment & - i_rEnv, - const Node & i_rClass ); - -const ary::cpp::Class * - HereFind_Class( - const ary::cpp::Gate & - i_rGate, - ary::cpp::Type_id i_nReferingTypeId ); - -} // anonymous namespace - -void -PageMaker_Class::Write_BaseHierarchy() -{ - adcdisp::ExplanationList aBases( CurOut() ); - aBases.AddEntry( "Base Classes" ); - - if ( Me().BaseClasses().size() == 0 ) - { - aBases.Def() << "None."; - } - else - { - Dyn< Node > - pBaseGraph( new Node(Me(), ary::cpp::Type_id(0), Env().Gate(), 0) ); - WriteNodeHierarchy( aBases.Def(), Env(), *pBaseGraph ); - } -} - - - -namespace -{ - -void -WriteNodeHierarchy( csi::xml::Element & o_rOut, - const OuputPage_Environment & i_rEnv, - const Node & i_rClass ) -{ - typedef const Node * NodePtr; - typedef std::vector<NodePtr> NodeList; - - NodeList aPositionList; - intt nSize = i_rClass.Position()+1; - aPositionList.reserve(nSize); - i_rClass.FillPositionList( aPositionList ); - - xml::Element & - rPre = o_rOut - >> *new xml::AnElement("pre") - << new html::StyleAttr("font-family:monospace;"); - - for ( int line = 0; line < nSize; ++line ) - { - char * sLine1 = new char[2 + line*5]; - char * sLine2 = new char[1 + line*5]; - *sLine1 = '\0'; - *sLine2 = '\0'; - - bool bBaseForThisLineReached = false; - for ( int col = 0; col < line; ++col ) - { - intt nDerivPos = aPositionList[col]->Derived()->Position(); - - if ( nDerivPos >= line ) - strcat(sLine1, " | "); - else - strcat(sLine1, " "); - - if ( nDerivPos > line ) - { - strcat(sLine2, " | "); - } - else if ( nDerivPos == line ) - { - if (bBaseForThisLineReached) - strcat(sLine2, "--+--"); - else - { - bBaseForThisLineReached = true; - strcat(sLine2, " +--"); - } - } - else // nDerivPos < line - { - if (bBaseForThisLineReached) - strcat(sLine2, "-----"); - else - strcat(sLine2, " "); - } - } // end for (col) - strcat(sLine1,"\n"); - rPre - << sLine1 - << sLine2; - delete [] sLine1; - delete [] sLine2; - - aPositionList[line]->Write2( rPre, i_rEnv ); - rPre << "\n"; - } // end for (line) -} - -const ary::cpp::Class * -HereFind_Class( const ary::cpp::Gate & i_rGate, - ary::cpp::Type_id i_nReferingTypeId ) -{ - const ary::cpp::CodeEntity * - pCe = i_rGate.Search_RelatedCe( i_nReferingTypeId ); - - if ( pCe != 0 ) - { - if ( ary::is_type<ary::cpp::Class>(*pCe) ) - { - return ary::ary_cast<ary::cpp::Class>(pCe); - } - else if ( ary::is_type<ary::cpp::Typedef>(*pCe) ) - { - const ary::cpp::Typedef * - pTydef = ary::ary_cast<ary::cpp::Typedef>(pCe); - return HereFind_Class( i_rGate, pTydef->DescribingType() ); - } - } - - static const ary::cpp::Class aClassNull_( "Base class not found", - ary::cpp::Ce_id(0), - ary::cpp::PROTECT_global, - ary::loc::Le_id(0), - ary::cpp::CK_class ); - return &aClassNull_; -} - - - -//********************* Node ***********************// - -Node::Node( const ary::cpp::Class & i_rClass, - ary::cpp::Type_id i_nClassType, - const ary::cpp::Gate & i_rGate, - intt i_nPositionOffset, - Node * io_pDerived, - ary::cpp::E_Protection i_eProtection, - bool i_bVirtual ) - : aBases(), - nCountBases(0), - pDerived(io_pDerived), - pClass(&i_rClass), - nClassType(i_nClassType), - eProtection(i_eProtection), - bVirtual(i_bVirtual), - nPosition(i_nPositionOffset) -{ - typedef ary::cpp::List_Bases BList; - - for ( BList::const_iterator it = i_rClass.BaseClasses().begin(); - it != i_rClass.BaseClasses().end(); - ++it ) - { - const ary::cpp::Class * - pBaseClass = HereFind_Class( i_rGate, (*it).nId ); - - Dyn<Node> - pBase( new Node(*pBaseClass, - (*it).nId, - i_rGate, - nPosition, - this, - (*it).eProtection, - (*it).eVirtuality == ary::cpp::VIRTUAL_virtual) - ); - IncrBaseCount(); - nPosition += pBase->BaseCount() + 1; - aBases.push_back( pBase.Release() ); - } // end for -} - -Node::~Node() -{ -} - -void -Node::FillPositionList( std::vector< const Node* > & o_rPositionList ) const -{ - for ( BaseList::const_iterator it = aBases.begin(); - it != aBases.end(); - ++it ) - { - (*it)->FillPositionList(o_rPositionList); - } // end for - - if( o_rPositionList.size() != uintt(Position()) ) - { - csv_assert(false); - } - o_rPositionList.push_back(this); -} - -void -Node::Write2( csi::xml::Element & o_rOut, - const OuputPage_Environment & i_rEnv ) const -{ - if ( Derived() == 0 ) - { - o_rOut - >> *new xml::AnElement("span") - << new html::ClassAttr("btself") - << pClass->LocalName(); - return; - } - - csi::xml::Element * - pOut = & ( o_rOut >> *new xml::AnElement("span") ); - switch ( eProtection ) - { - case ary::cpp::PROTECT_public: - if (bVirtual) - *pOut << new html::ClassAttr("btvpubl"); - else - *pOut << new html::ClassAttr("btpubl"); - break; - case ary::cpp::PROTECT_protected: - if (bVirtual) - *pOut << new html::ClassAttr("btvprot"); - else - *pOut << new html::ClassAttr("btprot"); - break; - case ary::cpp::PROTECT_private: - if (bVirtual) - *pOut << new html::ClassAttr("btvpriv"); - else - *pOut << new html::ClassAttr("btpriv"); - break; - default: // do nothing. - ; - } // end switch - - csi::xml::Element & rOut = *pOut; - - Get_LinkedTypeText( rOut, i_rEnv, nClassType, false ); - rOut << " ("; - if ( bVirtual ) - rOut << "virtual "; - switch ( eProtection ) - { - case ary::cpp::PROTECT_public: - rOut << "public)"; - break; - case ary::cpp::PROTECT_protected: - rOut << "protected)"; - break; - case ary::cpp::PROTECT_private: - rOut << "private)"; - break; - default: // do nothing. - ; - } // end switch -} - -void -Node::IncrBaseCount() -{ - ++nCountBases; - if (pDerived != 0) - pDerived->IncrBaseCount(); -} - - -} // anonymous namespace - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_class.hxx b/autodoc/source/display/html/pm_class.hxx deleted file mode 100644 index 71d9f604c602..000000000000 --- a/autodoc/source/display/html/pm_class.hxx +++ /dev/null @@ -1,133 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PM_CLASS_HXX -#define ADC_DISPLAY_HTML_PM_CLASS_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "pm_base.hxx" - // COMPONENTS - // PARAMETERS - - -namespace ary -{ - namespace cpp - { - class Class; - } -} - -class ChildList_Display; -class NavigationBar; - - -class PageMaker_Class : public SpecializedPageMaker -{ - public: - enum E_ChidList - { - cl_NestedClasses = 0, - cl_NestedStructs, - cl_NestedUnions, - cl_Enums, - cl_Typedefs, - cl_Operations, - cl_StaticOperations, - cl_Data, - cl_StaticData, - cl_MAX - }; - PageMaker_Class( - PageDisplay & io_rPage, - const ary::cpp::Class & - i_rClass ); - - virtual ~PageMaker_Class(); - - virtual void MakePage(); - - private: - enum E_MemberProtection { mp_public = 0, mp_protected, mp_private, mp_MAX }; - - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_DocuArea(); - virtual void Write_ChildList( - ary::SlotAccessId i_nSlot, - E_ChidList i_eChildListIndex, - const char * i_sLabel, - const char * i_sListTitle, - csi::xml::Element & o_rPublic, - csi::xml::Element & o_rProtected, - csi::xml::Element & o_rPrivate ); - void Write_ChildList_forClasses( - csi::xml::Element & o_rPublic, - csi::xml::Element & o_rProtected, - csi::xml::Element & o_rPrivate, - const char * i_sLabel, - const char * i_sListTitle, - ary::cpp::E_ClassKey - i_eFilter ); - void Write_ChildLists(); - static const char * ChildListLabel( - const char * i_sLabel, - E_MemberProtection i_eMpr ); - csi::html::DefListDefinition & - Setup_MemberSegment_Out( - E_MemberProtection i_eMpr ); - void Create_NaviSubRow( - E_MemberProtection i_eMpr ); - void Write_BaseHierarchy(); - void Write_DerivedList(); - - const ary::cpp::Class & - Me() const { return *pMe; } - // DATA - const ary::cpp::Class * - pMe; - Dyn<ChildList_Display> - pChildDisplay; - Dyn<NavigationBar> pNavi; - - Dyn<csi::xml::Element> - pProtectionArea[mp_MAX]; - - bool bChildLists_Exist[3*cl_MAX]; -}; - - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_help.cxx b/autodoc/source/display/html/pm_help.cxx deleted file mode 100644 index 80a832e05510..000000000000 --- a/autodoc/source/display/html/pm_help.cxx +++ /dev/null @@ -1,234 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_help.hxx" - - -// NOT FULLY DEFINED SERVICES -#include "navibar.hxx" -#include "html_kit.hxx" - -using namespace csi; -using csi::html::Paragraph; -using csi::html::HorizontalLine; -using csi::html::Headline; -using csi::html::AlignAttr; -using csi::html::Bold; -using csi::html::Link; -using csi::html::Sbr; -using csi::html::LineBreak; -using csi::xml::Element; - - - -const String C_sHelpText( -"<div style=\"font-size:10pt;\">\n" -"<h3 class=\"help\">The Main Navigationbar</h3>\n" -"<p> On top of every page, there is a main navigationbar on a lightly coloured\n" -"background with the following items:<br>\n" -"</p>\n" -"<ul>\n" -" <li>Overview - the start page for this document,</li>\n" -" <li>Namespace - the lowest/deepest namespace of the language objects, described\n" -"on the current page,</li>\n" -" <li>Class - the class, struct or union, which owns the methods or data,\n" -"described on the current page,</li>\n" -" <li>Index - the global alphabetical index,</li>\n" -" <li>Help - this page.</li>\n" -"</ul>\n" -" Each item in this bar can be in three different states:<br>\n" -"<ul>\n" -" <li>Link - the item is valid and you can get there,</li>\n" -" <li>Simple - the item does not apply (if this page described a namespace,\n" -"there would be no owning class),</li>\n" -" <li>Reversed (white text on dark background) - this is the current page.</li>\n" -"</ul>\n" -"<h3 class=\"help\">Lower Navigationbars</h3>\n" -" Just below the main navigation bar, there may be zero to three lower navigationbars\n" -"on white background.<br>\n" -"<br>\n" -"Their items are dependent of the context, but they always link to paragraphs\n" -"on the same, current page.<br>\n" -"Available items appear as links. Unavailable items appear as simple text.<br>\n" -"\n" -"\n" -"<h3 class=\"help\">Namespace Descriptions</h3>\n" -"\n" -"<dl>\n" -"<dt class=\"simple\">Parent namespaces</dt>\n" -" </dl>\n" -" <dl>\n" -" <dd>In front of the namespace title, there is a linked list of the parent\n" -"namespaces. The global namespace is linked with the first \"::\",</dd>\n" -" <dd>the namespaces between the global and the current one are linked\n" -"by their names.<br>\n" -" </dd>\n" -" <dd> </dd>\n" -" </dl>\n" -"After the title, the documentation of the namespace follows (which is often\n" -"missing, because the namespace name may be self-explaining).<br>\n" -" <br>\n" -"Below are the lists of nested namspaces and of the classes, functions and\n" -"other program objects, that belong within this namespace.<br>\n" -"Each of this lists is accessible by the lower navigationbar on top of the\n" -"page.<br>\n" -"\n" -"<h3 class=\"help\">Class Descriptions</h3>\n" -"\n" -" <dl>\n" -" <dt class=\"simple\">Parent namespaces and classes</dt>\n" -" </dl>\n" -" <dl>\n" -" <dd>In front of the class title, there is a linked list of the\n" -"parent namespaces or classes. The global namespace is linked with the first\n" -"\"::\",</dd>\n" -" <dd>the namespaces between the global and the current one are\n" -"linked by their names. Enclosing classes are linked as well, but appear in\n" -"<span class=\"nqclass\">green</font> color. </dd>\n" -" <dd>So you see on the first glance, that this is a parent class,\n" -"no namespace.<br>\n" -" </dd>\n" -" <dd><br>\n" -" </dd>\n" -" </dl>\n" -"After the title, the bases and derivations of the class follow. <br>\n" -"Base classes are displayed as a graph. The text around base classes can appear\n" -"in different styles and colours:<br>\n" -"<ul>\n" -" <li><span class=\"btpubl\">Green</span> - public inherited,</li>\n" -" <li><span class=\"btprot\">Orange</span> - protected inherited,</li>\n" -" <li><span class=\"btpriv\">Red</span> - private inherited,</li>\n" -" <li><span class=\"btvpubl\">italic</span> - a (public inherited) virtual base class.</li>\n" -" <li><span class=\"btself\">Bold and black</span> without a link - the placeholder\n" -"for the currently described class.<br>\n" -" </li>\n" -"</ul>\n" -"There may be many derivations of a class, but only the known ones, which\n" -"are described within this document also, are listed.<br>\n" -"<br>\n" -"Below the derivations is a little table with some properties of the class:<br>\n" -"<ul>\n" -" <li>virtual - the class owns at least one virtual method,</li>\n" -" <li>abstract - the class owns at least one abstract method,</li>\n" -" <li>interface - the class may or may be not abstract,\n" -"but it is intended by its author to be used only as an interface and never\n" -"to be instantiated,</li>\n" -" <li>template - the class is a template class.<br>\n" -" </li>\n" -"</ul>\n" -"Next comes further documentation of the class itself.<br>\n" -"<br>\n" -"Lastly, there are listed all members of the class. Public members come first,\n" -"then protected, at last the private ones.<br>\n" -"All member lists are accessible by the lower navigationbars on top of the\n" -"page.<br>\n" -"\n" -"<h3 class=\"help\">Macros and Defines</h3>\n" -"In C++ and C, there are also program constructs, which do not fit into the\n" -"name tree, because they are #define'd: macros and definitions.<br>\n" -"These may be documented, too. Those comments you find <a href=\"def-all.html\">\n" -"here</a>\n" -" or from the \"Overview\" start page.\n" -"<h3 class=\"help\">Links to IDL-Documentation</h3>\n" -"Some types, which appear as links, may refer to classes, enums or other\n" -"entities, which are direct mappings of UNO-IDL entities.<br>\n" -"In those cases the link doesn't lead to the C++ class, enum or whatever,\n" -"but to the description of the IDL entity.\n" -"<h3 class=\"help\">How to Link From Extern Documents</h3>\n" -"If you wish to write an extern html document, which links to types within\n" -"this C++ reference, you can do so, if your links have the following format:<br>\n" -"<br>\n" -"<RootDirectory-of-this-Document>/names/<Namespace-A>/<Namespace-XY>/EnclosingClass-nn>/<TypePreFix>-<MyTypeName>.html<br>\n" -"<br>\n" -"<TypePreFix> can have the following values:<br>\n" -"<ul>\n" -"<li>c - class, struct or union</li>\n" -"<li>e - enum</li>\n" -"<li>t - typedef</li>\n" -"</ul>\n" -"If this document would be located in directory \"/doc/cpp/ref\", examples\n" -"would look like this:<br>\n" -"<br>\n" -"<a href=\"/doc/cpp/ref/names/osl/c-File.html\">class File</a><br>\n" -"<a href=\"/doc/cpp/ref/names/osl/FileBase/e-RC.html\">enum FileBase::RC</a><br>\n" -"<a href=\"/doc/cpp/ref/names/t-oslMutex.html\">typedef oslMutex</a><br>\n" -"<br>\n" -"Namespaces are described in the index.html file within their directory:<br>\n" -"<br>\n" -"<a href=\"/doc/cpp/ref/names/cppu/index.html\">namespace cppu</a><br>\n" -"</div>" ); - - - - -PageMaker_Help::PageMaker_Help( PageDisplay & io_rPage ) - : SpecializedPageMaker(io_rPage), - pNavi(0) -{ -} - -PageMaker_Help::~PageMaker_Help() -{ -} - -void -PageMaker_Help::MakePage() -{ - pNavi = new NavigationBar( Env(), NavigationBar::LOC_Help ); - Write_NavBar(); - - Write_TopArea(); - Write_DocuArea(); -} - -void -PageMaker_Help::Write_NavBar() -{ - pNavi->Write( CurOut() ); - CurOut() << new HorizontalLine; -} - -void -PageMaker_Help::Write_TopArea() -{ - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), "How to Use", "this Reference Document" ); - - CurOut() << new xml::XmlCode(C_sHelpText); -} - -void -PageMaker_Help::Write_DocuArea() -{ - CurOut() << new HorizontalLine; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_help.hxx b/autodoc/source/display/html/pm_help.hxx deleted file mode 100644 index e40f2f3f503b..000000000000 --- a/autodoc/source/display/html/pm_help.hxx +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PM_HELP_HXX -#define ADC_DISPLAY_HTML_PM_HELP_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "pm_base.hxx" - // COMPONENTS - // PARAMETERS - -class NavigationBar; - -class PageMaker_Help : public SpecializedPageMaker -{ - public: - PageMaker_Help( - PageDisplay & io_rPage ); - - virtual ~PageMaker_Help(); - - virtual void MakePage(); - - private: - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_DocuArea(); - - // DATA - Dyn<NavigationBar> pNavi; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_index.cxx b/autodoc/source/display/html/pm_index.cxx deleted file mode 100644 index 122329e9dcdb..000000000000 --- a/autodoc/source/display/html/pm_index.cxx +++ /dev/null @@ -1,320 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_index.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/cp_ce.hxx> -#include "aryattrs.hxx" -#include "hd_chlst.hxx" -#include "hd_docu.hxx" -#include "html_kit.hxx" -#include "navibar.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" -#include "strconst.hxx" - -using namespace csi; -using ary::GlobalId; - - - - -namespace -{ - -inline const char * -F_CK_Text( ary::cpp::E_ClassKey i_eCK ) -{ - switch (i_eCK) - { - case ary::cpp::CK_class: return "class"; - case ary::cpp::CK_struct: return "struct"; - case ary::cpp::CK_union: return "union"; - } // end switch - return ""; -} - -template <class CE> -inline const char * -F_OwnerType( const CE & i_rData, const ary::cpp::Gate & i_rGate ) -{ - if ( i_rData.Protection() == ary::cpp::PROTECT_global ) - return "namespace "; - - const ary::cpp::Class * - pClass = dynamic_cast< const ary::cpp::Class* >( - i_rGate.Ces().Search_Ce(i_rData.Owner()) ); - if (pClass != 0) - return F_CK_Text(pClass->ClassKey()); - return ""; -} - -} // anonymous namespace - -PageMaker_Index::PageMaker_Index( PageDisplay & io_rPage, - char i_c ) - : SpecializedPageMaker(io_rPage), - pNavi(0), - c(i_c), - pCurIndex(0) -{ -} - -PageMaker_Index::~PageMaker_Index() -{ -} - -void -PageMaker_Index::MakePage() -{ - pNavi = new NavigationBar( Env(), NavigationBar::LOC_Index ); - - Write_NavBar(); - Write_TopArea(); - Write_CompleteAlphabeticalList(); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Namespace & i_rData ) -{ - Write_CeIndexEntry( i_rData, "namespace", "namespace" ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Class & i_rData ) -{ - // KORR_FUTURE - // Really throw out all anonymous classes from index? - - if ( strncmp(i_rData.LocalName().c_str()+1,"_Anonymous",10) == 0 ) - return; - - Write_CeIndexEntry( i_rData, - F_CK_Text(i_rData.ClassKey()), - F_OwnerType(i_rData, Env().Gate()) ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Enum & i_rData ) -{ - Write_CeIndexEntry( i_rData, "enum", F_OwnerType(i_rData, Env().Gate()) ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Typedef & i_rData ) -{ - Write_CeIndexEntry( i_rData, "typedef", F_OwnerType(i_rData, Env().Gate()) ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Function & i_rData ) -{ - Write_CeIndexEntry( i_rData, "function", F_OwnerType(i_rData, Env().Gate()) ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Variable & i_rData ) -{ - Write_CeIndexEntry( i_rData, "variable", F_OwnerType(i_rData, Env().Gate()) ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::EnumValue & i_rData ) -{ - Write_CeIndexEntry( i_rData, "enum value", "" ); -} - -void -PageMaker_Index::do_Process( const ary::cpp::Define & i_rData ) -{ - String sFileName; - - pCurIndex->AddEntry(); - pCurIndex->Term() - >> *new html::Link( Link2CppDefinition(Env(), i_rData) ) - >> *new html::Bold - << i_rData.LocalName(); - pCurIndex->Term() - << " - define"; - pCurIndex->Def() << " "; -} - -void -PageMaker_Index::do_Process( const ary::cpp::Macro & i_rData ) -{ - String sFileName; - - pCurIndex->AddEntry(); - pCurIndex->Term() - >> *new html::Link( Link2CppDefinition(Env(), i_rData) ) - >> *new html::Bold - << i_rData.LocalName(); - pCurIndex->Term() - << " - macro"; - - pCurIndex->Def() << " "; -} - -const ary::cpp::Gate * -PageMaker_Index::inq_Get_ReFinder() const -{ - return &Env().Gate(); -} - -void -PageMaker_Index::Write_NavBar() -{ - pNavi->Write( CurOut() ); - CurOut() << new html::HorizontalLine; -} - - -const String C_sAlphabet( -"<a href=\"index-1.html\"><B>A</B></a> <a href=\"index-2.html\"><B>B</B></a> <a href=\"index-3.html\"><B>C</B></a> <a href=\"index-4.html\"><B>D</B></a> <a href=\"index-5.html\"><B>E</B></a> " -"<a href=\"index-6.html\"><B>F</B></a> <a href=\"index-7.html\"><B>G</B></a> <a href=\"index-8.html\"><B>H</B></a> <a href=\"index-9.html\"><B>I</B></a> <a href=\"index-10.html\"><B>J</B></a> " -"<a href=\"index-11.html\"><B>K</B></a> <a href=\"index-12.html\"><B>L</B></a> <a href=\"index-13.html\"><B>M</B></a> <a href=\"index-14.html\"><B>N</B></a> <a href=\"index-15.html\"><B>O</B></a> " -"<a href=\"index-16.html\"><B>P</B></a> <a href=\"index-17.html\"><B>Q</B></a> <a href=\"index-18.html\"><B>R</B></a> <a href=\"index-19.html\"><B>S</B></a> <a href=\"index-20.html\"><B>T</B></a> " -"<a href=\"index-21.html\"><B>U</B></a> <a href=\"index-22.html\"><B>V</B></a> <a href=\"index-23.html\"><B>W</B></a> <a href=\"index-24.html\"><B>X</B></a> <a href=\"index-25.html\"><B>Y</B></a> " -"<a href=\"index-26.html\"><B>Z</B></a> <a href=\"index-27.html\"><B>_</B></a>" ); - -void -PageMaker_Index::Write_TopArea() -{ - String sLetter(&c, 1); - - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), "Global Index", sLetter ); - - CurOut() >>* new html::Paragraph - << new html::AlignAttr("center") - << new xml::XmlCode(C_sAlphabet); - - CurOut() << new html::HorizontalLine; -} - -void -PageMaker_Index::Write_CompleteAlphabeticalList() -{ - std::vector<GlobalId> - aThisPagesItems; - const ary::cpp::Gate & - rGate = Env().Gate(); - - static char sBegin[] = "X"; - static char sEnd[] = "Y"; - - switch ( c ) - { - case 'Z': sBegin[0] = 'Z'; - sEnd[0] = '_'; - break; - case '_': sBegin[0] = '_'; - sEnd[0] = '0'; - break; - default: sBegin[0] = c; - sEnd[0] = char(c + 1); - break; - } - - uintt - nCount = rGate.Get_AlphabeticalList( aThisPagesItems, sBegin, sEnd ); - if (nCount > 0 ) - { - adcdisp::IndexList - aIndex(CurOut()); - pCurIndex = &aIndex; - - std::vector<GlobalId>::const_iterator itEnd = aThisPagesItems.end(); - for ( std::vector<GlobalId>::const_iterator it = aThisPagesItems.begin(); - it != itEnd; - ++it ) - { - const ary::Entity * - pRe = rGate.Search_Entity( *it ); - if ( pRe != 0 ) - pRe->Accept(*this); - } // end for - - pCurIndex = 0; - } // endif (nCount > 0) -} - -void -PageMaker_Index::Write_CeIndexEntry( const ary::cpp::CodeEntity & - i_rCe, - const char * i_sType, - const char * i_sOwnerType ) -{ - if ( Ce_IsInternal(i_rCe) ) - return; - - static csv::StreamStr aQualification(500); - - const ary::cpp::CodeEntity & - rOwner = Env().Gate().Ces().Find_Ce(i_rCe.Owner()); - - pCurIndex->AddEntry(); - pCurIndex->Term() - >> *new html::Link( Link2Ce(Env(), i_rCe) ) - >> *new html::Bold - << i_rCe.LocalName(); - pCurIndex->Term() - << " - " - << i_sType; - - if ( rOwner.Owner().IsValid() ) - { - aQualification.seekp(0); - Env().Gate().Ces().Get_QualifiedName( aQualification, - rOwner.LocalName(), - rOwner.Owner() ); - - pCurIndex->Term() - << " in " - << i_sOwnerType - << " " - << aQualification.c_str(); - } - - pCurIndex->Def() << " "; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_index.hxx b/autodoc/source/display/html/pm_index.hxx deleted file mode 100644 index e558292e3eae..000000000000 --- a/autodoc/source/display/html/pm_index.hxx +++ /dev/null @@ -1,138 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PM_INDEX_HXX -#define ADC_DISPLAY_HTML_PM_INDEX_HXX - -// BASE CLASSES -#include "pm_base.hxx" -#include <ary/ary_disp.hxx> -#include <cosv/tpl/processor.hxx> -// USED SERVICES -namespace adcdisp -{ - class IndexList; -} -namespace ary -{ - namespace cpp - { - class Namespace; - class Class; - class Enum; - class Typedef; - class Function; - class Variable; - class EnumValue; - class Define; - class Macro; - } -} - -class NavigationBar; - - - - -class PageMaker_Index : public SpecializedPageMaker, - public ary::Display, - public csv::ConstProcessor<ary::cpp::Namespace>, - public csv::ConstProcessor<ary::cpp::Class>, - public csv::ConstProcessor<ary::cpp::Enum>, - public csv::ConstProcessor<ary::cpp::Typedef>, - public csv::ConstProcessor<ary::cpp::Function>, - public csv::ConstProcessor<ary::cpp::Variable>, - public csv::ConstProcessor<ary::cpp::EnumValue>, - public csv::ConstProcessor<ary::cpp::Define>, - public csv::ConstProcessor<ary::cpp::Macro> -{ - public: - PageMaker_Index( - PageDisplay & io_rPage, - char i_c ); - - virtual ~PageMaker_Index(); - - virtual void MakePage(); - - private: - // Interface csv::ConstProcessor<> - virtual void do_Process( - const ary::cpp::Namespace & - i_rData ); - virtual void do_Process( - const ary::cpp::Class & - i_rData ); - virtual void do_Process( - const ary::cpp::Enum & - i_rData ); - virtual void do_Process( - const ary::cpp::Typedef & - i_rData ); - virtual void do_Process( - const ary::cpp::Function & - i_rData ); - virtual void do_Process( - const ary::cpp::Variable & - i_rData ); - virtual void do_Process( - const ary::cpp::EnumValue & - i_rData ); - virtual void do_Process( - const ary::cpp::Define & - i_rData ); - virtual void do_Process( - const ary::cpp::Macro & - i_rData ); - // Interface ary::cpp::Display: - virtual const ary::cpp::Gate * - inq_Get_ReFinder() const; - // Locals - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_CompleteAlphabeticalList(); - - void Write_CeIndexEntry( - const ary::cpp::CodeEntity & - i_rCe, - const char * i_sType, - const char * i_sOwnerType ); - - // DATA - Dyn<NavigationBar> pNavi; - char c; - adcdisp::IndexList * - pCurIndex; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_namsp.cxx b/autodoc/source/display/html/pm_namsp.cxx deleted file mode 100644 index ea07fc77a45c..000000000000 --- a/autodoc/source/display/html/pm_namsp.cxx +++ /dev/null @@ -1,176 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_namsp.hxx" - - -// NOT FULLY DEFINED SERVICES -#include "hd_chlst.hxx" -#include "hd_docu.hxx" -#include "html_kit.hxx" -#include "navibar.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" -#include "strconst.hxx" - - -using namespace csi; -using csi::html::HorizontalLine; -using csi::html::Link; -using csi::html::Table; -using csi::html::TableRow; -using csi::html::TableCell; - - - -PageMaker_Namespace::PageMaker_Namespace( PageDisplay & io_rPage ) - : SpecializedPageMaker(io_rPage), - pMe( io_rPage.Env().CurNamespace() ), - pChildDisplay( new ChildList_Display(io_rPage.Env()) ), - pNavi(0) -{ - csv_assert( pMe != 0 ); -} - -PageMaker_Namespace::~PageMaker_Namespace() -{ -} - -void -PageMaker_Namespace::MakePage() -{ - pNavi = new NavigationBar( Env(), Me() ); - - Write_NavBar(); - Write_TopArea(); - Write_DocuArea(); - - pNavi->MakeSubRow(""); - Write_ChildList( ary::cpp::Namespace::SLOT_SubNamespaces, C_sTitle_SubNamespaces, C_sLabel_SubNamespaces ); - - Write_ChildLists_forClasses( C_sTitle_Classes, - C_sLabel_Classes, - ary::cpp::CK_class ); - Write_ChildLists_forClasses( C_sTitle_Structs, - C_sLabel_Structs, - ary::cpp::CK_struct ); - Write_ChildLists_forClasses( C_sTitle_Unions, - C_sLabel_Unions, - ary::cpp::CK_union ); - - Write_ChildList( ary::cpp::Namespace::SLOT_Enums, C_sTitle_Enums, C_sLabel_Enums ); - Write_ChildList( ary::cpp::Namespace::SLOT_Typedefs, C_sTitle_Typedefs, C_sLabel_Typedefs ); - Write_ChildList( ary::cpp::Namespace::SLOT_Operations, C_sTitle_Operations, C_sLabel_Operations ); - Write_ChildList( ary::cpp::Namespace::SLOT_Constants, C_sTitle_Constants, C_sLabel_Constants ); - Write_ChildList( ary::cpp::Namespace::SLOT_Variables, C_sTitle_Variables, C_sLabel_Variables ); - - pNavi->Write_SubRows(); -} - -void -PageMaker_Namespace::Write_NavBar() -{ - pNavi->Write( CurOut() ); - CurOut() << new HorizontalLine; -} - -void -PageMaker_Namespace::Write_TopArea() -{ - Page().Write_NameChainWithLinks( Me() ); - - adcdisp::PageTitle_Std fTitle; - xml::Element & rH3 = fTitle( CurOut() ); - if ( Env().CurNamespace()->Owner().IsValid() ) - { - rH3 << C_sHFTypeTitle_Namespace - << " " - << Env().CurNamespace()->LocalName(); - } - else - { - rH3 << C_sHFTitle_GlobalNamespaceCpp; - } - CurOut() << new HorizontalLine; -} - -void -PageMaker_Namespace::Write_DocuArea() -{ - Docu_Display aDocuShow( Env() ); - - aDocuShow.Assign_Out(CurOut()); - aDocuShow.Process(Me().Docu()); - aDocuShow.Unassign_Out(); - - CurOut() << new HorizontalLine; -} - -void -PageMaker_Namespace::Write_ChildList( ary::SlotAccessId i_nSlot, - const char * i_sListTitle, - const char * i_sLabel ) - -{ - bool bChildrenExist = false; - ChildList_Display::Area_Result - aResult( bChildrenExist, CurOut() ); - - pChildDisplay->Run_Simple( aResult, - i_nSlot, - i_sLabel, - i_sListTitle ); - - pNavi->AddItem(i_sListTitle, i_sLabel, bChildrenExist); - if (bChildrenExist) - CurOut() << new HorizontalLine; -} - -void -PageMaker_Namespace::Write_ChildLists_forClasses( const char * i_sListTitle, - const char * i_sLabel, - ary::cpp::E_ClassKey i_eFilter ) - -{ - bool bChildrenExist = false; - ChildList_Display::Area_Result - aResult( bChildrenExist, CurOut() ); - - pChildDisplay->Run_GlobalClasses( aResult, - ary::cpp::Namespace::SLOT_Classes, - i_sLabel, - i_sListTitle, - i_eFilter ); - - pNavi->AddItem(i_sListTitle, i_sLabel, bChildrenExist); - if ( bChildrenExist ) - CurOut() << new HorizontalLine; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_namsp.hxx b/autodoc/source/display/html/pm_namsp.hxx deleted file mode 100644 index c2f0535ad7d7..000000000000 --- a/autodoc/source/display/html/pm_namsp.hxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PM_NAMSP_HXX -#define ADC_DISPLAY_HTML_PM_NAMSP_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "pm_base.hxx" - // COMPONENTS - // PARAMETERS - -class ChildList_Display; -class NavigationBar; - -class PageMaker_Namespace : public SpecializedPageMaker -{ - public: - PageMaker_Namespace( - PageDisplay & io_rPage ); - - virtual ~PageMaker_Namespace(); - - virtual void MakePage(); - - private: - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_DocuArea(); - virtual void Write_ChildList( - ary::SlotAccessId i_nSlot, - const char * i_nListTitle, - const char * i_nLabel ); - void Write_ChildLists_forClasses( - const char * i_sListTitle, - const char * i_sLabel, - ary::cpp::E_ClassKey i_eFilter ); - - const ary::cpp::Namespace & - Me() const { return *pMe; } - // DATA - const ary::cpp::Namespace * - pMe; - Dyn<ChildList_Display> - pChildDisplay; - Dyn<NavigationBar> pNavi; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_start.cxx b/autodoc/source/display/html/pm_start.cxx deleted file mode 100644 index 335783b1b809..000000000000 --- a/autodoc/source/display/html/pm_start.cxx +++ /dev/null @@ -1,139 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pm_start.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/ary.hxx> -#include "hd_chlst.hxx" -#include "hd_docu.hxx" -#include "navibar.hxx" -#include "html_kit.hxx" -#include "opageenv.hxx" -#include "pagemake.hxx" -#include "strconst.hxx" - - -using namespace csi; -using csi::html::Paragraph; -using csi::html::HorizontalLine; -using csi::html::AlignAttr; -using csi::html::Bold; -using csi::html::Link; -using csi::html::Sbr; -using csi::html::LineBreak; - - - -PageMaker_Overview::PageMaker_Overview( PageDisplay & io_rPage ) - : SpecializedPageMaker(io_rPage), - pNavi(0) -{ -} - -PageMaker_Overview::~PageMaker_Overview() -{ -} - -void -PageMaker_Overview::MakePage() -{ - pNavi = new NavigationBar( Env(), NavigationBar::LOC_Overview ); - Write_NavBar(); - - Write_TopArea(); - Write_DocuArea(); -} - -void -PageMaker_Overview::Write_NavBar() -{ - pNavi->Write( CurOut() ); - CurOut() << new HorizontalLine; -} - -void -PageMaker_Overview::Write_TopArea() -{ - adcdisp::PageTitle_Std fTitle; - fTitle( CurOut(), Env().RepositoryTitle(), "" ); - - CurOut() - >> *new Paragraph - << new html::StyleAttr("font-size:14pt;") - << "This is a reference documentation for the C++ source code." - << new LineBreak - << new LineBreak - << "Points to start:"; - - html::SimpleList & - rList = *new html::SimpleList; - CurOut() >> rList; - - html::ListItem & rNamedObjsItem = - rList.AddItem(); - - StreamLock sNspDir(50); - rNamedObjsItem - << new html::StyleAttr("font-size:14pt;") - >> *new Link( sNspDir() << C_sDIR_NamespacesCpp - << "/" - << C_sHFN_Namespace - << c_str ) - >> *new Bold - << "Named Objects"; - rNamedObjsItem << " (classes, functions, namespaces, etc.)" - << new html::LineBreak; - rList.AddItem() - << new html::StyleAttr("font-size:14pt;") - >> *new Link( "def-all.html" ) - >> *new Bold - << "Defines and Macros" - << new html::LineBreak; - StreamLock sIndexDir(50); - rList.AddItem() - << new html::StyleAttr("font-size:14pt;") - >> *new Link( sIndexDir() << C_sDIR_Index - << "/index-1.html" - << c_str ) - >> *new Bold - << "Global Index" - << new html::LineBreak; -} - -void -PageMaker_Overview::Write_DocuArea() -{ - CurOut() << new HorizontalLine; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/pm_start.hxx b/autodoc/source/display/html/pm_start.hxx deleted file mode 100644 index 26614b33bc7d..000000000000 --- a/autodoc/source/display/html/pm_start.hxx +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PM_START_HXX -#define ADC_DISPLAY_HTML_PM_START_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "pm_base.hxx" - // COMPONENTS - // PARAMETERS - -class NavigationBar; - -class PageMaker_Overview : public SpecializedPageMaker -{ - public: - PageMaker_Overview( - PageDisplay & io_rPage ); - - virtual ~PageMaker_Overview(); - - virtual void MakePage(); - - private: - virtual void Write_NavBar(); - virtual void Write_TopArea(); - virtual void Write_DocuArea(); - - // DATA - Dyn<NavigationBar> pNavi; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/protarea.cxx b/autodoc/source/display/html/protarea.cxx deleted file mode 100644 index d581014eccac..000000000000 --- a/autodoc/source/display/html/protarea.cxx +++ /dev/null @@ -1,140 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "protarea.hxx" - - -// NOT FULLY DEFINED SERVICES -#include "hdimpl.hxx" - - -inline UINT8 -ProtectionArea::Index( ary::cpp::E_ClassKey i_eClassKey ) const -{ - return i_eClassKey == ary::cpp::CK_class - ? 0 - : i_eClassKey == ary::cpp::CK_struct - ? 1 - : 2; -} - - - -ProtectionArea::ProtectionArea( const char * i_sLabel, - const char * i_sTitle ) - : pSglTable( new S_Slot_Table(i_sTitle) ), - aClassesTables(), - sLabel(i_sLabel) -{ -} - -ProtectionArea::~ProtectionArea() -{ - -} - -csi::html::Table & -ProtectionArea::GetTable() -{ - csv_assert(pSglTable); - - return pSglTable->GetTable(); -} - -csi::html::Table & -ProtectionArea::GetTable( ary::cpp::E_ClassKey i_eClassKey ) -{ - csv_assert(aClassesTables[Index(i_eClassKey)]); - return aClassesTables[Index(i_eClassKey)]->GetTable(); -} - -DYN csi::html::Table * -ProtectionArea::ReleaseTable() -{ - csv_assert(pSglTable); - return pSglTable->ReleaseTable(); -} - -DYN csi::html::Table * -ProtectionArea::ReleaseTable( ary::cpp::E_ClassKey i_eClassKey ) -{ - csv_assert(aClassesTables[Index(i_eClassKey)]); - return aClassesTables[Index(i_eClassKey)]->ReleaseTable(); -} - -const char * -ProtectionArea::Label() const -{ - return sLabel; -} - - -bool -ProtectionArea::WasUsed_Area() const -{ - if ( pSglTable ) - { - return pSglTable->WasUsed(); - } - - typedef const Dyn<ProtectionArea::S_Slot_Table> cdyntab; - - // Workaround a maybe compiler bug in Solaris5-CC ? - // should normally work without the cast, - // because that is exactly the genuine type, given: - return static_cast< cdyntab& >(aClassesTables[0])->WasUsed() - OR static_cast< cdyntab& >(aClassesTables[1])->WasUsed() - OR static_cast< cdyntab& >(aClassesTables[2])->WasUsed(); -} - -//******************* S_Slot_Table **********************// - -ProtectionArea:: -S_Slot_Table::S_Slot_Table(const char * i_sTitle) - : sTableTitle(i_sTitle) -{ -} - -ProtectionArea:: -S_Slot_Table::~S_Slot_Table() -{ -} - -csi::html::Table & -ProtectionArea:: -S_Slot_Table::GetTable() -{ - return pTable - ? *pTable - : *( pTable = &Create_ChildListTable(sTableTitle) ); -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/protarea.hxx b/autodoc/source/display/html/protarea.hxx deleted file mode 100644 index 348afbe5ef78..000000000000 --- a/autodoc/source/display/html/protarea.hxx +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_PROTAREA_HXX -#define ADC_DISPLAY_HTML_PROTAREA_HXX - -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> - -namespace csi -{ -namespace html -{ - class Table; -} -} - - - - -class ProtectionArea -{ - public: - ProtectionArea( - const char * i_sLabel, - const char * i_sTitle ); - ~ProtectionArea(); - - csi::html::Table & GetTable(); - csi::html::Table & GetTable( - ary::cpp::E_ClassKey - i_eClassKey ); - DYN csi::html::Table * ReleaseTable(); - DYN csi::html::Table * ReleaseTable( - ary::cpp::E_ClassKey - i_eClassKey ); - const char * Label() const; - - int Size() const { return pSglTable ? 1 : 3; } - - bool WasUsed_Area() const; - private: - struct S_Slot_Table - { - const char * sTableTitle; - Dyn< csi::html::Table > - pTable; - - S_Slot_Table( - const char * i_sTitle ); - ~S_Slot_Table(); - csi::html::Table & GetTable(); - DYN csi::html::Table * - ReleaseTable() { return pTable.Release(); } - bool WasUsed() const { return pTable; } - }; - - UINT8 Index( - ary::cpp::E_ClassKey - i_eClassKey ) const; - // DATA - Dyn<S_Slot_Table> pSglTable; - Dyn<S_Slot_Table> aClassesTables[3]; - const char * sLabel; -}; - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/html/strconst.hxx b/autodoc/source/display/html/strconst.hxx deleted file mode 100644 index 0bddc803249d..000000000000 --- a/autodoc/source/display/html/strconst.hxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_STRCONST_HXX -#define ADC_DISPLAY_HTML_STRCONST_HXX - - -const char * const C_sDIR_NamespacesCpp = "names"; -const char * const C_sDIR_Index = "index-files"; // Convention recognised by Javadoc - -const char * const C_sPath_Index = "index-files/index-1.html"; // Convention recognised by Javadoc - -const char * const C_sHFN_Css = "cpp.css"; -const char * const C_sHFN_Overview = "index.html"; -const char * const C_sHFN_Help = "help.html"; - -const char * const C_sHFN_Namespace = "index.html"; - -const char * const C_sTitle_SubNamespaces = "Nested Namespaces"; -const char * const C_sTitle_Classes = "Classes"; -const char * const C_sTitle_Structs = "Structs"; -const char * const C_sTitle_Unions = "Unions"; -const char * const C_sTitle_Enums = "Enums"; -const char * const C_sTitle_Typedefs = "Typedefs"; -const char * const C_sTitle_Operations = "Functions"; -const char * const C_sTitle_Constants = "Constants"; -const char * const C_sTitle_Variables = "Variables"; -const char * const C_sTitle_EnumValues = "Values"; - -const char * const C_sLabel_SubNamespaces = "subnsps"; -const char * const C_sLabel_Classes = "classes"; -const char * const C_sLabel_Structs = "structs"; -const char * const C_sLabel_Unions = "unions"; -const char * const C_sLabel_Enums = "enums"; -const char * const C_sLabel_Typedefs = "tydefs"; -const char * const C_sLabel_Operations = "ops"; -const char * const C_sLabel_Constants = "consts"; -const char * const C_sLabel_Variables = "vars"; -const char * const C_sLabel_EnumValues = "envals"; - -const char * const C_sHFTitle_Overview = "C++ Reference Documentation Overview"; -const char * const C_sHFTitle_Help = "How This Reference Document Is Organized"; - -const char * const C_sHFTitle_GlobalNamespaceCpp = "Global Namespace in C++"; -const char * const C_sHFTypeTitle_Namespace = "namespace"; -const char * const C_sHFTypeTitle_Class = "class"; -const char * const C_sHFTypeTitle_Struct = "struct"; -const char * const C_sHFTypeTitle_Union = "union"; -const char * const C_sHFTypeTitle_Enum = "enum"; -const char * const C_sHFTypeTitle_Typedef = "typedef"; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/inc/html/chd_udk2.hxx b/autodoc/source/display/inc/html/chd_udk2.hxx deleted file mode 100644 index b8a17b999fb5..000000000000 --- a/autodoc/source/display/inc/html/chd_udk2.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DISPLAY_HTML_CHD_UDK2_HXX -#define ADC_DISPLAY_HTML_CHD_UDK2_HXX - -// BASE CLASSES -#include <autodoc/dsp_html_std.hxx> -// USED SERVICES -#include <cosv/ploc.hxx> - -namespace ary -{ -namespace cpp -{ - class Namespace; - class Gate; -} -} - -class OuputPage_Environment; - - - - -class CppHtmlDisplay_Udk2 : public autodoc::HtmlDisplay_UdkStd -{ - public: - CppHtmlDisplay_Udk2(); - ~CppHtmlDisplay_Udk2(); - private: - // Interface CppHtmlDisplay_UdkStd: - virtual void do_Run( - const char * i_sOutputDirectory, - const ary::cpp::Gate & - i_rAryGate, - const display::CorporateFrame & - i_rLayout ); - - // Local - void SetRunData( - const char * i_sOutputDirectory, - const ary::cpp::Gate & - i_rAryGate, - const display::CorporateFrame & - i_rLayout ); - - void Create_Css_File(); - void Create_Overview_File(); - void Create_Help_File(); - void Create_AllDefs_File(); - void CreateFiles_InSubTree_Namespaces(); - void CreateFiles_InSubTree_Index(); - - void RecursiveDisplay_Namespace( - const ary::cpp::Namespace & - i_rNsp ); - void DisplayFiles_InNamespace( - const ary::cpp::Namespace & - i_rNsp ); - const ary::cpp::Gate & - Gate() const; - // DATA - Dyn<OuputPage_Environment> - pCurPageEnv; -}; - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/display/kernel/displfct.cxx b/autodoc/source/display/kernel/displfct.cxx index 4e2973d4c359..00e4390c6f3f 100644 --- a/autodoc/source/display/kernel/displfct.cxx +++ b/autodoc/source/display/kernel/displfct.cxx @@ -31,7 +31,6 @@ // NOT FULLY DECLARED SERVICES -#include <html/chd_udk2.hxx> #include <idl/hi_display.hxx> #include <cfrstd.hxx> @@ -68,12 +67,6 @@ DisplayToolsFactory::~DisplayToolsFactory() // } -DYN autodoc::HtmlDisplay_UdkStd * -DisplayToolsFactory::Create_HtmlDisplay_UdkStd() const -{ - return new CppHtmlDisplay_Udk2; -} - DYN autodoc::HtmlDisplay_Idl_Ifc * DisplayToolsFactory::Create_HtmlDisplay_Idl() const { diff --git a/autodoc/source/display/kernel/displfct.hxx b/autodoc/source/display/kernel/displfct.hxx index cd0274078162..d77ef170df88 100644 --- a/autodoc/source/display/kernel/displfct.hxx +++ b/autodoc/source/display/kernel/displfct.hxx @@ -45,8 +45,6 @@ class DisplayToolsFactory : public autodoc::DisplayToolsFactory_Ifc // virtual DYN autodoc::TextDisplay_FunctionList_Ifc * // Create_TextDisplay_FunctionList() const; - virtual DYN autodoc::HtmlDisplay_UdkStd * - Create_HtmlDisplay_UdkStd() const; virtual DYN autodoc::HtmlDisplay_Idl_Ifc * Create_HtmlDisplay_Idl() const; diff --git a/autodoc/source/exes/adc_uni/adc_cl.cxx b/autodoc/source/exes/adc_uni/adc_cl.cxx index 45c98b7c7548..f2cc54fb157e 100644 --- a/autodoc/source/exes/adc_uni/adc_cl.cxx +++ b/autodoc/source/exes/adc_uni/adc_cl.cxx @@ -53,21 +53,12 @@ const char * const C_sUserGuide = " General Use of Autodoc\n" " ----------------------\n" "\n" -" Example for C++:\n" -"\n" -" -html <OutputDirectory> -name \"UDK 3.x anything\" -lg c++\n" -" -p <ProjName> <ProjectRootDirectory>\n" -" -t <SourceDir_relativeToProjectRoot>\n" -"\n" -" There may be several projects specified by -p.\n" -"\n" -"\n" " Example for IDL:\n" "\n" " -html <OutputDirectory> -name \"UDK 3.x anything\" -lg idl\n" " -t <SourceDir1> <SourceDir2>\n" "\n" -" For both languages, instead of or in addition to -t may be\n" +" Instead of or in addition to -t may be\n" " used -d (no subdirectories) or -f (just one file). There can\n" " be multiple arguments after each of these options (-t -d -f).\n" "\n" @@ -75,7 +66,7 @@ const char * const C_sUserGuide = " Replacing @since Tag Content\n" " ----------------------------\n" "\n" -" In both languages you can give a transformation file to replace\n" +" You can give a transformation file to replace\n" " entries in @since tags by different entries.\n" " This file is given by the option\n" " -sincefile <TransformationFilePath>\n" @@ -93,7 +84,6 @@ CommandLine::CommandLine() bInitOk(false), pCommand_CreateHtml(0), pReposy( & ary::Repository::Create_() ), - bCpp(false), bIdl(false) { csv_assert(pTheInstance_ == 0); diff --git a/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx b/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx index 8bdf6b01df1b..43c26ba14905 100644 --- a/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx +++ b/autodoc/source/exes/adc_uni/adc_cmd_parse.cxx @@ -46,10 +46,7 @@ namespace command namespace { -const String C_FileEnding_hxx("*.hxx"); -const String C_FileEnding_h("*.h"); const String C_FileEnding_idl("*.idl"); -const String C_FileEnding_java("*.java"); inline void CHECK( bool b, const String & text ) @@ -74,36 +71,22 @@ S_LanguageInfo::do_Init( opt_iter & it, { ++it; // Cur is language. CHECKOPT( it != itEnd AND - ( *it == C_arg_Cplusplus OR - *it == C_arg_Idl OR - *it == C_arg_Java ), + *it == C_arg_Idl, "language", C_opt_LangAll ); - if ( *it == C_arg_Cplusplus ) { - eLanguage = cpp; - } - else if ( *it == C_arg_Idl ) { + if ( *it == C_arg_Idl ) { eLanguage = idl; } - else if ( *it == C_arg_Java ) { - eLanguage = java; - } else { csv_assert(false); } switch (eLanguage) { - case cpp: aExtensions.push_back( C_FileEnding_hxx ); - aExtensions.push_back( C_FileEnding_h ); - CommandLine::Get_().Set_CppUsed(); - break; case idl: aExtensions.push_back( C_FileEnding_idl ); CommandLine::Get_().Set_IdlUsed(); break; - case java: aExtensions.push_back( C_FileEnding_java ); - break; default: // do nothing. ; } diff --git a/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx b/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx index dc78f3d4a2fd..761ae9c12c2a 100644 --- a/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx +++ b/autodoc/source/exes/adc_uni/adc_cmd_parse.hxx @@ -51,9 +51,7 @@ struct S_LanguageInfo : public Context enum E_ProgrammingLanguage { none, - cpp, - idl, - java + idl }; S_LanguageInfo() : eLanguage(none), diff --git a/autodoc/source/exes/adc_uni/adc_cmds.cxx b/autodoc/source/exes/adc_uni/adc_cmds.cxx index 93f54a52ce6a..2a69cee1fd4e 100644 --- a/autodoc/source/exes/adc_uni/adc_cmds.cxx +++ b/autodoc/source/exes/adc_uni/adc_cmds.cxx @@ -54,9 +54,7 @@ extern const String C_opt_ExtensionsAll("-extg"); extern const String C_opt_DevmanFile("-dvgfile"); extern const String C_opt_SinceFile("-sincefile"); -extern const String C_arg_Cplusplus("c++"); extern const String C_arg_Idl("idl"); -extern const String C_arg_Java("java"); extern const String C_opt_Project("-p"); //extern const String C_opt_Lang; @@ -118,8 +116,6 @@ CreateHtml::do_Run() const { if ( CommandLine::Get_().IdlUsed() ) run_Idl(); - if ( CommandLine::Get_().CppUsed() ) - run_Cpp(); return true; } @@ -155,25 +151,6 @@ CreateHtml::run_Idl() const drFrame ); } -void -CreateHtml::run_Cpp() const -{ - const ary::Repository & - rReposy = CommandLine::Get_().TheRepository(); - const ary::cpp::Gate & - rGate = rReposy.Gate_Cpp(); - - const DisplayToolsFactory_Ifc & - rToolsFactory = DisplayToolsFactory_Ifc::GetIt_(); - Dyn< autodoc::HtmlDisplay_UdkStd > - pDisplay( rToolsFactory.Create_HtmlDisplay_UdkStd() ); - - pDisplay->Run( sOutputRootDirectory, - rGate, - rToolsFactory.Create_StdFrame() ); -} - - } // namespace command } // namespace autodoc diff --git a/autodoc/source/exes/adc_uni/adc_cmds.hxx b/autodoc/source/exes/adc_uni/adc_cmds.hxx index 461bbcbbbeec..e76b59b17376 100644 --- a/autodoc/source/exes/adc_uni/adc_cmds.hxx +++ b/autodoc/source/exes/adc_uni/adc_cmds.hxx @@ -65,7 +65,6 @@ class CreateHtml : public Command virtual int inq_RunningRank() const; // Locals - void run_Cpp() const; void run_Idl() const; // DATA @@ -87,9 +86,7 @@ extern const String C_opt_ExtensionsAll; extern const String C_opt_DevmanFile; extern const String C_opt_SinceFile; -extern const String C_arg_Cplusplus; extern const String C_arg_Idl; -extern const String C_arg_Java; extern const String C_opt_Project; //extern const String C_opt_Lang; diff --git a/autodoc/source/exes/adc_uni/cmd_run.cxx b/autodoc/source/exes/adc_uni/cmd_run.cxx index 5b79de482114..9767ad7fd028 100644 --- a/autodoc/source/exes/adc_uni/cmd_run.cxx +++ b/autodoc/source/exes/adc_uni/cmd_run.cxx @@ -34,14 +34,12 @@ #include <cosv/file.hxx> #include <cosv/x.hxx> #include <ary/ary.hxx> -#include <ary/cpp/c_gate.hxx> #include <ary/idl/i_ce.hxx> #include <ary/idl/i_gate.hxx> #include <ary/idl/i_module.hxx> #include <ary/idl/ip_ce.hxx> #include <autodoc/filecoli.hxx> #include <autodoc/parsing.hxx> -#include <autodoc/prs_code.hxx> #include <autodoc/prs_docu.hxx> #include <parser/unoidl.hxx> #include <adc_cl.hxx> @@ -57,7 +55,6 @@ namespace run Parser::Parser( const Parse & i_command ) : rCommand(i_command), - pCppParser(), pCppDocuInterpreter(), pIdlParser() { @@ -84,7 +81,6 @@ Parser::Perform() pFiles( ParseToolsFactory().Create_FileCollector(6000) ); bool bIDL = false; - bool bCpp = false; command::Parse::ProjectIterator itEnd = rCommand.ProjectsEnd(); @@ -106,21 +102,12 @@ Parser::Perform() Get_IdlParser().Run(*pFiles); bIDL = true; } break; - case command::S_LanguageInfo::cpp: - { - Get_CppParser().Run( *pFiles ); - bCpp = true; - } break; default: Cerr() << "Project in yet unimplemented language skipped." << Endl(); } } // end for - if (bCpp) - { - rAry.Gate_Cpp().Calculate_AllSecondaryInformation(); - } if (bIDL) { rAry.Gate_Idl().Calculate_AllSecondaryInformation( @@ -157,14 +144,6 @@ Parser::Perform() } } -CodeParser_Ifc & -Parser::Get_CppParser() -{ - if ( NOT pCppParser ) - Create_CppParser(); - return *pCppParser; -} - IdlParser & Parser::Get_IdlParser() { @@ -174,16 +153,6 @@ Parser::Get_IdlParser() } void -Parser::Create_CppParser() -{ - pCppParser = ParseToolsFactory().Create_Parser_Cplusplus(); - pCppDocuInterpreter = ParseToolsFactory().Create_DocuParser_AutodocStyle(); - - pCppParser->Setup( CommandLine::Get_().TheRepository(), - *pCppDocuInterpreter ); -} - -void Parser::Create_IdlParser() { pIdlParser = new IdlParser(CommandLine::Get_().TheRepository()); diff --git a/autodoc/source/exes/adc_uni/cmd_run.hxx b/autodoc/source/exes/adc_uni/cmd_run.hxx index 523df6eb34dc..e674f9c7a043 100644 --- a/autodoc/source/exes/adc_uni/cmd_run.hxx +++ b/autodoc/source/exes/adc_uni/cmd_run.hxx @@ -46,7 +46,6 @@ namespace autodoc { class FileCollector_Ifc; class ParseToolsFactory_Ifc; - class CodeParser_Ifc; class DocumentationParser_Ifc; class IdlParser; @@ -73,9 +72,7 @@ class Parser private: // Locals - CodeParser_Ifc & Get_CppParser(); IdlParser & Get_IdlParser(); - void Create_CppParser(); void Create_IdlParser(); const ParseToolsFactory_Ifc & ParseToolsFactory(); @@ -86,7 +83,6 @@ class Parser // DATA const Parse & rCommand; - Dyn<CodeParser_Ifc> pCppParser; Dyn<DocumentationParser_Ifc> pCppDocuInterpreter; Dyn<IdlParser> pIdlParser; diff --git a/autodoc/source/exes/adc_uni/makefile.mk b/autodoc/source/exes/adc_uni/makefile.mk index bf959e72b0f1..0a973540eec1 100644 --- a/autodoc/source/exes/adc_uni/makefile.mk +++ b/autodoc/source/exes/adc_uni/makefile.mk @@ -58,10 +58,9 @@ OBJFILES= \ LIB1TARGET=$(LB)$/atdoc.lib LIB1FILES= \ $(LB)$/$(TARGET).lib $(LB)$/autodoc_tools.lib \ - $(LB)$/ary_kernel.lib $(LB)$/ary_cpp.lib $(LB)$/ary_idl.lib \ - $(LB)$/ary_info.lib $(LB)$/ary_loc.lib \ - $(LB)$/parser_kernel.lib $(LB)$/parser_tokens.lib $(LB)$/parser_semantic.lib \ - $(LB)$/parser_cpp.lib $(LB)$/parser_adoc.lib \ + $(LB)$/ary_kernel.lib $(LB)$/ary_idl.lib \ + $(LB)$/ary_info.lib \ + $(LB)$/parser_kernel.lib $(LB)$/parser_tokens.lib \ $(LB)$/display_kernel.lib $(LB)$/display_html.lib $(LB)$/display_idl.lib \ $(LB)$/display_toolkit.lib $(LB)$/parser2_tokens.lib \ $(LB)$/parser2_s2_luidl.lib $(LB)$/parser2_s2_dsapi.lib \ @@ -91,10 +90,9 @@ APP1LIBS=$(LB)$/atdoc.lib DEPOBJFILES += $(APP1OBJS) APP1DEPN= $(LB)$/$(TARGET).lib $(LB)$/autodoc_tools.lib \ - $(LB)$/ary_kernel.lib $(LB)$/ary_cpp.lib $(LB)$/ary_idl.lib \ - $(LB)$/ary_info.lib $(LB)$/ary_loc.lib \ - $(LB)$/parser_kernel.lib $(LB)$/parser_tokens.lib $(LB)$/parser_semantic.lib \ - $(LB)$/parser_cpp.lib $(LB)$/parser_adoc.lib \ + $(LB)$/ary_kernel.lib $(LB)$/ary_idl.lib \ + $(LB)$/ary_info.lib \ + $(LB)$/parser_kernel.lib $(LB)$/parser_tokens.lib \ $(LB)$/display_kernel.lib $(LB)$/display_html.lib $(LB)$/display_idl.lib \ $(LB)$/display_toolkit.lib $(LB)$/parser2_tokens.lib \ $(LB)$/parser2_s2_luidl.lib $(LB)$/parser2_s2_dsapi.lib \ diff --git a/autodoc/source/exes/adc_uni/spec-CommandLine.txt b/autodoc/source/exes/adc_uni/spec-CommandLine.txt index 756b3184a2e4..cf264777123c 100644 --- a/autodoc/source/exes/adc_uni/spec-CommandLine.txt +++ b/autodoc/source/exes/adc_uni/spec-CommandLine.txt @@ -14,7 +14,7 @@ autodoc [-v <level>] Directory where the output will be created. -lg <ProgrammingLanguage> - Allowed values: "c++" or "idl" + Allowed values: "idl" -extroot <externroot> Only together with "-lg idl" and -extnsp. @@ -77,7 +77,7 @@ autodoc [-v <level>] -idlref <IdlDocumentationRoot> <Namespace[,Namespace ...]> Gives the outputdirectory of an IDL documentation, where symbols not found in the currently parsed namespaces of C++ - or Java can be found. + can be found. @@ -157,8 +157,6 @@ Explanation of the Options Possible values are: - c++ - This parses all files with the endings .hxx and .h . idl This parses all files with the ending .idl . diff --git a/autodoc/source/inc/adc_cl.hxx b/autodoc/source/inc/adc_cl.hxx index 07fff0a9d940..6e5e740a44bc 100644 --- a/autodoc/source/inc/adc_cl.hxx +++ b/autodoc/source/inc/adc_cl.hxx @@ -84,7 +84,6 @@ class CommandLine : public csv::CommandLine_Ifc const String & ExternRoot() const { return sExternRoot; } const String & ExternNamespace() const { return sExternNamespace; } - bool CppUsed() const { return bCpp; } bool IdlUsed() const { return bIdl; } // ACCESS @@ -98,7 +97,6 @@ class CommandLine : public csv::CommandLine_Ifc { sExternNamespace = i_s; } ary::Repository & TheRepository() const { csv_assert(pReposy != 0); return *pReposy; } - void Set_CppUsed() { bCpp = true; } void Set_IdlUsed() { bIdl = true; } private: @@ -157,7 +155,6 @@ class CommandLine : public csv::CommandLine_Ifc mutable Dyn<ary::Repository> pReposy; - bool bCpp; bool bIdl; static CommandLine * diff --git a/autodoc/source/inc/prprpr.hxx b/autodoc/source/inc/prprpr.hxx deleted file mode 100644 index eafc28fff86f..000000000000 --- a/autodoc/source/inc/prprpr.hxx +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ARY_CPP_PRPRPR_HXX // PRePRocessorPRocessing -#define ARY_CPP_PRPRPR_HXX - - - -// Implemented in autodoc/source/parser/cpp/defdescr.cxx . - -bool CheckForOperator( - bool & o_bStringify, - bool & o_bConcatenate, - const String & i_sTextItem ); -void Do_bConcatenate( - csv::StreamStr & o_rText, - bool & io_bConcatenate ); -void Do_bStringify_begin( - csv::StreamStr & o_rText, - bool i_bStringify ); -void Do_bStringify_end( - csv::StreamStr & o_rText, - bool & io_bStringify ); -bool HandleOperatorsBeforeTextItem( /// @return true, if text item is done here - csv::StreamStr & o_rText, - bool & io_bStringify, - bool & io_bConcatenate, - const String & i_sTextItem ); - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/a_rdocu.cxx b/autodoc/source/parser/adoc/a_rdocu.cxx deleted file mode 100644 index 212541a2f535..000000000000 --- a/autodoc/source/parser/adoc/a_rdocu.cxx +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/a_rdocu.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <adoc/docu_pe.hxx> -#include <adoc/adoc_tok.hxx> -#include <ary/doc/d_oldcppdocu.hxx> -#include <doc_deal.hxx> - - - -namespace adoc -{ - - -DocuExplorer::DocuExplorer() - : pDocuDistributor(0), - pPE(new Adoc_PE), - bIsPassedFirstDocu(false) -{ -} - -DocuExplorer::~DocuExplorer() -{ -} - -void -DocuExplorer::StartNewFile( DocuDealer & o_rDocuDistributor ) -{ - pDocuDistributor = &o_rDocuDistributor; - bIsPassedFirstDocu = false; -} - - -void -DocuExplorer::Process_Token( DYN adoc::Token & let_drToken ) -{ - csv_assert(pDocuDistributor != 0); - - let_drToken.Trigger(*pPE); - if ( pPE->IsComplete() ) - { - ary::doc::OldCppDocu * - pDocu = pPE->ReleaseJustParsedDocu(); - if ( pDocu != 0 ) - { - if (bIsPassedFirstDocu) - pDocuDistributor->TakeDocu( *pDocu ); - else - { - delete pDocu; - bIsPassedFirstDocu = true; - } - } - } - - delete &let_drToken; -} - - -} // namespace adoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/adoc_tok.cxx b/autodoc/source/parser/adoc/adoc_tok.cxx deleted file mode 100644 index 4a63c2d0dc8f..000000000000 --- a/autodoc/source/parser/adoc/adoc_tok.cxx +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/adoc_tok.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <adoc/atokdeal.hxx> -#include <../cpp/c_dealer.hxx> - - -namespace adoc { - -void -Token::DealOut( ::TokenDealer & o_rDealer ) -{ - o_rDealer.AsDistributor()->Deal_AdcDocu(*this); -} - - -} // namespace adoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/cx_a_std.cxx b/autodoc/source/parser/adoc/cx_a_std.cxx deleted file mode 100644 index a295d75da819..000000000000 --- a/autodoc/source/parser/adoc/cx_a_std.cxx +++ /dev/null @@ -1,518 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/cx_a_std.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <adoc/cx_a_sub.hxx> -#include <x_parse.hxx> -#include <tools/tkpchars.hxx> -#include <adoc/tk_attag.hxx> -#include <adoc/tk_docw.hxx> -#include <tokens/tokdeal.hxx> - - - -namespace adoc { - - -const intt C_nStatusSize = 128; -const intt C_nCppInitialNrOfStati = 400; - - -const uintt nF_fin_Error = 1; -const uintt nF_fin_Ignore = 2; -const uintt nF_fin_LineStart = 3; -const uintt nF_fin_Eol = 4; -const uintt nF_fin_Eof = 5; -const uintt nF_fin_AnyWord = 6; -const uintt nF_fin_Whitespace = 7; - -const uintt nF_goto_AtTag = 20; -const uintt nF_goto_CheckStar = 21; - -DYN TextToken * TCF_DocWord(const char * text) { return new Tok_DocWord(text); } - -DYN TextToken * TCF_atstd_ATT(const char * ) { return new Tok_at_std(ary::info::atid_ATT); } -DYN TextToken * TCF_atstd_author(const char * ) { return new Tok_at_std(ary::info::atid_author); } -DYN TextToken * TCF_atstd_change(const char * ) { return new Tok_at_std(ary::info::atid_change); } -DYN TextToken * TCF_atstd_collab(const char * ) { return new Tok_at_std(ary::info::atid_collab); } -DYN TextToken * TCF_atstd_contact(const char * ) { return new Tok_at_std(ary::info::atid_contact); } -DYN TextToken * TCF_atstd_copyright(const char * ) { return new Tok_at_std(ary::info::atid_copyright); } -DYN TextToken * TCF_atstd_descr(const char * ) { return new Tok_at_std(ary::info::atid_descr); } -DYN TextToken * TCF_atstd_docdate(const char * ) { return new Tok_at_std(ary::info::atid_docdate); } -DYN TextToken * TCF_atstd_derive(const char * ) { return new Tok_at_std(ary::info::atid_derive); } -DYN TextToken * TCF_atstd_instance(const char * ) { return new Tok_at_std(ary::info::atid_instance); } -DYN TextToken * TCF_atstd_life(const char * ) { return new Tok_at_std(ary::info::atid_life); } -DYN TextToken * TCF_atstd_multi(const char * ) { return new Tok_at_std(ary::info::atid_multi); } -DYN TextToken * TCF_atstd_onerror(const char * ) { return new Tok_at_std(ary::info::atid_onerror); } -DYN TextToken * TCF_atstd_persist(const char * ) { return new Tok_at_std(ary::info::atid_persist); } -DYN TextToken * TCF_atstd_postcond(const char * ) { return new Tok_at_std(ary::info::atid_postcond); } -DYN TextToken * TCF_atstd_precond(const char * ) { return new Tok_at_std(ary::info::atid_precond); } -DYN TextToken * TCF_atstd_responsibility(const char * ) { return new Tok_at_std(ary::info::atid_resp); } -DYN TextToken * TCF_atstd_return(const char * ) { return new Tok_at_std(ary::info::atid_return); } -DYN TextToken * TCF_atstd_short(const char * ) { return new Tok_at_std(ary::info::atid_short); } -DYN TextToken * TCF_atstd_todo(const char * ) { return new Tok_at_std(ary::info::atid_todo); } -DYN TextToken * TCF_atstd_version(const char * ) { return new Tok_at_std(ary::info::atid_version); } - -DYN TextToken * TCF_at_base(const char *) { return new Tok_at_base; } -DYN TextToken * TCF_at_exception(const char *) { return new Tok_at_exception; } -DYN TextToken * TCF_at_impl(const char *) { return new Tok_at_impl; } -DYN TextToken * TCF_at_interface(const char *) { return new Tok_at_interface; } -DYN TextToken * TCF_at_key(const char *) { return new Tok_at_key; } -DYN TextToken * TCF_at_param(const char *) { return new Tok_at_param; } -DYN TextToken * TCF_at_see(const char *) { return new Tok_at_see; } -DYN TextToken * TCF_at_template(const char *) { return new Tok_at_template; } -DYN TextToken * TCF_at_internal(const char *) { return new Tok_at_internal; } -DYN TextToken * TCF_at_obsolete(const char *) { return new Tok_at_obsolete; } -DYN TextToken * TCF_at_module(const char *) { return new Tok_at_module; } -DYN TextToken * TCF_at_file(const char *) { return new Tok_at_file; } -DYN TextToken * TCF_at_gloss(const char *) { return new Tok_at_gloss; } -DYN TextToken * TCF_at_global(const char *) { return new Tok_at_global; } -DYN TextToken * TCF_at_include(const char *) { return new Tok_at_include; } -DYN TextToken * TCF_at_label(const char *) { return new Tok_at_label; } -DYN TextToken * TCF_at_since(const char *) { return new Tok_at_since; } -DYN TextToken * TCF_at_HTML(const char *) { return new Tok_at_HTML; } -DYN TextToken * TCF_at_NOHTML(const char *) { return new Tok_at_NOHTML; } -DYN TextToken * TCF_Whitespace(const char * i_sText); -DYN TextToken * TCF_EoDocu(const char *) { return new Tok_EoDocu; } -DYN TextToken * TCF_EoLine(const char *) { return new Tok_Eol; } -DYN TextToken * TCF_Eof(const char *) { return new Tok_Eof; } - - - - -Context_AdocStd::Context_AdocStd() - : aStateMachine(C_nStatusSize, C_nCppInitialNrOfStati), - pDealer(0), - pParentContext(0), - pFollowUpContext(0), - pCx_LineStart(0), - pCx_CheckStar(0), - pCx_AtTagCompletion(0), - pNewToken(0), - bIsMultiline(false) -{ - pCx_LineStart = new Cx_LineStart(*this); - pCx_CheckStar = new Cx_CheckStar(*this); - pCx_AtTagCompletion = new Cx_AtTagCompletion(*this); - - SetupStateMachine(); -} - -void -Context_AdocStd::SetParentContext( TkpContext & io_rParentContext, - const char * ) -{ - pFollowUpContext = pParentContext = &io_rParentContext; - pCx_CheckStar->Set_End_FollowUpContext(io_rParentContext); -} - -Context_AdocStd::~Context_AdocStd() -{ -} - -void -Context_AdocStd::AssignDealer( TokenDealer & o_rDealer ) -{ - pDealer = &o_rDealer; - pCx_LineStart->AssignDealer(o_rDealer); - pCx_CheckStar->AssignDealer(o_rDealer); - pCx_AtTagCompletion->AssignDealer(o_rDealer); -} - -void -Context_AdocStd::ReadCharChain( CharacterSource & io_rText ) -{ - csv_assert(pParentContext != 0); - pNewToken = 0; - - TextToken::F_CRTOK fTokenCreateFunction = 0; - StmBoundsStatus & rBound = aStateMachine.GetCharChain(fTokenCreateFunction, io_rText); - - // !!! - // The order of the next two lines is essential, because - // pFollowUpContext may be changed by PerformStatusFunction() also, - // which then MUST override the previous assignment. - pFollowUpContext = rBound.FollowUpContext(); - PerformStatusFunction(rBound.StatusFunctionNr(), fTokenCreateFunction, io_rText); -} - -bool -Context_AdocStd::PassNewToken() -{ - if (pNewToken) - { - pNewToken.Release()->DealOut(*pDealer); - return true; - } - return false; -} - -TkpContext & -Context_AdocStd::FollowUpContext() -{ - csv_assert(pFollowUpContext != 0); - return *pFollowUpContext; -} - -void -Context_AdocStd::PerformStatusFunction( uintt i_nStatusSignal, - F_CRTOK i_fTokenCreateFunction, - CharacterSource & io_rText ) -{ - switch (i_nStatusSignal) - { - case nF_fin_Error: - { - char cCC = io_rText.CurChar(); - String sChar( &cCC, 1 ); - throw X_Parser(X_Parser::x_InvalidChar, sChar, String ::Null_(), 0); - } // no break, because of throw - case nF_fin_Ignore: - io_rText.CutToken(); - pNewToken = 0; - break; - case nF_fin_LineStart: - csv_assert(i_fTokenCreateFunction != 0); - pNewToken = (*i_fTokenCreateFunction)(io_rText.CutToken()); - break; - case nF_fin_Eol: - io_rText.CutToken(); - pDealer->Deal_Eol(); - if ( bIsMultiline ) - { - pNewToken = TCF_EoLine(0); - pFollowUpContext = pCx_LineStart.Ptr(); - } - else - { - pNewToken = TCF_EoDocu(0); - pFollowUpContext = pParentContext; - } - break; - case nF_fin_Eof: - pNewToken = TCF_Eof(0); - break; - case nF_fin_AnyWord: - if (i_fTokenCreateFunction != 0) - pNewToken = (*i_fTokenCreateFunction)(io_rText.CutToken()); - else - pNewToken = TCF_DocWord(io_rText.CutToken()); - break; - case nF_fin_Whitespace: - pNewToken = TCF_Whitespace(io_rText.CutToken()); - break; - case nF_goto_AtTag: - pNewToken = 0; - pCx_AtTagCompletion->SetCurToken(i_fTokenCreateFunction); - break; - case nF_goto_CheckStar: - pNewToken = 0; - pCx_CheckStar->SetCanBeEnd( bIsMultiline ); - break; - default: - { - char cCC = io_rText.CurChar(); - String sChar( &cCC, 1 ); - throw X_Parser(X_Parser::x_InvalidChar, sChar, String::Null_(), 0); - } - } // end switch (i_nStatusSignal) -} - -void -Context_AdocStd::SetupStateMachine() -{ - // special array statuses (no tokenfinish or change of context): -// const INT16 bas = 0; // base-status - const INT16 wht = 1; // whitespace-status - const INT16 awd = 2; // any-word-read-status - - // change of context statuses - const INT16 goto_CheckStar = 3; - const INT16 goto_AtTag = 4; - - // tokenfinish statuses: - const INT16 finError = 5; -// const INT16 finIgnore = 6; - const INT16 finEol = 7; - const INT16 finEof = 8; - const INT16 finAnyWord = 9; - const INT16 finWhitespace = 10; - - // constants for use in the table: - const INT16 fof = finEof; - const INT16 err = finError; - const INT16 faw = finAnyWord; -// const INT16 fig = finIgnore; - const INT16 fwh = finWhitespace; - - /// The '0's will be replaced by calls of AddToken(). - - const INT16 A_nTopStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {fof,err,err,err,err,err,err,err,err,wht, 0,wht,wht, 0,err,err, - err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // ... 31 - wht,awd,awd,awd,awd,awd,awd,awd,awd,awd, 0,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 63 - 0,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95 - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd // ... 127 - }; - - const INT16 A_nWhitespaceStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {fof,err,err,err,err,err,err,err,err,wht,fwh,wht,wht,fwh,err,err, - err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // ... 31 - wht,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, - fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, // ... 63 - fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, - fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, // ... 95 - fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh, - fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh,fwh // ... 127 - }; - - const INT16 A_nWordStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {faw,err,err,err,err,err,err,err,err,faw,faw,faw,faw,faw,err,err, - err,err,err,err,err,err,err,err,err,err,faw,err,err,err,err,err, // ... 31 - faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 63 - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95 - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd // ... 127 - }; - - const INT16 A_nAtTagDefStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {faw,err,err,err,err,err,err,err,err,faw,faw,faw,faw,faw,err,err, - err,err,err,err,err,err,err,err,err,err,faw,err,err,err,err,err, // ... 31 - faw,awd,awd,awd,awd,awd,awd,awd,awd,awd,faw,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 63 - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, // ... 95 - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd, - awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd,awd // ... 127 - }; - - const INT16 A_nPunctDefStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 16 ... - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 48 ... - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 80 ... - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err // 112 ... - }; - - DYN StmArrayStatus * dpStatusTop - = new StmArrayStatus( C_nStatusSize, A_nTopStatus, 0, true); - DYN StmArrayStatus * dpStatusWhite - = new StmArrayStatus( C_nStatusSize, A_nWhitespaceStatus, 0, true); - DYN StmArrayStatus * dpStatusWord - = new StmArrayStatus( C_nStatusSize, A_nWordStatus, TCF_DocWord, true); - - DYN StmBoundsStatus * dpBst_goto_CheckStar - = new StmBoundsStatus( *this, *pCx_CheckStar, nF_goto_CheckStar, true ); - DYN StmBoundsStatus * dpBst_goto_AtTag - = new StmBoundsStatus( *this, *pCx_AtTagCompletion, nF_goto_AtTag, true ); - - DYN StmBoundsStatus * dpBst_finError - = new StmBoundsStatus( *this, TkpContext::Null_(), nF_fin_Error, true ); - DYN StmBoundsStatus * dpBst_finIgnore - = new StmBoundsStatus( *this, *this, nF_fin_Ignore, true); - DYN StmBoundsStatus * dpBst_finEol - = new StmBoundsStatus( *this, *pCx_LineStart, nF_fin_Eol, false); - DYN StmBoundsStatus * dpBst_finEof - = new StmBoundsStatus( *this, TkpContext::Null_(), nF_fin_Eof, false); - DYN StmBoundsStatus * dpBst_finAnyWord - = new StmBoundsStatus( *this, *this, nF_fin_AnyWord, true); - DYN StmBoundsStatus * dpBst_finWhitespace - = new StmBoundsStatus( *this, *this, nF_fin_Whitespace, true); - - // construct dpMain: - aStateMachine.AddStatus(dpStatusTop); - aStateMachine.AddStatus(dpStatusWhite); - aStateMachine.AddStatus(dpStatusWord); - - aStateMachine.AddStatus(dpBst_goto_CheckStar); - aStateMachine.AddStatus(dpBst_goto_AtTag); - - aStateMachine.AddStatus(dpBst_finError); - aStateMachine.AddStatus(dpBst_finIgnore); - aStateMachine.AddStatus(dpBst_finEol); - aStateMachine.AddStatus(dpBst_finEof); - aStateMachine.AddStatus(dpBst_finAnyWord); - aStateMachine.AddStatus(dpBst_finWhitespace); - - aStateMachine.AddToken( "*", 0, A_nPunctDefStatus, goto_CheckStar ); - aStateMachine.AddToken( "@ATT", TCF_atstd_ATT, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@att", TCF_atstd_ATT, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@ATTENTION", - TCF_atstd_ATT, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@attention", - TCF_atstd_ATT, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@author", TCF_atstd_author, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@change", TCF_atstd_change, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@collab", TCF_atstd_collab, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@collaborator", - TCF_atstd_collab, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@contact", TCF_atstd_contact, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@copyright",TCF_atstd_copyright, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@descr", TCF_atstd_descr, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@docdate", TCF_atstd_docdate, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@derive", TCF_atstd_derive, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@instance",TCF_atstd_instance, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@life", TCF_atstd_life, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@lifecycle", - TCF_atstd_life, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@multi", TCF_atstd_multi, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@multiplicity", - TCF_atstd_multi, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@onerror", TCF_atstd_onerror, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@persist", TCF_atstd_persist, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@postcond",TCF_atstd_postcond,A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@precond", TCF_atstd_precond, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@resp", TCF_atstd_responsibility, - A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@responsibility", - TCF_atstd_return, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@return", TCF_atstd_return, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@short", TCF_atstd_short, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@todo", TCF_atstd_todo, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@version", TCF_atstd_version, A_nAtTagDefStatus, goto_AtTag ); - - aStateMachine.AddToken( "@base", TCF_at_base, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@exception",TCF_at_exception, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@impl", TCF_at_impl, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@key", TCF_at_key, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@param", TCF_at_param, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@see", TCF_at_see, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@seealso", TCF_at_see, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@since", TCF_at_since, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@tpl", TCF_at_template, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@tplparam", - TCF_at_template, A_nAtTagDefStatus, goto_AtTag ); - - aStateMachine.AddToken( "@interface",TCF_at_interface, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@internal",TCF_at_internal, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@obsolete",TCF_at_obsolete, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@deprecated",TCF_at_obsolete, A_nAtTagDefStatus, goto_AtTag ); - - aStateMachine.AddToken( "@module", TCF_at_module, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@file", TCF_at_file, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@gloss", TCF_at_gloss, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@global#", TCF_at_global, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@include#",TCF_at_include, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@#", TCF_at_label, A_nAtTagDefStatus, goto_AtTag ); - - aStateMachine.AddToken( "@HTML", TCF_at_HTML, A_nAtTagDefStatus, goto_AtTag ); - aStateMachine.AddToken( "@NOHTML", TCF_at_NOHTML, A_nAtTagDefStatus, goto_AtTag ); - - aStateMachine.AddToken( "\r\n", 0, A_nPunctDefStatus, finEol ); - aStateMachine.AddToken( "\n", 0, A_nPunctDefStatus, finEol ); - aStateMachine.AddToken( "\r", 0, A_nPunctDefStatus, finEol ); -}; - -void -Context_AdocStd::SetMode_IsMultiLine( bool i_bTrue ) -{ - bIsMultiline = i_bTrue; -} - -DYN TextToken * -TCF_Whitespace(const char * i_sText) -{ - UINT8 nSize = static_cast<UINT8>(strlen(i_sText)); - for ( const char * pTab = strchr(i_sText,'\t'); - pTab != 0; - pTab = strchr(pTab+1,'\t') ) - { - nSize += 3; - } - - return new Tok_Whitespace(nSize); -} - - -} // namespace adoc - - -/* -@ATT[ENTION] -@author -@change[s] -@collab[orators] -@contact -@copyright -@descr -@devstat[e] -@docdate -@derive -@instance -@life[cycle] -@multi[plicity] -@onerror -@persist[ence] -@postcond -@precond -@return -@short -@todo - -@module -@file -@gloss[ary] - - -@base <BasisklassenName> -@exception <ExceptionName> -@impl[ements] <IDL-Construct> -@key[words]|[s] -@param <FunctionParameterName> [<Range of valid values>] -@see[also] -@templ[ate] <FormalTemplateParameterName> - -@internal -@obsolete - -@#<Label> - -@global#<Label> Global comment. -@include#<Label> - - -*/ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/cx_a_sub.cxx b/autodoc/source/parser/adoc/cx_a_sub.cxx deleted file mode 100644 index 335e2adbc6a1..000000000000 --- a/autodoc/source/parser/adoc/cx_a_sub.cxx +++ /dev/null @@ -1,184 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/cx_a_sub.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <tokens/parseinc.hxx> -#include <x_parse.hxx> -#include <adoc/tk_docw.hxx> - - -namespace adoc { - -//************************ Cx_LineStart ************************// - -Cx_LineStart::Cx_LineStart( TkpContext & i_rFollowUpContext ) - : pDealer(0), - pFollowUpContext(&i_rFollowUpContext) -{ -} - -void -Cx_LineStart::ReadCharChain( CharacterSource & io_rText ) -{ - uintt nCount = 0; - for ( char cNext = io_rText.CurChar(); cNext == 32 OR cNext == 9; cNext = io_rText.MoveOn() ) - { - if (cNext == 32) - nCount++; - else if (cNext == 9) - nCount += 4; - } - io_rText.CutToken(); - - if (nCount < 50) - pNewToken = new Tok_LineStart(UINT8(nCount)); - else - pNewToken = new Tok_LineStart(0); -} - -bool -Cx_LineStart::PassNewToken() -{ - if (pNewToken) - { - pNewToken.Release()->DealOut(*pDealer); - return true; - } - return false; -} - -TkpContext & -Cx_LineStart::FollowUpContext() -{ - return *pFollowUpContext; -} - - -//************************ Cx_CheckStar ************************// - -Cx_CheckStar::Cx_CheckStar( TkpContext & i_rFollowUpContext ) - : pDealer(0), - pFollowUpContext(&i_rFollowUpContext), - pEnd_FollowUpContext(0), - bCanBeEnd(false), - bEndTokenFound(false) -{ -} - - -void -Cx_CheckStar::ReadCharChain( CharacterSource & io_rText ) -{ - bEndTokenFound = false; - if (bCanBeEnd) - { - char cNext = jumpOver(io_rText,'*'); - if ( NULCH == cNext ) - throw X_Parser(X_Parser::x_UnexpectedEOF, "", String::Null_(), 0); - if (cNext == '/') - { - io_rText.MoveOn(); - pNewToken = new Tok_EoDocu; - bEndTokenFound = true; - } - else - { - pNewToken = new Tok_DocWord(io_rText.CutToken()); - } - } - else - { - jumpToWhite(io_rText); - pNewToken = new Tok_DocWord(io_rText.CutToken()); - } -} - -bool -Cx_CheckStar::PassNewToken() -{ - if (pNewToken) - { - pNewToken.Release()->DealOut(*pDealer); - return true; - } - return false; -} - -TkpContext & -Cx_CheckStar::FollowUpContext() -{ - if (bEndTokenFound) - return *pEnd_FollowUpContext; - else - return *pFollowUpContext; -} - - -//************************ Cx_AtTagCompletion ************************// - -Cx_AtTagCompletion::Cx_AtTagCompletion( TkpContext & i_rFollowUpContext ) - : pDealer(0), - pFollowUpContext(&i_rFollowUpContext) -{ -} - -void -Cx_AtTagCompletion::ReadCharChain( CharacterSource & io_rText ) -{ - jumpToWhite(io_rText); - csv_assert(fCur_TokenCreateFunction != 0); - pNewToken = (*fCur_TokenCreateFunction)(io_rText.CutToken()); -} - -bool -Cx_AtTagCompletion::PassNewToken() -{ - if (pNewToken) - { - pNewToken.Release()->DealOut(*pDealer); - return true; - } - return false; -} - -TkpContext & -Cx_AtTagCompletion::FollowUpContext() -{ - return *pFollowUpContext; -} - - - - -} // namespace adoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/docu_pe.cxx b/autodoc/source/parser/adoc/docu_pe.cxx deleted file mode 100644 index d54e0295f38e..000000000000 --- a/autodoc/source/parser/adoc/docu_pe.cxx +++ /dev/null @@ -1,405 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/docu_pe.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/doc/d_oldcppdocu.hxx> -#include <ary/info/ci_attag.hxx> -#include <ary/info/ci_text.hxx> -#include <adoc/adoc_tok.hxx> -#include <adoc/tk_attag.hxx> -#include <adoc/tk_docw.hxx> - - -namespace adoc -{ - - -inline bool -Adoc_PE::UsesHtmlInDocuText() -{ - return bUsesHtmlInDocuText; -} - - - - -Adoc_PE::Adoc_PE() - : pCurDocu(0), - pCurAtTag(0), - nLineCountInDocu(0), - nCurSpecialMeaningTokens(0), - nCurSubtractFromLineStart(0), - eCurTagState(ts_new), - eDocuState(ds_wait_for_short), - bIsComplete(false), - bUsesHtmlInDocuText(false) -{ -} - -Adoc_PE::~Adoc_PE() -{ -} - -void -Adoc_PE::Hdl_at_std( const Tok_at_std & i_rTok ) -{ - InstallAtTag( - CurDocu().Create_StdTag(i_rTok.Id()) ); -} - -void -Adoc_PE::Hdl_at_base( const Tok_at_base & ) -{ - InstallAtTag( - CurDocu().CheckIn_BaseTag() ); -} - -void -Adoc_PE::Hdl_at_exception( const Tok_at_exception & ) -{ - InstallAtTag( - CurDocu().CheckIn_ExceptionTag() ); -} - -void -Adoc_PE::Hdl_at_impl( const Tok_at_impl & ) -{ - InstallAtTag( - CurDocu().Create_ImplementsTag() ); -} - -void -Adoc_PE::Hdl_at_key( const Tok_at_key & ) -{ - InstallAtTag( - CurDocu().Create_KeywordTag() ); -} - -void -Adoc_PE::Hdl_at_param( const Tok_at_param & ) -{ - InstallAtTag( - CurDocu().CheckIn_ParameterTag() ); -} - -void -Adoc_PE::Hdl_at_see( const Tok_at_see & ) -{ - InstallAtTag( - CurDocu().CheckIn_SeeTag() ); -} - -void -Adoc_PE::Hdl_at_template( const Tok_at_template & ) -{ - InstallAtTag( - CurDocu().CheckIn_TemplateTag() ); -} - -void -Adoc_PE::Hdl_at_interface( const Tok_at_interface & ) -{ - CurDocu().Set_Interface(); -} - -void -Adoc_PE::Hdl_at_internal( const Tok_at_internal & ) -{ - CurDocu().Set_Internal(); -} - -void -Adoc_PE::Hdl_at_obsolete( const Tok_at_obsolete & ) -{ - CurDocu().Set_Obsolete(); -} - -void -Adoc_PE::Hdl_at_module( const Tok_at_module & ) -{ - // KORR_FUTURE - -// pCurAtTag = CurDocu().Assign2_ModuleTag(); -// nCurSpecialMeaningTokens = pCurAtTag->NrOfSpecialMeaningTokens(); -} - -void -Adoc_PE::Hdl_at_file( const Tok_at_file & ) -{ - // KORR_FUTURE - -// pCurAtTag = CurDocu().Assign2_FileTag(); -// nCurSpecialMeaningTokens = pCurAtTag->NrOfSpecialMeaningTokens(); -} - -void -Adoc_PE::Hdl_at_gloss( const Tok_at_gloss & ) -{ - // KORR_FUTURE - -// Create_GlossaryEntry(); -} - -void -Adoc_PE::Hdl_at_global( const Tok_at_global & ) -{ - // KORR_FUTURE -// Create_GlobalTextComponent(); -} - -void -Adoc_PE::Hdl_at_include( const Tok_at_include & ) -{ - // KORR_FUTURE -} - -void -Adoc_PE::Hdl_at_label( const Tok_at_label & ) -{ - InstallAtTag( - CurDocu().Create_LabelTag() ); -} - -void -Adoc_PE::Hdl_at_since( const Tok_at_since & ) -{ - InstallAtTag( - CurDocu().Create_SinceTag() ); -} - -void -Adoc_PE::Hdl_at_HTML( const Tok_at_HTML & ) -{ - bUsesHtmlInDocuText = true; -} - -void -Adoc_PE::Hdl_at_NOHTML( const Tok_at_NOHTML & ) -{ - bUsesHtmlInDocuText = false; -} - -void -Adoc_PE::Hdl_DocWord( const Tok_DocWord & i_rTok ) -{ - bool bIsSpecial = false; - if ( nCurSpecialMeaningTokens > 0 ) - { - bIsSpecial = CurAtTag().Add_SpecialMeaningToken( - i_rTok.Text(), - CurAtTag().NrOfSpecialMeaningTokens() - - (--nCurSpecialMeaningTokens) ); - } - - if ( NOT bIsSpecial ) - { - if ( eDocuState == ds_wait_for_short OR eDocuState == ds_1newline_after_short ) - eDocuState = ds_in_short; - if (nLineCountInDocu == 0) - nLineCountInDocu = 1; - - uintt nLength = i_rTok.Length(); - if ( nLength > 2 ) - { - bool bMaybeGlobalLink = strncmp( "::", i_rTok.Text(), 2 ) == 0; - bool bMayBeFunction = *(i_rTok.Text() + nLength - 2) == '(' - AND *(i_rTok.Text() + nLength - 1) == ')'; - if ( bMaybeGlobalLink OR bMayBeFunction ) - { - CurAtTag().Add_PotentialLink( i_rTok.Text(), - bMaybeGlobalLink, - bMayBeFunction ); - return; - } - } - - CurAtTag().Add_Token( i_rTok.Text() ); - eCurTagState = ts_std; - } -} - -void -Adoc_PE::Hdl_Whitespace( const Tok_Whitespace & i_rTok ) -{ - if ( eCurTagState == ts_std ) - { - - CurAtTag().Add_Whitespace(i_rTok.Size()); - } -} - -void -Adoc_PE::Hdl_LineStart( const Tok_LineStart & i_rTok ) -{ - if ( pCurAtTag == 0 ) - return; - - if ( nLineCountInDocu == 2 ) - { - nCurSubtractFromLineStart = i_rTok.Size(); - eCurTagState = ts_std; - } - else if ( nLineCountInDocu > 2 ) - { - if ( i_rTok.Size() > nCurSubtractFromLineStart ) - { - CurAtTag().Add_Whitespace( i_rTok.Size() - - nCurSubtractFromLineStart ); - } - // else do nothing, because there is no whitespace. - } -} - -void -Adoc_PE::Hdl_Eol( const Tok_Eol & ) -{ - if ( pCurAtTag == 0 ) - return; - - nLineCountInDocu++; - - if ( nCurSpecialMeaningTokens == 0 ) - { - CurAtTag().Add_Eol(); - - switch ( eDocuState ) - { - case ds_wait_for_short: break; - case ds_in_short: if ( nLineCountInDocu < 4 ) - eDocuState = ds_1newline_after_short; - else - { - RenameCurShortTag(); - eDocuState = ds_in_descr; - } - break; - case ds_1newline_after_short: FinishCurShortTag(); - eDocuState = ds_in_descr; - break; - default: - ; // Do noting. - } - } - else - { - nCurSpecialMeaningTokens = 0; - } - - -} - -void -Adoc_PE::Hdl_EoDocu( const Tok_EoDocu & ) -{ - bIsComplete = true; -} - -DYN ary::doc::OldCppDocu * -Adoc_PE::ReleaseJustParsedDocu() -{ - pCurAtTag = 0; - nLineCountInDocu = 0; - nCurSpecialMeaningTokens = 0; - nCurSubtractFromLineStart = 0; - eCurTagState = ts_new; - eDocuState = ds_wait_for_short; - bIsComplete = false; - return pCurDocu.Release(); -} - -void -Adoc_PE::InstallAtTag( DYN ary::info::AtTag * let_dpTag, - bool i_bImplicit ) -{ - pCurAtTag = let_dpTag; - if ( pCurAtTag != 0 ) - { - nCurSpecialMeaningTokens = pCurAtTag->NrOfSpecialMeaningTokens(); - pCurAtTag->Set_HtmlUseInDocuText( bUsesHtmlInDocuText ); - } - - eCurTagState = ts_new; - if ( NOT i_bImplicit ) - eDocuState = ds_std; -} - -ary::doc::OldCppDocu & -Adoc_PE::CurDocu() -{ - if (NOT pCurDocu) - pCurDocu = new ary::doc::OldCppDocu; - return *pCurDocu; -} - -ary::info::AtTag & -Adoc_PE::CurAtTag() -{ - if (NOT pCurAtTag) - { - if ( int(eDocuState) < int(ds_in_descr) ) - { - InstallAtTag( - CurDocu().Create_StdTag(ary::info::atid_short), - true ); - } - else - { - InstallAtTag( - CurDocu().Create_StdTag(ary::info::atid_descr), - true ); - } - } - return *pCurAtTag; -} - -void -Adoc_PE::RenameCurShortTag() -{ - CurDocu().Replace_AtShort_By_AtDescr(); -} - -void -Adoc_PE::FinishCurShortTag() -{ - InstallAtTag( - CurDocu().Create_StdTag(ary::info::atid_descr), - true ); -} - - -} // namespace adoc - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/makefile.mk b/autodoc/source/parser/adoc/makefile.mk deleted file mode 100644 index 48e4084ee401..000000000000 --- a/autodoc/source/parser/adoc/makefile.mk +++ /dev/null @@ -1,62 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org 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 version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=autodoc -TARGET=parser_adoc - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=true -PRJINC=$(PRJ)$/source - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk - - -# --- Files -------------------------------------------------------- - -OBJFILES= \ - $(OBJ)$/adoc_tok.obj \ - $(OBJ)$/a_rdocu.obj \ - $(OBJ)$/cx_a_std.obj \ - $(OBJ)$/cx_a_sub.obj \ - $(OBJ)$/docu_pe.obj \ - $(OBJ)$/prs_adoc.obj \ - $(OBJ)$/tk_attag.obj \ - $(OBJ)$/tk_docw.obj - - - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - - - diff --git a/autodoc/source/parser/adoc/prs_adoc.cxx b/autodoc/source/parser/adoc/prs_adoc.cxx deleted file mode 100644 index f2e48f7ee75d..000000000000 --- a/autodoc/source/parser/adoc/prs_adoc.cxx +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/prs_adoc.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <adoc/cx_a_std.hxx> - - - -namespace adoc -{ - -DocuParser_AutodocStyle::DocuParser_AutodocStyle() -{ -} - -DocuParser_AutodocStyle::~DocuParser_AutodocStyle() -{ -} - -DYN autodoc::TkpDocuContext * -DocuParser_AutodocStyle::Create_DocuContext() const -{ - return new Context_AdocStd; -} - -} // namespace adoc - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/tk_attag.cxx b/autodoc/source/parser/adoc/tk_attag.cxx deleted file mode 100644 index 6c9b500d4740..000000000000 --- a/autodoc/source/parser/adoc/tk_attag.cxx +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/tk_attag.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <adoc/tokintpr.hxx> - - - -namespace adoc { - -void -Tok_at_std::Trigger( TokenInterpreter & io_rInterpreter ) const -{ - io_rInterpreter.Hdl_at_std(*this); -} - -const char * -Tok_at_std::Text() const -{ - // KORR_FUTURE - return "A Tag"; - -// return eId.Text(); -} - - -#define DEFINE_TOKEN_CLASS(name, text) \ -void \ -Tok_##name::Trigger( TokenInterpreter & io_rInterpreter ) const \ -{ io_rInterpreter.Hdl_##name(*this); } \ -const char * \ -Tok_##name::Text() const \ -{ return text; } - -DEFINE_TOKEN_CLASS(at_base, "Base Classes") -DEFINE_TOKEN_CLASS(at_exception, "Exceptions") -DEFINE_TOKEN_CLASS(at_impl, "Implements") -DEFINE_TOKEN_CLASS(at_key, "Keywords") -DEFINE_TOKEN_CLASS(at_param, "Parameters") -DEFINE_TOKEN_CLASS(at_see, "See Also") -DEFINE_TOKEN_CLASS(at_template, "Template Parameters") -DEFINE_TOKEN_CLASS(at_interface, "Interface") -DEFINE_TOKEN_CLASS(at_internal, "[ INTERNAL ]") -DEFINE_TOKEN_CLASS(at_obsolete, "[ DEPRECATED ]") -DEFINE_TOKEN_CLASS(at_module, "Module") -DEFINE_TOKEN_CLASS(at_file, "File") -DEFINE_TOKEN_CLASS(at_gloss, "Glossary") -DEFINE_TOKEN_CLASS(at_global, "<global doc text>") -DEFINE_TOKEN_CLASS(at_include, "<included text>") -DEFINE_TOKEN_CLASS(at_label, "Label") -DEFINE_TOKEN_CLASS(at_HTML, "") -DEFINE_TOKEN_CLASS(at_NOHTML, "") -DEFINE_TOKEN_CLASS(at_since, "Since"); - -} // namespace adoc - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/adoc/tk_docw.cxx b/autodoc/source/parser/adoc/tk_docw.cxx deleted file mode 100644 index f7c3adb55761..000000000000 --- a/autodoc/source/parser/adoc/tk_docw.cxx +++ /dev/null @@ -1,130 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <adoc/tk_docw.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <adoc/tokintpr.hxx> - - - -namespace adoc { - - - static const char C_sSpace[300] = - " " - " " - " " - " " - " " - " "; - - -//*********************** Tok_DocWord ******************// - -void -Tok_DocWord::Trigger( TokenInterpreter & io_rInterpreter ) const -{ - io_rInterpreter.Hdl_DocWord(*this); -} - -const char * -Tok_DocWord::Text() const -{ - return sText; -} - -//*********************** Tok_Whitespace ******************// - - -void -Tok_Whitespace::Trigger( TokenInterpreter & io_rInterpreter ) const -{ - io_rInterpreter.Hdl_Whitespace(*this); -} - -const char * -Tok_Whitespace::Text() const -{ - return C_sSpace + 299 - nSize; -} - - - -//*********************** Tok_LineStart ******************// - - -void -Tok_LineStart::Trigger( TokenInterpreter & io_rInterpreter ) const -{ - io_rInterpreter.Hdl_LineStart(*this); -} - -const char * -Tok_LineStart::Text() const -{ - return C_sSpace + 299 - nSize; -} - - -//*********************** Tok_Eol ******************// - -void -Tok_Eol::Trigger( TokenInterpreter & io_rInterpreter ) const -{ - io_rInterpreter.Hdl_Eol(*this); -} - -const char * -Tok_Eol::Text() const -{ - return "\n"; -} - - - -//*********************** Tok_EoDocu ******************// - -void -Tok_EoDocu::Trigger( TokenInterpreter & io_rInterpreter ) const -{ - io_rInterpreter.Hdl_EoDocu(*this); -} - -const char * -Tok_EoDocu::Text() const -{ - return "*/"; -} - -} // namespace adoc - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/all_toks.cxx b/autodoc/source/parser/cpp/all_toks.cxx deleted file mode 100644 index 3ea666ee94a9..000000000000 --- a/autodoc/source/parser/cpp/all_toks.cxx +++ /dev/null @@ -1,154 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <all_toks.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <cpp/ctokdeal.hxx> -#include "c_dealer.hxx" -#include "tokintpr.hxx" - - - -namespace cpp { - - -void -Token::DealOut( ::TokenDealer & o_rDealer ) -{ - // KORR_FUTURE HACK (casting to derivation cpp::TokenDealer) - o_rDealer.AsDistributor()->Deal_CppCode(*this); -} - - -#define DEF_TOKEN_CLASS(name) \ -void \ -Tok_##name::Trigger( TokenInterpreter & io_rInterpreter ) const \ -{ io_rInterpreter.Hdl_##name(*this); } \ -INT16 \ -Tok_##name::TypeId() const { return Tid_##name; } \ -const char * \ -Tok_##name::Text() const { return #name; } - -#define DEF_TOKEN_CLASS_WITHTEXT(name, text ) \ -void \ -Tok_##name::Trigger( TokenInterpreter & io_rInterpreter ) const \ -{ io_rInterpreter.Hdl_##name(*this); } \ -INT16 \ -Tok_##name::TypeId() const { return Tid_##name; } \ -const char * \ -Tok_##name::Text() const { return text; } - - -DEF_TOKEN_CLASS_WITHTEXT(Identifier,sText) -DEF_TOKEN_CLASS_WITHTEXT(Operator,sText) - -DEF_TOKEN_CLASS(operator) -DEF_TOKEN_CLASS(class) -DEF_TOKEN_CLASS(struct) -DEF_TOKEN_CLASS(union) -DEF_TOKEN_CLASS(enum) -DEF_TOKEN_CLASS(typedef) -DEF_TOKEN_CLASS(public) -DEF_TOKEN_CLASS(protected) -DEF_TOKEN_CLASS(private) -DEF_TOKEN_CLASS(template) -DEF_TOKEN_CLASS(virtual) -DEF_TOKEN_CLASS(friend) -DEF_TOKEN_CLASS_WITHTEXT(Tilde,"~") -DEF_TOKEN_CLASS(const) -DEF_TOKEN_CLASS(volatile) -DEF_TOKEN_CLASS(extern) -DEF_TOKEN_CLASS(static) -DEF_TOKEN_CLASS(mutable) -DEF_TOKEN_CLASS(register) -DEF_TOKEN_CLASS(inline) -DEF_TOKEN_CLASS(explicit) -DEF_TOKEN_CLASS(namespace) -DEF_TOKEN_CLASS(using) -DEF_TOKEN_CLASS(throw) -DEF_TOKEN_CLASS_WITHTEXT(SwBracket_Left,"{") -DEF_TOKEN_CLASS_WITHTEXT(SwBracket_Right,"}") -DEF_TOKEN_CLASS_WITHTEXT(ArrayBracket_Left,"[") -DEF_TOKEN_CLASS_WITHTEXT(ArrayBracket_Right,"]") -DEF_TOKEN_CLASS_WITHTEXT(Bracket_Left,"(") -DEF_TOKEN_CLASS_WITHTEXT(Bracket_Right,")") -DEF_TOKEN_CLASS_WITHTEXT(DoubleColon,"::") -DEF_TOKEN_CLASS_WITHTEXT(Semicolon,";") -DEF_TOKEN_CLASS_WITHTEXT(Comma,",") -DEF_TOKEN_CLASS_WITHTEXT(Colon,":") -DEF_TOKEN_CLASS_WITHTEXT(Assign,"=") -DEF_TOKEN_CLASS_WITHTEXT(Less,"<") -DEF_TOKEN_CLASS_WITHTEXT(Greater,">") -DEF_TOKEN_CLASS_WITHTEXT(Asterix,"*") -DEF_TOKEN_CLASS_WITHTEXT(AmpersAnd,"&") -DEF_TOKEN_CLASS_WITHTEXT(Ellipse,"...") -DEF_TOKEN_CLASS(typename) - -DEF_TOKEN_CLASS_WITHTEXT(DefineName,sText) -DEF_TOKEN_CLASS_WITHTEXT(MacroName,sText) -DEF_TOKEN_CLASS_WITHTEXT(MacroParameter,sText) -// DEF_TOKEN_CLASS_WITHTEXT(PreProDefinition,sText) - -void -Tok_PreProDefinition::Trigger( TokenInterpreter & io_rInterpreter ) const -{ io_rInterpreter.Hdl_PreProDefinition(*this); } - -INT16 -Tok_PreProDefinition::TypeId() const { return Tid_PreProDefinition; } - -const char * -Tok_PreProDefinition::Text() const -{ - return sText; -} - - - -DEF_TOKEN_CLASS_WITHTEXT(BuiltInType,sText) -DEF_TOKEN_CLASS_WITHTEXT(TypeSpecializer,sText) -DEF_TOKEN_CLASS_WITHTEXT(Constant,sText) - -const char * -Tok_UnblockMacro::Text() const -{ - return sMacroName; -} - -void -Tok_UnblockMacro::DealOut( ::TokenDealer & o_rDealer ) -{ - // KORR_FUTURE HACK (casting to derivation cpp::TokenDealer) - o_rDealer.AsDistributor()->Deal_Cpp_UnblockMacro(*this); -} - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/all_toks.hxx b/autodoc/source/parser/cpp/all_toks.hxx deleted file mode 100644 index 1531dd789586..000000000000 --- a/autodoc/source/parser/cpp/all_toks.hxx +++ /dev/null @@ -1,221 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_ALL_TOKS_HXX -#define ADC_CPP_ALL_TOKS_HXX - -// USED SERVICES - // BASE CLASSES -#include "cpp_tok.hxx" - // COMPONENTS - // PARAMETERS - -namespace cpp { - -class Tok_Identifier : public cpp::Token -{ - public: - Tok_Identifier( - const char * i_sText ) : sText(i_sText) {} - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - virtual INT16 TypeId() const; - virtual const char * - Text() const; - private: - String sText; -}; -const INT16 Tid_Identifier = 1; - -/** == != <= >= && || ! - - new delete sizeof typeid - + - / % ^ | << >> - . -> ? - += -= *= /= %= &= |= ^= <<= >>= -*/ -class Tok_Operator : public cpp::Token -{ - public: - Tok_Operator( - const char * i_sText ) : sText(i_sText) {} - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - virtual INT16 TypeId() const; - virtual const char * - Text() const; - private: - String sText; -}; -const INT16 Tid_Operator = 2; - - - -#define DECL_TOKEN_CLASS(name,tid) \ -class Tok_##name : public cpp::Token \ -{ public: \ - virtual void Trigger( \ - TokenInterpreter & io_rInterpreter ) const; \ - virtual INT16 TypeId() const; \ - virtual const char * \ - Text() const; \ -}; \ -const INT16 Tid_##name = tid - -DECL_TOKEN_CLASS(operator,3); -DECL_TOKEN_CLASS(class,4); -DECL_TOKEN_CLASS(struct,5); -DECL_TOKEN_CLASS(union,6); -DECL_TOKEN_CLASS(enum,7); -DECL_TOKEN_CLASS(typedef,8); -DECL_TOKEN_CLASS(public,9); -DECL_TOKEN_CLASS(protected,10); -DECL_TOKEN_CLASS(private,11); -DECL_TOKEN_CLASS(template,12); -DECL_TOKEN_CLASS(virtual,13); -DECL_TOKEN_CLASS(friend,14); -DECL_TOKEN_CLASS(Tilde,15); -DECL_TOKEN_CLASS(const,16); -DECL_TOKEN_CLASS(volatile,17); -DECL_TOKEN_CLASS(extern,18); -DECL_TOKEN_CLASS(static,19); -DECL_TOKEN_CLASS(mutable,20); -DECL_TOKEN_CLASS(register,21); -DECL_TOKEN_CLASS(inline,22); -DECL_TOKEN_CLASS(explicit,23); -DECL_TOKEN_CLASS(namespace,24); -DECL_TOKEN_CLASS(using,25); -DECL_TOKEN_CLASS(throw,26); -DECL_TOKEN_CLASS(SwBracket_Left,27); -DECL_TOKEN_CLASS(SwBracket_Right,28); -DECL_TOKEN_CLASS(ArrayBracket_Left,29); -DECL_TOKEN_CLASS(ArrayBracket_Right,30); -DECL_TOKEN_CLASS(Bracket_Left,31); -DECL_TOKEN_CLASS(Bracket_Right,32); -DECL_TOKEN_CLASS(DoubleColon,33); -DECL_TOKEN_CLASS(Semicolon,34); -DECL_TOKEN_CLASS(Comma,35); -DECL_TOKEN_CLASS(Colon,36); -DECL_TOKEN_CLASS(Assign,37); -DECL_TOKEN_CLASS(Less,38); -DECL_TOKEN_CLASS(Greater,39); -DECL_TOKEN_CLASS(Asterix,40); -DECL_TOKEN_CLASS(AmpersAnd,41); -DECL_TOKEN_CLASS(Ellipse,42); -DECL_TOKEN_CLASS(typename,43); - -#undef DECL_TOKEN_CLASS - -#define DECL_TOKEN_CLASS_WITHTEXT(name,tid) \ -class Tok_##name : public cpp::Token \ -{ public: \ - Tok_##name( \ - const char * i_sText ) : sText(i_sText) {} \ - virtual void Trigger( \ - TokenInterpreter & io_rInterpreter ) const; \ - virtual INT16 TypeId() const; \ - virtual const char * \ - Text() const; \ - private: \ - String sText; \ -}; \ -const INT16 Tid_##name = tid - - - -DECL_TOKEN_CLASS_WITHTEXT(DefineName,44); -DECL_TOKEN_CLASS_WITHTEXT(MacroName,45); -DECL_TOKEN_CLASS_WITHTEXT(MacroParameter,46); -DECL_TOKEN_CLASS_WITHTEXT(PreProDefinition,47); - -/** char short int long float double wchar_t size_t -*/ -DECL_TOKEN_CLASS_WITHTEXT(BuiltInType, 48); - -/** signed unsigned -*/ -DECL_TOKEN_CLASS_WITHTEXT(TypeSpecializer, 49); -DECL_TOKEN_CLASS_WITHTEXT(Constant, 50); - - - -/** This token does nothing in C++ code. It is added by the - internal macro-replacer to mark the position, where a - define or macro becomes valid again, which was until then - invalid, because the text was a replacement of this macro. - ( Avoiding endless recursive macro replacement. ) -*/ -class Tok_UnblockMacro : public ::TextToken -{ - public: - Tok_UnblockMacro( - const char * i_sMacroName ) : sMacroName(i_sMacroName) {} - virtual const char* Text() const; - - virtual void DealOut( - ::TokenDealer & o_rDealer ); - private: - String sMacroName; -}; - - - -/* just for viewing: -class Tok_TypeKey : public cpp::Token // file-><type-PE> -class Tok_Template : public cpp::Token // file -class Tok_Namespace : public cpp::Token // file -class Tok_Bracket : public cpp::Token // everywhere -class Tok_Separator : public cpp::Token // everywhere - -class Tok_Identifier : public cpp::Token // ueberall -class Tok_NameSeparator : public cpp::Token // Type, Name -class Tok_BuiltInType : public cpp::Token // ueberall -class Tok_ConVol : public cpp::Token // class-><FuVa> -class Tok_StorageClass : public cpp::Token // file-><type>,<FuVa> -class Tok_OperatorFunctionName : public cpp::Token // class - -class Tok_Protection : public cpp::Token // class -class Tok_Virtual : public cpp::Token // class -class Tok_Friend : public cpp::Token // class -class Tok_Tilde : public cpp::Token // class, expression - -class Tok_Ellipse : public cpp::Token // function-ParaList -class Tok_Assignment : public cpp::Token // VariableDeclaraton, Function, Parameter -class Tok_Throw : public cpp::Token // function -class Tok_LessMore : public cpp::Token -class Tok_Operator : public cpp::Token // expression - -class Tok_Ignore : public cpp::Token -class Tok_ContextChanger : public cpp::Token -*/ - -} // namespace cpp - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/c_dealer.cxx b/autodoc/source/parser/cpp/c_dealer.cxx deleted file mode 100644 index a366e1883c69..000000000000 --- a/autodoc/source/parser/cpp/c_dealer.cxx +++ /dev/null @@ -1,149 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "c_dealer.hxx" - -// NOT FULLY DECLARED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/loc/locp_le.hxx> -#include <ary/loc/loc_root.hxx> -#include <ary/loc/loc_file.hxx> -#include <adoc/a_rdocu.hxx> -#include "all_toks.hxx" -#include "c_rcode.hxx" - - -namespace ary -{ -namespace loc -{ - class Root; -} -} - - - - -namespace cpp -{ - -Distributor::Distributor( ary::cpp::Gate & io_rAryGate ) - : aCppPreProcessor(), - aCodeExplorer(io_rAryGate), - aDocuExplorer(), - pGate(&io_rAryGate), - pFileEventHandler(0), - pDocuDistributor(0) -{ - pFileEventHandler = & aCodeExplorer.FileEventHandler(); - pDocuDistributor = & aCodeExplorer.DocuDistributor(); -} - -void -Distributor::AssignPartners( CharacterSource & io_rSourceText, - const MacroMap & i_rValidMacros ) -{ - aCppPreProcessor.AssignPartners(aCodeExplorer, io_rSourceText, i_rValidMacros); -} - -Distributor::~Distributor() -{ -} - -void -Distributor::StartNewFile( const csv::ploc::Path & i_file ) -{ - const csv::ploc::Root & - root_dir = i_file.RootDir(); - StreamLock - sl(700); - root_dir.Get(sl()); - csv::ploc::Path - root_path( sl().c_str(), true ); - ary::loc::Le_id - root_id = pGate->Locations().CheckIn_Root(root_path).LeId(); - ary::loc::File & - rFile = pGate->Locations().CheckIn_File( - i_file.File(), - i_file.DirChain(), - root_id ); - pFileEventHandler->SetCurFile(rFile); - - aCodeExplorer.StartNewFile(); - - csv_assert( pDocuDistributor != 0 ); - aDocuExplorer.StartNewFile(*pDocuDistributor); -} - - -void -Distributor::Deal_Eol() -{ - pFileEventHandler->Event_IncrLineCount(); -} - -void -Distributor::Deal_Eof() -{ - // Do nothing yet. -} - -void -Distributor::Deal_Cpp_UnblockMacro( Tok_UnblockMacro & let_drToken ) -{ - aCppPreProcessor.UnblockMacro(let_drToken.Text()); - delete &let_drToken; -} - -void -Distributor::Deal_CppCode( cpp::Token & let_drToken ) -{ - aCppPreProcessor.Process_Token(let_drToken); -} - -void -Distributor::Deal_AdcDocu( adoc::Token & let_drToken ) -{ - aDocuExplorer.Process_Token(let_drToken); -} - -Distributor * -Distributor::AsDistributor() -{ - return this; -} - - - - - -} // namespace cpp - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/c_dealer.hxx b/autodoc/source/parser/cpp/c_dealer.hxx deleted file mode 100644 index 64e833de622f..000000000000 --- a/autodoc/source/parser/cpp/c_dealer.hxx +++ /dev/null @@ -1,110 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_C_DEALER_HXX -#define ADC_CPP_C_DEALER_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <cpp/ctokdeal.hxx> -#include <adoc/atokdeal.hxx> -#include <ary/info/docstore.hxx> - // COMPONENTS -#include "preproc.hxx" -#include "c_rcode.hxx" -#include <adoc/a_rdocu.hxx> - // PARAMETERS - -namespace csv -{ - namespace ploc - { - class Path; - class DirectoryChain; - } -} - - -class TokenParser; - - -namespace cpp -{ - -class PE_File; -class DefineDescription; - - -class Distributor : public cpp::TokenDealer, /// Handle C++ code tokens. - public adoc::TokenDealer /// Handle Autodoc documentation tokens. -{ - public: - typedef std::map< String, DefineDescription* > MacroMap; - - // LIFECYCLE - Distributor( - ary::cpp::Gate & io_rGate ); - ~Distributor(); - // OPERATIONS - void AssignPartners( - CharacterSource & io_rSourceText, - const MacroMap & i_rValidMacros ); - void StartNewFile( - const csv::ploc::Path & - i_file ); - virtual void Deal_Eol(); - virtual void Deal_Eof(); - - virtual void Deal_CppCode( - cpp::Token & let_drToken ); - virtual void Deal_Cpp_UnblockMacro( - Tok_UnblockMacro & let_drToken ); - - virtual void Deal_AdcDocu( - adoc::Token & let_drToken ); - virtual Distributor * - AsDistributor(); - private: - // DATA - PreProcessor aCppPreProcessor; - CodeExplorer aCodeExplorer; - adoc::DocuExplorer aDocuExplorer; - ary::cpp::Gate * pGate; - FileScope_EventHandler * - pFileEventHandler; - DocuDealer * pDocuDistributor; -}; - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/c_rcode.cxx b/autodoc/source/parser/cpp/c_rcode.cxx deleted file mode 100644 index cdec22bbdc58..000000000000 --- a/autodoc/source/parser/cpp/c_rcode.cxx +++ /dev/null @@ -1,161 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "c_rcode.hxx" - -// NOT FULLY DECLARED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/loc/locp_le.hxx> -#include "cpp_pe.hxx" -#include <adc_cl.hxx> -#include <x_parse.hxx> -#include "pe_file.hxx" - -const uintt C_nNO_TRY = uintt(-1); - - -namespace cpp { - - -CodeExplorer::CodeExplorer( ary::cpp::Gate & io_rAryGate ) - : aGlobalParseContext(io_rAryGate), - // aEnvironments, - pPE_File(0), - pGate(&io_rAryGate), - dpCurToken(0) -{ - pPE_File = new PE_File( aGlobalParseContext ); -} - -CodeExplorer::~CodeExplorer() -{ -} - -void -CodeExplorer::StartNewFile() -{ - csv::erase_container(aEnvironments); - - aEnvironments.push_back( pPE_File.MutablePtr() ); - pPE_File->Enter(push); -} - -void -CodeExplorer::Process_Token( DYN cpp::Token & let_drToken ) -{ -if (DEBUG_ShowTokens()) -{ - Cout() << let_drToken.Text() << Endl(); -} - dpCurToken = &let_drToken; - aGlobalParseContext.ResetResult(); - - do { - CurToken().Trigger( CurEnv() ); - AcknowledgeResult(); - } while ( dpCurToken ); -} - -void -CodeExplorer::AcknowledgeResult() -{ - if (CurResult().eDone == done) - dpCurToken = 0; - - switch ( CurResult().eStackAction ) - { - case stay: - break; - case push: - CurEnv().Leave(push); - aEnvironments.push_back( &PushEnv() ); - PushEnv().Enter(push); - break; - case pop_success: - CurEnv().Leave(pop_success); - aEnvironments.pop_back(); - CurEnv().Enter(pop_success); - break; - case pop_failure: - { - Cpp_PE * pRecover = 0; - do { - CurEnv().Leave(pop_failure); - aEnvironments.pop_back(); - if ( aEnvironments.empty() ) - break; - pRecover = CurEnv().Handle_ChildFailure(); - } while ( pRecover == 0 ); - if ( pRecover != 0 ) - { - aEnvironments.push_back(pRecover); - pRecover->Enter(push); - } - else - { - throw X_Parser( X_Parser::x_UnexpectedToken, CurToken().Text(), aGlobalParseContext.CurFileName(), aGlobalParseContext.LineCount() ); - } - } break; - default: - csv_assert(false); - } // end switch(CurResult().eStackAction) -} - -const Token & -CodeExplorer::CurToken() const -{ - csv_assert(dpCurToken); - - return *dpCurToken; -} - -Cpp_PE & -CodeExplorer::CurEnv() const -{ - csv_assert(!aEnvironments.empty()); - csv_assert(aEnvironments.back() != 0); - - return *aEnvironments.back(); -} - -Cpp_PE & -CodeExplorer::PushEnv() const -{ - TokenProcessing_Result & rCurResult = const_cast< TokenProcessing_Result& >(aGlobalParseContext.CurResult()); - Cpp_PE * ret = dynamic_cast< Cpp_PE* >(rCurResult.pEnv2Push); - csv_assert( ret != 0 ); - return *ret; -} - - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/c_rcode.hxx b/autodoc/source/parser/cpp/c_rcode.hxx deleted file mode 100644 index 740faaa9b9a9..000000000000 --- a/autodoc/source/parser/cpp/c_rcode.hxx +++ /dev/null @@ -1,106 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_C_RCODE_HXX -#define ADC_CPP_C_RCODE_HXX - -// BASE CLASSES -#include <tokens/tokproct.hxx> -// USED SERVICES -#include <cosv/ploc.hxx> -#include "cxt2ary.hxx" -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/loc/loc_types4loc.hxx> - - - -namespace ary -{ -namespace cpp -{ - class Gate; -} -namespace doc -{ - class OldCppDocu; -} -} - -namespace cpp -{ - class PE_File; - class Token; - class Cpp_PE; - - - - -class CodeExplorer : private TokenProcessing_Types - -{ - public: - CodeExplorer( - ary::cpp::Gate & io_rAryGate ); - ~CodeExplorer(); - - void StartNewFile(); - void Process_Token( - DYN cpp::Token & let_drToken ); - // ACCESS - FileScope_EventHandler & - FileEventHandler() { return aGlobalParseContext; } - DocuDealer & DocuDistributor() { return aGlobalParseContext; } - - private: - typedef std::vector< cpp::Cpp_PE* > EnvironmentStack; - - void AcknowledgeResult(); - const Token & CurToken() const; - Cpp_PE & CurEnv() const; - Cpp_PE & PushEnv() const; - TokenProcessing_Result & - CurResult() { return aGlobalParseContext.CurResult(); } - - // DATA - ContextForAry aGlobalParseContext; - - EnvironmentStack aEnvironments; - Dyn<PE_File> pPE_File; - - ary::cpp::Gate * pGate; - cpp::Token * dpCurToken; -}; - - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cpp_pe.cxx b/autodoc/source/parser/cpp/cpp_pe.cxx deleted file mode 100644 index 1e224897186d..000000000000 --- a/autodoc/source/parser/cpp/cpp_pe.cxx +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cpp_pe.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/doc/d_oldcppdocu.hxx> -#include "cpp_tok.hxx" - - - - -namespace cpp { - -void -Cpp_PE::SetTokenResult( E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push ) -{ - rMyEnv.SetTokenResult( i_eDone, - i_eWhat2DoWithEnvStack, - i_pParseEnv2Push ); -} - -Cpp_PE::Cpp_PE( Cpp_PE * io_pParent ) - : ParseEnvironment( io_pParent ), - rMyEnv( io_pParent->Env() ) -{ - csv_assert(io_pParent != 0); -} - -Cpp_PE::Cpp_PE( EnvData & i_rEnv ) - : ParseEnvironment(0), - rMyEnv(i_rEnv) -{ -} - -void -Cpp_PE::StdHandlingOfSyntaxError( const char * ) -{ - SetTokenResult(not_done, pop_failure); -} - - -Cpp_PE * -Cpp_PE::Handle_ChildFailure() -{ - return 0; -} - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cpp_pe.hxx b/autodoc/source/parser/cpp/cpp_pe.hxx deleted file mode 100644 index cd3ba0af46f2..000000000000 --- a/autodoc/source/parser/cpp/cpp_pe.hxx +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CPP_PE_HXX -#define ADC_CPP_CPP_PE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <semantic/parseenv.hxx> -#include "tokintpr.hxx" - // COMPONENTS -#include "pev.hxx" - // PARAMETERS -#include <ary/cpp/c_types4cpp.hxx> - - -namespace cpp { - -class Cpp_PE : public ::ParseEnvironment, - public TokenInterpreter -{ - public: - typedef cpp::PeEnvironment EnvData; - - void SetTokenResult( - E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push = 0 ); - - virtual Cpp_PE * Handle_ChildFailure(); // Defaulted to 0. - - protected: - Cpp_PE( - Cpp_PE * io_pParent ); - Cpp_PE( - EnvData & i_rEnv ); - - EnvData & Env() const; - - void StdHandlingOfSyntaxError( - const char * i_sText ); - - private: - // DATA - EnvData & rMyEnv; -}; - -inline Cpp_PE::EnvData & -Cpp_PE::Env() const - { return rMyEnv; } - -} // namespace cpp - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cpp_tok.hxx b/autodoc/source/parser/cpp/cpp_tok.hxx deleted file mode 100644 index 7f4200a86dda..000000000000 --- a/autodoc/source/parser/cpp/cpp_tok.hxx +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_TOK_HXX -#define ADC_CPP_TOK_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/token.hxx> - // COMPONENTS - // PARAMETERS - - -namespace cpp { - - -class TokenInterpreter; - - -class Token : public TextToken -{ - public: - // LIFECYCLE - virtual ~Token() {} - - // OPERATIONS - virtual INT16 TypeId() const = 0; - virtual void DealOut( - ::TokenDealer & o_rDealer ); - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const = 0; -}; - - -} // namespace cpp - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_base.cxx b/autodoc/source/parser/cpp/cx_base.cxx deleted file mode 100644 index dad8a50b10e0..000000000000 --- a/autodoc/source/parser/cpp/cx_base.cxx +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cx_base.hxx" - -// NOT FULLY DECLARED SERVICES -#include <tokens/token.hxx> -#include "c_dealer.hxx" - - - -namespace cpp { - - - -Cx_Base::Cx_Base( TkpContext * io_pFollowUpContext ) - : pDealer(0), - pFollowUpContext(io_pFollowUpContext) - // pNewToken -{ -} - -bool -Cx_Base::PassNewToken() -{ - if (pNewToken) - { - pNewToken.Release()->DealOut(Dealer()); - return true; - } - return false; -} - -TkpContext & -Cx_Base::FollowUpContext() -{ - csv_assert(pFollowUpContext != 0); - return *pFollowUpContext; -} - -void -Cx_Base::AssignDealer( Distributor & o_rDealer ) -{ - pDealer = &o_rDealer; -} - - -} // namespace cpp - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_base.hxx b/autodoc/source/parser/cpp/cx_base.hxx deleted file mode 100644 index 4e7ff2e3b34b..000000000000 --- a/autodoc/source/parser/cpp/cx_base.hxx +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CX_BASE_HXX -#define ADC_CPP_CX_BASE_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkpcontx.hxx> - // COMPONENTS - // PARAMETERS - - -class TextToken; - - -namespace cpp -{ - -class Distributor; - - -class Cx_Base : public ::TkpContext -{ - public: - virtual bool PassNewToken(); - virtual TkpContext & - FollowUpContext(); - - virtual void AssignDealer( - Distributor & o_rDealer ); - protected: - // LIFECYCLE - Cx_Base( - TkpContext * io_pFollowUpContext ); - - void SetNewToken( - DYN ::TextToken * let_dpToken ); - void SetFollowUpContext( - TkpContext * io_pContext ); - - Distributor & Dealer() const; - - private: - // DATA - Distributor * pDealer; - TkpContext * pFollowUpContext; - Dyn< ::TextToken > pNewToken; -}; - - - - -inline void -Cx_Base::SetNewToken( DYN ::TextToken * let_dpToken ) - { pNewToken = let_dpToken; } -inline void -Cx_Base::SetFollowUpContext( TkpContext * io_pContext ) - { pFollowUpContext = io_pContext; } -inline Distributor & -Cx_Base::Dealer() const - { csv_assert(pDealer != 0); - return *pDealer; } - - - - - -} // namespace cpp - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_c_pp.cxx b/autodoc/source/parser/cpp/cx_c_pp.cxx deleted file mode 100644 index afb389e8065c..000000000000 --- a/autodoc/source/parser/cpp/cx_c_pp.cxx +++ /dev/null @@ -1,180 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cx_c_pp.hxx" - - - -// NOT FULLY DECLARED SERVICES -#include "c_dealer.hxx" -#include <tokens/parseinc.hxx> -#include <x_parse.hxx> -#include "all_toks.hxx" - - -namespace cpp -{ - -Context_Preprocessor::Context_Preprocessor( TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext), - pContext_Parent(&i_rFollowUpContext), - pContext_PP_MacroParams( 0 ), - pContext_PP_Definition( new Context_PP_Definition(i_rFollowUpContext) ) -{ - pContext_PP_MacroParams = new Context_PP_MacroParams(*pContext_PP_Definition); -} - -void -Context_Preprocessor::ReadCharChain( CharacterSource & io_rText ) -{ - jumpOverWhite( io_rText ); - jumpToWhite( io_rText ); - const char * sPP_Keyword = io_rText.CutToken(); - if ( strcmp(sPP_Keyword, "define") == 0 ) - ReadDefine(io_rText); - else - ReadDefault(io_rText); -} - -void -Context_Preprocessor::AssignDealer( Distributor & o_rDealer ) -{ - Cx_Base::AssignDealer(o_rDealer); - pContext_PP_MacroParams->AssignDealer(o_rDealer); - pContext_PP_Definition->AssignDealer(o_rDealer); -} - -void -Context_Preprocessor::ReadDefault( CharacterSource & io_rText ) -{ - int o_rCount_BackslashedLineBreaks = 0; - jumpToEol(io_rText,o_rCount_BackslashedLineBreaks); - for ( ; o_rCount_BackslashedLineBreaks > 0; --o_rCount_BackslashedLineBreaks ) - Dealer().Deal_Eol(); - - if (io_rText.CurChar() != NULCH) - jumpOverEol(io_rText); - io_rText.CutToken(); - Dealer().Deal_Eol(); - SetNewToken(0); - SetFollowUpContext( pContext_Parent ); -} - -void -Context_Preprocessor::ReadDefine( CharacterSource & io_rText ) -{ - jumpOverWhite( io_rText ); - io_rText.CutToken(); - - char cNext = '\0'; - for ( cNext = io_rText.CurChar(); - static_cast<UINT8>(cNext) > 32 AND cNext != '('; - cNext = io_rText.MoveOn() ) - { } - - if ( NOT (cNext == '(') ) - { - SetNewToken( new Tok_DefineName(io_rText.CutToken()) ); - SetFollowUpContext( pContext_PP_Definition.Ptr() ); - } - else - { - SetNewToken( new Tok_MacroName(io_rText.CutToken()) ); - io_rText.MoveOn(); - io_rText.CutToken(); - SetFollowUpContext( pContext_PP_MacroParams.Ptr() ); - } -} - - -Context_PP_MacroParams::Context_PP_MacroParams( Cx_Base & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext), - pContext_PP_Definition(&i_rFollowUpContext) -{ -} - -void -Context_PP_MacroParams::ReadCharChain( CharacterSource & io_rText ) -{ - uintt nLen; - - jumpOverWhite( io_rText ); - // KORR_FUTURE Handling line breaks within macro parameters: - char cSeparator = jumpTo( io_rText, ',', ')' ); - csv_assert( cSeparator != 0 ); - - static char cBuf[500]; - // KORR_FUTURE, make it still safer, here: - strcpy( cBuf, io_rText.CutToken() ); // SAFE STRCPY (#100211# - checked) - for ( nLen = strlen(cBuf); - nLen > 0 AND cBuf[nLen-1] < 33; - --nLen ) - { } - cBuf[nLen] = '\0'; - SetNewToken( new Tok_MacroParameter(cBuf) ); - - io_rText.MoveOn(); - io_rText.CutToken(); - if ( cSeparator == ',') - SetFollowUpContext( this ); - else // Must be ')' - SetFollowUpContext( pContext_PP_Definition ); -} - -Context_PP_Definition::Context_PP_Definition( TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext), - pContext_Parent(&i_rFollowUpContext) -{ -} - -void -Context_PP_Definition::ReadCharChain( CharacterSource & io_rText ) -{ - int o_rCount_BackslashedLineBreaks = 0; - jumpToEol(io_rText,o_rCount_BackslashedLineBreaks); - for ( ; o_rCount_BackslashedLineBreaks > 0; --o_rCount_BackslashedLineBreaks ) - Dealer().Deal_Eol(); - SetNewToken( new Tok_PreProDefinition(io_rText.CutToken()) ); - if (io_rText.CurChar() != NULCH) - jumpOverEol(io_rText); - Dealer().Deal_Eol(); -} - - -} // namespace cpp - - - - - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_c_pp.hxx b/autodoc/source/parser/cpp/cx_c_pp.hxx deleted file mode 100644 index 0b0e86d2e690..000000000000 --- a/autodoc/source/parser/cpp/cx_c_pp.hxx +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CX_C_PP_HXX -#define ADC_CPP_CX_C_PP_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkpcontx.hxx> -#include "cx_base.hxx" - // COMPONENTS - // PARAMETERS - - -namespace cpp -{ - -class Context_Preprocessor : public Cx_Base -{ - public: - Context_Preprocessor( - TkpContext & i_rFollowUpContext ); - virtual void ReadCharChain( - CharacterSource & io_rText ); - virtual void AssignDealer( - Distributor & o_rDealer ); - private: - // Locals - void ReadDefault( - CharacterSource & io_rText ); - void ReadDefine( - CharacterSource & io_rText ); - - // DATA - TkpContext * pContext_Parent; - Dyn<Cx_Base> pContext_PP_MacroParams; - Dyn<Cx_Base> pContext_PP_Definition; -}; - -class Context_PP_MacroParams : public Cx_Base -{ - public: - Context_PP_MacroParams( - Cx_Base & i_rFollowUpContext ); - - virtual void ReadCharChain( - CharacterSource & io_rText ); - private: - // DATA - Cx_Base * pContext_PP_Definition; -}; - -class Context_PP_Definition : public Cx_Base -{ - public: - Context_PP_Definition( - TkpContext & i_rFollowUpContext ); - - virtual void ReadCharChain( - CharacterSource & io_rText ); - - private: - // DATA - TkpContext * pContext_Parent; -}; - - -} // namespace cpp - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_c_std.cxx b/autodoc/source/parser/cpp/cx_c_std.cxx deleted file mode 100644 index c3710d66332b..000000000000 --- a/autodoc/source/parser/cpp/cx_c_std.cxx +++ /dev/null @@ -1,531 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cx_c_std.hxx" - - -// NOT FULLY DECLARED SERVICES -#include "all_toks.hxx" -#include "cx_c_pp.hxx" -#include "cx_c_sub.hxx" -#include <tools/tkpchars.hxx> -#include <tokens/tkpstama.hxx> -#include <x_parse.hxx> -#include "c_dealer.hxx" - - -namespace cpp { - - -const intt C_nCppInitialNrOfStati = 600; -const intt C_nStatusSize = 128; - - - -const uintt nF_fin_Error = 1; -const uintt nF_fin_CreateWithoutText = 2; -const uintt nF_fin_CreateWithText = 3; -const uintt nF_fin_Ignore = 4; -const uintt nF_fin_EOL = 5; -const uintt nF_fin_EOF = 6; -const uintt nF_fin_Bezeichner = 7; - -const uintt nF_goto_Preprocessor = 10; -const uintt nF_goto_Comment = 11; -const uintt nF_goto_Docu = 12; -const uintt nF_goto_Const = 13; -const uintt nF_goto_UnblockMacro = 14; - -// Token create functions for the state machine: -DYN TextToken * TCF_Identifier(const char * text) { return new Tok_Identifier(text); } - -DYN TextToken * TCF_operator(const char *) { return new Tok_operator; } -DYN TextToken * TCF_class(const char *) { return new Tok_class; } -DYN TextToken * TCF_struct(const char *) { return new Tok_struct; } -DYN TextToken * TCF_union(const char *) { return new Tok_union; } -DYN TextToken * TCF_enum(const char *) { return new Tok_enum; } -DYN TextToken * TCF_typedef(const char *) { return new Tok_typedef; } -DYN TextToken * TCF_public(const char *) { return new Tok_public; } -DYN TextToken * TCF_protected(const char *) { return new Tok_protected; } -DYN TextToken * TCF_private(const char *) { return new Tok_private; } -DYN TextToken * TCF_template(const char *) { return new Tok_template; } -DYN TextToken * TCF_virtual(const char *) { return new Tok_virtual; } -DYN TextToken * TCF_friend(const char *) { return new Tok_friend; } -DYN TextToken * TCF_Tilde(const char *) { return new Tok_Tilde; } -DYN TextToken * TCF_const(const char *) { return new Tok_const; } -DYN TextToken * TCF_volatile(const char *) { return new Tok_volatile; } -DYN TextToken * TCF_extern(const char *) { return new Tok_extern; } -DYN TextToken * TCF_static(const char *) { return new Tok_static; } -DYN TextToken * TCF_mutable(const char *) { return new Tok_mutable; } -DYN TextToken * TCF_register(const char *) { return new Tok_register; } -DYN TextToken * TCF_inline(const char *) { return new Tok_inline; } -DYN TextToken * TCF_explicit(const char *) { return new Tok_explicit; } -DYN TextToken * TCF_namespace(const char *) { return new Tok_namespace; } -DYN TextToken * TCF_using(const char *) { return new Tok_using; } -DYN TextToken * TCF_throw(const char *) { return new Tok_throw; } -DYN TextToken * TCF_SwBracketOpen(const char *) { return new Tok_SwBracket_Left; } -DYN TextToken * TCF_SwBracketClose(const char *) { return new Tok_SwBracket_Right; } -DYN TextToken * TCF_ArBracketOpen(const char *) { return new Tok_ArrayBracket_Left; } -DYN TextToken * TCF_ArBracketClose(const char *) { return new Tok_ArrayBracket_Right; } -DYN TextToken * TCF_BracketOpen(const char *) { return new Tok_Bracket_Left; } -DYN TextToken * TCF_BracketClose(const char *) { return new Tok_Bracket_Right; } -DYN TextToken * TCF_DblColon(const char *) { return new Tok_DoubleColon; } -DYN TextToken * TCF_Semikolon(const char *) { return new Tok_Semicolon; } -DYN TextToken * TCF_Komma(const char *) { return new Tok_Comma; } -DYN TextToken * TCF_Colon(const char *) { return new Tok_Colon; } -DYN TextToken * TCF_Zuweisung(const char *) { return new Tok_Assign; } -DYN TextToken * TCF_Smaller(const char *) { return new Tok_Less; } -DYN TextToken * TCF_Bigger(const char *) { return new Tok_Greater; } -DYN TextToken * TCF_Stern(const char *) { return new Tok_Asterix; } -DYN TextToken * TCF_Ampersand(const char *) { return new Tok_AmpersAnd; } -DYN TextToken * TCF_Ellipse(const char *) { return new Tok_Ellipse; } -DYN TextToken * TCF_typename(const char *) { return new Tok_typename; } - - // Operators -DYN TextToken * TCF_Operator(const char * text) { return new Tok_Operator(text); } - -DYN TextToken * TCF_BuiltInType(const char * text) { return new Tok_BuiltInType(text); } -DYN TextToken * TCF_TypeModifier(const char * text) { return new Tok_TypeSpecializer(text); } - -DYN TextToken * TCF_Eof(const char *) { return new Tok_Eof; } - - - -Context_CppStd::Context_CppStd( DYN autodoc::TkpDocuContext & let_drContext_Docu ) - : Cx_Base(0), - aStateMachine(C_nStatusSize,C_nCppInitialNrOfStati), - pDocuContext(&let_drContext_Docu), - pContext_Comment(0), - pContext_Preprocessor(0), - pContext_ConstString(0), - pContext_ConstChar(0), - pContext_ConstNumeric(0), - pContext_UnblockMacro(0) -{ - pDocuContext->SetParentContext(*this,"*/"); - - pContext_Comment = new Context_Comment(*this); - pContext_Preprocessor = new Context_Preprocessor(*this); - pContext_ConstString = new Context_ConstString(*this); - pContext_ConstChar = new Context_ConstChar(*this); - pContext_ConstNumeric = new Context_ConstNumeric(*this); - pContext_UnblockMacro = new Context_UnblockMacro(*this); - - SetupStateMachine(); -} - -Context_CppStd::~Context_CppStd() -{ -} - -void -Context_CppStd::ReadCharChain( CharacterSource & io_rText ) -{ - SetNewToken(0); - - TextToken::F_CRTOK fTokenCreateFunction = 0; - StmBoundsStatus & rBound = aStateMachine.GetCharChain(fTokenCreateFunction, io_rText); - - // !!! - // The order of the next two lines is essential, because - // pFollowUpContext may be changed by PerformStatusFunction() also, - // which then MUST override the previous assignment. - SetFollowUpContext(rBound.FollowUpContext()); - PerformStatusFunction(rBound.StatusFunctionNr(), fTokenCreateFunction, io_rText); -} - -void -Context_CppStd::AssignDealer( Distributor & o_rDealer ) -{ - Cx_Base::AssignDealer(o_rDealer); - - pDocuContext->AssignDealer(o_rDealer); - pContext_Comment->AssignDealer(o_rDealer); - pContext_Preprocessor->AssignDealer(o_rDealer); - pContext_ConstString->AssignDealer(o_rDealer); - pContext_ConstChar->AssignDealer(o_rDealer); - pContext_ConstNumeric->AssignDealer(o_rDealer); - pContext_UnblockMacro->AssignDealer(o_rDealer); -} - -void -Context_CppStd::PerformStatusFunction( uintt i_nStatusSignal, - F_CRTOK i_fTokenCreateFunction, - CharacterSource & io_rText ) -{ - switch (i_nStatusSignal) - { - case nF_fin_CreateWithoutText: - io_rText.CutToken(); - csv_assert(i_fTokenCreateFunction != 0); - SetNewToken( (*i_fTokenCreateFunction)(0) ); - break; - case nF_fin_CreateWithText: - csv_assert(i_fTokenCreateFunction != 0); - SetNewToken( (*i_fTokenCreateFunction)(io_rText.CutToken()) ); - break; - case nF_fin_Ignore: - io_rText.CutToken(); - SetNewToken(0); - break; - case nF_fin_EOL: - io_rText.CutToken(); - SetNewToken(0); - Dealer().Deal_Eol(); - break; - case nF_fin_EOF: - io_rText.CutToken(); - SetNewToken( TCF_Eof(0) ); - break; - case nF_fin_Bezeichner: - SetNewToken( TCF_Identifier(io_rText.CutToken()) ); - break; - - case nF_goto_Preprocessor: - io_rText.CutToken(); - SetNewToken(0); - break; - case nF_goto_Comment: - SetNewToken(0); - pContext_Comment->SetMode_IsMultiLine( io_rText.CutToken()[1] == '*' ); - break; - case nF_goto_Docu: - SetNewToken(0); - pDocuContext->SetMode_IsMultiLine( io_rText.CutToken()[1] == '*' ); - break; - case nF_goto_Const: - SetNewToken(0); - break; - case nF_goto_UnblockMacro: - SetNewToken(0); - break; - - case nF_fin_Error: - default: - { - char cCC = io_rText.CurChar(); - String sCurChar( &cCC, 1 ); - throw X_Parser( X_Parser::x_InvalidChar, sCurChar, String::Null_(), 0 ); - } - } // end switch (i_nStatusSignal) -} - -void -Context_CppStd::SetupStateMachine() -{ - // special array statuses (no tokenfinish or change of context): -// const INT16 top = 0; // top status - const INT16 wht = 1; // skip whitespace status - const INT16 bez = 2; // read identifier status - - // tokenfinish statuses: - const INT16 finError = 3; - const INT16 finIgnore = 4; - const INT16 finBezeichner = 5; - const INT16 finKeyword = 6; - const INT16 finPunctuation = 7; - const INT16 finBiType = 8; - const INT16 finTypeModifier = 9; - const INT16 finEOL = 10; - const INT16 finEOF = 11; - - // change of context statuses: - const INT16 gotoComment = 12; - const INT16 gotoDocu = 13; - const INT16 gotoPreprocessor = 14; - const INT16 gotoConstString = 15; - const INT16 gotoConstChar = 16; - const INT16 gotoConstNumeric = 17; - const INT16 gotoUnblockMacro = 18; - - // abbreviations to be used in status tables: - const INT16 err = finError; - const INT16 fig = finIgnore; - const INT16 fbz = finBezeichner; - const INT16 fof = finEOF; - const INT16 cst = gotoConstString; - const INT16 cch = gotoConstChar; - const INT16 cnr = gotoConstNumeric; - - - /// Zeros - '0' - will be replaced by AddToken(). - - const INT16 A_nTopStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {fof,err,err,err,err,err,err,err,err,wht, 0,wht,wht, 0,err,err, - err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // 16 ... - wht, 0,cst, 0,err, 0, 0,cch, 0, 0, 0, 0, 0, 0, 0, 0, - cnr,cnr,cnr,cnr,cnr,cnr,cnr,cnr,cnr,cnr, 0, 0, 0, 0, 0, 0, // 48 ... - 0,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, 0, 0, 0, 0,bez, // 80 ... - 0,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, 0, 0, 0, 0,err, // 80 ... - }; - - const INT16 A_nWhitespaceStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {fof,err,err,err,err,err,err,err,err,wht,fig,wht,wht,fig,err,err, - err,err,err,err,err,err,err,err,err,err,fof,err,err,err,err,err, // 16 ... - wht,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig, - fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig, // 48 ... - fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig, - fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig, // 80 ... - fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig, - fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,fig,err - }; - - const INT16 A_nBezeichnerStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {fbz,err,err,err,err,err,err,err,err,fbz,fbz,fbz,fbz,fbz,err,err, - err,err,err,err,err,err,err,err,err,err,fbz,err,err,err,err,err, // 16 ... - fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,fbz,fbz,fbz,fbz,fbz,fbz, // 48 ... - fbz,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,fbz,fbz,fbz,fbz,bez, // 80 ... - fbz,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,fbz,fbz,fbz,fbz,err - }; - - - const INT16 A_nOperatorDefStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 16 ... - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 48 ... - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, // 80 ... - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err, - err,err,err,err,err,err,err,err,err,err,err,err,err,err,err,err - }; - - const INT16 A_nBezDefStatus[C_nStatusSize] = - // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - {fbz,err,err,err,err,err,err,err,err,fbz,fbz,fbz,fbz,fbz,err,err, - err,err,err,err,err,err,err,err,err,err,fbz,err,err,err,err,err, // 16 ... - fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz,fbz, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,fbz,fbz,fbz,fbz,fbz,fbz, // 48 ... - fbz,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,fbz,fbz,fbz,fbz,bez, // 80 ... - fbz,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez, - bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,bez,fbz,fbz,fbz,fbz,err - }; - - DYN StmArrayStatus * dpStatusTop - = new StmArrayStatus( C_nStatusSize, A_nTopStatus, 0, true); - DYN StmArrayStatus * dpStatusWhite - = new StmArrayStatus( C_nStatusSize, A_nWhitespaceStatus, 0, true); - DYN StmArrayStatus * dpStatusBez - = new StmArrayStatus( C_nStatusSize, A_nBezeichnerStatus, TCF_Identifier, true); - - DYN StmBoundsStatus * dpBst_finError - = new StmBoundsStatus( *this, TkpContext::Null_(), nF_fin_Error, true ); - DYN StmBoundsStatus * dpBst_finIgnore - = new StmBoundsStatus( *this, *this, nF_fin_Ignore, true ); - DYN StmBoundsStatus * dpBst_finBezeichner - = new StmBoundsStatus( *this, *this, nF_fin_Bezeichner, true ); - DYN StmBoundsStatus * dpBst_finKeyword - = new StmBoundsStatus( *this, *this, nF_fin_CreateWithoutText, false ); - DYN StmBoundsStatus * dpBst_finPunctuation - = new StmBoundsStatus( *this, *this, nF_fin_CreateWithText, false ); - DYN StmBoundsStatus * dpBst_finBiType - = new StmBoundsStatus( *this, *this, nF_fin_CreateWithText, false ); - DYN StmBoundsStatus * dpBst_finTypeModifier - = new StmBoundsStatus( *this, *this, nF_fin_CreateWithText, false ); - DYN StmBoundsStatus * dpBst_finEOL - = new StmBoundsStatus( *this, *this, nF_fin_EOL, false ); - DYN StmBoundsStatus * dpBst_finEOF - = new StmBoundsStatus( *this, TkpContext::Null_(), nF_fin_EOF, false ); - - DYN StmBoundsStatus * dpBst_gotoComment - = new StmBoundsStatus( *this, *pContext_Comment, nF_goto_Comment, false ); - DYN StmBoundsStatus * dpBst_gotoDocu - = new StmBoundsStatus( *this, *pDocuContext, nF_goto_Docu, false ); - DYN StmBoundsStatus * dpBst_gotoPreprocessor - = new StmBoundsStatus( *this, *pContext_Preprocessor, nF_goto_Preprocessor, false ); - DYN StmBoundsStatus * dpBst_gotoConstString - = new StmBoundsStatus( *this, *pContext_ConstString, nF_goto_Const, false ); - DYN StmBoundsStatus * dpBst_gotoConstChar - = new StmBoundsStatus( *this, *pContext_ConstChar, nF_goto_Const, false ); - DYN StmBoundsStatus * dpBst_gotoConstNumeric - = new StmBoundsStatus( *this, *pContext_ConstNumeric, nF_goto_Const, false ); - DYN StmBoundsStatus * dpBst_gotoUnblockMacro - = new StmBoundsStatus( *this, *pContext_UnblockMacro, nF_goto_UnblockMacro, false ); - - // construct dpMain: - aStateMachine.AddStatus(dpStatusTop); - - aStateMachine.AddStatus(dpStatusWhite); - aStateMachine.AddStatus(dpStatusBez); - - aStateMachine.AddStatus(dpBst_finError); - aStateMachine.AddStatus(dpBst_finIgnore); - aStateMachine.AddStatus(dpBst_finBezeichner); - aStateMachine.AddStatus(dpBst_finKeyword); - aStateMachine.AddStatus(dpBst_finPunctuation); - aStateMachine.AddStatus(dpBst_finBiType); - aStateMachine.AddStatus(dpBst_finTypeModifier); - aStateMachine.AddStatus(dpBst_finEOL); - aStateMachine.AddStatus(dpBst_finEOF); - - aStateMachine.AddStatus(dpBst_gotoComment); - aStateMachine.AddStatus(dpBst_gotoDocu); - aStateMachine.AddStatus(dpBst_gotoPreprocessor); - aStateMachine.AddStatus(dpBst_gotoConstString); - aStateMachine.AddStatus(dpBst_gotoConstChar); - aStateMachine.AddStatus(dpBst_gotoConstNumeric); - aStateMachine.AddStatus(dpBst_gotoUnblockMacro); - - // Identifier - - // Keywords and other unique Tokens - aStateMachine.AddToken("operator",TCF_operator,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("class",TCF_class,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("struct",TCF_struct,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("union",TCF_union,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("enum",TCF_enum,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("typedef",TCF_typedef,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("public",TCF_public,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("protected",TCF_protected,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("private",TCF_private,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("template",TCF_template,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("virtual",TCF_virtual,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("friend",TCF_friend,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("~",TCF_Tilde,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("const",TCF_const,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("volatile",TCF_volatile,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("extern",TCF_extern,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("static",TCF_static,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("mutable",TCF_mutable,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("register",TCF_register,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("inline",TCF_inline,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("explicit",TCF_explicit,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("namespace",TCF_namespace,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("using",TCF_using,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("throw",TCF_throw,A_nBezDefStatus,finKeyword); - aStateMachine.AddToken("{",TCF_SwBracketOpen,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("}",TCF_SwBracketClose,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("[",TCF_ArBracketOpen,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("]",TCF_ArBracketClose,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("(",TCF_BracketOpen,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken(")",TCF_BracketClose,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("::",TCF_DblColon,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken(";",TCF_Semikolon,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken(",",TCF_Komma,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken(":",TCF_Colon,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("=",TCF_Zuweisung,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("<",TCF_Smaller,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken(">",TCF_Bigger,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("*",TCF_Stern,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("&",TCF_Ampersand,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("...",TCF_Ellipse,A_nOperatorDefStatus,finKeyword); - aStateMachine.AddToken("typename",TCF_typename,A_nOperatorDefStatus,finKeyword); - - // Operators - aStateMachine.AddToken("==",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("!=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("<=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken(">=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("&&",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("||",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("!",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("new",TCF_Operator,A_nBezDefStatus,finPunctuation); - aStateMachine.AddToken("delete",TCF_Operator,A_nBezDefStatus,finPunctuation); - aStateMachine.AddToken("sizeof",TCF_Operator,A_nBezDefStatus,finPunctuation); - aStateMachine.AddToken("typeid",TCF_Operator,A_nBezDefStatus,finPunctuation); - aStateMachine.AddToken("+",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("-",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("/",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("%",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("^",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("|",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("<<",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken(">>",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken(".",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("->",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("?",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("+=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("-=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("*=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("/=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("%=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("&=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("|=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("^=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken("<<=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - aStateMachine.AddToken(">>=",TCF_Operator,A_nOperatorDefStatus,finPunctuation); - - // Builtin types - aStateMachine.AddToken("char", TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("short", TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("int", TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("long", TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("float", TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("double",TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("wchar_t",TCF_BuiltInType, A_nBezDefStatus, finBiType); - aStateMachine.AddToken("size_t",TCF_BuiltInType, A_nBezDefStatus, finBiType); - - // Type modifiers - aStateMachine.AddToken("signed", TCF_TypeModifier, A_nBezDefStatus, finTypeModifier); - aStateMachine.AddToken("unsigned", TCF_TypeModifier, A_nBezDefStatus, finTypeModifier); - - // To ignore - aStateMachine.AddToken("auto", 0, A_nBezDefStatus, finIgnore); - aStateMachine.AddToken("_cdecl", 0, A_nBezDefStatus, finIgnore); - aStateMachine.AddToken("__cdecl", 0, A_nBezDefStatus, finIgnore); - aStateMachine.AddToken("__stdcall", 0, A_nBezDefStatus, finIgnore); - aStateMachine.AddToken("__fastcall",0, A_nBezDefStatus, finIgnore); - aStateMachine.AddToken("/**/", 0, A_nOperatorDefStatus,finIgnore); - - // Context changers - aStateMachine.AddToken("#", 0, A_nOperatorDefStatus, gotoPreprocessor); - aStateMachine.AddToken("#undef",0, A_nOperatorDefStatus, gotoPreprocessor); - aStateMachine.AddToken("#unblock-", - 0, A_nOperatorDefStatus, gotoUnblockMacro); - aStateMachine.AddToken("/*", 0, A_nOperatorDefStatus, gotoComment); - aStateMachine.AddToken("//", 0, A_nOperatorDefStatus, gotoComment); - aStateMachine.AddToken("/**", 0, A_nOperatorDefStatus, gotoDocu); - aStateMachine.AddToken("///", 0, A_nOperatorDefStatus, gotoDocu); - - // Line ends - // regular - aStateMachine.AddToken("\r\n", 0, A_nOperatorDefStatus, finEOL); - aStateMachine.AddToken("\n", 0, A_nOperatorDefStatus, finEOL); - aStateMachine.AddToken("\r", 0, A_nOperatorDefStatus, finEOL); - // To ignore in some cases(may be only at preprocessor?), but - // linecount has to be incremented. - aStateMachine.AddToken("\\\r\n",0, A_nOperatorDefStatus, finEOL); - aStateMachine.AddToken("\\\n", 0, A_nOperatorDefStatus, finEOL); - aStateMachine.AddToken("\\\r", 0, A_nOperatorDefStatus, finEOL); -}; - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_c_std.hxx b/autodoc/source/parser/cpp/cx_c_std.hxx deleted file mode 100644 index fac94a548877..000000000000 --- a/autodoc/source/parser/cpp/cx_c_std.hxx +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CX_C_STD_HXX -#define ADC_CPP_CX_C_STD_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkpcontx.hxx> -#include "cx_base.hxx" - // COMPONENTS -#include <tokens/tkpstama.hxx> - // PARAMETERS - - - -namespace cpp { - -class Context_Comment; - -/** -*/ -class Context_CppStd : public Cx_Base, - private StateMachineContext -{ - public: - // LIFECYCLE - Context_CppStd( - DYN autodoc::TkpDocuContext & - let_drContext_Docu ); - ~Context_CppStd(); - // OPERATIONS - virtual void ReadCharChain( - CharacterSource & io_rText ); - virtual void AssignDealer( - Distributor & o_rDealer ); - private: - // SERVICE FUNCTIONS - void PerformStatusFunction( - uintt i_nStatusSignal, - StmArrayStatus::F_CRTOK - i_fTokenCreateFunction, - CharacterSource & io_rText ); - void SetupStateMachine(); - - // DATA - StateMachine aStateMachine; - - // Contexts - Dyn<autodoc::TkpDocuContext> - pDocuContext; - - Dyn<Context_Comment> - pContext_Comment; - Dyn<Cx_Base> pContext_Preprocessor; - Dyn<Cx_Base> pContext_ConstString; - Dyn<Cx_Base> pContext_ConstChar; - Dyn<Cx_Base> pContext_ConstNumeric; - Dyn<Cx_Base> pContext_UnblockMacro; -}; - - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_c_sub.cxx b/autodoc/source/parser/cpp/cx_c_sub.cxx deleted file mode 100644 index fbdd50529cd5..000000000000 --- a/autodoc/source/parser/cpp/cx_c_sub.cxx +++ /dev/null @@ -1,160 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cx_c_sub.hxx" - - - -// NOT FULLY DECLARED SERVICES -#include <ctype.h> -#include "c_dealer.hxx" -#include <tokens/parseinc.hxx> -#include <x_parse.hxx> -#include "all_toks.hxx" - - -namespace cpp { - - - -void -Context_Comment::ReadCharChain( CharacterSource & io_rText ) -{ - // KORR_FUTURE - // Counting of lines must be implemented. - if (bCurrentModeIsMultiline) - { - char cNext = NULCH; - - do { - do { - cNext = jumpTo( io_rText,'*',char(10) ); - if (cNext == NULCH) - throw X_Parser( X_Parser::x_UnexpectedEOF, "", String::Null_(), 0 ); - else if ( cNext == char(10) ) - { - jumpOverEol(io_rText); - Dealer().Deal_Eol(); - } - } while ( cNext != '*'); - cNext = jumpOver(io_rText,'*'); - if (cNext == NULCH) - throw X_Parser( X_Parser::x_UnexpectedEOF, "", String::Null_(), 0 ); - } while (cNext != '/'); - io_rText.MoveOn(); - io_rText.CutToken(); - SetNewToken(0); - } - else // - { - int o_rCount_BackslashedLineBreaks = 0; - jumpToEol(io_rText,o_rCount_BackslashedLineBreaks); - for ( ; o_rCount_BackslashedLineBreaks > 0; --o_rCount_BackslashedLineBreaks ) - Dealer().Deal_Eol(); - - if (io_rText.CurChar() != NULCH) - jumpOverEol(io_rText); - io_rText.CutToken(); - Dealer().Deal_Eol(); - SetNewToken(0); - } // endif -} - - -void -Context_ConstString::ReadCharChain( CharacterSource & io_rText ) -{ - char cNext = io_rText.MoveOn(); - - while (cNext != '"') - { // Get one complete string constant: "...." - while (cNext != '"' AND cNext != '\\') - { // Get string till next '\\' - cNext = io_rText.MoveOn(); - } - if (cNext == '\\') - { - io_rText.MoveOn(); - cNext = io_rText.MoveOn(); - } - } - io_rText.MoveOn(); - SetNewToken(new Tok_Constant(io_rText.CutToken())); -} - -void -Context_ConstChar::ReadCharChain( CharacterSource & io_rText ) -{ - char cNext = io_rText.MoveOn(); - - while (cNext != '\'') - { // Get one complete char constant: "...." - while (cNext != '\'' AND cNext != '\\') - { // Get string till next '\\' - cNext = io_rText.MoveOn(); - } - if (cNext == '\\') - { - io_rText.MoveOn(); - cNext = io_rText.MoveOn(); - } - } - io_rText.MoveOn(); - SetNewToken(new Tok_Constant(io_rText.CutToken())); -} - -void -Context_ConstNumeric::ReadCharChain(CharacterSource & io_rText) -{ - char cNext = 0; - - do { - do { - cNext = static_cast<char>( tolower(io_rText.MoveOn()) ); - } while ( (cNext != 'e' AND isalnum(cNext)) OR cNext == '.'); - if (cNext == 'e') - { - cNext = io_rText.MoveOn(); - if (cNext == '+' OR cNext == '-') - cNext = io_rText.MoveOn(); - } // endif - } while (isalnum(cNext) OR cNext == '.'); // suffices, if the numbers are spelled correctly - SetNewToken(new Tok_Constant(io_rText.CutToken())); -} - -void -Context_UnblockMacro::ReadCharChain(CharacterSource & io_rText) -{ - jumpToWhite(io_rText); - SetNewToken(new Tok_UnblockMacro( io_rText.CutToken() + strlen("#unblock-") )); -} - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cx_c_sub.hxx b/autodoc/source/parser/cpp/cx_c_sub.hxx deleted file mode 100644 index 6e2d3d8807ed..000000000000 --- a/autodoc/source/parser/cpp/cx_c_sub.hxx +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CX_C_SUB_HXX -#define ADC_CPP_CX_C_SUB_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkpcontx.hxx> -#include "cx_base.hxx" - // COMPONENTS - // PARAMETERS - - -namespace cpp { - - -class Context_Comment : public Cx_Base -{ - public: - Context_Comment( - TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext) {} - virtual void ReadCharChain( - CharacterSource & io_rText ); - void SetMode_IsMultiLine( - bool i_bTrue ) - { bCurrentModeIsMultiline = i_bTrue; } - private: - bool bCurrentModeIsMultiline; -}; - -class Context_ConstString : public Cx_Base -{ - public: - Context_ConstString( - TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext) {} - virtual void ReadCharChain( - CharacterSource & io_rText ); -}; - -class Context_ConstChar : public Cx_Base -{ - public: - Context_ConstChar( - TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext) {} - virtual void ReadCharChain( - CharacterSource & io_rText ); -}; - -class Context_ConstNumeric : public Cx_Base -{ - public: - Context_ConstNumeric( - TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext) {} - virtual void ReadCharChain( - CharacterSource & io_rText ); -}; - -class Context_UnblockMacro : public Cx_Base -{ - public: - Context_UnblockMacro( - TkpContext & i_rFollowUpContext ) - : Cx_Base(&i_rFollowUpContext) {} - virtual void ReadCharChain( - CharacterSource & io_rText ); -}; - - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cxt2ary.cxx b/autodoc/source/parser/cpp/cxt2ary.cxx deleted file mode 100644 index eda70ca1045e..000000000000 --- a/autodoc/source/parser/cpp/cxt2ary.cxx +++ /dev/null @@ -1,360 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "cxt2ary.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/entity.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/c_enuval.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/cpp/c_tydef.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/loc/loc_file.hxx> -#include <ary/doc/d_oldcppdocu.hxx> -#include <ary/info/docstore.hxx> -#include "icprivow.hxx" - -// Implementationheaders, only to be used in this file! -#include "sfscope.hxx" -#include "sownstck.hxx" -#include "sdocdist.hxx" -#include "srecover.hxx" - - - - - -namespace cpp -{ - -using ary::cpp::E_Protection; - -ContextForAry::ContextForAry( ary::cpp::Gate & io_rAryGate ) - : pGate(&io_rAryGate), - aTokenResult(), - pFileScopeInfo( new S_FileScopeInfo ), - pOwnerStack( new S_OwnerStack ), - pDocuDistributor( new S_DocuDistributor ), - pRecoveryGuard( new S_RecoveryGuard ) -{ - OpenNamespace( pGate->Ces().GlobalNamespace() ); -} - -ContextForAry::~ContextForAry() -{ -} - -ary::loc::File & -ContextForAry::inq_CurFile() const -{ - csv_assert(pFileScopeInfo->pCurFile != 0); - - return *pFileScopeInfo->pCurFile; -} - -ary::cpp::Namespace & -ContextForAry::inq_CurNamespace() const -{ - return pOwnerStack->CurNamespace(); -} - -ary::cpp::Class * -ContextForAry::inq_CurClass() const -{ - return pOwnerStack->CurClass(); -} - -ary::cpp::Enum * -ContextForAry::inq_CurEnum() const -{ - return pOwnerStack->CurEnum(); -} - - -ary::cpp::InputContext::Owner & -ContextForAry::inq_CurOwner() const -{ - return pOwnerStack->CurOwner(); -} - -E_Protection -ContextForAry::inq_CurProtection() const -{ - return pOwnerStack->CurProtection(); -} - -void -ContextForAry::do_SetTokenResult( E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push ) -{ - aTokenResult.eDone = i_eDone; - aTokenResult.eStackAction = i_eWhat2DoWithEnvStack; - aTokenResult.pEnv2Push = i_pParseEnv2Push; -} - -void -ContextForAry::do_OpenNamespace( ary::cpp::Namespace & io_rOpenedNamespace ) -{ - pOwnerStack->OpenNamespace( io_rOpenedNamespace ); -} - -void -ContextForAry::do_OpenExternC( bool ) -{ - pOwnerStack->OpenExternC(); - // KORR_FUTURE - // use i_bOnlyForOneDeclaration -} - -void -ContextForAry::do_OpenClass( ary::cpp::Class & io_rOpenedClass ) -{ - pOwnerStack->OpenClass(io_rOpenedClass); - pDocuDistributor->SetCurrentlyStoredRe(io_rOpenedClass); -} - -void -ContextForAry::do_OpenEnum( ary::cpp::Enum & io_rOpenedEnum ) -{ - pOwnerStack->OpenEnum(io_rOpenedEnum); - pDocuDistributor->SetCurrentlyStoredRe(io_rOpenedEnum); -} - -void -ContextForAry::do_CloseBlock() -{ - pOwnerStack->CloseBlock(); -} - -void -ContextForAry::do_CloseClass() -{ - pOwnerStack->CloseClass(); -} - -void -ContextForAry::do_CloseEnum() -{ - pOwnerStack->CloseEnum(); -} - -void -ContextForAry::do_SetCurProtection( ary::cpp::E_Protection i_eProtection ) -{ - pOwnerStack->SetCurProtection(i_eProtection); -} - -void -ContextForAry::do_OpenTemplate( const StringVector & i_rParameters ) -{ - pFileScopeInfo->pCurTemplateParameters = new StringVector(i_rParameters); -} - -DYN StringVector * -ContextForAry::do_Get_CurTemplateParameters() -{ - return pFileScopeInfo->pCurTemplateParameters.Release(); -} - -void -ContextForAry::do_Close_OpenTemplate() -{ - if (pFileScopeInfo->pCurTemplateParameters) - delete pFileScopeInfo->pCurTemplateParameters.Release(); -} - -void -ContextForAry::do_Event_Class_FinishedBase( const String & ) -{ - // KORR_FUTURE -} - -void -ContextForAry::do_Event_Store_Typedef( ary::cpp::Typedef & io_rTypedef ) -{ - pDocuDistributor->SetCurrentlyStoredRe(io_rTypedef); -} - -void -ContextForAry::do_Event_Store_EnumValue( ary::cpp::EnumValue & io_rEnumValue ) -{ - pDocuDistributor->SetCurrentlyStoredRe(io_rEnumValue); -} - -void -ContextForAry::do_Event_Store_CppDefinition( ary::cpp::DefineEntity & io_rDefinition ) -{ - pDocuDistributor->SetCurrentlyStoredRe(io_rDefinition); -} - -void -ContextForAry::do_Event_EnterFunction_ParameterList() -{ - // KORR_FUTURE - // Inform pDocuDistributor about possibility of parameters' inline documentation. -} - -void -ContextForAry::do_Event_Function_FinishedParameter( const String & ) -{ - // KORR_FUTURE -} - -void -ContextForAry::do_Event_LeaveFunction_ParameterList() -{ - // KORR_FUTURE -} - -void -ContextForAry::do_Event_EnterFunction_Implementation() -{ - // KORR_FUTURE -} - -void -ContextForAry::do_Event_LeaveFunction_Implementation() -{ - // KORR_FUTURE -} - -void -ContextForAry::do_Event_Store_Function( ary::cpp::Function & io_rFunction ) -{ - pDocuDistributor->SetCurrentlyStoredRe(io_rFunction); -} - - -void -ContextForAry::do_Event_Store_Variable( ary::cpp::Variable & io_rVariable ) -{ - pDocuDistributor->SetCurrentlyStoredRe(io_rVariable); -} - -void -ContextForAry::do_TakeDocu( DYN ary::doc::OldCppDocu & let_drInfo ) -{ - let_drInfo.Store2(*pDocuDistributor); -} - -void -ContextForAry::do_StartWaitingFor_Recovery() -{ - pRecoveryGuard->StartWaitingFor_Recovery(); -} - -ary::cpp::Gate & -ContextForAry::inq_AryGate() const -{ - return * const_cast< ary::cpp::Gate* >(pGate); -} - -const ary::cpp::InputContext & -ContextForAry::inq_Context() const -{ - return *this; -} - -String -ContextForAry::inq_CurFileName() const -{ - return pFileScopeInfo->pCurFile != 0 - ? pFileScopeInfo->pCurFile->LocalName() - : String::Null_(); -} - -uintt -ContextForAry::inq_LineCount() const -{ - return pFileScopeInfo->nLineCount; -} - -bool -ContextForAry::inq_IsWaitingFor_Recovery() const -{ - return pRecoveryGuard->IsWithinRecovery(); -} - -bool -ContextForAry::inq_IsExternC() const -{ - return pOwnerStack->IsExternC(); -} - -void -ContextForAry::do_SetCurFile( ary::loc::File & io_rCurFile ) -{ - pFileScopeInfo->pCurFile = &io_rCurFile; - pFileScopeInfo->nLineCount = 0; - pFileScopeInfo->pCurTemplateParameters = 0; - - pOwnerStack->Reset(); - pDocuDistributor->Reset(); - pRecoveryGuard->Reset(); -} - -void -ContextForAry::do_Event_IncrLineCount() -{ - ++pFileScopeInfo->nLineCount; - pDocuDistributor->Event_LineBreak(); -} - -void -ContextForAry::do_Event_SwBracketOpen() -{ - pRecoveryGuard->Hdl_SwBracketOpen(); -} - -void -ContextForAry::do_Event_SwBracketClose() -{ - pRecoveryGuard->Hdl_SwBracketClose(); -} - -void -ContextForAry::do_Event_Semicolon() -{ - pRecoveryGuard->Hdl_Semicolon(); -} - - - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/cxt2ary.hxx b/autodoc/source/parser/cpp/cxt2ary.hxx deleted file mode 100644 index 9006aefa645e..000000000000 --- a/autodoc/source/parser/cpp/cxt2ary.hxx +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CTX2ARY_HXX -#define ADC_CPP_CTX2ARY_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/inpcontx.hxx> -#include <doc_deal.hxx> -#include "pev.hxx" -#include "fevnthdl.hxx" - // COMPONENTS - // PARAMETERS - -namespace ary -{ -namespace loc -{ - class File; -} -} - - - -namespace cpp -{ - - -/** @descr - This class provides information about the context of an - CodeEntity, which is going to be stored in the repository. - The information is used mainly by class ary::cpp::Gate. - - Also it provides information for the parser about actual - state of several public variables. - - @todo - Include events, which allow correct storing of inline - documentation after enum values, parameters, - base classes. -*/ -class ContextForAry : public ary::cpp::InputContext, - public cpp::PeEnvironment, - public cpp::FileScope_EventHandler, - public DocuDealer -{ - public: - // LIFECYCLE - ContextForAry( - ary::cpp::Gate & io_rAryGate ); - virtual ~ContextForAry(); - - // OPERATIONS - void ResetResult() { aTokenResult.Reset(); } - - // INQUIRY - const TokenProcessing_Result & - CurResult() const { return aTokenResult; } - // ACCESS - TokenProcessing_Result & - CurResult() { return aTokenResult; } - - private: - // Interface ary::cpp::InputContext: - virtual ary::loc::File & - inq_CurFile() const; - virtual ary::cpp::Namespace & - inq_CurNamespace() const; - virtual ary::cpp::Class * - inq_CurClass() const; - virtual ary::cpp::Enum * - inq_CurEnum() const; - - virtual Owner & inq_CurOwner() const; - virtual ary::cpp::E_Protection - inq_CurProtection() const; - - // Interface PeEnvironment - virtual void do_SetTokenResult( - E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push ); - virtual void do_OpenNamespace( - ary::cpp::Namespace & - io_rOpenedNamespace ); - virtual void do_OpenExternC( - bool i_bOnlyForOneDeclaration ); - virtual void do_OpenClass( - ary::cpp::Class & io_rOpenedClass ); - virtual void do_OpenEnum( - ary::cpp::Enum & io_rOpenedEnum ); - virtual void do_CloseBlock(); - virtual void do_CloseClass(); - virtual void do_CloseEnum(); - virtual void do_SetCurProtection( - ary::cpp::E_Protection - i_eProtection ); - virtual void do_OpenTemplate( - const StringVector & - i_rParameters ); - virtual DYN StringVector * - do_Get_CurTemplateParameters(); - virtual void do_Close_OpenTemplate(); - virtual void do_Event_Class_FinishedBase( - const String & i_sBaseName ); - - virtual void do_Event_Store_Typedef( - ary::cpp::Typedef & io_rTypedef ); - virtual void do_Event_Store_EnumValue( - ary::cpp::EnumValue & - io_rEnumValue ); - virtual void do_Event_Store_CppDefinition( - ary::cpp::DefineEntity & - io_rDefinition ); - virtual void do_Event_EnterFunction_ParameterList(); - virtual void do_Event_Function_FinishedParameter( - const String & i_sParameterName ); - virtual void do_Event_LeaveFunction_ParameterList(); - virtual void do_Event_EnterFunction_Implementation(); - virtual void do_Event_LeaveFunction_Implementation(); - virtual void do_Event_Store_Function( - ary::cpp::Function & - io_rFunction ); - virtual void do_Event_Store_Variable( - ary::cpp::Variable & - io_rVariable ); - virtual void do_TakeDocu( - DYN ary::doc::OldCppDocu & - let_drInfo ); - virtual void do_StartWaitingFor_Recovery(); - virtual ary::cpp::Gate & - inq_AryGate() const; - virtual const ary::cpp::InputContext & - inq_Context() const; - virtual String inq_CurFileName() const; - virtual uintt inq_LineCount() const; - virtual bool inq_IsWaitingFor_Recovery() const; - virtual bool inq_IsExternC() const; - - // Interface FileScope_EventHandler - virtual void do_SetCurFile( - ary::loc::File & io_rCurFile ); - virtual void do_Event_IncrLineCount(); - virtual void do_Event_SwBracketOpen(); - virtual void do_Event_SwBracketClose(); - virtual void do_Event_Semicolon(); - - // Local types - struct S_FileScopeInfo; - struct S_OwnerStack; - struct S_DocuDistributor; - struct S_RecoveryGuard; - - // DATA - ary::cpp::Gate * pGate; - TokenProcessing_Result - aTokenResult; - Dyn<S_FileScopeInfo> - pFileScopeInfo; - Dyn<S_OwnerStack> pOwnerStack; - Dyn<S_DocuDistributor> - pDocuDistributor; - Dyn<S_RecoveryGuard> - pRecoveryGuard; -}; - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/defdescr.cxx b/autodoc/source/parser/cpp/defdescr.cxx deleted file mode 100644 index c233a5d93be4..000000000000 --- a/autodoc/source/parser/cpp/defdescr.cxx +++ /dev/null @@ -1,227 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "defdescr.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <prprpr.hxx> - - - - -namespace cpp -{ - - - - -DefineDescription::DefineDescription( const String & i_sName, - const str_vector & i_rDefinition ) - : sName(i_sName), - // aParams, - aDefinition(i_rDefinition), - eDefineType(type_define) -{ -} - -DefineDescription::DefineDescription( const String & i_sName, - const str_vector & i_rParams, - const str_vector & i_rDefinition ) - : sName(i_sName), - aParams(i_rParams), - aDefinition(i_rDefinition), - eDefineType(type_macro) -{ -} - -DefineDescription::~DefineDescription() -{ -} - -void -DefineDescription::GetDefineText( csv::StreamStr & o_rText ) const -{ - if ( aDefinition.begin() == aDefinition.end() OR eDefineType != type_define ) - return; - - - bool bSwitch_Stringify = false; - bool bSwitch_Concatenate = false; - - for ( str_vector::const_iterator it = aDefinition.begin(); - it != aDefinition.end(); - ++it ) - { - if ( HandleOperatorsBeforeTextItem( o_rText, - bSwitch_Stringify, - bSwitch_Concatenate, - *it ) ) - { - continue; - } - - o_rText << (*it); - - Do_bStringify_end(o_rText, bSwitch_Stringify); - o_rText << " "; - } - o_rText.seekp(-1, csv::cur); -} - -void -DefineDescription::GetMacroText( csv::StreamStr & o_rText, - const StringVector & i_rGivenArguments ) const -{ - bool bSwitch_Stringify = false; - bool bSwitch_Concatenate = false; - intt nActiveParamNr = -1; - - if ( aDefinition.begin() == aDefinition.end() OR eDefineType != type_macro ) - return; - - for ( str_vector::const_iterator it = aDefinition.begin(); - it != aDefinition.end(); - ++it ) - { - if ( HandleOperatorsBeforeTextItem( o_rText, - bSwitch_Stringify, - bSwitch_Concatenate, - *it ) ) - { - continue; - } - - for ( str_vector::const_iterator param_it = aParams.begin(); - param_it != aParams.end() AND nActiveParamNr == -1; - ++param_it ) - { - if ( strcmp(*it, *param_it) == 0 ) - nActiveParamNr = param_it - aParams.begin(); - } - if ( nActiveParamNr == -1 ) - { - o_rText << (*it); - } - else - { - o_rText << i_rGivenArguments[nActiveParamNr]; - nActiveParamNr = -1; - } - - Do_bStringify_end(o_rText, bSwitch_Stringify); - o_rText << " "; - } - o_rText.seekp(-1, csv::cur); -} - - - -} // end namespace cpp - - - - - -bool -CheckForOperator( bool & o_bStringify, - bool & o_bConcatenate, - const String & i_sTextItem ) -{ - if ( strcmp(i_sTextItem, "##") == 0 ) - { - o_bConcatenate = true; - return true; - } - else if ( strcmp(i_sTextItem, "#") == 0 ) - { - o_bStringify = true; - return true; - } - return false; -} - -void -Do_bConcatenate( csv::StreamStr & o_rText, - bool & io_bConcatenate ) -{ - if ( io_bConcatenate ) - { - uintt nPos; - for ( nPos = o_rText.tellp() - 1; - nPos > 0 ? o_rText.c_str()[nPos] == ' ' : false; - --nPos ) ; - o_rText.seekp(nPos+1); - io_bConcatenate = false; - } -} - -void -Do_bStringify_begin( csv::StreamStr & o_rText, - bool i_bStringify ) -{ - if ( i_bStringify ) - { - o_rText << "\""; - } -} - -void -Do_bStringify_end( csv::StreamStr & o_rText, - bool & io_bStringify ) -{ - if ( io_bStringify ) - { - o_rText << "\""; - io_bStringify = false; - } -} - - -bool -HandleOperatorsBeforeTextItem( csv::StreamStr & o_rText, - bool & io_bStringify, - bool & io_bConcatenate, - const String & i_sTextItem ) -{ - if ( CheckForOperator( io_bStringify, - io_bConcatenate, - i_sTextItem) ) - { - return true; - } - Do_bConcatenate(o_rText, io_bConcatenate); - Do_bStringify_begin(o_rText, io_bStringify); - - return false; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/defdescr.hxx b/autodoc/source/parser/cpp/defdescr.hxx deleted file mode 100644 index 3980ea7c77fa..000000000000 --- a/autodoc/source/parser/cpp/defdescr.hxx +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_DEFDESCR_HXX -#define ADC_CPP_DEFDESCR_HXX - - - - -namespace cpp -{ - -/** Describes a C/C++ #define statement. May be a define or a macro, for which - two cases the two different constructors are to be used. - - This class is used by cpp::PreProcessor. -*/ -class DefineDescription -{ - public: - enum E_DefineType - { - type_define, - type_macro - }; - typedef StringVector str_vector; - - DefineDescription( /// Used for: #define DEFINE xyz - const String & i_sName, - const str_vector & i_rDefinition ); - DefineDescription( /// Used for: #define MACRO(...) abc - const String & i_sName, - const str_vector & i_rParams, - const str_vector & i_rDefinition ); - ~DefineDescription(); - - /// Only vaild if (eDefineType == type_define) else returns "". - void GetDefineText( - csv::StreamStr & o_rText ) const; - - /// Only vaild if (eDefineType == type_macro) else returns "". - void GetMacroText( - csv::StreamStr & o_rText, - const StringVector & - i_rGivenArguments ) const; - - uintt ParamCount() const; - E_DefineType DefineType() const; - - private: - // DATA - String sName; - str_vector aParams; - str_vector aDefinition; - E_DefineType eDefineType; -}; - - - - -// IMPLEMENTATION -inline uintt -DefineDescription::ParamCount() const - { return aParams.size(); } -inline DefineDescription::E_DefineType -DefineDescription::DefineType() const - { return eDefineType; } - - - - -} // end namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/fevnthdl.hxx b/autodoc/source/parser/cpp/fevnthdl.hxx deleted file mode 100644 index 0198f404f588..000000000000 --- a/autodoc/source/parser/cpp/fevnthdl.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_FEVNTHDL_HXX -#define ADC_CPP_FEVNTHDL_HXX - - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS - - -namespace ary -{ -namespace loc -{ - class File; -} -} - - - - -namespace cpp -{ - - -/** This is an interface, which accepts the file scope events that may - be important for parsing. It is implementation-dependant, where to - put or what to do with them. -*/ -class FileScope_EventHandler -{ - public: - // LIFECYCLE - virtual ~FileScope_EventHandler() {} - - // OPERATIONS - void SetCurFile( - ary::loc::File & io_rCurFile ); - void Event_IncrLineCount(); - void Event_SwBracketOpen(); - void Event_SwBracketClose(); - void Event_Semicolon(); - - private: - virtual void do_SetCurFile( - ary::loc::File & io_rCurFile ) = 0; - virtual void do_Event_IncrLineCount() = 0; - virtual void do_Event_SwBracketOpen() = 0; - virtual void do_Event_SwBracketClose() = 0; - virtual void do_Event_Semicolon() = 0; -}; - - -// IMPLEMENTATION - -inline void -FileScope_EventHandler::SetCurFile( ary::loc::File & io_rCurFile ) - { do_SetCurFile(io_rCurFile); } -inline void -FileScope_EventHandler::Event_IncrLineCount() - { do_Event_IncrLineCount(); } -inline void -FileScope_EventHandler::Event_SwBracketOpen() - { do_Event_SwBracketOpen(); } -inline void -FileScope_EventHandler::Event_SwBracketClose() - { do_Event_SwBracketClose(); } -inline void -FileScope_EventHandler::Event_Semicolon() - { do_Event_Semicolon(); } - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/icprivow.cxx b/autodoc/source/parser/cpp/icprivow.cxx deleted file mode 100644 index 8202e12862e7..000000000000 --- a/autodoc/source/parser/cpp/icprivow.cxx +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <icprivow.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_class.hxx> - - - -namespace cpp -{ - - - -//****************** Owner_Namespace ********************// -Owner_Namespace::Owner_Namespace() - : pScope(0) -{ -} - -void -Owner_Namespace::SetAnotherNamespace( ary::cpp::Namespace & io_rScope ) -{ - pScope = &io_rScope; -} - -bool -Owner_Namespace::HasClass( const String & i_sLocalName ) -{ - return pScope->Search_LocalClass(i_sLocalName).IsValid(); -} - -void -Owner_Namespace::do_Add_Class( const String & i_sLocalName, - Cid i_nId ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalClass(i_sLocalName, i_nId); -} - -void -Owner_Namespace::do_Add_Enum( const String & i_sLocalName, - Cid i_nId ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalEnum(i_sLocalName, i_nId); -} - -void -Owner_Namespace::do_Add_Typedef( const String & i_sLocalName, - Cid i_nId ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalTypedef(i_sLocalName, i_nId); -} - -void -Owner_Namespace::do_Add_Operation( const String & i_sLocalName, - Cid i_nId, - bool ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalOperation(i_sLocalName, i_nId); -} - -void -Owner_Namespace::do_Add_Variable( const String & i_sLocalName, - Cid i_nId, - bool i_bIsConst, - bool ) -{ - csv_assert(pScope != 0); - if (i_bIsConst) - pScope->Add_LocalConstant(i_sLocalName, i_nId); - else - pScope->Add_LocalVariable(i_sLocalName, i_nId); -} - - -Cid -Owner_Namespace::inq_CeId() const -{ - csv_assert(pScope != 0); - return pScope->CeId(); -} - - -//****************** Owner_Class ********************// - -Owner_Class::Owner_Class() - : pScope(0) -{ -} - -void -Owner_Class::SetAnotherClass( ary::cpp::Class & io_rScope ) -{ - pScope = &io_rScope; -} - -bool -Owner_Class::HasClass( const String & ) -{ - return false; -} - -void -Owner_Class::do_Add_Class( const String & i_sLocalName, - Cid i_nId ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalClass(i_sLocalName, i_nId); -} - -void -Owner_Class::do_Add_Enum( const String & i_sLocalName, - Cid i_nId ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalEnum(i_sLocalName, i_nId); -} - -void -Owner_Class::do_Add_Typedef( const String & i_sLocalName, - Cid i_nId ) -{ - csv_assert(pScope != 0); - pScope->Add_LocalTypedef(i_sLocalName, i_nId); -} - -void -Owner_Class::do_Add_Operation( const String & i_sLocalName, - Cid i_nId, - bool i_bIsStatic ) -{ - csv_assert(pScope != 0); - if (i_bIsStatic) - pScope->Add_LocalStaticOperation(i_sLocalName, i_nId); - else - pScope->Add_LocalOperation(i_sLocalName, i_nId); -} - -void -Owner_Class::do_Add_Variable( const String & i_sLocalName, - Cid i_nId, - bool , - bool i_bIsStatic ) -{ - csv_assert(pScope != 0); - if (i_bIsStatic) - pScope->Add_LocalStaticData(i_sLocalName, i_nId); - else - pScope->Add_LocalData(i_sLocalName, i_nId); -} - -Cid -Owner_Class::inq_CeId() const -{ - csv_assert(pScope != 0); - return pScope->CeId(); -} - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/icprivow.hxx b/autodoc/source/parser/cpp/icprivow.hxx deleted file mode 100644 index 5321df48e34a..000000000000 --- a/autodoc/source/parser/cpp/icprivow.hxx +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ARY_CPP_ICPRIVOW_HXX -#define ARY_CPP_ICPRIVOW_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <ary/cpp/inpcontx.hxx> - // COMPONENTS - // PARAMETERS - -namespace cpp -{ - - - -typedef ary::cpp::Ce_id Cid; - - -class Owner_Namespace : public ary::cpp::InputContext::Owner -{ - public: - Owner_Namespace(); - void SetAnotherNamespace( - ary::cpp::Namespace & - io_rScope ); - virtual bool HasClass( - const String & i_sLocalName ); - private: - virtual void do_Add_Class( - const String & i_sLocalName, - Cid i_nId ); - virtual void do_Add_Enum( - const String & i_sLocalName, - Cid i_nId ); - virtual void do_Add_Typedef( - const String & i_sLocalName, - Cid i_nId ); - virtual void do_Add_Operation( - const String & i_sLocalName, - Cid i_nId, - bool ); - virtual void do_Add_Variable( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsConst, - bool i_bIsStatic ); - virtual Cid inq_CeId() const; - - // DATA - ary::cpp::Namespace * - pScope; -}; - -class Owner_Class : public ary::cpp::InputContext::Owner -{ - public: - Owner_Class(); - void SetAnotherClass( - ary::cpp::Class & io_rScope ); - - /** @attention Only a dummy for use at ary::cpp::Gate! - Will work nerver! - */ - virtual bool HasClass( - const String & i_sLocalName ); - private: - virtual void do_Add_Class( - const String & i_sLocalName, - Cid i_nId ); - virtual void do_Add_Enum( - const String & i_sLocalName, - Cid i_nId ); - virtual void do_Add_Typedef( - const String & i_sLocalName, - Cid i_nId ); - virtual void do_Add_Operation( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsStaticMember ); - virtual void do_Add_Variable( - const String & i_sLocalName, - Cid i_nId, - bool i_bIsConst, - bool i_bIsStatic ); - virtual Cid inq_CeId() const; - - // DATA - ary::cpp::Class * pScope; -}; - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/makefile.mk b/autodoc/source/parser/cpp/makefile.mk deleted file mode 100644 index 9729ee2d57b1..000000000000 --- a/autodoc/source/parser/cpp/makefile.mk +++ /dev/null @@ -1,87 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org 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 version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=autodoc -TARGET=parser_cpp - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=true -PRJINC=$(PRJ)$/source - - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk - - - -# --- Files -------------------------------------------------------- - - -OBJFILES= \ - $(OBJ)$/all_toks.obj \ - $(OBJ)$/c_dealer.obj \ - $(OBJ)$/c_rcode.obj \ - $(OBJ)$/cpp_pe.obj \ - $(OBJ)$/cx_base.obj \ - $(OBJ)$/cx_c_pp.obj \ - $(OBJ)$/cx_c_std.obj \ - $(OBJ)$/cx_c_sub.obj \ - $(OBJ)$/cxt2ary.obj \ - $(OBJ)$/defdescr.obj \ - $(OBJ)$/icprivow.obj \ - $(OBJ)$/pe_base.obj \ - $(OBJ)$/pe_class.obj \ - $(OBJ)$/pe_defs.obj \ - $(OBJ)$/pe_expr.obj \ - $(OBJ)$/pe_enum.obj \ - $(OBJ)$/pe_enval.obj \ - $(OBJ)$/pe_file.obj \ - $(OBJ)$/pe_funct.obj \ - $(OBJ)$/pe_ignor.obj \ - $(OBJ)$/pe_namsp.obj \ - $(OBJ)$/pe_param.obj \ - $(OBJ)$/pe_tpltp.obj \ - $(OBJ)$/pe_type.obj \ - $(OBJ)$/pe_tydef.obj \ - $(OBJ)$/pe_vafu.obj \ - $(OBJ)$/pe_vari.obj \ - $(OBJ)$/preproc.obj \ - $(OBJ)$/prs_cpp.obj \ - $(OBJ)$/tkp_cpp.obj - - - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - - - diff --git a/autodoc/source/parser/cpp/pe_base.cxx b/autodoc/source/parser/cpp/pe_base.cxx deleted file mode 100644 index 0a4c823a47a4..000000000000 --- a/autodoc/source/parser/cpp/pe_base.cxx +++ /dev/null @@ -1,226 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_base.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_type.hxx> -#include "pe_type.hxx" - - - - -namespace cpp -{ - - -static const PE_Base::Base aNullBase_; - - -PE_Base::PE_Base( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati(new PeStatusArray<PE_Base>) - // aBaseIds, - // pSpType, - // pSpuBaseName -{ - Setup_StatusFunctions(); - aBaseIds.reserve(4); - - pSpType = new SP_Type(*this); - pSpuBaseName = new SPU_BaseName(*pSpType, 0, &PE_Base::SpReturn_BaseName); -} - - -PE_Base::~PE_Base() -{ -} - -void -PE_Base::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Base::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Base>::F_Tok F_Tok; - static F_Tok stateF_startOfNext[] = { &PE_Base::On_startOfNext_Identifier, - &PE_Base::On_startOfNext_public, - &PE_Base::On_startOfNext_protected, - &PE_Base::On_startOfNext_private, - &PE_Base::On_startOfNext_virtual, - &PE_Base::On_startOfNext_DoubleColon }; - static INT16 stateT_startOfNext[] = { Tid_Identifier, - Tid_public, - Tid_protected, - Tid_private, - Tid_virtual, - Tid_DoubleColon }; - static F_Tok stateF_inName[] = { &PE_Base::On_inName_Identifier, - &PE_Base::On_inName_virtual, - &PE_Base::On_inName_SwBracket_Left, - &PE_Base::On_inName_DoubleColon, - &PE_Base::On_inName_Comma }; - static INT16 stateT_inName[] = { Tid_Identifier, - Tid_virtual, - Tid_SwBracket_Left, - Tid_DoubleColon, - Tid_Comma }; - - SEMPARSE_CREATE_STATUS(PE_Base, startOfNext, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Base, inName, Hdl_SyntaxError); -} - -void -PE_Base::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Base::InitData() -{ - pStati->SetCur(startOfNext); - csv::erase_container(aBaseIds); - aBaseIds.push_back(aNullBase_); -} - -void -PE_Base::TransferData() -{ - // Does nothing. -} - -void -PE_Base::SpReturn_BaseName() -{ - CurObject().nId = pSpuBaseName->Child().Result_Type().Id(); - - static StreamStr aBaseName(100); - aBaseName.seekp(0); - pSpuBaseName->Child().Result_Type().Get_Text( aBaseName, Env().AryGate() ); - - Env().Event_Class_FinishedBase(aBaseName.c_str()); -} - -void -PE_Base::On_startOfNext_public(const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(inName); - - CurObject().eProtection = ary::cpp::PROTECT_public; -} - -void -PE_Base::On_startOfNext_protected(const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(inName); - - CurObject().eProtection = ary::cpp::PROTECT_protected; -} - -void -PE_Base::On_startOfNext_private(const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(inName); - - CurObject().eProtection = ary::cpp::PROTECT_private; -} - -void -PE_Base::On_startOfNext_virtual(const char *) -{ - SetTokenResult(done, stay); - - CurObject().eVirtuality = ary::cpp::VIRTUAL_virtual; -} - -void -PE_Base::On_startOfNext_Identifier(const char * ) -{ - pSpuBaseName->Push(not_done); -} - -void -PE_Base::On_startOfNext_DoubleColon(const char *) -{ - pSpuBaseName->Push(not_done); -} - -void -PE_Base::On_inName_Identifier(const char * ) -{ - pSpuBaseName->Push(not_done); -} - -void -PE_Base::On_inName_virtual(const char *) -{ - SetTokenResult(done, stay); - - CurObject().eVirtuality = ary::cpp::VIRTUAL_virtual; -} - -void -PE_Base::On_inName_DoubleColon(const char *) -{ - pSpuBaseName->Push(not_done); -} - -void -PE_Base::On_inName_Comma(const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(startOfNext); - - aBaseIds.push_back( aNullBase_ ); -} - -void -PE_Base::On_inName_SwBracket_Left(const char *) -{ - SetTokenResult(not_done, pop_success); -} - - -} // namespace cpp - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_base.hxx b/autodoc/source/parser/cpp/pe_base.hxx deleted file mode 100644 index 0a39160b6a19..000000000000 --- a/autodoc/source/parser/cpp/pe_base.hxx +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_BASE_HXX -#define ADC_CPP_PE_BASE_HXX - -// BASE CLASSES -#include "cpp_pe.hxx" -// USED SERVICES -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_slntry.hxx> - - - -namespace cpp -{ - -class PE_Type; - -class PE_Base : public Cpp_PE -{ - public: - enum E_State - { - startOfNext, - inName, - size_of_states - }; - - typedef ary::cpp::List_Bases BaseList; - typedef ary::cpp::S_Classes_Base Base; - - PE_Base( - Cpp_PE * i_pParent ); - ~PE_Base(); - - const BaseList & Result_BaseIds() const; - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - private: - typedef SubPe< PE_Base, PE_Type > SP_Type; - typedef SubPeUse< PE_Base, PE_Type> SPU_BaseName; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void SpReturn_BaseName(); - - void On_startOfNext_Identifier(const char *); - void On_startOfNext_public(const char *); - void On_startOfNext_protected(const char *); - void On_startOfNext_private(const char *); - void On_startOfNext_virtual(const char *); - void On_startOfNext_DoubleColon(const char *); - - void On_inName_Identifier(const char *); - void On_inName_virtual(const char *); - void On_inName_SwBracket_Left(const char *); - void On_inName_DoubleColon(const char *); - void On_inName_Comma(const char *); - - Base & CurObject(); - - // DATA - Dyn< PeStatusArray<PE_Base> > - pStati; - - Dyn<SP_Type> pSpType; /// till "{" incl. - Dyn<SPU_BaseName> pSpuBaseName; - - BaseList aBaseIds; -}; - - - -// IMPLEMENTATION - -inline const PE_Base::BaseList & -PE_Base::Result_BaseIds() const - { return aBaseIds; } - - -inline PE_Base::Base & -PE_Base::CurObject() - { return aBaseIds.back(); } - - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_class.cxx b/autodoc/source/parser/cpp/pe_class.cxx deleted file mode 100644 index 1b4910aff9be..000000000000 --- a/autodoc/source/parser/cpp/pe_class.cxx +++ /dev/null @@ -1,496 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_class.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <all_toks.hxx> -#include "pe_base.hxx" -#include "pe_defs.hxx" -#include "pe_enum.hxx" -#include "pe_tydef.hxx" -#include "pe_vafu.hxx" -#include "pe_ignor.hxx" - - -namespace cpp { - -// using ary::Cid; - -PE_Class::PE_Class(Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Class> ), - // pSpBase, - // pSpTypedef, - // pSpVarFunc, - // pSpIgnore, - // pSpuBase, - // pSpuTypedef, - // pSpuVarFunc, - // pSpuUsing, - // pSpuIgnoreFailure, - // sLocalName, - eClassKey(ary::cpp::CK_class), - pCurObject(0), - // aBases, - eResult_KindOf(is_declaration) -{ - Setup_StatusFunctions(); - - pSpBase = new SP_Base(*this); - pSpTypedef = new SP_Typedef(*this); - pSpVarFunc = new SP_VarFunc(*this); - pSpIgnore = new SP_Ignore(*this); - pSpDefs = new SP_Defines(*this); - - pSpuBase = new SPU_Base(*pSpBase, 0, &PE_Class::SpReturn_Base); - pSpuTypedef = new SPU_Typedef(*pSpTypedef, 0, 0); - pSpuVarFunc = new SPU_VarFunc(*pSpVarFunc, 0, 0); - - pSpuTemplate= new SPU_Ignore(*pSpIgnore, 0, 0); - pSpuUsing = new SPU_Ignore(*pSpIgnore, 0, 0); - pSpuIgnoreFailure - = new SPU_Ignore(*pSpIgnore, 0, 0); - pSpuDefs = new SPU_Defines(*pSpDefs, 0, 0); -} - - -PE_Class::~PE_Class() -{ -} - -void -PE_Class::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -Cpp_PE * -PE_Class::Handle_ChildFailure() -{ - SetCurSPU(pSpuIgnoreFailure.Ptr()); - return &pSpuIgnoreFailure->Child(); -} - -void -PE_Class::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Class>::F_Tok F_Tok; - - static F_Tok stateF_start[] = { &PE_Class::On_start_class, - &PE_Class::On_start_struct, - &PE_Class::On_start_union }; - static INT16 stateT_start[] = { Tid_class, - Tid_struct, - Tid_union }; - - static F_Tok stateF_expectName[] = { &PE_Class::On_expectName_Identifier, - &PE_Class::On_expectName_SwBracket_Left, - &PE_Class::On_expectName_Colon - }; - static INT16 stateT_expectName[] = { Tid_Identifier, - Tid_SwBracket_Left, - Tid_Colon - }; - - static F_Tok stateF_gotName[] = { &PE_Class::On_gotName_SwBracket_Left, - &PE_Class::On_gotName_Semicolon, - &PE_Class::On_gotName_Colon }; - static INT16 stateT_gotName[] = { Tid_SwBracket_Left, - Tid_Semicolon, - Tid_Colon }; - - static F_Tok stateF_bodyStd[] = { &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_ClassKey, - &PE_Class::On_bodyStd_ClassKey, - &PE_Class::On_bodyStd_ClassKey, - - &PE_Class::On_bodyStd_enum, - &PE_Class::On_bodyStd_typedef, - &PE_Class::On_bodyStd_public, - &PE_Class::On_bodyStd_protected, - &PE_Class::On_bodyStd_private, - - &PE_Class::On_bodyStd_template, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_friend, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - - &PE_Class::On_bodyStd_using, - &PE_Class::On_bodyStd_SwBracket_Right, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_DefineName, - &PE_Class::On_bodyStd_MacroName, - - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, - &PE_Class::On_bodyStd_VarFunc, }; - - static INT16 stateT_bodyStd[] = { Tid_Identifier, - Tid_operator, - Tid_class, - Tid_struct, - Tid_union, - - Tid_enum, - Tid_typedef, - Tid_public, - Tid_protected, - Tid_private, - - Tid_template, - Tid_virtual, - Tid_friend, - Tid_Tilde, - Tid_const, - - Tid_volatile, - Tid_static, - Tid_mutable, - Tid_inline, - Tid_explicit, - - Tid_using, - Tid_SwBracket_Right, - Tid_DoubleColon, - Tid_typename, - Tid_DefineName, - - Tid_MacroName, - Tid_BuiltInType, - Tid_TypeSpecializer }; - - static F_Tok stateF_inProtection[] = { &PE_Class::On_inProtection_Colon }; - static INT16 stateT_inProtection[] = { Tid_Colon }; - - static F_Tok stateF_afterDecl[] = { &PE_Class::On_afterDecl_Semicolon }; - static INT16 stateT_afterDecl[] = { Tid_Semicolon }; - - SEMPARSE_CREATE_STATUS(PE_Class, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Class, expectName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Class, gotName, On_gotName_Return2Type); - SEMPARSE_CREATE_STATUS(PE_Class, bodyStd, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Class, inProtection, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Class, afterDecl, On_afterDecl_Return2Type); - -} - -void -PE_Class::InitData() -{ - pStati->SetCur(start); - sLocalName.clear(); - eClassKey = ary::cpp::CK_class; - pCurObject = 0; - csv::erase_container(aBases); - eResult_KindOf = is_declaration; -} - -void -PE_Class::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_Class::Hdl_SyntaxError( const char * i_sText) -{ - if ( *i_sText == ';' ) - { - Cerr() << Env().CurFileName() << ", line " - << Env().LineCount() - << ": Sourcecode warning: ';' as a toplevel declaration is deprecated." - << Endl(); - SetTokenResult(done,stay); - return; - } - - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Class::Init_CurObject() -{ - // KORR_FUTURE - // This will have to be done before parsing base classes, because of - // possible inline documentation for base classes. - pCurObject = & Env().AryGate().Ces().Store_Class( Env().Context(), sLocalName, eClassKey ); - - for ( PE_Base::BaseList::const_iterator it = aBases.begin(); - it != aBases.end(); - ++it ) - { - pCurObject->Add_BaseClass( *it ); - } // end for - - Dyn< StringVector > - pTplParams( Env().Get_CurTemplateParameters() ); - if ( pTplParams ) - { - for ( StringVector::const_iterator it = pTplParams->begin(); - it != pTplParams->end(); - ++it ) - { - pCurObject->Add_TemplateParameterType( *it, ary::cpp::Type_id(0) ); - } // end for - } -} - -void -PE_Class::SpReturn_Base() -{ - aBases = pSpuBase->Child().Result_BaseIds(); - pStati->SetCur(gotName); -} - -void -PE_Class::On_start_class( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(expectName); - eClassKey = ary::cpp::CK_class; -} - -void -PE_Class::On_start_struct( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(expectName); - eClassKey = ary::cpp::CK_struct; -} - -void -PE_Class::On_start_union( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(expectName); - eClassKey = ary::cpp::CK_union; -} - -void -PE_Class::On_expectName_Identifier( const char * i_sText ) -{ - SetTokenResult(done, stay); - pStati->SetCur(gotName); - sLocalName = i_sText; -} - -void -PE_Class::On_expectName_SwBracket_Left( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(bodyStd); - - sLocalName = ""; - Init_CurObject(); - sLocalName = pCurObject->LocalName(); - - Env().OpenClass(*pCurObject); -} - -void -PE_Class::On_expectName_Colon( const char * ) -{ - pStati->SetCur(gotName); - sLocalName = ""; - - pSpuBase->Push(done); -} - -void -PE_Class::On_gotName_SwBracket_Left( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(bodyStd); - - Init_CurObject(); - if ( sLocalName.empty() ) - sLocalName = pCurObject->LocalName(); - - Env().OpenClass(*pCurObject); -} - -void -PE_Class::On_gotName_Semicolon( const char * ) -{ - SetTokenResult(not_done, pop_success); - - eResult_KindOf = is_predeclaration; -} - -void -PE_Class::On_gotName_Colon( const char * ) -{ - pSpuBase->Push(done); -} - -void -PE_Class::On_gotName_Return2Type( const char * ) -{ - SetTokenResult(not_done, pop_success); - - eResult_KindOf = is_qualified_typename; -} - -void -PE_Class::On_bodyStd_VarFunc( const char * ) -{ - pSpuVarFunc->Push(not_done); -} - -void -PE_Class::On_bodyStd_ClassKey( const char * ) -{ - pSpuVarFunc->Push(not_done); // This is correct, - // classes are parsed via PE_Type. -} - -void -PE_Class::On_bodyStd_enum( const char * ) -{ - pSpuVarFunc->Push(not_done); // This is correct, - // enums are parsed via PE_Type. -} - -void -PE_Class::On_bodyStd_typedef( const char * ) -{ - pSpuTypedef->Push(not_done); -} - -void -PE_Class::On_bodyStd_public( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(inProtection); - - Env().SetCurProtection(ary::cpp::PROTECT_public); -} - -void -PE_Class::On_bodyStd_protected( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(inProtection); - - Env().SetCurProtection(ary::cpp::PROTECT_protected); -} - -void -PE_Class::On_bodyStd_private( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(inProtection); - - Env().SetCurProtection(ary::cpp::PROTECT_private); -} - -void -PE_Class::On_bodyStd_template( const char * ) -{ - pSpuTemplate->Push(done); -} - -void -PE_Class::On_bodyStd_friend( const char * ) -{ - // KORR_FUTURE - pSpuUsing->Push(done); -} - -void -PE_Class::On_bodyStd_using( const char * ) -{ - pSpuUsing->Push(done); -} - -void -PE_Class::On_bodyStd_SwBracket_Right( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterDecl); - - Env().CloseClass(); -} - -void -PE_Class::On_bodyStd_DefineName(const char * ) -{ - pSpuDefs->Push(not_done); -} - -void -PE_Class::On_bodyStd_MacroName(const char * ) -{ - pSpuDefs->Push(not_done); -} - - -void -PE_Class::On_inProtection_Colon( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(bodyStd); -} - -void -PE_Class::On_afterDecl_Semicolon( const char * ) -{ - SetTokenResult(not_done, pop_success); - eResult_KindOf = is_declaration; -} - -void -PE_Class::On_afterDecl_Return2Type( const char * ) -{ - SetTokenResult(not_done, pop_success); - eResult_KindOf = is_implicit_declaration; -} - - -} // namespace cpp - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_class.hxx b/autodoc/source/parser/cpp/pe_class.hxx deleted file mode 100644 index d94123a26265..000000000000 --- a/autodoc/source/parser/cpp/pe_class.hxx +++ /dev/null @@ -1,255 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_CLASS_HXX -#define ADC_CPP_PE_CLASS_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // OTHER -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_slntry.hxx> -#include "all_toks.hxx" - -namespace ary -{ -namespace cpp -{ - class Class; -} -} - - -namespace cpp -{ - - -using ary::cpp::E_Protection; -using ary::cpp::E_Virtuality; - - -class PE_Base; -class PE_Enum; -class PE_Typedef; -class PE_VarFunc; -class PE_Ignore; -class PE_Defines; - - -class PE_Class : public cpp::Cpp_PE -{ - public: - enum E_State - { - start, /// before class, struct or union - expectName, /// after class, struct or union - gotName, /// after name, before : or { - bodyStd, /// after { - inProtection, /// after public, protected or private and before ":" - afterDecl, /// after ending } - size_of_states - }; - - enum E_KindOfResult - { - is_declaration, // normal - is_implicit_declaration, // like in: class Abc { public int n; } aAbc; - is_predeclaration, // like: class Abc; - is_qualified_typename // like in: class Abc * fx(); - - }; - - PE_Class( - Cpp_PE * i_pParent ); - ~PE_Class(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - virtual Cpp_PE * Handle_ChildFailure(); - - E_KindOfResult Result_KindOf() const; - const String & Result_LocalName() const; - const String & Result_FirstNameSegment() const; - - private: - typedef SubPe< PE_Class, PE_Base > SP_Base; -// typedef SubPe< PE_Class, PE_Enum> SP_Enum; - typedef SubPe< PE_Class, PE_Typedef> SP_Typedef; - typedef SubPe< PE_Class, PE_VarFunc> SP_VarFunc; - typedef SubPe< PE_Class, PE_Ignore > SP_Ignore; - typedef SubPe< PE_Class, PE_Defines> SP_Defines; - - typedef SubPeUse< PE_Class, PE_Base> SPU_Base; -// typedef SubPeUse< PE_Class, PE_Enum> SPU_Enum; - typedef SubPeUse< PE_Class, PE_Typedef> SPU_Typedef; - typedef SubPeUse< PE_Class, PE_VarFunc> SPU_VarFunc; - typedef SubPeUse< PE_Class, PE_Ignore> SPU_Ignore; - typedef SubPeUse< PE_Class, PE_Defines> SPU_Defines; - - typedef ary::cpp::List_Bases BaseList; - typedef ary::cpp::S_Classes_Base Base; - typedef ary::cpp::E_Protection E_Protection; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - void Init_CurObject(); - - void SpReturn_Base(); - - void On_start_class( const char * ); - void On_start_struct( const char * ); - void On_start_union( const char * ); - - void On_expectName_Identifier( const char * ); - void On_expectName_SwBracket_Left( const char * ); - void On_expectName_Colon( const char * ); - - void On_gotName_SwBracket_Left( const char * ); - void On_gotName_Semicolon( const char * ); - void On_gotName_Colon( const char * ); - void On_gotName_Return2Type( const char * ); - - void On_bodyStd_VarFunc( const char * ); - void On_bodyStd_ClassKey( const char * ); - void On_bodyStd_enum( const char * ); - void On_bodyStd_typedef( const char * ); - void On_bodyStd_public( const char * ); - void On_bodyStd_protected( const char * ); - void On_bodyStd_private( const char * ); - void On_bodyStd_template( const char * ); - void On_bodyStd_friend( const char * ); - void On_bodyStd_using( const char * ); - void On_bodyStd_SwBracket_Right( const char * ); - void On_bodyStd_DefineName(const char * ); - void On_bodyStd_MacroName(const char * ); - - void On_inProtection_Colon( const char * ); - - void On_afterDecl_Semicolon( const char * ); - void On_afterDecl_Return2Type( const char * ); - - // DATA - Dyn< PeStatusArray<PE_Class> > - pStati; - - Dyn<SP_Base> pSpBase; -// Dyn<SP_Enum> pSpEnum; - Dyn<SP_Typedef> pSpTypedef; - Dyn<SP_VarFunc> pSpVarFunc; - Dyn<SP_Ignore> pSpIgnore; - Dyn<SP_Defines> pSpDefs; - - Dyn<SPU_Base> pSpuBase; -// Dyn<SPU_Enum> pSpuEnum; - Dyn<SPU_Typedef> pSpuTypedef; - Dyn<SPU_VarFunc> pSpuVarFunc; - - Dyn<SPU_Ignore> pSpuTemplate; - Dyn<SPU_Ignore> pSpuUsing; - Dyn<SPU_Ignore> pSpuIgnoreFailure; - Dyn<SPU_Defines> pSpuDefs; - - - - String sLocalName; - ary::cpp::E_ClassKey - eClassKey; - ary::cpp::Class * pCurObject; - BaseList aBases; - - E_KindOfResult eResult_KindOf; -}; - - - -// IMPLEMENTATION - -inline PE_Class::E_KindOfResult -PE_Class::Result_KindOf() const -{ - return eResult_KindOf; -} - -inline const String & -PE_Class::Result_LocalName() const -{ - return sLocalName; -} - -inline const String & -PE_Class::Result_FirstNameSegment() const -{ - return sLocalName; -} - - - - -} // namespace cpp - - -/* // Branches - -class struct union - -> Class - -> Predeclaration - -typedef - -> Typedef - -enum - -> Enum - -TypeDeclaration - -> Function In Class - -> Variable - -public, protected, private - -> Protection declaration - -friend - -> Friend Class - -> Friend Function - -virtual - -> Function In Class - -using - -> Using Declaration -*/ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_defs.cxx b/autodoc/source/parser/cpp/pe_defs.cxx deleted file mode 100644 index d599ea9de1eb..000000000000 --- a/autodoc/source/parser/cpp/pe_defs.cxx +++ /dev/null @@ -1,182 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_defs.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_define.hxx> -#include <ary/cpp/c_macro.hxx> -#include <ary/cpp/cp_def.hxx> -#include "all_toks.hxx" - - -namespace cpp -{ - - -PE_Defines::PE_Defines( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Defines> ), - // sName, - // aParameters, - // sDefinition, - bIsMacro(false) -{ - Setup_StatusFunctions(); -} - - -PE_Defines::~PE_Defines() -{ -} - -void -PE_Defines::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Defines::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Defines>::F_Tok F_Tok; - static F_Tok stateF_expectName[] = { &PE_Defines::On_expectName_DefineName, - &PE_Defines::On_expectName_MacroName - }; - static INT16 stateT_expectName[] = { Tid_DefineName, - Tid_MacroName - }; - - static F_Tok stateF_gotDefineName[] = { &PE_Defines::On_gotDefineName_PreProDefinition }; - static INT16 stateT_gotDefineName[] = { Tid_PreProDefinition }; - - static F_Tok stateF_expectMacroParameters[] = - { &PE_Defines::On_expectMacroParameters_MacroParameter, - &PE_Defines::On_expectMacroParameters_PreProDefinition - }; - static INT16 stateT_expectMacroParameters[] = - { Tid_MacroParameter, - Tid_PreProDefinition - }; - - SEMPARSE_CREATE_STATUS(PE_Defines, expectName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Defines, gotDefineName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Defines, expectMacroParameters, Hdl_SyntaxError); -} - -void -PE_Defines::InitData() -{ - pStati->SetCur(expectName); - - sName.clear(); - csv::erase_container( aParameters ); - csv::erase_container( aDefinition ); - bIsMacro = false; -} - -void -PE_Defines::TransferData() -{ - if (NOT bIsMacro) - { - if (aDefinition.empty() OR aDefinition.front().empty()) - return; - - ary::cpp::Define & - rNew = Env().AryGate().Defs().Store_Define( - Env().Context(), sName, aDefinition ); - Env().Event_Store_CppDefinition(rNew); - } - else - { - ary::cpp::Macro & - rNew = Env().AryGate().Defs().Store_Macro( - Env().Context(), sName, aParameters, aDefinition ); - Env().Event_Store_CppDefinition(rNew); - } - pStati->SetCur(size_of_states); -} - -void -PE_Defines::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Defines::On_expectName_DefineName( const char * i_sText ) -{ - SetTokenResult(done, stay); - pStati->SetCur(gotDefineName); - - sName = i_sText; - bIsMacro = false; -} - -void -PE_Defines::On_expectName_MacroName( const char * i_sText ) -{ - SetTokenResult(done, stay); - pStati->SetCur(expectMacroParameters); - - sName = i_sText; - bIsMacro = true; -} - -void -PE_Defines::On_gotDefineName_PreProDefinition( const char * i_sText ) -{ - SetTokenResult(done, pop_success); - - aDefinition.push_back( String (i_sText) ); -} - -void -PE_Defines::On_expectMacroParameters_MacroParameter( const char * i_sText ) -{ - SetTokenResult(done, stay); - aParameters.push_back( String (i_sText) ); -} - -void -PE_Defines::On_expectMacroParameters_PreProDefinition( const char * i_sText ) -{ - SetTokenResult(done, pop_success); - - aDefinition.push_back( String (i_sText) ); -} - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_defs.hxx b/autodoc/source/parser/cpp/pe_defs.hxx deleted file mode 100644 index 955dadef7828..000000000000 --- a/autodoc/source/parser/cpp/pe_defs.hxx +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_DEFS_HXX -#define ADC_CPP_PE_DEFS_HXX - - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - // PARAMETERS - - -namespace cpp -{ - - - -class PE_Defines : public cpp::Cpp_PE -{ - public: - enum E_State - { - expectName, - gotDefineName, - expectMacroParameters, - size_of_states - }; - - PE_Defines( - Cpp_PE * i_pParent ); - ~PE_Defines(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - private: - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void On_expectName_DefineName( const char * ); - void On_expectName_MacroName( const char * ); - - void On_gotDefineName_PreProDefinition( const char * ); - - void On_expectMacroParameters_MacroParameter( const char * ); - void On_expectMacroParameters_PreProDefinition( const char * ); - - // DATA - Dyn< PeStatusArray<PE_Defines> > - pStati; - - String sName; - StringVector aParameters; - StringVector aDefinition; - bool bIsMacro; -}; - - - -} //namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_enum.cxx b/autodoc/source/parser/cpp/pe_enum.cxx deleted file mode 100644 index b56ffc96380b..000000000000 --- a/autodoc/source/parser/cpp/pe_enum.cxx +++ /dev/null @@ -1,191 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_enum.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_enum.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <all_toks.hxx> -#include "pe_enval.hxx" - - -namespace cpp { - - -PE_Enum::PE_Enum(Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Enum> ), - // pSpValue, - // pSpuValue, - // sLocalName, - pCurObject(0), - eResult_KindOf(is_declaration) -{ - Setup_StatusFunctions(); - - pSpValue = new SP_EnumValue(*this); - pSpuValue = new SPU_EnumValue(*pSpValue, 0, 0); -} - - -PE_Enum::~PE_Enum() -{ -} - -void -PE_Enum::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Enum::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Enum>::F_Tok F_Tok; - static F_Tok stateF_expectName[] = { &PE_Enum::On_expectName_Identifier, - &PE_Enum::On_expectName_SwBracket_Left - }; - static INT16 stateT_expectName[] = { Tid_Identifier, - Tid_SwBracket_Left - }; - - static F_Tok stateF_gotName[] = { &PE_Enum::On_gotName_SwBracket_Left }; - static INT16 stateT_gotName[] = { Tid_SwBracket_Left }; - - static F_Tok stateF_bodyStd[] = { &PE_Enum::On_bodyStd_Identifier, - &PE_Enum::On_bodyStd_SwBracket_Right }; - static INT16 stateT_bodyStd[] = { Tid_Identifier, - Tid_SwBracket_Right }; - - static F_Tok stateF_afterBlock[] = { &PE_Enum::On_afterBlock_Semicolon }; - static INT16 stateT_afterBlock[] = { Tid_Semicolon }; - - SEMPARSE_CREATE_STATUS(PE_Enum, expectName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Enum, gotName, On_gotName_Return2Type); - SEMPARSE_CREATE_STATUS(PE_Enum, bodyStd, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Enum, afterBlock, On_afterBlock_Return2Type); -} - -void -PE_Enum::InitData() -{ - pStati->SetCur(expectName); - pCurObject = 0; - sLocalName.clear(); - eResult_KindOf = is_declaration; -} - -void -PE_Enum::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_Enum::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Enum::On_expectName_Identifier( const char * i_sText ) -{ - SetTokenResult(done, stay); - pStati->SetCur(gotName); - - sLocalName = i_sText; - pCurObject = & Env().AryGate().Ces().Store_Enum( Env().Context(), sLocalName ); -} - -void -PE_Enum::On_expectName_SwBracket_Left( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(bodyStd); - - sLocalName = ""; - pCurObject = & Env().AryGate().Ces().Store_Enum( Env().Context(), sLocalName ); - sLocalName = pCurObject->LocalName(); - - Env().OpenEnum(*pCurObject); -} - -void -PE_Enum::On_gotName_SwBracket_Left( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(bodyStd); - Env().OpenEnum(*pCurObject); -} - -void -PE_Enum::On_gotName_Return2Type( const char * ) -{ - SetTokenResult(not_done, pop_success); - - eResult_KindOf = is_qualified_typename; -} - -void -PE_Enum::On_bodyStd_Identifier( const char * ) -{ - pSpuValue->Push(not_done); -} - -void -PE_Enum::On_bodyStd_SwBracket_Right( const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterBlock); - - Env().CloseEnum(); -} - -void -PE_Enum::On_afterBlock_Semicolon( const char * ) -{ - SetTokenResult(not_done, pop_success); - eResult_KindOf = is_declaration; -} - -void -PE_Enum::On_afterBlock_Return2Type( const char * ) -{ - SetTokenResult(not_done, pop_success); - eResult_KindOf = is_implicit_declaration; -} - -} // namespace cpp - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_enum.hxx b/autodoc/source/parser/cpp/pe_enum.hxx deleted file mode 100644 index 3f1a38e022bf..000000000000 --- a/autodoc/source/parser/cpp/pe_enum.hxx +++ /dev/null @@ -1,134 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_ENUM_HXX -#define ADC_CPP_PE_ENUM_HXX - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - -namespace cpp { - - -class PE_EnumValue; - -class PE_Enum : public cpp::Cpp_PE -{ - public: - enum E_State - { - expectName, /// after "enum" - gotName, /// after name, before : or { - bodyStd, /// after { - afterBlock, /// after ending } - size_of_states - }; - - enum E_KindOfResult - { - is_declaration, // normal - is_implicit_declaration, // like in: enum Abc { rot, gelb, blau } aAbc; - is_qualified_typename // like in: enum Abc * fx(); - - }; - PE_Enum( - Cpp_PE * i_pParent ); - ~PE_Enum(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - E_KindOfResult Result_KindOf() const; - const String & Result_LocalName() const; - const String & Result_FirstNameSegment() const; - - private: - typedef SubPe< PE_Enum, PE_EnumValue > SP_EnumValue; - typedef SubPeUse< PE_Enum, PE_EnumValue> SPU_EnumValue; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void On_expectName_Identifier( const char * ); - void On_expectName_SwBracket_Left( const char * ); - - void On_gotName_SwBracket_Left( const char * ); - void On_gotName_Return2Type( const char * ); - - void On_bodyStd_Identifier( const char * ); - void On_bodyStd_SwBracket_Right( const char * ); - - void On_afterBlock_Semicolon( const char * ); - void On_afterBlock_Return2Type( const char * ); - - // DATA - Dyn< PeStatusArray<PE_Enum> > - pStati; - Dyn<SP_EnumValue> pSpValue; - Dyn<SPU_EnumValue> pSpuValue; - - String sLocalName; - ary::cpp::Enum * pCurObject; - - E_KindOfResult eResult_KindOf; -}; - - - -// IMPLEMENTATION -inline PE_Enum::E_KindOfResult -PE_Enum::Result_KindOf() const -{ - return eResult_KindOf; -} - -inline const String & -PE_Enum::Result_LocalName() const -{ - return sLocalName; -} - -inline const String & -PE_Enum::Result_FirstNameSegment() const -{ - return sLocalName; -} - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_enval.cxx b/autodoc/source/parser/cpp/pe_enval.cxx deleted file mode 100644 index 0480047fb10b..000000000000 --- a/autodoc/source/parser/cpp/pe_enval.cxx +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_enval.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_ce.hxx> -#include "pe_expr.hxx" - - - -namespace cpp { - - -PE_EnumValue::PE_EnumValue( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_EnumValue> ) - // pSpExpression, - // pSpuInitExpression -{ - Setup_StatusFunctions(); - - pSpExpression = new SP_Expression(*this); - pSpuInitExpression = new SPU_Expression(*pSpExpression, 0, &PE_EnumValue::SpReturn_InitExpression); -} - -PE_EnumValue::~PE_EnumValue() -{ -} - -void -PE_EnumValue::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_EnumValue::Setup_StatusFunctions() -{ - typedef CallFunction<PE_EnumValue>::F_Tok F_Tok; - - static F_Tok stateF_start[] = { &PE_EnumValue::On_start_Identifier }; - static INT16 stateT_start[] = { Tid_Identifier }; - - static F_Tok stateF_afterName[] = { &PE_EnumValue::On_afterName_SwBracket_Right, - &PE_EnumValue::On_afterName_Comma, - &PE_EnumValue::On_afterName_Assign }; - static INT16 stateT_afterName[] = { Tid_SwBracket_Right, - Tid_Comma, - Tid_Assign }; - - static F_Tok stateF_expectFinish[] = { &PE_EnumValue::On_expectFinish_SwBracket_Right, - &PE_EnumValue::On_expectFinish_Comma }; - static INT16 stateT_expectFinish[] = { Tid_SwBracket_Right, - Tid_Comma }; - - SEMPARSE_CREATE_STATUS(PE_EnumValue, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_EnumValue, afterName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_EnumValue, expectFinish, Hdl_SyntaxError); -} - -void -PE_EnumValue::InitData() -{ - pStati->SetCur(start); - - sName.clear(); - sInitExpression.clear(); -} - -void -PE_EnumValue::TransferData() -{ - pStati->SetCur(size_of_states); - - ary::cpp::EnumValue & - rEnVal = Env().AryGate().Ces().Store_EnumValue( - Env().Context(), sName, sInitExpression ); - Env().Event_Store_EnumValue(rEnVal); -} - -void -PE_EnumValue::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_EnumValue::SpReturn_InitExpression() -{ - pStati->SetCur(expectFinish); - - sInitExpression = pSpuInitExpression->Child().Result_Text(); -} - -void -PE_EnumValue::On_start_Identifier(const char * i_sText) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterName); - - sName = i_sText; -} - -void -PE_EnumValue::On_afterName_SwBracket_Right(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_EnumValue::On_afterName_Comma(const char * ) -{ - SetTokenResult(done, pop_success); -} - -void -PE_EnumValue::On_afterName_Assign(const char * ) -{ - pSpuInitExpression->Push(done); -} - -void -PE_EnumValue::On_expectFinish_SwBracket_Right(const char * ) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_EnumValue::On_expectFinish_Comma(const char * ) -{ - SetTokenResult(done, pop_success); -} - - -} // namespace cpp - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_enval.hxx b/autodoc/source/parser/cpp/pe_enval.hxx deleted file mode 100644 index 5cfdd5f447af..000000000000 --- a/autodoc/source/parser/cpp/pe_enval.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_ENVAL_HXX -#define ADC_CPP_PE_ENVAL_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - // PARAMETERS - - -namespace cpp { - -class PE_Expression; - - -class PE_EnumValue : public Cpp_PE -{ - public: - enum E_State - { - start, // before name - afterName, - expectFinish, // after init-expression - size_of_states - }; - PE_EnumValue( - Cpp_PE * i_pParent ); - ~PE_EnumValue(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - private: - typedef SubPe< PE_EnumValue, PE_Expression > SP_Expression; - typedef SubPeUse< PE_EnumValue, PE_Expression> SPU_Expression; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError(const char *); - - void SpReturn_InitExpression(); - - void On_start_Identifier(const char * ); - - void On_afterName_SwBracket_Right(const char * ); - void On_afterName_Comma(const char * ); - void On_afterName_Assign(const char * ); - - void On_expectFinish_SwBracket_Right(const char * ); - void On_expectFinish_Comma(const char * ); - - // DATA - Dyn< PeStatusArray<PE_EnumValue> > - pStati; - Dyn<SP_Expression> pSpExpression; - Dyn<SPU_Expression> pSpuInitExpression; - - String sName; - String sInitExpression; -}; - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_expr.cxx b/autodoc/source/parser/cpp/pe_expr.cxx deleted file mode 100644 index 0594e57077c5..000000000000 --- a/autodoc/source/parser/cpp/pe_expr.cxx +++ /dev/null @@ -1,179 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_expr.hxx" - - -// NOT FULLY DECLARED SERVICES - - -namespace cpp { - - - -PE_Expression::PE_Expression( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Expression> ), - aResult_Text(100), - nBracketCounter(0) -{ - Setup_StatusFunctions(); -} - - -PE_Expression::~PE_Expression() -{ -} - -void -PE_Expression::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Expression::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Expression>::F_Tok F_Tok; - - static F_Tok stateF_std[] = { &PE_Expression::On_std_SwBracket_Left, - &PE_Expression::On_std_SwBracket_Right, - &PE_Expression::On_std_ArrayBracket_Left, - &PE_Expression::On_std_ArrayBracket_Right, - &PE_Expression::On_std_Bracket_Left, - &PE_Expression::On_std_Bracket_Right, - &PE_Expression::On_std_Semicolon, - &PE_Expression::On_std_Comma }; - static INT16 stateT_std[] = { Tid_SwBracket_Left, - Tid_SwBracket_Right, - Tid_ArrayBracket_Left, - Tid_ArrayBracket_Right, - Tid_Bracket_Left, - Tid_Bracket_Right, - Tid_Semicolon, - Tid_Comma }; - - SEMPARSE_CREATE_STATUS(PE_Expression, std, On_std_Default); -} - -void -PE_Expression::InitData() -{ - pStati->SetCur(std); - aResult_Text.seekp(0); - nBracketCounter = 0; -} - -void -PE_Expression::TransferData() -{ - pStati->SetCur(size_of_states); - if ( aResult_Text.tellp() > 0) - aResult_Text.pop_back(1); -} - -void -PE_Expression::On_std_Default( const char * i_sText) -{ - SetTokenResult(done, stay); - aResult_Text << i_sText << " "; -} - -void -PE_Expression::On_std_SwBracket_Left( const char *) -{ - SetTokenResult(done, stay); - nBracketCounter++; -} - -void -PE_Expression::On_std_SwBracket_Right( const char *) -{ - nBracketCounter--; - if ( nBracketCounter >= 0 ) - SetTokenResult(done, stay); - else - SetTokenResult(not_done, pop_success); -} - -void -PE_Expression::On_std_ArrayBracket_Left( const char *) -{ - SetTokenResult(done, stay); - nBracketCounter++; -} - -void -PE_Expression::On_std_ArrayBracket_Right( const char *) -{ - nBracketCounter--; - if ( nBracketCounter >= 0 ) - SetTokenResult(done, stay); - else - SetTokenResult(not_done, pop_success); -} - -void -PE_Expression::On_std_Bracket_Left( const char *) -{ - SetTokenResult(done, stay); - nBracketCounter++; -} - -void -PE_Expression::On_std_Bracket_Right( const char *) -{ - nBracketCounter--; - if ( nBracketCounter >= 0 ) - SetTokenResult(done, stay); - else - SetTokenResult(not_done, pop_success); -} - -void -PE_Expression::On_std_Semicolon( const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Expression::On_std_Comma( const char *) -{ - SetTokenResult(not_done, pop_success); -} - - -} // namespace cpp - - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_expr.hxx b/autodoc/source/parser/cpp/pe_expr.hxx deleted file mode 100644 index 8c1b5a94af9d..000000000000 --- a/autodoc/source/parser/cpp/pe_expr.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_EXPR_HXX -#define ADC_CPP_PE_EXPR_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - // PARAMETERS - - -namespace cpp { - - -class PE_Expression : public Cpp_PE -{ - public: - enum E_State - { - std, - size_of_states - }; - PE_Expression( - Cpp_PE * i_pParent ); - ~PE_Expression(); - - const char * Result_Text() const; - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - private: - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void On_std_Default( const char *); - - void On_std_SwBracket_Left( const char *); - void On_std_SwBracket_Right( const char *); - void On_std_ArrayBracket_Left( const char *); - void On_std_ArrayBracket_Right( const char *); - void On_std_Bracket_Left( const char *); - void On_std_Bracket_Right( const char *); - void On_std_Semicolon( const char *); - void On_std_Comma( const char *); - - // DATA - Dyn< PeStatusArray<PE_Expression> > - pStati; - - csv::StreamStr aResult_Text; - - intt nBracketCounter; -}; - - - -// IMPLEMENTATION - -inline const char * -PE_Expression::Result_Text() const -{ - return aResult_Text.c_str(); -} - - -} // namespace cpp - - - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_file.cxx b/autodoc/source/parser/cpp/pe_file.cxx deleted file mode 100644 index 6160f97b89b8..000000000000 --- a/autodoc/source/parser/cpp/pe_file.cxx +++ /dev/null @@ -1,320 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_file.hxx" - -// NOT FULLY DECLARED SERVICES -#include "pe_defs.hxx" -#include "pe_enum.hxx" -#include "pe_namsp.hxx" -#include "pe_tpltp.hxx" -#include "pe_tydef.hxx" -#include "pe_vafu.hxx" -#include "pe_ignor.hxx" - - -// NOT FULLY DECLARED SERVICES - - -namespace cpp -{ - -PE_File::PE_File( cpp::PeEnvironment & io_rEnv) - : Cpp_PE(io_rEnv), - pEnv(&io_rEnv), - pStati( new PeStatusArray<PE_File> ), - // pSpNamespace, - // pSpTypedef, - // pSpVarFunc, - // pSpIgnore, - // pSpuNamespace, - // pSpuClass, - // pSpuTypedef, - // pSpuVarFunc, - // pSpuTemplate, - // pSpuUsing, - // pSpuIgnoreFailure, - bWithinSingleExternC(false) -{ - Setup_StatusFunctions(); - - pSpNamespace = new SP_Namespace(*this); - pSpTypedef = new SP_Typedef(*this); - pSpVarFunc = new SP_VarFunc(*this); - pSpTemplate = new SP_Template(*this); - pSpDefs = new SP_Defines(*this); - pSpIgnore = new SP_Ignore(*this); - - pSpuNamespace = new SPU_Namespace(*pSpNamespace, 0, 0); - pSpuTypedef = new SPU_Typedef(*pSpTypedef, 0, 0); - pSpuVarFunc = new SPU_VarFunc(*pSpVarFunc, 0, &PE_File::SpReturn_VarFunc); - pSpuTemplate = new SPU_Template(*pSpTemplate, 0, &PE_File::SpReturn_Template); - pSpuDefs = new SPU_Defines(*pSpDefs, 0, 0); - pSpuUsing = new SPU_Ignore(*pSpIgnore, 0, 0); - pSpuIgnoreFailure - = new SPU_Ignore(*pSpIgnore, 0, 0); -} - -PE_File::~PE_File() -{ -} - -void -PE_File::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -Cpp_PE * -PE_File::Handle_ChildFailure() -{ - SetCurSPU(pSpuIgnoreFailure.Ptr()); - return &pSpuIgnoreFailure->Child(); -} - -void -PE_File::Setup_StatusFunctions() -{ - typedef CallFunction<PE_File>::F_Tok F_Tok; - static F_Tok stateF_std[] = { &PE_File::On_std_VarFunc, - &PE_File::On_std_ClassKey, - &PE_File::On_std_ClassKey, - &PE_File::On_std_ClassKey, - &PE_File::On_std_enum, - - &PE_File::On_std_typedef, - &PE_File::On_std_template, - &PE_File::On_std_VarFunc, - &PE_File::On_std_VarFunc, - &PE_File::On_std_extern, - - &PE_File::On_std_VarFunc, - &PE_File::On_std_VarFunc, - &PE_File::On_std_VarFunc, - &PE_File::On_std_namespace, - &PE_File::On_std_using, - - &PE_File::On_std_SwBracketRight, - &PE_File::On_std_VarFunc, - &PE_File::On_std_VarFunc, - &PE_File::On_std_DefineName, - &PE_File::On_std_MacroName, - - &PE_File::On_std_VarFunc, - &PE_File::On_std_VarFunc }; - - static INT16 stateT_std[] = { Tid_Identifier, - Tid_class, - Tid_struct, - Tid_union, - Tid_enum, - - Tid_typedef, - Tid_template, - Tid_const, - Tid_volatile, - Tid_extern, - - Tid_static, - Tid_register, - Tid_inline, - Tid_namespace, - Tid_using, - - Tid_SwBracket_Right, - Tid_DoubleColon, - Tid_typename, - Tid_DefineName, - Tid_MacroName, - - Tid_BuiltInType, - Tid_TypeSpecializer }; - - static F_Tok stateF_in_extern[] = { &PE_File::On_in_extern_Constant }; - static INT16 stateT_in_extern[] = { Tid_Constant }; - - static F_Tok stateF_in_externC[] = { &PE_File::On_in_externC_SwBracket_Left }; - static INT16 stateT_in_externC[] = { Tid_SwBracket_Left }; - - - SEMPARSE_CREATE_STATUS(PE_File, std, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_File, in_extern, On_in_extern_Ignore); - SEMPARSE_CREATE_STATUS(PE_File, in_externC, On_in_externC_NoBlock); -} - -void -PE_File::InitData() -{ - pStati->SetCur(std); -} - -void -PE_File::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_File::Hdl_SyntaxError( const char * i_sText) -{ - if ( *i_sText == ';' ) - { - Cerr() << Env().CurFileName() << ", line " - << Env().LineCount() - << ": Sourcecode warning: ';' as a toplevel declaration is deprecated." - << Endl(); - SetTokenResult(done,stay); - return; - } - - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_File::SpReturn_VarFunc() -{ - if (bWithinSingleExternC) - { - access_Env().CloseBlock(); - bWithinSingleExternC = false; - } -} - -void -PE_File::SpReturn_Template() -{ - access_Env().OpenTemplate( pSpuTemplate->Child().Result_Parameters() ); -} - -void -PE_File::On_std_namespace(const char * ) -{ - pSpuNamespace->Push(done); -} - -void -PE_File::On_std_ClassKey(const char * ) -{ - pSpuVarFunc->Push(not_done); // This is correct, - // classes are parsed via PE_Type. -} - -void -PE_File::On_std_typedef(const char * ) -{ - pSpuTypedef->Push(not_done); -} - -void -PE_File::On_std_enum(const char * ) -{ - pSpuVarFunc->Push(not_done); // This is correct, - // enums are parsed via PE_Type. -} - -void -PE_File::On_std_VarFunc(const char * ) -{ - pSpuVarFunc->Push(not_done); -} - -void -PE_File::On_std_template(const char * ) -{ - pSpuTemplate->Push(done); -} - -void -PE_File::On_std_extern(const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(in_extern); -} - -void -PE_File::On_std_using(const char * ) -{ - pSpuUsing->Push(done); -} - -void -PE_File::On_std_SwBracketRight(const char * ) -{ - SetTokenResult(done,stay); - access_Env().CloseBlock(); -} - -void -PE_File::On_std_DefineName(const char * ) -{ - pSpuDefs->Push(not_done); -} - -void -PE_File::On_std_MacroName(const char * ) -{ - pSpuDefs->Push(not_done); -} - -void -PE_File::On_in_extern_Constant(const char * ) -{ - SetTokenResult(done,stay); - pStati->SetCur(in_externC); - - access_Env().OpenExternC(); -} - -void -PE_File::On_in_extern_Ignore(const char * ) -{ - SetTokenResult(not_done, stay); - pStati->SetCur(std); -} - -void -PE_File::On_in_externC_SwBracket_Left(const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(std); -} - -void -PE_File::On_in_externC_NoBlock(const char * ) -{ - SetTokenResult(not_done, stay); - pStati->SetCur(std); - - bWithinSingleExternC = true; -} - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_file.hxx b/autodoc/source/parser/cpp/pe_file.hxx deleted file mode 100644 index 7a36f2c6fe9c..000000000000 --- a/autodoc/source/parser/cpp/pe_file.hxx +++ /dev/null @@ -1,198 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_FILE_HXX -#define ADC_CPP_PE_FILE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - // PARAMETERS - - -namespace cpp { - - class PeEnvironment; - - class PE_Namespace; - class PE_Enum; - class PE_Typedef; - class PE_VarFunc; - class PE_TemplateTop; - class PE_Defines; - class PE_Ignore; - -class PE_File : public Cpp_PE -{ - public: - enum E_State - { - std, /// before class, struct or union - in_extern, - in_externC, - size_of_states - }; - - PE_File( - PeEnvironment & io_rEnv ); - ~PE_File(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - virtual Cpp_PE * Handle_ChildFailure(); - - private: - typedef SubPe< PE_File, PE_Namespace> SP_Namespace; - typedef SubPe< PE_File, PE_Typedef> SP_Typedef; - typedef SubPe< PE_File, PE_VarFunc> SP_VarFunc; - typedef SubPe< PE_File, PE_TemplateTop> SP_Template; - typedef SubPe< PE_File, PE_Defines> SP_Defines; - typedef SubPe< PE_File, PE_Ignore > SP_Ignore; - - typedef SubPeUse< PE_File, PE_Namespace> SPU_Namespace; - typedef SubPeUse< PE_File, PE_Typedef> SPU_Typedef; - typedef SubPeUse< PE_File, PE_VarFunc> SPU_VarFunc; - typedef SubPeUse< PE_File, PE_TemplateTop> SPU_Template; - typedef SubPeUse< PE_File, PE_Defines> SPU_Defines; - typedef SubPeUse< PE_File, PE_Ignore> SPU_Ignore; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void SpReturn_VarFunc(); - void SpReturn_Template(); - - void On_std_namespace(const char * i_sText); - void On_std_ClassKey(const char * i_sText); - void On_std_typedef(const char * i_sText); - void On_std_enum(const char * i_sText); - void On_std_VarFunc(const char * i_sText); - void On_std_template(const char * i_sText); - void On_std_extern(const char * i_sText); - void On_std_using(const char * i_sText); - void On_std_SwBracketRight(const char * i_sText); - - void On_std_DefineName(const char * i_sText); - void On_std_MacroName(const char * i_sText); - - void On_in_extern_Constant(const char * i_sText); - void On_in_extern_Ignore(const char * i_sText); - void On_in_externC_SwBracket_Left(const char * i_sText); - void On_in_externC_NoBlock(const char * i_sText); - - PeEnvironment & access_Env() { return *pEnv; } - - - // DATA - PeEnvironment * pEnv; - - Dyn< PeStatusArray<PE_File> > - pStati; - - Dyn<SP_Namespace> pSpNamespace; - Dyn<SP_Typedef> pSpTypedef; - Dyn<SP_VarFunc> pSpVarFunc; - Dyn<SP_Template> pSpTemplate; - Dyn<SP_Defines> pSpDefs; - - Dyn<SP_Ignore> pSpIgnore; - - Dyn<SPU_Namespace> pSpuNamespace; - Dyn<SPU_Typedef> pSpuTypedef; - Dyn<SPU_VarFunc> pSpuVarFunc; - Dyn<SPU_Template> pSpuTemplate; - Dyn<SPU_Defines> pSpuDefs; - - Dyn<SPU_Ignore> pSpuUsing; - Dyn<SPU_Ignore> pSpuIgnoreFailure; - - bool bWithinSingleExternC; /** After 'extern "C"' without following '{', - waiting for the next function or variable to - set back to false. - */ -}; - -} // namespace cpp - - - -/* // Branches - -namespace - -> Named Namespace declaration - -> Unnamed Namespace declaration - -> Namespace alias definition - -class struct union - -> Class - -> Predeclaration - -typedef - -> Typedef - -enum - -> Enum - -extern - -> Extern-"C" - -> TypeDeclaration - -TypeDeclaration - -> FunctionDecl - -> FunctionDef - -> Variable - -template - -> TemplateClass - -> TemplateFunction - -> TemplateFunction/Method-Implementation - -> TemplatePredeclaration - -} - -> End of Namespace - -> End of Extern-"C" - -asm - -> AssemblerDeclaration - -using - -> Using-Declaration - -> Using-Directive - -*/ - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_funct.cxx b/autodoc/source/parser/cpp/pe_funct.cxx deleted file mode 100644 index 081f369a0c9c..000000000000 --- a/autodoc/source/parser/cpp/pe_funct.cxx +++ /dev/null @@ -1,612 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_funct.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_funct.hxx> -#include <ary/cpp/c_type.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/cpp/cp_type.hxx> -#include <ary/cpp/inpcontx.hxx> -#include "pe_type.hxx" -#include "pe_param.hxx" - - - - -namespace cpp -{ - - -inline void -PE_Function::PerformFinishingPunctuation() -{ - SetTokenResult(not_done,pop_success); -} - - -PE_Function::PE_Function( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Function> ), - // pSpParameter, - // pSpuParameter, - // pSpType, - // pSpuException, - // pSpuCastOperatorType, - nResult(0), - bResult_WithImplementation(false), - aName(60), - eVirtuality(ary::cpp::VIRTUAL_none), - eConVol(ary::cpp::CONVOL_none), - // aFlags, - nReturnType(0), - // aParameters - // aExceptions, - bThrow(false), - nBracketCounterInImplementation(0) -{ - Setup_StatusFunctions(); - - pSpParameter = new SP_Parameter(*this); - pSpType = new SP_Type(*this); - - pSpuParameter = new SPU_Parameter(*pSpParameter, 0, &PE_Function::SpReturn_Parameter); - pSpuException = new SPU_Type(*pSpType, 0, &PE_Function::SpReturn_Exception); - pSpuCastOperatorType = new SPU_Type(*pSpType, &PE_Function::SpInit_CastOperatorType, &PE_Function::SpReturn_CastOperatorType); -} - -PE_Function::~PE_Function() -{ - -} - -void -PE_Function::Init_Std( const String & i_sName, - ary::cpp::Type_id i_nReturnType, - bool i_bVirtual, - ary::cpp::FunctionFlags i_aFlags ) -{ - aName << i_sName; - eVirtuality = i_bVirtual ? ary::cpp::VIRTUAL_virtual : ary::cpp::VIRTUAL_none; - aFlags = i_aFlags; - nReturnType = i_nReturnType; - pStati->SetCur(afterName); -} - -void -PE_Function::Init_Ctor( const String & i_sName, - ary::cpp::FunctionFlags i_aFlags ) -{ - aName << i_sName; - eVirtuality = ary::cpp::VIRTUAL_none; - aFlags = i_aFlags; - nReturnType = 0; - pStati->SetCur(afterName); -} - -void -PE_Function::Init_Dtor( const String & i_sName, - bool i_bVirtual, - ary::cpp::FunctionFlags i_aFlags ) -{ - aName << "~" << i_sName; - eVirtuality = i_bVirtual ? ary::cpp::VIRTUAL_virtual : ary::cpp::VIRTUAL_none; - aFlags = i_aFlags; - nReturnType = 0; - pStati->SetCur(afterName); -} - -void -PE_Function::Init_CastOperator( bool i_bVirtual, - ary::cpp::FunctionFlags i_aFlags ) -{ - aName << "operator "; - eVirtuality = i_bVirtual ? ary::cpp::VIRTUAL_virtual : ary::cpp::VIRTUAL_none; - aFlags = i_aFlags; - nReturnType = 0; - pStati->SetCur(afterCastOperator); -} - -void -PE_Function::Init_NormalOperator( ary::cpp::Type_id i_nReturnType, - bool i_bVirtual, - ary::cpp::FunctionFlags i_aFlags ) -{ - aName << "operator"; - eVirtuality = i_bVirtual ? ary::cpp::VIRTUAL_virtual : ary::cpp::VIRTUAL_none; - aFlags = i_aFlags; - nReturnType = i_nReturnType; - pStati->SetCur(afterStdOperator); -} - -ary::cpp::Ce_id -PE_Function::Result_Id() const -{ - return nResult; -} - -void -PE_Function::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Function::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Function>::F_Tok F_Tok; - - static F_Tok stateF_afterStdOperator[] = - { &PE_Function::On_afterOperator_Std_Operator, - &PE_Function::On_afterOperator_Std_LeftBracket, - &PE_Function::On_afterOperator_Std_LeftBracket, - &PE_Function::On_afterOperator_Std_Operator, - &PE_Function::On_afterOperator_Std_Operator, - &PE_Function::On_afterOperator_Std_Operator, - &PE_Function::On_afterOperator_Std_Operator, - &PE_Function::On_afterOperator_Std_Operator, - &PE_Function::On_afterOperator_Std_Operator }; - static INT16 stateT_afterStdOperator[] = - { Tid_Operator, - Tid_ArrayBracket_Left, - Tid_Bracket_Left, - Tid_Comma, - Tid_Assign, - Tid_Less, - Tid_Greater, - Tid_Asterix, - Tid_AmpersAnd }; - - static F_Tok stateF_afterStdOperatorLeftBracket[] = - { &PE_Function::On_afterStdOperatorLeftBracket_RightBracket, - &PE_Function::On_afterStdOperatorLeftBracket_RightBracket }; - static INT16 stateT_afterStdOperatorLeftBracket[] = - { Tid_ArrayBracket_Right, - Tid_Bracket_Right }; - - static F_Tok stateF_afterCastOperator[] = - { &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type, - &PE_Function::On_afterOperator_Cast_Type }; - static INT16 stateT_afterCastOperator[] = - { Tid_Identifier, - Tid_class, - Tid_struct, - Tid_union, - Tid_enum, - Tid_const, - Tid_volatile, - Tid_DoubleColon, - Tid_typename, - Tid_BuiltInType, - Tid_TypeSpecializer }; - - static F_Tok stateF_afterName[] = { &PE_Function::On_afterName_Bracket_Left }; - static INT16 stateT_afterName[] = { Tid_Bracket_Left }; - - static F_Tok stateF_expectParameterSeparator[] = - { &PE_Function::On_expectParameterSeparator_BracketRight, - &PE_Function::On_expectParameterSeparator_Comma }; - static INT16 stateT_expectParameterSeparator[] = - { Tid_Bracket_Right, - Tid_Comma }; - - static F_Tok stateF_afterParameters[] = { &PE_Function::On_afterParameters_const, - &PE_Function::On_afterParameters_volatile, - &PE_Function::On_afterParameters_throw, - &PE_Function::On_afterParameters_SwBracket_Left, - &PE_Function::On_afterParameters_Semicolon, - &PE_Function::On_afterParameters_Comma, - &PE_Function::On_afterParameters_Colon, - &PE_Function::On_afterParameters_Assign }; - static INT16 stateT_afterParameters[] = { Tid_const, - Tid_volatile, - Tid_throw, - Tid_SwBracket_Left, - Tid_Semicolon, - Tid_Comma, - Tid_Colon, - Tid_Assign }; - - static F_Tok stateF_afterThrow[] = { &PE_Function::On_afterThrow_Bracket_Left }; - static INT16 stateT_afterThrow[] = { Tid_Bracket_Left }; - - static F_Tok stateF_expectExceptionSeparator[] = - { &PE_Function::On_expectExceptionSeparator_BracketRight, - &PE_Function::On_expectExceptionSeparator_Comma }; - static INT16 stateT_expectExceptionSeparator[] = - { Tid_Bracket_Right, - Tid_Comma }; - - static F_Tok stateF_afterExceptions[] = { &PE_Function::On_afterExceptions_SwBracket_Left, - &PE_Function::On_afterExceptions_Semicolon, - &PE_Function::On_afterExceptions_Comma, - &PE_Function::On_afterExceptions_Colon, - &PE_Function::On_afterExceptions_Assign }; - static INT16 stateT_afterExceptions[] = { Tid_SwBracket_Left, - Tid_Semicolon, - Tid_Comma, - Tid_Colon, - Tid_Assign }; - - static F_Tok stateF_expectZero[] = { &PE_Function::On_expectZero_Constant }; - static INT16 stateT_expectZero[] = { Tid_Constant }; - - static F_Tok stateF_inImplementation[] = - { &PE_Function::On_inImplementation_SwBracket_Left, - &PE_Function::On_inImplementation_SwBracket_Right }; - static INT16 stateT_inImplementation[] = - { Tid_SwBracket_Left, - Tid_SwBracket_Right }; - - SEMPARSE_CREATE_STATUS(PE_Function, afterStdOperator, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, afterStdOperatorLeftBracket, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, afterCastOperator, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, afterName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, expectParameterSeparator, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, afterParameters, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, afterThrow, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, expectExceptionSeparator, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, afterExceptions, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, expectZero, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Function, inImplementation, On_inImplementation_Default ); -} - -void -PE_Function::InitData() -{ - pStati->SetCur( afterName ), - nResult = 0; - bResult_WithImplementation = false; - aName.seekp(0); - eVirtuality = ary::cpp::VIRTUAL_none; - eConVol = ary::cpp::CONVOL_none; - aFlags.Reset(); - nReturnType = 0; - csv::erase_container(aParameters); - csv::erase_container(aExceptions); - bThrow = false; -} - -void -PE_Function::TransferData() -{ - String sName( aName.c_str() ); - ary::cpp::Function * - pFunction = Env().AryGate().Ces().Store_Operation( - Env().Context(), - sName, - nReturnType, - aParameters, - eVirtuality, - eConVol, - aFlags, - bThrow, - aExceptions ); - if (pFunction != 0) - { - // KORR_FUTURE: How to handle differing documentation? - - Dyn< StringVector > - pTplParams ( Env().Get_CurTemplateParameters() ); - if ( pTplParams ) - { - for ( StringVector::const_iterator it = pTplParams->begin(); - it != pTplParams->end(); - ++it ) - { - pFunction->Add_TemplateParameterType( *it, ary::cpp::Type_id(0) ); - } // end for - } - - Env().Event_Store_Function(*pFunction); - } - - pStati->SetCur(size_of_states); -} - -void -PE_Function::Hdl_SyntaxError(const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Function::SpInit_CastOperatorType() -{ - pSpuCastOperatorType->Child().Init_AsCastOperatorType(); -} - -void -PE_Function::SpReturn_Parameter() -{ - pStati->SetCur(expectParameterSeparator); - - ary::cpp::Type_id nParamType = pSpuParameter->Child().Result_FrontType(); - if ( nParamType.IsValid() ) // Check, if there was a parameter, or only the closing ')'. - { - aParameters.push_back( pSpuParameter->Child().Result_ParamInfo() ); - } -} - -void -PE_Function::SpReturn_Exception() -{ - pStati->SetCur(expectExceptionSeparator); - - ary::cpp::Type_id - nException = pSpuException->Child().Result_Type().TypeId(); - if ( nException.IsValid() AND pSpuException->Child().Result_KindOf() == PE_Type::is_type ) - { - aExceptions.push_back( nException ); - } -} - -void -PE_Function::SpReturn_CastOperatorType() -{ - pStati->SetCur(afterName); - - Env().AryGate().Types().Get_TypeText( - aName, pSpuCastOperatorType->Child().Result_Type().TypeId() ); -} - -void -PE_Function::On_afterOperator_Std_Operator(const char * i_sText) -{ - SetTokenResult(done,stay); - pStati->SetCur(afterName); - - if ( 'a' <= *i_sText AND *i_sText <= 'z' ) - aName << ' '; - aName << i_sText; -} - -void -PE_Function::On_afterOperator_Std_LeftBracket(const char * i_sText) -{ - SetTokenResult(done,stay); - pStati->SetCur(afterStdOperatorLeftBracket); - - aName << i_sText; -} - -void -PE_Function::On_afterStdOperatorLeftBracket_RightBracket(const char * i_sText) -{ - SetTokenResult(done,stay); - pStati->SetCur(afterName); - - aName << i_sText; -} - -void -PE_Function::On_afterOperator_Cast_Type(const char *) -{ - pSpuCastOperatorType->Push(not_done); -} - -void -PE_Function::On_afterName_Bracket_Left(const char *) -{ - pSpuParameter->Push(done); -} - -void -PE_Function::On_expectParameterSeparator_BracketRight(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(afterParameters); -} - -void -PE_Function::On_expectParameterSeparator_Comma(const char *) -{ - pSpuParameter->Push(done); -} - -void -PE_Function::On_afterParameters_const(const char *) -{ - SetTokenResult(done,stay); - eConVol = static_cast<E_ConVol>( - static_cast<int>(eConVol) | static_cast<int>(ary::cpp::CONVOL_const) ); -} - -void -PE_Function::On_afterParameters_volatile(const char *) -{ - SetTokenResult(done,stay); - eConVol = static_cast<E_ConVol>( - static_cast<int>(eConVol) | static_cast<int>(ary::cpp::CONVOL_volatile) ); -} - -void -PE_Function::On_afterParameters_throw(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(afterThrow); - bThrow = true; -} - -void -PE_Function::On_afterParameters_SwBracket_Left(const char *) -{ - EnterImplementation(1); -} - -void -PE_Function::On_afterParameters_Semicolon(const char *) -{ - PerformFinishingPunctuation(); -} - -void -PE_Function::On_afterParameters_Comma(const char *) -{ - PerformFinishingPunctuation(); -} - -void -PE_Function::On_afterParameters_Colon(const char *) -{ - EnterImplementation(0); -} - -void -PE_Function::On_afterParameters_Assign(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(expectZero); -} - -void -PE_Function::On_afterThrow_Bracket_Left(const char *) -{ - pSpuException->Push(done); -} - -void -PE_Function::On_expectExceptionSeparator_BracketRight(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(afterExceptions); -} - -void -PE_Function::On_expectExceptionSeparator_Comma(const char *) -{ - pSpuException->Push(done); -} - -void -PE_Function::On_afterExceptions_SwBracket_Left(const char *) -{ - EnterImplementation(1); -} - -void -PE_Function::On_afterExceptions_Semicolon(const char *) -{ - PerformFinishingPunctuation(); -} - -void -PE_Function::On_afterExceptions_Comma(const char *) -{ - PerformFinishingPunctuation(); -} - -void -PE_Function::On_afterExceptions_Colon(const char *) -{ - EnterImplementation(0); -} - -void -PE_Function::On_afterExceptions_Assign(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(expectZero); -} - -void -PE_Function::On_expectZero_Constant(const char * i_sText) -{ - if ( strcmp(i_sText,"0") != 0 ) - Hdl_SyntaxError(i_sText); - - SetTokenResult(done,stay); - pStati->SetCur(afterExceptions); - - eVirtuality = ary::cpp::VIRTUAL_abstract; -} - -void -PE_Function::On_inImplementation_SwBracket_Left(const char *) -{ - SetTokenResult(done,stay); - nBracketCounterInImplementation++; -} - -void -PE_Function::On_inImplementation_SwBracket_Right(const char *) -{ - nBracketCounterInImplementation--; - if (nBracketCounterInImplementation == 0) - { - SetTokenResult(done,pop_success); - } - else - { - SetTokenResult(done,stay); - } -} - -void -PE_Function::On_inImplementation_Default(const char *) -{ - SetTokenResult(done,stay); -} - -void -PE_Function::EnterImplementation( intt i_nBracketCountStart ) -{ - SetTokenResult(done,stay); - pStati->SetCur(inImplementation); - - bResult_WithImplementation = true; - nBracketCounterInImplementation = i_nBracketCountStart; - if ( Env().Context().CurClass() != 0 ) - { - aFlags.SetInline(); - } -} - - - -} // namespace cpp - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_funct.hxx b/autodoc/source/parser/cpp/pe_funct.hxx deleted file mode 100644 index 2f6a183150bb..000000000000 --- a/autodoc/source/parser/cpp/pe_funct.hxx +++ /dev/null @@ -1,283 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_FUNCT_HXX -#define ADC_CPP_PE_FUNCT_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_vfflag.hxx> - // PARAMETERS - - -namespace ary -{ -namespace cpp -{ -class Function; -struct S_VariableInfo; -} -} - -namespace cpp -{ - -class PE_Type; -class PE_Parameter; - -class PE_Function : public Cpp_PE -{ - public: - enum E_State - { - afterStdOperator, // if initializes as operator - afterStdOperatorLeftBracket, - // if initializes as operator with ( or [ - afterCastOperator, // if initializes as operator - afterName, // undecided - expectParameterSeparator, // - afterParameters, // before const, volatile throw or = 0. - afterThrow, // expect ( - expectExceptionSeparator, // - afterExceptions, // = 0 oder ; oder , - expectZero, // after '=' - inImplementation, // after { - size_of_states - }; - typedef ary::cpp::E_Protection E_Protection; - typedef ary::cpp::E_Virtuality E_Virtuality; - typedef ary::cpp::E_ConVol E_ConVol; - - PE_Function( - Cpp_PE * i_pParent ); - ~PE_Function(); - - void Init_Std( - const String & i_sName, - ary::cpp::Type_id i_nReturnType, - bool i_bVirtual, - ary::cpp::FunctionFlags - i_aFlags ); - void Init_Ctor( - const String & i_sName, - ary::cpp::FunctionFlags - i_aFlags ); - void Init_Dtor( - const String & i_sName, - bool i_bVirtual, - ary::cpp::FunctionFlags - i_aFlags ); - void Init_CastOperator( - bool i_bVirtual, - ary::cpp::FunctionFlags - i_aFlags ); - void Init_NormalOperator( - ary::cpp::Type_id i_nReturnType, - bool i_bVirtual, - ary::cpp::FunctionFlags - i_aFlags ); - - ary::cpp::Ce_id Result_Id() const; - bool Result_WithImplementation() const; - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - private: - typedef SubPe< PE_Function, PE_Type > SP_Type; - typedef SubPeUse< PE_Function, PE_Type > SPU_Type; - typedef SubPe< PE_Function, PE_Parameter> SP_Parameter; - typedef SubPeUse<PE_Function, PE_Parameter> SPU_Parameter; - - typedef std::vector<ary::cpp::S_Parameter> ParameterList; - typedef std::vector<ary::cpp::Type_id> ExceptionTypeList; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError(const char * i_sText); - - void SpInit_CastOperatorType(); - - void SpReturn_Parameter(); - void SpReturn_Exception(); - void SpReturn_CastOperatorType(); - - void On_afterOperator_Std_Operator(const char * i_sText); // Operator+() etc. - void On_afterOperator_Std_LeftBracket(const char * i_sText); // operator [] or () - void On_afterStdOperatorLeftBracket_RightBracket(const char * i_sText); - void On_afterOperator_Cast_Type(const char * i_sText); // Type - - void On_afterName_Bracket_Left(const char * i_sText); - - void On_expectParameterSeparator_BracketRight(const char * i_sText); - void On_expectParameterSeparator_Comma(const char * i_sText); - - void On_afterParameters_const(const char * i_sText); - void On_afterParameters_volatile(const char * i_sText); - void On_afterParameters_throw(const char * i_sText); - void On_afterParameters_SwBracket_Left(const char * i_sText); - void On_afterParameters_Semicolon(const char * i_sText); - void On_afterParameters_Comma(const char * i_sText); - void On_afterParameters_Colon(const char * i_sText); - void On_afterParameters_Assign(const char * i_sText); - - void On_afterThrow_Bracket_Left(const char * i_sText); - - void On_expectExceptionSeparator_BracketRight(const char * i_sText); - void On_expectExceptionSeparator_Comma(const char * i_sText); - - void On_afterExceptions_SwBracket_Left(const char * i_sText); - void On_afterExceptions_Semicolon(const char * i_sText); - void On_afterExceptions_Comma(const char * i_sText); - void On_afterExceptions_Colon(const char * i_sText); - void On_afterExceptions_Assign(const char * i_sText); - - void On_expectZero_Constant(const char * i_sText); - - void On_inImplementation_SwBracket_Left(const char * i_sText); - void On_inImplementation_SwBracket_Right(const char * i_sText); - void On_inImplementation_Default(const char * i_sText); - - void PerformFinishingPunctuation(); - void EnterImplementation( - intt i_nBracketCountStart ); /// 1 normally, 0 in initialisation section of c'tors. - - // DATA - Dyn< PeStatusArray<PE_Function> > - pStati; - - Dyn< SP_Parameter > pSpParameter; - Dyn< SPU_Parameter> pSpuParameter; - Dyn< SP_Type > pSpType; - Dyn< SPU_Type > pSpuException; - Dyn< SPU_Type > pSpuCastOperatorType; // in "operator int()" or "operator ThatClass *()" - - ary::cpp::Ce_id nResult; - bool bResult_WithImplementation; // Necessary for the parent ParseEnvironment - // to know, there is no semicolon or comma following. - // Pre results - StreamStr aName; - E_Virtuality eVirtuality; - E_ConVol eConVol; - ary::cpp::FunctionFlags - aFlags; - ary::cpp::Type_id nReturnType; - ParameterList aParameters; - ExceptionTypeList aExceptions; - bool bThrow; // Indicates, if there is a throw - important, if there are 0 exceptions listed. - intt nBracketCounterInImplementation; -}; - - - - -// IMPLEMENTATION -inline bool -PE_Function::Result_WithImplementation() const - { return bResult_WithImplementation; } - - - - -} // namespace cpp -#endif - - - - - -/* // Overview of statuses - -Undecided ---------- - -start // before and inside storage class specifiers - -->Typ - -expectName // type is there - -afterName - - - - -Variable --------- - -start // before and inside storage class specifiers - -->Typ - -expectName // type is there -> in case of '(': notyetimplemented -afterName - -expectSize // after [ -expectFinish - // before ; or , -expectNextVarName // in contrast to expectName here can also be a * or & - - - - -Function --------- - -start // before and inside storage class specifiers - -->Typ - -expectName // type is there -expectBracket // after name -expectParameter // after ( or , --> Parameter -after Parameters // before const, volatile throw or = 0. -after throw // expect ( -expectException // after ( -after exceptions // = 0 oder ; oder , - - -expectNextVarName // in contrast to expectName here can also be a * or & - - - - - - - -*/ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_ignor.cxx b/autodoc/source/parser/cpp/pe_ignor.cxx deleted file mode 100644 index 67db5593c736..000000000000 --- a/autodoc/source/parser/cpp/pe_ignor.cxx +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_ignor.hxx" - - -// NOT FULLY DECLARED SERVICES - - -namespace cpp { - - - -PE_Ignore::PE_Ignore( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - nBracketCounter(0), - bBlockOpened(false) -{ - Setup_StatusFunctions(); -} - - -PE_Ignore::~PE_Ignore() -{ -} - -void -PE_Ignore::Call_Handler( const cpp::Token & i_rTok ) -{ - if ( NOT bBlockOpened ) - { - switch (i_rTok.TypeId()) - { - case Tid_SwBracket_Left: SetTokenResult(done, stay); - nBracketCounter++; - bBlockOpened = true; - break; - case Tid_Semicolon: SetTokenResult(done, pop_success); - break; - default: - SetTokenResult(done, stay); - } // end switch - } - else if ( nBracketCounter > 0 ) - { - SetTokenResult(done, stay); - - switch (i_rTok.TypeId()) - { - case Tid_SwBracket_Left: nBracketCounter++; - break; - case Tid_SwBracket_Right: nBracketCounter--; - break; - } // end switch - } - else if ( i_rTok.TypeId() == Tid_Semicolon ) - { - SetTokenResult(done, pop_success); - } - else - { - SetTokenResult(not_done, pop_success); - } -} - -void -PE_Ignore::Setup_StatusFunctions() -{ - // Does nothing. -} - -void -PE_Ignore::InitData() -{ - nBracketCounter = 0; - bBlockOpened = false; -} - -void -PE_Ignore::TransferData() -{ - // Does nothing. -} - - -} // namespace cpp - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_ignor.hxx b/autodoc/source/parser/cpp/pe_ignor.hxx deleted file mode 100644 index 7efb2757479b..000000000000 --- a/autodoc/source/parser/cpp/pe_ignor.hxx +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_IGNOR_HXX -#define ADC_CPP_PE_IGNOR_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <cpp_pe.hxx> - // COMPONENTS - // PARAMETERS - - -namespace cpp { - - -class PE_Ignore : public Cpp_PE -{ - public: - PE_Ignore( - Cpp_PE * i_pParent ); - ~PE_Ignore(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - private: - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - - // DATA - uintt nBracketCounter; - bool bBlockOpened; -}; - - - -// IMPLEMENTATION - - -} // namespace cpp - - - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_namsp.cxx b/autodoc/source/parser/cpp/pe_namsp.cxx deleted file mode 100644 index bf9ca483abbe..000000000000 --- a/autodoc/source/parser/cpp/pe_namsp.cxx +++ /dev/null @@ -1,165 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <pe_namsp.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <all_toks.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <semantic/callf.hxx> -#include "x_parse.hxx" - - - - -namespace cpp -{ - -PE_Namespace::PE_Namespace( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Namespace> ), - // sLocalname - bPush(false) -{ - Setup_StatusFunctions(); -} - -PE_Namespace::~PE_Namespace() -{ -} - -void -PE_Namespace::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Namespace>::F_Tok F_Tok; - static F_Tok stateF_start[] = { &PE_Namespace::On_start_Identifier, - &PE_Namespace::On_start_SwBracket_Left }; - static INT16 stateT_start[] = { Tid_Identifier, - Tid_SwBracket_Left }; - static F_Tok stateF_gotName[] = { &PE_Namespace::On_gotName_SwBracket_Left, - &PE_Namespace::On_gotName_Assign }; - static INT16 stateT_gotName[] = { Tid_SwBracket_Left, - Tid_Assign }; - static F_Tok stateF_expectSemicolon[] = { &PE_Namespace::On_expectSemicolon_Semicolon }; - static INT16 stateT_expectSemicolon[] = { Tid_Semicolon }; - - SEMPARSE_CREATE_STATUS(PE_Namespace, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Namespace, gotName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Namespace, expectSemicolon, Hdl_SyntaxError); -} - -void -PE_Namespace::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Namespace::InitData() -{ - pStati->SetCur(start); - sLocalName = ""; - bPush = false; -} - -void -PE_Namespace::TransferData() -{ - if (bPush) - { - ary::cpp::Namespace & - rNew = Env().AryGate().Ces().CheckIn_Namespace( - Env().Context(), - sLocalName ); - Env().OpenNamespace(rNew); - } -} - -void -PE_Namespace::Hdl_SyntaxError( const char * i_sText) -{ - throw X_Parser( X_Parser::x_UnexpectedToken, - i_sText != 0 ? i_sText : "", - Env().CurFileName(), - Env().LineCount() ); -} - -void -PE_Namespace::On_start_Identifier(const char * i_sText) -{ - SetTokenResult(done, stay); - pStati->SetCur(gotName); - - sLocalName = i_sText; -} - -void -PE_Namespace::On_start_SwBracket_Left(const char * ) -{ - SetTokenResult(done, pop_success); - pStati->SetCur(size_of_states); - - sLocalName = ""; // Anonymous namespace, a name is created in - // Gate().CheckIn_Namespace() . - - bPush = true; -} - -void -PE_Namespace::On_gotName_SwBracket_Left(const char * ) -{ - SetTokenResult(done, pop_success); - pStati->SetCur(size_of_states); - - bPush = true; -} - -void -PE_Namespace::On_gotName_Assign(const char * ) -{ - // KORR_FUTURE - Hdl_SyntaxError(0); -} - -void -PE_Namespace::On_expectSemicolon_Semicolon(const char * ) -{ - SetTokenResult(done,pop_success); - pStati->SetCur(size_of_states); -} - -} // namespace cpp - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_namsp.hxx b/autodoc/source/parser/cpp/pe_namsp.hxx deleted file mode 100644 index d07ab61ad3b7..000000000000 --- a/autodoc/source/parser/cpp/pe_namsp.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_NAMSP_HXX -#define ADC_CPP_PE_NAMSP_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_pe.hxx> - // PARAMETERS - -namespace ary -{ -namespace cpp -{ -class Namespace; -} -} - - -namespace cpp -{ - - -class PE_Namespace : public Cpp_PE -{ - public: - enum E_State - { - start, - gotName, - expectSemicolon, /// after namespace assignment - size_of_states - }; - PE_Namespace( - Cpp_PE * i_pParent ); - ~PE_Namespace(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - ary::cpp::Namespace * - Result_OpenedNamespace() const; - private: - void Setup_StatusFunctions(); - - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void On_start_Identifier(const char * i_sText); - void On_start_SwBracket_Left(const char * i_sText); - void On_gotName_SwBracket_Left(const char * i_sText); - void On_gotName_Assign(const char * i_sText); - void On_expectSemicolon_Semicolon(const char * i_sText); - - // DATA - Dyn< PeStatusArray<PE_Namespace> > - pStati; - - String sLocalName; - bool bPush; -}; - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_param.cxx b/autodoc/source/parser/cpp/pe_param.cxx deleted file mode 100644 index 19ce4607d060..000000000000 --- a/autodoc/source/parser/cpp/pe_param.cxx +++ /dev/null @@ -1,282 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_param.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/cp_type.hxx> -#include "pe_type.hxx" -#include "pe_vari.hxx" - - -namespace cpp { - - - -//*********************** PE_Parameter ***********************// - - -PE_Parameter::PE_Parameter( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Parameter> ) - // pSpType, - // pSpuType, - // pSpVariable, - // pSpuVariable, - // aResultParamInfo -{ - Setup_StatusFunctions(); - - pSpType = new SP_Type(*this); - pSpuType = new SPU_Type(*pSpType, &PE_Parameter::SpInit_Type, &PE_Parameter::SpReturn_Type); - pSpVariable = new SP_Variable(*this); - pSpuVariable = new SPU_Variable(*pSpVariable, &PE_Parameter::SpInit_Variable, &PE_Parameter::SpReturn_Variable); -} - -PE_Parameter::~PE_Parameter() -{ -} - -void -PE_Parameter::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Parameter::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Parameter>::F_Tok F_Tok; - static F_Tok stateF_start[] = { &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type, - - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Bracket_Right, - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Ellipse, - - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type, - &PE_Parameter::On_start_Type }; - static INT16 stateT_start[] = { Tid_Identifier, - Tid_class, - Tid_struct, - Tid_union, - Tid_enum, - - Tid_const, - Tid_volatile, - Tid_Bracket_Right, - Tid_DoubleColon, - Tid_Ellipse, - - Tid_typename, - Tid_BuiltInType, - Tid_TypeSpecializer }; - - static F_Tok stateF_expectName[] = { &PE_Parameter::On_expectName_Identifier, - &PE_Parameter::On_expectName_ArrayBracket_Left, - &PE_Parameter::On_expectName_Bracket_Right, - &PE_Parameter::On_expectName_Comma, - &PE_Parameter::On_afterName_Assign }; - static INT16 stateT_expectName[] = { Tid_Identifier, - Tid_ArrayBracket_Left, - Tid_Bracket_Right, - Tid_Comma, - Tid_Assign }; - static F_Tok stateF_afterName[] = { &PE_Parameter::On_afterName_ArrayBracket_Left, - &PE_Parameter::On_afterName_Bracket_Right, - &PE_Parameter::On_afterName_Comma, - &PE_Parameter::On_afterName_Assign }; - static INT16 stateT_afterName[] = { Tid_ArrayBracket_Left, - Tid_Bracket_Right, - Tid_Comma, - Tid_Assign }; - static F_Tok stateF_finished[] = { &PE_Parameter::On_finished_Comma, - &PE_Parameter::On_finished_Bracket_Right }; - static INT16 stateT_finished[] = { Tid_Bracket_Right, - Tid_Comma }; - - SEMPARSE_CREATE_STATUS(PE_Parameter, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Parameter, expectName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Parameter, afterName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Parameter, finished, Hdl_SyntaxError); -} - - -void -PE_Parameter::InitData() -{ - pStati->SetCur(start); - aResultParamInfo.Empty(); -} - -void -PE_Parameter::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_Parameter::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Parameter::SpInit_Type() -{ - // Does nothing. -} - -void -PE_Parameter::SpInit_Variable() -{ - // Does nothing. -} - -void -PE_Parameter::SpReturn_Type() -{ - aResultParamInfo.nType = pSpuType->Child().Result_Type().Id(); - pStati->SetCur(expectName); -} - -void -PE_Parameter::SpReturn_Variable() -{ - if (pSpuVariable->Child().Result_Pattern() > 0) - { - aResultParamInfo.sSizeExpression = pSpuVariable->Child().Result_SizeExpression(); - aResultParamInfo.sInitExpression = pSpuVariable->Child().Result_InitExpression(); - } -} - -void -PE_Parameter::On_start_Type(const char *) -{ - pSpuType->Push(not_done); -} - -void -PE_Parameter::On_start_Bracket_Right(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Parameter::On_start_Ellipse(const char *) -{ - SetTokenResult(done, pop_success); - - aResultParamInfo.nType = Env().AryGate().Types().Tid_Ellipse(); -} - -void -PE_Parameter::On_expectName_Identifier(const char * i_sText) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterName); - - aResultParamInfo.sName = i_sText; -} - -void -PE_Parameter::On_expectName_ArrayBracket_Left(const char * i_sText) -{ - On_afterName_ArrayBracket_Left(i_sText); -} - -void -PE_Parameter::On_expectName_Bracket_Right(const char * i_sText) -{ - On_afterName_Bracket_Right(i_sText); -} - -void -PE_Parameter::On_expectName_Comma(const char * i_sText) -{ - On_afterName_Comma(i_sText); -} - -void -PE_Parameter::On_afterName_ArrayBracket_Left(const char *) -{ - pSpuVariable->Push(not_done); -} - -void -PE_Parameter::On_afterName_Bracket_Right(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Parameter::On_afterName_Comma(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Parameter::On_afterName_Assign(const char *) -{ - pSpuVariable->Push(not_done); -} - -void -PE_Parameter::On_finished_Bracket_Right(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Parameter::On_finished_Comma(const char *) -{ - SetTokenResult(not_done, pop_success); -} - - -} // namespace cpp - - - - - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_param.hxx b/autodoc/source/parser/cpp/pe_param.hxx deleted file mode 100644 index 44688796236f..000000000000 --- a/autodoc/source/parser/cpp/pe_param.hxx +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_PARAM_HXX -#define ADC_CPP_PE_PARAM_HXX - -// BASE CLASSES -#include "cpp_pe.hxx" -// USED SERVICES -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> -#include <ary/cpp/c_vfflag.hxx> - - - - -namespace cpp -{ - class PE_Type; - class PE_Variable; - - - - -class PE_Parameter : public Cpp_PE -{ - public: - enum E_State - { - start, - expectName, - afterName, - finished, - size_of_states - }; - typedef ary::cpp::S_Parameter S_ParamInfo; - - explicit PE_Parameter( - Cpp_PE * i_pParent ); - ~PE_Parameter(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - ary::cpp::Type_id Result_FrontType() const; - const S_ParamInfo & Result_ParamInfo() const; - - private: - typedef SubPe< PE_Parameter, PE_Type > SP_Type; - typedef SubPeUse< PE_Parameter, PE_Type > SPU_Type; - typedef SubPe< PE_Parameter, PE_Variable > SP_Variable; - typedef SubPeUse< PE_Parameter, PE_Variable > SPU_Variable; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void SpInit_Type(); // Type and Ignore. - void SpInit_Variable(); - void SpReturn_Type(); - void SpReturn_Variable(); - - void On_start_Type(const char * i_sText); - void On_start_Bracket_Right(const char * i_sText); - void On_start_Ellipse(const char * i_sText); - - void On_expectName_Identifier(const char * i_sText); - void On_expectName_ArrayBracket_Left(const char * i_sText); - void On_expectName_Bracket_Right(const char * i_sText); - void On_expectName_Comma(const char * i_sText); - - void On_afterName_ArrayBracket_Left(const char * i_sText); - void On_afterName_Bracket_Right(const char * i_sText); - void On_afterName_Comma(const char * i_sText); - void On_afterName_Assign(const char * i_sText); - - void On_finished_Bracket_Right(const char * i_sText); - void On_finished_Comma(const char * i_sText); - - // DATA - Dyn< PeStatusArray<PE_Parameter> > - pStati; - - Dyn<SP_Type> pSpType; - Dyn<SPU_Type> pSpuType; - Dyn<SP_Variable> pSpVariable; - Dyn<SPU_Variable> pSpuVariable; - - S_ParamInfo aResultParamInfo; -}; - - - - -// IMPLEMENTATION -inline ary::cpp::Type_id -PE_Parameter::Result_FrontType() const -{ - return aResultParamInfo.nType; -} - -inline const PE_Parameter::S_ParamInfo & -PE_Parameter::Result_ParamInfo() const -{ - return aResultParamInfo; -} - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_tpltp.cxx b/autodoc/source/parser/cpp/pe_tpltp.cxx deleted file mode 100644 index 1cbb5b47c851..000000000000 --- a/autodoc/source/parser/cpp/pe_tpltp.cxx +++ /dev/null @@ -1,178 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_tpltp.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <cosv/tpl/tpltools.hxx> - - - -namespace cpp { - - - -PE_TemplateTop::PE_TemplateTop( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_TemplateTop> ), - // aResult_Parameters, - bCurIsConstant(false) -{ - Setup_StatusFunctions(); -} - - -PE_TemplateTop::~PE_TemplateTop() -{ -} - -void -PE_TemplateTop::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_TemplateTop::Setup_StatusFunctions() -{ - typedef CallFunction<PE_TemplateTop>::F_Tok F_Tok; - - static F_Tok stateF_start[] = { &PE_TemplateTop::On_start_Less }; - static INT16 stateT_start[] = { Tid_Less }; - - static F_Tok stateF_expect_qualifier[]= { &PE_TemplateTop::On_expect_qualifier_ClassOrTypename, - &PE_TemplateTop::On_expect_qualifier_Greater, - &PE_TemplateTop::On_expect_qualifier_ClassOrTypename }; - static INT16 stateT_expect_qualifier[]= { Tid_class, - Tid_Greater, - Tid_typename }; - - static F_Tok stateF_expect_name[] = { &PE_TemplateTop::On_expect_name_Identifier }; - static INT16 stateT_expect_name[] = { Tid_Identifier }; - - static F_Tok stateF_expect_separator[]= { &PE_TemplateTop::On_expect_separator_Comma, - &PE_TemplateTop::On_expect_separator_Greater }; - static INT16 stateT_expect_separator[]= { Tid_Comma, - Tid_Greater }; - - SEMPARSE_CREATE_STATUS(PE_TemplateTop, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_TemplateTop, expect_qualifier, On_expect_qualifier_Other); - SEMPARSE_CREATE_STATUS(PE_TemplateTop, expect_name, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_TemplateTop, expect_separator, Hdl_SyntaxError); -} - -void -PE_TemplateTop::InitData() -{ - pStati->SetCur(start); - csv::erase_container(aResult_Parameters); - bCurIsConstant = false; -} - -void -PE_TemplateTop::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_TemplateTop::Hdl_SyntaxError(const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_TemplateTop::On_start_Less( const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(expect_qualifier); -} - -void -PE_TemplateTop::On_expect_qualifier_ClassOrTypename( const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(expect_name); -} - -void -PE_TemplateTop::On_expect_qualifier_Greater(const char *) -{ - SetTokenResult(done, pop_success); -} - -void -PE_TemplateTop::On_expect_qualifier_Other( const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(expect_name); - - bCurIsConstant = true; -} - -void -PE_TemplateTop::On_expect_name_Identifier( const char * i_sText) -{ - SetTokenResult(done, stay); - pStati->SetCur(expect_separator); - - StreamLock sl(50); - if ( NOT bCurIsConstant ) - { - String sText( sl() << "typename " << i_sText << c_str ); - aResult_Parameters.push_back(sText); - } - else // - { - String sText( sl() << "constant " << i_sText << c_str ); - aResult_Parameters.push_back(sText); - bCurIsConstant = false; - } // endif -} - -void -PE_TemplateTop::On_expect_separator_Comma( const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(expect_qualifier); -} - -void -PE_TemplateTop::On_expect_separator_Greater( const char *) -{ - SetTokenResult(done, pop_success); -} - - - - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_tpltp.hxx b/autodoc/source/parser/cpp/pe_tpltp.hxx deleted file mode 100644 index 9d1fdbff8911..000000000000 --- a/autodoc/source/parser/cpp/pe_tpltp.hxx +++ /dev/null @@ -1,108 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_TPLTP_HXX -#define ADC_CPP_PE_TPLTP_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - // PARAMETERS - - -namespace cpp { - - - -class PE_TemplateTop : public cpp::Cpp_PE -{ - public: - enum E_State - { - start, - expect_qualifier, - expect_name, - expect_separator, - size_of_states - }; - PE_TemplateTop( - Cpp_PE * i_pParent ); - ~PE_TemplateTop(); - - const StringVector & - Result_Parameters() const; - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - private: - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError(const char *); - - - void On_start_Less(const char *); - - void On_expect_qualifier_ClassOrTypename(const char *); - void On_expect_qualifier_Greater(const char *); - void On_expect_qualifier_Other(const char *); - - void On_expect_name_Identifier(const char *); - - void On_expect_separator_Comma(const char *); - void On_expect_separator_Greater(const char *); - - // DATA - Dyn< PeStatusArray<PE_TemplateTop> > - pStati; - - StringVector - aResult_Parameters; - bool bCurIsConstant; -}; - - - -// IMPLEMENTATION - -inline const StringVector & -PE_TemplateTop::Result_Parameters() const - { return aResult_Parameters; } - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_tydef.cxx b/autodoc/source/parser/cpp/pe_tydef.cxx deleted file mode 100644 index fa5527fefbc4..000000000000 --- a/autodoc/source/parser/cpp/pe_tydef.cxx +++ /dev/null @@ -1,145 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_tydef.hxx" - - -// NOT FULLY DECLARED SERVICES -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_type.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <all_toks.hxx> -#include "pe_type.hxx" - - -namespace cpp { - - -PE_Typedef::PE_Typedef(Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Typedef> ), - // pSpType, - // pSpuType, - // sName - nType(0) -{ - Setup_StatusFunctions(); - - pSpType = new SP_Type(*this); - pSpuType = new SPU_Type(*pSpType, 0, &PE_Typedef::SpReturn_Type); -} - -PE_Typedef::~PE_Typedef() -{ -} - -void -PE_Typedef::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Typedef::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Typedef>::F_Tok F_Tok; - static F_Tok stateF_start[] = { &PE_Typedef::On_start_typedef }; - static INT16 stateT_start[] = { Tid_typedef }; - - static F_Tok stateF_expectName[] = { &PE_Typedef::On_expectName_Identifier }; - static INT16 stateT_expectName[] = { Tid_Identifier }; - - static F_Tok stateF_afterName[] = { &PE_Typedef::On_afterName_Semicolon }; - static INT16 stateT_afterName[] = { Tid_Semicolon }; - - SEMPARSE_CREATE_STATUS(PE_Typedef, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Typedef, expectName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Typedef, afterName, Hdl_SyntaxError); -} - -void -PE_Typedef::InitData() -{ - pStati->SetCur(start); - - sName.clear(); - nType = 0; -} - -void -PE_Typedef::TransferData() -{ - pStati->SetCur(size_of_states); - - ary::cpp::Typedef & - rTypedef = Env().AryGate().Ces().Store_Typedef( - Env().Context(), sName, nType ); - Env().Event_Store_Typedef(rTypedef); -} - -void -PE_Typedef::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Typedef::SpReturn_Type() -{ - pStati->SetCur(expectName); - - nType = pSpuType->Child().Result_Type().Id(); -} - -void -PE_Typedef::On_start_typedef( const char * ) -{ - pSpuType->Push(done); -} - -void -PE_Typedef::On_expectName_Identifier( const char * i_sText ) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterName); - - sName = i_sText; -} - -void -PE_Typedef::On_afterName_Semicolon( const char * ) -{ - SetTokenResult(done, pop_success); -} - -} // namespace cpp - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_tydef.hxx b/autodoc/source/parser/cpp/pe_tydef.hxx deleted file mode 100644 index 5c4cac474814..000000000000 --- a/autodoc/source/parser/cpp/pe_tydef.hxx +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_TYDEF_HXX -#define ADC_CPP_PE_TYDEF_HXX - -// BASE CLASSES -#include "cpp_pe.hxx" -// USED SERVICES -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - - -namespace cpp -{ - class PE_Type; - - - - -class PE_Typedef : public cpp::Cpp_PE -{ - public: - enum E_State - { - start, - expectName, - afterName, - size_of_states - }; - PE_Typedef( - Cpp_PE * i_pParent ); - ~PE_Typedef(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - private: - typedef SubPe< PE_Typedef, PE_Type > SP_Type; - typedef SubPeUse< PE_Typedef, PE_Type> SPU_Type; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void SpReturn_Type(); - - void On_start_typedef( const char * ); - void On_expectName_Identifier( const char * ); - void On_afterName_Semicolon( const char * ); - - // DATA - Dyn< PeStatusArray<PE_Typedef> > - pStati; - Dyn<SP_Type> pSpType; - Dyn<SPU_Type> pSpuType; - - String sName; - ary::cpp::Type_id nType; -}; - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_type.cxx b/autodoc/source/parser/cpp/pe_type.cxx deleted file mode 100644 index 1f34ddffc14e..000000000000 --- a/autodoc/source/parser/cpp/pe_type.cxx +++ /dev/null @@ -1,556 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_type.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <ary/cpp/inpcontx.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_namesp.hxx> -#include <ary/cpp/cp_type.hxx> -#include "pe_class.hxx" -#include "pe_enum.hxx" -#include <x_parse.hxx> - - - -class NullType : public ary::cpp::Type -{ - private: - virtual void do_Accept( - csv::ProcessorIfc & io_processor ) const; - virtual ary::ClassId - get_AryClass() const; - virtual bool inq_IsConst() const; - virtual void inq_Get_Text( - StreamStr & o_rPreName, - StreamStr & o_rName, - StreamStr & o_rPostName, - const ary::cpp::Gate & - i_rGate ) const; -}; - -void -NullType::do_Accept(csv::ProcessorIfc & ) const -{ - // Does nothing. -} - -ary::ClassId -NullType::get_AryClass() const -{ - return 0; -} - -bool -NullType::inq_IsConst() const -{ - return true; -} - -void -NullType::inq_Get_Text( StreamStr & , - StreamStr & , - StreamStr & , - const ary::cpp::Gate & ) const -{ - // Does nothing. -} - - - - -namespace cpp -{ - - -inline bool -PE_Type::IsType() const - { return eResult_KindOf == is_type; } - - -PE_Type::PE_Type( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Type> ), - pSpType(0), - pSpuType_TemplateParameter(0), - // pSpClass, - // pSpuClass, - // pSpEnum, - // pSpuEnum, - pType(0), - pCurTemplate_ParameterList(0), - // sOwningClassName, - // sParsedClass_Name, - pResult_Type(0), - eResult_KindOf(is_none), - bIsCastOperatorType(false) -{ - Setup_StatusFunctions(); - - pSpType = new SP_Type(*this); - pSpClass = new SP_Class(*this); - pSpEnum = new SP_Enum(*this); - - pSpuType_TemplateParameter - = new SPU_Type( *pSpType, 0, - &PE_Type::SpReturn_Type_TemplateParameter ); - pSpuClass = new SPU_Class( *pSpClass, 0, - & PE_Type::SpReturn_Class ); - pSpuEnum = new SPU_Enum( *pSpEnum, 0, - & PE_Type::SpReturn_Enum ); -} - -PE_Type::~PE_Type() -{ -} - -void -PE_Type::Init_AsCastOperatorType() -{ - bIsCastOperatorType = true; -} - -void -PE_Type::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Type::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Type>::F_Tok F_Tok; - static F_Tok stateF_start[] = { &PE_Type::On_start_Identifier, - &PE_Type::On_start_class, - &PE_Type::On_start_class, - &PE_Type::On_start_class, - &PE_Type::On_start_enum, - &PE_Type::On_start_const, - &PE_Type::On_start_volatile, - &PE_Type::On_start_Bracket_Right, - &PE_Type::On_start_DoubleColon, - &PE_Type::On_start_typename, - &PE_Type::On_start_BuiltInType, - &PE_Type::On_start_TypeSpecializer }; - static INT16 stateT_start[] = { Tid_Identifier, - Tid_class, - Tid_struct, - Tid_union, - Tid_enum, - Tid_const, - Tid_volatile, - Tid_Bracket_Right, - Tid_DoubleColon, - Tid_typename, - Tid_BuiltInType, - Tid_TypeSpecializer }; - - static F_Tok stateF_expect_namesegment[] = { &PE_Type::On_expect_namesegment_Identifier, - &PE_Type::On_expect_namesegment_Identifier }; - static INT16 stateT_expect_namesegment[] = { Tid_Identifier, - Tid_BuiltInType }; - - static F_Tok stateF_after_namesegment[] = { &PE_Type::On_after_namesegment_const, - &PE_Type::On_after_namesegment_volatile, - &PE_Type::On_after_namesegment_Bracket_Left, - &PE_Type::On_after_namesegment_DoubleColon, - &PE_Type::On_after_namesegment_Less, - &PE_Type::On_after_namesegment_Asterix, - &PE_Type::On_after_namesegment_AmpersAnd }; - static INT16 stateT_after_namesegment[] = { Tid_const, - Tid_volatile, - Tid_Bracket_Left, - Tid_DoubleColon, - Tid_Less, - Tid_Asterix, - Tid_AmpersAnd }; - - static F_Tok stateF_afterclass_expect_semicolon[] = - { &PE_Type::On_afterclass_expect_semicolon_Semicolon }; - static INT16 stateT_afterclass_expect_semicolon[] = - { Tid_Semicolon }; - - static F_Tok stateF_within_template[] = { &PE_Type::On_within_template_Comma, - &PE_Type::On_within_template_Greater, - &PE_Type::On_within_template_Constant }; - static INT16 stateT_within_template[] = { Tid_Comma, - Tid_Greater, - Tid_Constant }; - - static F_Tok stateF_within_indirection[] = { &PE_Type::On_within_indirection_const, - &PE_Type::On_within_indirection_volatile, - &PE_Type::On_within_indirection_Asterix, - &PE_Type::On_within_indirection_AmpersAnd }; - static INT16 stateT_within_indirection[] = { Tid_const, - Tid_volatile, - Tid_Asterix, - Tid_AmpersAnd }; - - SEMPARSE_CREATE_STATUS(PE_Type, start, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Type, expect_namesegment, On_EndOfType); - SEMPARSE_CREATE_STATUS(PE_Type, after_namesegment, On_EndOfType); - SEMPARSE_CREATE_STATUS(PE_Type, afterclass_expect_semicolon, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Type, within_template, On_within_template_TypeStart); - SEMPARSE_CREATE_STATUS(PE_Type, within_indirection, On_EndOfType); -} - -void -PE_Type::InitData() -{ - pStati->SetCur(start); - - ary::cpp::Ce_id - scope_id = Env().Context().CurClass() != 0 - ? Env().Context().CurClass()->CeId() - : Env().Context().CurNamespace().CeId(); - - pType = new ary::cpp::UsedType(scope_id); - pCurTemplate_ParameterList = 0; - sOwningClassName - = Env().Context().CurClass() != 0 - ? Env().Context().CurClass()->LocalName().c_str() - : ""; - sParsedClass_Name.clear(); - pResult_Type = 0; - eResult_KindOf = is_type; - bIsCastOperatorType = false; -} - -void -PE_Type::TransferData() -{ - pStati->SetCur(size_of_states); - - if ( IsType() ) - pResult_Type = & Env().AryGate().Types().CheckIn_UsedType( - Env().Context(), - *pType.Release() ); - else - pResult_Type = new NullType; -} - -void -PE_Type::Hdl_SyntaxError( const char * i_sText ) -{ - StdHandlingOfSyntaxError( i_sText ); -} - -void -PE_Type::SpReturn_Type_TemplateParameter() -{ - if ( pSpuType_TemplateParameter->Child().Result_KindOf() != is_type ) - throw X_Parser(X_Parser::x_UnspecifiedSyntaxError, "", String::Null_(), 0); - - pCurTemplate_ParameterList->AddParam_Type( - pSpuType_TemplateParameter->Child().Result_Type().TypeId() ); -} - -void -PE_Type::SpReturn_Class() -{ - switch ( pSpuClass->Child().Result_KindOf() ) - { - case PE_Class::is_declaration: - pStati->SetCur(afterclass_expect_semicolon); - eResult_KindOf = is_explicit_class_declaration; - break; - case PE_Class::is_implicit_declaration: - pStati->SetCur(after_namesegment); - pType->Add_NameSegment( - pSpuClass->Child().Result_LocalName() ); - break; - case PE_Class::is_predeclaration: - pStati->SetCur(afterclass_expect_semicolon); - eResult_KindOf = is_class_predeclaration; - break; - case PE_Class::is_qualified_typename: - pStati->SetCur(after_namesegment); - pType->Add_NameSegment( - pSpuClass->Child().Result_FirstNameSegment() ); - break; - default: - csv_assert(false); - } -} - -void -PE_Type::SpReturn_Enum() -{ - switch ( pSpuEnum->Child().Result_KindOf() ) - { - case PE_Enum::is_declaration: - pStati->SetCur(afterclass_expect_semicolon); - eResult_KindOf = is_explicit_enum_declaration; - break; - case PE_Enum::is_implicit_declaration: - pStati->SetCur(after_namesegment); - pType->Add_NameSegment( - pSpuEnum->Child().Result_LocalName() ); - break; - case PE_Enum::is_qualified_typename: - pStati->SetCur(after_namesegment); - pType->Add_NameSegment( - pSpuEnum->Child().Result_FirstNameSegment() ); - break; - default: - csv_assert(false); - } -} - -void -PE_Type::On_EndOfType(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Type::On_start_Identifier( const char * i_sText ) -{ - SetTokenResult(done,stay); - pStati->SetCur(after_namesegment); - - pType->Add_NameSegment(i_sText); -} - -void -PE_Type::On_start_class(const char *) -{ - pSpuClass->Push(not_done); -} - -void -PE_Type::On_start_enum(const char *) -{ - pSpuEnum->Push(done); -} - -void -PE_Type::On_start_const(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Const(); -} - -void -PE_Type::On_start_volatile(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Volatile(); -} - -void -PE_Type::On_start_Bracket_Right(const char *) -{ - SetTokenResult(not_done,pop_success); - - eResult_KindOf = is_none; -} - -void -PE_Type::On_start_DoubleColon(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Absolute(); -} - -void -PE_Type::On_start_BuiltInType(const char * i_sText) -{ - SetTokenResult(done, stay); - pStati->SetCur(after_namesegment); - pType->Set_BuiltIn(i_sText); -} - -void -PE_Type::On_start_TypeSpecializer(const char * i_sText) -{ - SetTokenResult(done,stay); - if (*i_sText == 'u') { - pType->Set_Unsigned(); - } - else if (*i_sText == 's') { - pType->Set_Signed(); - } - else { - csv_assert(false); - } -} - -void -PE_Type::On_start_typename(const char *) -{ - SetTokenResult(done,stay); -} - -void -PE_Type::On_expect_namesegment_Identifier(const char * i_sText) -{ - SetTokenResult(done,stay); - pStati->SetCur(after_namesegment); - pType->Add_NameSegment(i_sText); -} - -void -PE_Type::On_after_namesegment_const(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Const(); -} - -void -PE_Type::On_after_namesegment_volatile(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Volatile(); -} - -void -PE_Type::On_after_namesegment_Bracket_Left(const char * i_sText) -{ - if ( bIsCastOperatorType ) - { - SetTokenResult(not_done, pop_success); - } - else if ( pType->LocalName() == sOwningClassName ) - { - SetTokenResult(not_done,pop_success); - eResult_KindOf = is_constructor; - - } - else // - { - On_EndOfType(i_sText); - } // endif -} - -void -PE_Type::On_after_namesegment_DoubleColon(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(expect_namesegment); -} - -void -PE_Type::On_after_namesegment_Less(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(within_template); - - pCurTemplate_ParameterList = & pType->Enter_Template(); -} - -void -PE_Type::On_after_namesegment_Asterix(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(within_indirection); - pType->Add_PtrLevel(); -} - -void -PE_Type::On_after_namesegment_AmpersAnd(const char *) -{ - SetTokenResult(done,pop_success); - pType->Set_Reference(); -} - -void -PE_Type::On_afterclass_expect_semicolon_Semicolon(const char *) -{ - csv_assert( NOT IsType() ); - SetTokenResult(not_done,pop_success); -} - -void -PE_Type::On_within_template_Comma(const char *) -{ - SetTokenResult(done,stay); -} - -void -PE_Type::On_within_template_Greater(const char *) -{ - SetTokenResult(done,stay); - pStati->SetCur(after_namesegment); - - pCurTemplate_ParameterList = 0; -} - -void -PE_Type::On_within_template_Constant(const char * i_sText) -{ - // KORR_FUTURE - Cerr() << "Templates with constants as parameters are not yet supported by Autodoc" << Endl(); - Hdl_SyntaxError(i_sText); -} - -void -PE_Type::On_within_template_TypeStart(const char *) -{ - pSpuType_TemplateParameter->Push(not_done); -} - -void -PE_Type::On_within_indirection_const(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Const(); -} - -void -PE_Type::On_within_indirection_volatile(const char *) -{ - SetTokenResult(done,stay); - pType->Set_Volatile(); -} - -void -PE_Type::On_within_indirection_Asterix(const char *) -{ - SetTokenResult(done,stay); - pType->Add_PtrLevel(); -} - -void -PE_Type::On_within_indirection_AmpersAnd(const char *) -{ - SetTokenResult(done,pop_success); - pType->Set_Reference(); -} - -} // namespace cpp - - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_type.hxx b/autodoc/source/parser/cpp/pe_type.hxx deleted file mode 100644 index 55eeaa5279f4..000000000000 --- a/autodoc/source/parser/cpp/pe_type.hxx +++ /dev/null @@ -1,187 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_TYPE_HXX -#define ADC_CPP_PE_TYPE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <ary/cpp/usedtype.hxx> -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> - // PARAMETERS -#include <ary/cpp/c_types4cpp.hxx> - - - -namespace cpp { - -class PE_Class; -class PE_Enum; -class PE_Expression; - -class PE_Type : public Cpp_PE -{ - public: - enum E_State - { - start, - expect_namesegment, - after_namesegment, - afterclass_expect_semicolon, - within_template, - within_indirection, - size_of_states - }; - enum E_KindOfResult - { - is_none, - is_type, - is_constructor, - is_explicit_class_declaration, - is_class_predeclaration, - is_explicit_enum_declaration - }; - - PE_Type( - Cpp_PE * i_pParent ); - ~PE_Type(); - - void Init_AsCastOperatorType(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - E_KindOfResult Result_KindOf() const; - const ary::cpp::Type & - Result_Type() const; - private: - typedef SubPe< PE_Type, PE_Type > SP_Type; - typedef SubPe< PE_Type, PE_Class > SP_Class; - typedef SubPe< PE_Type, PE_Enum > SP_Enum; - typedef SubPeUse< PE_Type, PE_Type > SPU_Type; - typedef SubPeUse< PE_Type, PE_Class > SPU_Class; - typedef SubPeUse< PE_Type, PE_Enum > SPU_Enum; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError( const char *); - - void SpReturn_Type_TemplateParameter(); - void SpReturn_Class(); - void SpReturn_Enum(); - - void On_EndOfType(const char *); - - void On_start_Identifier(const char *); - void On_start_class(const char *); - void On_start_enum(const char *); - void On_start_const(const char *); - void On_start_volatile(const char *); - void On_start_Bracket_Right(const char *); - void On_start_DoubleColon(const char *); - void On_start_BuiltInType(const char *); - void On_start_TypeSpecializer(const char *); - void On_start_typename(const char *); - - void On_expect_namesegment_Identifier(const char *); - - void On_after_namesegment_const(const char *); - void On_after_namesegment_volatile(const char *); - void On_after_namesegment_Bracket_Left(const char *); - void On_after_namesegment_DoubleColon(const char *); - void On_after_namesegment_Less(const char *); - void On_after_namesegment_Asterix(const char *); - void On_after_namesegment_AmpersAnd(const char *); - - void On_afterclass_expect_semicolon_Semicolon(const char *); - - void On_within_template_Comma(const char *); - void On_within_template_Greater(const char *); - void On_within_template_Constant(const char *); - void On_within_template_TypeStart(const char *); - - void On_within_indirection_const(const char *); - void On_within_indirection_volatile(const char *); - void On_within_indirection_Asterix(const char *); - void On_within_indirection_AmpersAnd(const char *); - - bool IsType() const; - - // DATA - Dyn< PeStatusArray<PE_Type> > - pStati; - - Dyn<SP_Type> pSpType; - Dyn<SPU_Type> pSpuType_TemplateParameter; - Dyn<SP_Class> pSpClass; - Dyn<SPU_Class> pSpuClass; - Dyn<SP_Enum> pSpEnum; - Dyn<SPU_Enum> pSpuEnum; - - Dyn<ary::cpp::UsedType> - pType; - ary::cpp::ut::List_TplParameter * - pCurTemplate_ParameterList; - String sOwningClassName; - String sParsedClass_Name; - - const ary::cpp::Type * - pResult_Type; - E_KindOfResult eResult_KindOf; - bool bIsCastOperatorType; -}; - - - -// IMPLEMENTATION - - -inline const ary::cpp::Type & -PE_Type::Result_Type() const - { csv_assert(pResult_Type != 0); - return *pResult_Type; } -inline PE_Type::E_KindOfResult -PE_Type::Result_KindOf() const - { return eResult_KindOf; } - - -} // namespace cpp - - -#endif - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_vafu.cxx b/autodoc/source/parser/cpp/pe_vafu.cxx deleted file mode 100644 index ca9a538f544e..000000000000 --- a/autodoc/source/parser/cpp/pe_vafu.cxx +++ /dev/null @@ -1,651 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_vafu.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include <ary/cpp/c_gate.hxx> -#include <ary/cpp/c_class.hxx> -#include <ary/cpp/c_vari.hxx> -#include <ary/cpp/c_vfflag.hxx> -#include <ary/cpp/cp_ce.hxx> -#include <ary/cpp/inpcontx.hxx> -#include "pe_type.hxx" -#include "pe_vari.hxx" -#include "pe_funct.hxx" -#include "pe_ignor.hxx" -#include <x_parse.hxx> - - - - -namespace cpp { - - - -//*********************** PE_VarFunc ***********************// - - -PE_VarFunc::PE_VarFunc( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_VarFunc> ), - // pSpType, - // pSpuType, - // pSpVariable, - // pSpuVariable, - // pSpFunction, - // pSpuFunctionStd, - // pSpuFunctionCtor, - // pSpuFunctionDtor, - // pSpuFunctionCastOperator, - // pSpuFunctionNormalOperator - // pSpIgnore, - // pSpuIgnore, - nCounter_TemplateBrackets(0), - bInDestructor(false), - // aResultIds, - nResultFrontType(0), - eResultType(result_unknown), - bVirtual(false), - bStatic(false), - bExtern(false), - bExternC(false), - bMutable(false), - bInline(false), - bRegister(false), - bExplicit(false) -{ - Setup_StatusFunctions(); - - pSpType = new SP_Type(*this); - pSpuType = new SPU_Type(*pSpType, 0, &PE_VarFunc::SpReturn_Type); - pSpVariable = new SP_Variable(*this); - pSpuVariable = new SPU_Variable(*pSpVariable, 0, &PE_VarFunc::SpReturn_Variable); - pSpFunction = new SP_Function(*this); - pSpuFunctionStd = new SPU_Function(*pSpFunction, &PE_VarFunc::SpInit_FunctionStd, &PE_VarFunc::SpReturn_FunctionStd); - pSpuFunctionCtor = new SPU_Function(*pSpFunction, &PE_VarFunc::SpInit_FunctionCtor, &PE_VarFunc::SpReturn_FunctionStd); - pSpuFunctionDtor = new SPU_Function(*pSpFunction, &PE_VarFunc::SpInit_FunctionDtor, &PE_VarFunc::SpReturn_FunctionStd); - pSpuFunctionCastOperator - = new SPU_Function(*pSpFunction, &PE_VarFunc::SpInit_FunctionCastOperator, &PE_VarFunc::SpReturn_FunctionStd); - pSpuFunctionNormalOperator - = new SPU_Function(*pSpFunction, &PE_VarFunc::SpInit_FunctionNormalOperator, &PE_VarFunc::SpReturn_FunctionStd); - pSpIgnore = new SP_Ignore(*this); - pSpuIgnore = new SPU_Ignore(*pSpIgnore, 0, &PE_VarFunc::SpReturn_Ignore); -} - -PE_VarFunc::~PE_VarFunc() -{ -} - -void -PE_VarFunc::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_VarFunc::Setup_StatusFunctions() -{ - typedef CallFunction<PE_VarFunc>::F_Tok F_Tok; - - static F_Tok stateF_start[] = { &PE_VarFunc::On_start_Identifier, - &PE_VarFunc::On_start_operator, - &PE_VarFunc::On_start_TypeKey, - &PE_VarFunc::On_start_TypeKey, - &PE_VarFunc::On_start_TypeKey, - &PE_VarFunc::On_start_TypeKey, - &PE_VarFunc::On_start_virtual, - &PE_VarFunc::On_start_Tilde, - &PE_VarFunc::On_start_const, - &PE_VarFunc::On_start_volatile, - &PE_VarFunc::On_start_extern, - &PE_VarFunc::On_start_static, - &PE_VarFunc::On_start_mutable, - &PE_VarFunc::On_start_register, - &PE_VarFunc::On_start_inline, - &PE_VarFunc::On_start_explicit, - &PE_VarFunc::On_start_Bracket_Right, - &PE_VarFunc::On_start_Identifier, - &PE_VarFunc::On_start_typename, - &PE_VarFunc::On_start_Identifier, - &PE_VarFunc::On_start_Identifier }; - static INT16 stateT_start[] = { Tid_Identifier, - Tid_operator, - Tid_class, - Tid_struct, - Tid_union, - Tid_enum, - Tid_virtual, - Tid_Tilde, - Tid_const, - Tid_volatile, - Tid_extern, - Tid_static, - Tid_mutable, - Tid_register, - Tid_inline, - Tid_explicit, - Tid_Bracket_Right, - Tid_DoubleColon, - Tid_typename, - Tid_BuiltInType, - Tid_TypeSpecializer }; - - static F_Tok stateF_expectCtor[] = { &PE_VarFunc::On_expectCtor_Bracket_Left }; - static INT16 stateT_expectCtor[] = { Tid_Bracket_Left }; - - static F_Tok stateF_afterClassDecl[] = { &PE_VarFunc::On_afterClassDecl_Semicolon }; - static INT16 stateT_afterClassDecl[] = { Tid_Semicolon }; - - static F_Tok stateF_expectName[] = { &PE_VarFunc::On_expectName_Identifier, - &PE_VarFunc::On_expectName_operator, - &PE_VarFunc::On_expectName_Bracket_Left }; - static INT16 stateT_expectName[] = { Tid_Identifier, - Tid_operator, - Tid_Bracket_Left }; - - static F_Tok stateF_afterName[] = { &PE_VarFunc::On_afterName_ArrayBracket_Left, - &PE_VarFunc::On_afterName_Bracket_Left, - &PE_VarFunc::On_afterName_DoubleColon, - &PE_VarFunc::On_afterName_Semicolon, - &PE_VarFunc::On_afterName_Comma, - &PE_VarFunc::On_afterName_Assign, - &PE_VarFunc::On_afterName_Less }; - static INT16 stateT_afterName[] = { Tid_ArrayBracket_Left, - Tid_Bracket_Left, - Tid_DoubleColon, - Tid_Semicolon, - Tid_Comma, - Tid_Assign, - Tid_Less }; - - static F_Tok stateF_afterName_inErraneousTemplate[] = - { &PE_VarFunc::On_afterName_inErraneousTemplate_Less, - &PE_VarFunc::On_afterName_inErraneousTemplate_Greater }; - static INT16 stateT_afterName_inErraneousTemplate[] = - { Tid_Less, - Tid_Greater }; - - static F_Tok stateF_finished[] = { &PE_VarFunc::On_finished_Semicolon, - &PE_VarFunc::On_finished_Comma }; - static INT16 stateT_finished[] = { Tid_Semicolon, - Tid_Comma }; - - static F_Tok stateF_finishedIncludingFunctionImplementation[] = - { &PE_VarFunc::On_finishedIncludingFunctionImplementation_Default - }; - static INT16 stateT_finishedIncludingFunctionImplementation[] = - { Tid_BuiltInType // Just to have one entry, but it is default handled, too. - }; - - SEMPARSE_CREATE_STATUS(PE_VarFunc, start, Hdl_UnknownToken); - SEMPARSE_CREATE_STATUS(PE_VarFunc, expectCtor, Hdl_UnknownToken); - SEMPARSE_CREATE_STATUS(PE_VarFunc, afterClassDecl, Hdl_UnknownToken); - SEMPARSE_CREATE_STATUS(PE_VarFunc, expectName, Hdl_UnknownToken); - SEMPARSE_CREATE_STATUS(PE_VarFunc, afterName, Hdl_UnknownToken); - SEMPARSE_CREATE_STATUS(PE_VarFunc, afterName_inErraneousTemplate, On_afterName_inErraneousTemplate_Default); - SEMPARSE_CREATE_STATUS(PE_VarFunc, finished, On_finished_Default); - SEMPARSE_CREATE_STATUS(PE_VarFunc, finishedIncludingFunctionImplementation, On_finishedIncludingFunctionImplementation_Default); -} - -void -PE_VarFunc::InitData() -{ - pStati->SetCur(start); - csv::erase_container(aResultIds); - - nCounter_TemplateBrackets = 0; - bInDestructor = false; - - nResultFrontType = 0; - eResultType = result_unknown; - sName.clear(); - bVirtual = ary::cpp::VIRTUAL_none; - bStatic = false; - bExtern = false; - bExternC = false; - bMutable = false; - bInline = false; - bRegister = false; - bExplicit = false; -} - -void -PE_VarFunc::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_VarFunc::Hdl_UnknownToken( const char *) -{ - pSpuIgnore->Push(not_done); -} - -void -PE_VarFunc::SpInit_FunctionStd() -{ - if ( nResultFrontType.IsValid() AND sName.length() > 0 ) - { - pSpuFunctionStd->Child().Init_Std( - sName, - nResultFrontType, - bVirtual, - CreateFunctionFlags() ); - } - else - { - throw X_Parser( X_Parser::x_UnexpectedToken, - "", - Env().CurFileName(), - Env().LineCount() ); - } -} - -void -PE_VarFunc::SpInit_FunctionCtor() -{ - ary::cpp::Class * pOwnerClass = Env().Context().CurClass(); - csv_assert( pOwnerClass != 0 ); - pSpuFunctionStd->Child().Init_Ctor( pOwnerClass->LocalName(), - CreateFunctionFlags() ); -} - -void -PE_VarFunc::SpInit_FunctionDtor() -{ - pSpuFunctionStd->Child().Init_Dtor( sName, - bVirtual, - CreateFunctionFlags() ); -} - -void -PE_VarFunc::SpInit_FunctionCastOperator() -{ - pSpuFunctionStd->Child().Init_CastOperator( bVirtual, - CreateFunctionFlags() ); -} - -void -PE_VarFunc::SpInit_FunctionNormalOperator() -{ - pSpuFunctionStd->Child().Init_NormalOperator( nResultFrontType, - bVirtual, - CreateFunctionFlags() ); -} - -void -PE_VarFunc::SpReturn_Type() -{ - switch ( pSpuType->Child().Result_KindOf() ) - { - case PE_Type::is_type: - pStati->SetCur(expectName); - nResultFrontType - = pSpuType->Child().Result_Type().Id(); - break; - case PE_Type::is_constructor: - pStati->SetCur(expectCtor); - eResultType = result_function; - break; - case PE_Type::is_explicit_class_declaration: - case PE_Type::is_explicit_enum_declaration: - pStati->SetCur(afterClassDecl); - eResultType = result_ignore; - break; - case PE_Type::is_class_predeclaration: - pStati->SetCur(afterClassDecl); - eResultType = result_ignore; - break; - default: - ; - } -} - -void -PE_VarFunc::SpReturn_Variable() -{ - typedef ary::cpp::VariableFlags VarFlags; - - if ( NOT bExtern ) - { - VarFlags aFlags( UINT16( - ( bStatic AND Env().Context().CurClass() == 0 ? VarFlags::f_static_local : 0 ) - | ( bStatic AND Env().Context().CurClass() != 0 ? VarFlags::f_static_member : 0 ) - | ( bMutable ? VarFlags::f_mutable : 0 ) ) - ); - -// ary::S_InitData aData( 0, Env().CurCeSpace().Id(), i_sName, 0 ); - ary::cpp::Variable & rCurParsedVariable - = Env().AryGate().Ces().Store_Variable( Env().Context(), - sName, - nResultFrontType, - aFlags, - pSpuVariable->Child().Result_SizeExpression(), - pSpuVariable->Child().Result_InitExpression() ); - Env().Event_Store_Variable(rCurParsedVariable); - aResultIds.push_back( rCurParsedVariable.CeId() ); - eResultType = result_variable; - } - else if (bExtern) - { - eResultType = result_ignore; - } - - pStati->SetCur(finished); -} - -void -PE_VarFunc::SpReturn_FunctionStd() -{ - if ( (NOT bExtern) OR bExternC ) - { - aResultIds.push_back(pSpuFunctionStd->Child().Result_Id()); - eResultType = result_function; - } - else - { - eResultType = result_ignore; - } - - if ( NOT pSpuFunctionStd->Child().Result_WithImplementation() ) - pStati->SetCur(finished); - else - pStati->SetCur(finishedIncludingFunctionImplementation); -} - -void -PE_VarFunc::SpReturn_Ignore() -{ - pStati->SetCur(finished); -} - -void -PE_VarFunc::On_start_Identifier(const char *) -{ - pSpuType->Push(not_done); -} - -void -PE_VarFunc::On_start_operator(const char *) -{ - pSpuFunctionCastOperator->Push(done); -} - -void -PE_VarFunc::On_start_TypeKey(const char *) -{ - pSpuType->Push(not_done); -} - -void -PE_VarFunc::On_start_virtual(const char *) -{ - SetTokenResult(done, stay); - bVirtual = true; -} - -void -PE_VarFunc::On_start_Tilde(const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(expectName); - - bInDestructor = true; -} - -void -PE_VarFunc::On_start_const(const char *) -{ - pSpuType->Push(not_done); -} - -void -PE_VarFunc::On_start_volatile(const char *) -{ - pSpuType->Push(not_done); -} - -void -PE_VarFunc::On_start_extern(const char *) -{ - SetTokenResult(done, stay); - bExtern = true; -} - -void -PE_VarFunc::On_start_static(const char *) -{ - SetTokenResult(done, stay); - bStatic = true; -} - -void -PE_VarFunc::On_start_mutable(const char *) -{ - SetTokenResult(done, stay); - bMutable = true; -} - -void -PE_VarFunc::On_start_register(const char *) -{ - SetTokenResult(done, stay); - bRegister = true; -} - -void -PE_VarFunc::On_start_inline(const char *) -{ - SetTokenResult(done, stay); - - bInline = true; -} - -void -PE_VarFunc::On_start_explicit(const char *) -{ - SetTokenResult(done, stay); - bExplicit = true; -} - -void -PE_VarFunc::On_start_Bracket_Right(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_VarFunc::On_start_typename(const char *) -{ - pSpuType->Push(not_done); -} - -void -PE_VarFunc::On_expectCtor_Bracket_Left(const char *) -{ - pSpuFunctionCtor->Push(not_done); -} - -void -PE_VarFunc::On_afterClassDecl_Semicolon(const char *) -{ - SetTokenResult(done, pop_success); -} - -void -PE_VarFunc::On_expectName_Identifier(const char * i_sText) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterName); - sName = i_sText; -} - -void -PE_VarFunc::On_expectName_operator(const char *) -{ - pSpuFunctionNormalOperator->Push(done); -} - -void -PE_VarFunc::On_expectName_Bracket_Left(const char *) -{ - // Function pointer declaration - pSpuIgnore->Push(not_done); - // TODO -} - - -void -PE_VarFunc::On_afterName_ArrayBracket_Left(const char *) -{ - pSpuVariable->Push(not_done); -} - -void -PE_VarFunc::On_afterName_Bracket_Left(const char *) -{ - if ( NOT bInDestructor) - pSpuFunctionStd->Push(not_done); - else - pSpuFunctionDtor->Push(not_done); -} - -void -PE_VarFunc::On_afterName_DoubleColon(const char *) -{ - pSpuIgnore->Push(done); // This seems to be only an implementation. - - // This may have been a template. - // In that case, the declaration needs to be closed. - Env().Close_OpenTemplate(); -} - -void -PE_VarFunc::On_afterName_Semicolon(const char *) -{ - pSpuVariable->Push(not_done); -} - -void -PE_VarFunc::On_afterName_Comma(const char *) -{ - pSpuVariable->Push(not_done); -} - -void -PE_VarFunc::On_afterName_Assign(const char * ) -{ - pSpuVariable->Push(not_done); -} - -void -PE_VarFunc::On_afterName_Less(const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterName_inErraneousTemplate); - - nCounter_TemplateBrackets = 1; -} - -void -PE_VarFunc::On_afterName_inErraneousTemplate_Less(const char * ) -{ - SetTokenResult(done, stay); - - nCounter_TemplateBrackets++; -} - -void -PE_VarFunc::On_afterName_inErraneousTemplate_Greater(const char * ) -{ - SetTokenResult(done, stay); - - nCounter_TemplateBrackets--; - if ( nCounter_TemplateBrackets == 0 ) - pStati->SetCur(afterName); -} - -void -PE_VarFunc::On_afterName_inErraneousTemplate_Default(const char * ) -{ - SetTokenResult(done, stay); -} - -void -PE_VarFunc::On_finished_Semicolon(const char * ) // Should be Semicolon !!! -{ - SetTokenResult(done, pop_success); -} - -void -PE_VarFunc::On_finished_Comma(const char * ) -{ - SetTokenResult(done, stay); - pStati->SetCur(expectName); -} - -void -PE_VarFunc::On_finished_Default(const char * ) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_VarFunc::On_finishedIncludingFunctionImplementation_Default(const char * ) -{ - SetTokenResult(not_done, pop_success); -} - -ary::cpp::FunctionFlags -PE_VarFunc::CreateFunctionFlags() -{ - typedef ary::cpp::FunctionFlags FuncFlags; - - return FuncFlags( UINT16( - ( bStatic AND Env().Context().CurClass() == 0 ? FuncFlags::f_static_local : 0 ) - | ( bStatic AND Env().Context().CurClass() != 0 ? FuncFlags::f_static_member : 0 ) - | ( bExtern ? FuncFlags::f_extern : 0 ) - | ( Env().IsExternC() ? FuncFlags::f_externC : 0 ) - | ( bMutable ? FuncFlags::f_mutable : 0 ) - | ( bInline ? FuncFlags::f_inline : 0 ) - | ( bRegister ? FuncFlags::f_register : 0 ) - | ( bExplicit ? FuncFlags::f_explicit : 0 ) ) - ); - -} - - -} // namespace cpp - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_vafu.hxx b/autodoc/source/parser/cpp/pe_vafu.hxx deleted file mode 100644 index 0fa760c36b0a..000000000000 --- a/autodoc/source/parser/cpp/pe_vafu.hxx +++ /dev/null @@ -1,292 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef ADC_CPP_PE_VAFU_HXX -#define ADC_CPP_PE_VAFU_HXX - -// BASE CLASSES -#include "cpp_pe.hxx" -// USED SERVICES -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_vfflag.hxx> - - - -namespace cpp -{ - -class PE_Type; -class PE_Variable; -class PE_Function; -class PE_Ignore; - - - - -class PE_VarFunc : public Cpp_PE -{ - public: - enum E_State - { - start, - expectCtor, - afterClassDecl, // Also used for after enum declaration. - expectName, - afterName, - afterName_inErraneousTemplate, - finished, - finishedIncludingFunctionImplementation, - size_of_states - }; - enum E_ResultType - { - result_unknown = 0, - result_ignore, /// Used for class and enum declarations and predeclarations and for extern variables and functions. - result_variable, - result_function - }; - - typedef ary::cpp::E_Protection E_Protection; - - - PE_VarFunc( - Cpp_PE * i_pParent ); - ~PE_VarFunc(); - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - const std::vector<ary::cpp::Ce_id> & - Result_Ids() const; - ary::cpp::Type_id Result_FrontType() const; - const StringVector & - Result_Names() const; - E_ResultType Result_CeType() const; - - private: - typedef SubPe< PE_VarFunc, PE_Type > SP_Type; - typedef SubPeUse< PE_VarFunc, PE_Type > SPU_Type; - typedef SubPe< PE_VarFunc, PE_Variable > SP_Variable; - typedef SubPeUse< PE_VarFunc, PE_Variable > SPU_Variable; - typedef SubPe< PE_VarFunc, PE_Function > SP_Function; - typedef SubPeUse< PE_VarFunc, PE_Function > SPU_Function; - typedef SubPe< PE_VarFunc, PE_Ignore > SP_Ignore; - typedef SubPeUse< PE_VarFunc, PE_Ignore > SPU_Ignore; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_UnknownToken( const char *); - - void SpInit_FunctionStd(); - void SpInit_FunctionCtor(); - void SpInit_FunctionDtor(); - void SpInit_FunctionCastOperator(); - void SpInit_FunctionNormalOperator(); - void SpReturn_Type(); - void SpReturn_Variable(); - void SpReturn_FunctionStd(); - void SpReturn_Ignore(); - - void On_start_Identifier(const char * i_sText); - void On_start_operator(const char * i_sText); - void On_start_TypeKey(const char * i_sText); - void On_start_virtual(const char * i_sText); - void On_start_Tilde(const char * i_sText); - void On_start_const(const char * i_sText); - void On_start_volatile(const char * i_sText); - void On_start_extern(const char * i_sText); - void On_start_static(const char * i_sText); - void On_start_mutable(const char * i_sText); - void On_start_register(const char * i_sText); - void On_start_inline(const char * i_sText); - void On_start_explicit(const char * i_sText); - void On_start_Bracket_Right(const char * i_sText); - void On_start_typename(const char * i_sText); - - void On_expectCtor_Bracket_Left(const char * i_sText); - - void On_afterClassDecl_Semicolon(const char * i_sText); - - void On_expectName_Identifier(const char * i_sText); - void On_expectName_operator(const char * i_sText); - void On_expectName_Bracket_Left(const char * i_sText); - - void On_afterName_ArrayBracket_Left(const char * i_sText); - void On_afterName_Bracket_Left(const char * i_sText); - void On_afterName_DoubleColon(const char * i_sText); - void On_afterName_Semicolon(const char * i_sText); - void On_afterName_Comma(const char * i_sText); - void On_afterName_Assign(const char * i_sText); - void On_afterName_Less(const char * i_sText); - - void On_afterName_inErraneousTemplate_Less(const char * i_sText); - void On_afterName_inErraneousTemplate_Greater(const char * i_sText); - void On_afterName_inErraneousTemplate_Default(const char * i_sText); - - void On_finished_Semicolon(const char * i_sText); - void On_finished_Comma(const char * i_sText); - void On_finished_Default(const char * i_sText); - - void On_finishedIncludingFunctionImplementation_Default(const char * i_sText); - - ary::cpp::FunctionFlags - CreateFunctionFlags(); - - // DATA - Dyn< PeStatusArray<PE_VarFunc> > - pStati; - - Dyn<SP_Type> pSpType; - Dyn<SPU_Type> pSpuType; - Dyn<SP_Variable> pSpVariable; - Dyn<SPU_Variable> pSpuVariable; - Dyn<SP_Function> pSpFunction; - Dyn<SPU_Function> pSpuFunctionStd; - Dyn<SPU_Function> pSpuFunctionCtor; - Dyn<SPU_Function> pSpuFunctionDtor; - Dyn<SPU_Function> pSpuFunctionCastOperator; - Dyn<SPU_Function> pSpuFunctionNormalOperator; - Dyn<SP_Ignore> pSpIgnore; - Dyn<SPU_Ignore> pSpuIgnore; - - intt nCounter_TemplateBrackets; - bool bInDestructor; - - std::vector<ary::cpp::Ce_id> - aResultIds; - ary::cpp::Type_id nResultFrontType; - E_ResultType eResultType; - - // Pre-Results - String sName; - - bool bVirtual; - bool bStatic; - bool bExtern; - bool bExternC; - bool bMutable; - bool bInline; - bool bRegister; - bool bExplicit; -}; - - - -// IMPLEMENTATION - -inline const std::vector<ary::cpp::Ce_id> & -PE_VarFunc::Result_Ids() const - { return aResultIds; } -inline ary::cpp::Type_id -PE_VarFunc::Result_FrontType() const - { return nResultFrontType; } -inline PE_VarFunc::E_ResultType -PE_VarFunc::Result_CeType() const - { return eResultType; } - - - -} // namespace cpp - - - - -#endif - - -/* // Overview of statuses - -Undecided ---------- - -start // before and inside storage class specifiers - any ->stay - operaator ->goto Function - -->Typ - -expectName - Identifier ->stay - operator ->goto Function - -afterName ->goto Variable or Function - - - - -Variable --------- - -start // before and inside storage class specifiers - -->Typ - -expectName // type is there -> in case of '(': notyetimplemented -afterName - -expectSize // after [ -expectFinish - // before ; or , -expectNextVarName // in contrast to expectName here can also be a * or & - - - - - -Function --------- - -start // before and inside storage class specifiers - -->Typ - -expectName // type is there -expectBracket // after name -expectParameter // after ( or , --> Parameter -after Parameters // before const, volatile throw or = 0. -after throw // expect ( -expectException // after ( -after exceptions // = 0 or ; or , - - -expectNextVarName // in contrast to expectName here can also be a * or & - - - - - - - -*/ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_vari.cxx b/autodoc/source/parser/cpp/pe_vari.cxx deleted file mode 100644 index f062c5a1901f..000000000000 --- a/autodoc/source/parser/cpp/pe_vari.cxx +++ /dev/null @@ -1,189 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "pe_vari.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include "pe_expr.hxx" - - - - -namespace cpp { - - -PE_Variable::PE_Variable( Cpp_PE * i_pParent ) - : Cpp_PE(i_pParent), - pStati( new PeStatusArray<PE_Variable> ) - // pSpExpression, - // pSpuArraySizeExpression, - // pSpuInitExpression, - // sResultSizeExpression, - // sResultInitExpression -{ - Setup_StatusFunctions(); - - pSpExpression = new SP_Expression(*this); - - pSpuArraySizeExpression = new SPU_Expression(*pSpExpression, 0, &PE_Variable::SpReturn_ArraySizeExpression); - pSpuInitExpression = new SPU_Expression(*pSpExpression, 0, &PE_Variable::SpReturn_InitExpression); -} - -PE_Variable::~PE_Variable() -{ -} - -void -PE_Variable::Call_Handler( const cpp::Token & i_rTok ) -{ - pStati->Cur().Call_Handler(i_rTok.TypeId(), i_rTok.Text()); -} - -void -PE_Variable::Setup_StatusFunctions() -{ - typedef CallFunction<PE_Variable>::F_Tok F_Tok; - - static F_Tok stateF_afterName[] = { &PE_Variable::On_afterName_ArrayBracket_Left, - &PE_Variable::On_afterName_Semicolon, - &PE_Variable::On_afterName_Comma, - &PE_Variable::On_afterName_Assign }; - static INT16 stateT_afterName[] = { Tid_ArrayBracket_Left, - Tid_Semicolon, - Tid_Comma, - Tid_Assign }; - static F_Tok stateF_afterSize[] = { &PE_Variable::On_afterSize_ArrayBracket_Right }; - static INT16 stateT_afterSize[] = { Tid_ArrayBracket_Right }; - static F_Tok stateF_expectFinish[] = { &PE_Variable::On_expectFinish_Bracket_Right, - &PE_Variable::On_expectFinish_Semicolon, - &PE_Variable::On_expectFinish_Comma }; - static INT16 stateT_expectFinish[] = { Tid_Bracket_Right, - Tid_Semicolon, - Tid_Comma }; - - SEMPARSE_CREATE_STATUS(PE_Variable, afterName, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Variable, afterSize, Hdl_SyntaxError); - SEMPARSE_CREATE_STATUS(PE_Variable, expectFinish, Hdl_SyntaxError); -} - -void -PE_Variable::InitData() -{ - pStati->SetCur(afterName); - - sResultSizeExpression.clear(); - sResultInitExpression.clear(); -} - -void -PE_Variable::TransferData() -{ - pStati->SetCur(size_of_states); -} - -void -PE_Variable::Hdl_SyntaxError( const char * i_sText) -{ - StdHandlingOfSyntaxError(i_sText); -} - -void -PE_Variable::SpReturn_ArraySizeExpression() -{ - pStati->SetCur(afterSize); - - sResultSizeExpression = pSpuArraySizeExpression->Child().Result_Text(); -} - -void -PE_Variable::SpReturn_InitExpression() -{ - pStati->SetCur(expectFinish); - - sResultInitExpression = pSpuInitExpression->Child().Result_Text(); -} - -void -PE_Variable::On_afterName_ArrayBracket_Left(const char *) -{ - pSpuArraySizeExpression->Push(done); -} - -void -PE_Variable::On_afterName_Semicolon(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Variable::On_afterName_Comma(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Variable::On_afterName_Assign(const char *) -{ - pSpuInitExpression->Push(done); -} - -void -PE_Variable::On_afterSize_ArrayBracket_Right(const char *) -{ - SetTokenResult(done, stay); - pStati->SetCur(afterName); -} - -void -PE_Variable::On_expectFinish_Semicolon(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Variable::On_expectFinish_Comma(const char *) -{ - SetTokenResult(not_done, pop_success); -} - -void -PE_Variable::On_expectFinish_Bracket_Right(const char *) -{ - SetTokenResult(not_done, pop_success); -} - - -} // namespace cpp - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pe_vari.hxx b/autodoc/source/parser/cpp/pe_vari.hxx deleted file mode 100644 index 58370616359a..000000000000 --- a/autodoc/source/parser/cpp/pe_vari.hxx +++ /dev/null @@ -1,132 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PE_VARI_HXX -#define ADC_CPP_PE_VARI_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cpp_pe.hxx" - // COMPONENTS -#include <semantic/callf.hxx> -#include <semantic/sub_peu.hxx> -#include <ary/cpp/c_types4cpp.hxx> -#include <ary/cpp/c_vfflag.hxx> - // PARAMETERS - - -namespace cpp { - -class PE_Expression; - - -class PE_Variable : public Cpp_PE -{ - public: - enum E_State - { - afterName, // - afterSize, // after ] - expectFinish, // after InitExpression - size_of_states - }; - PE_Variable( - Cpp_PE * i_pParent ); - ~PE_Variable(); - - /** @return - Bit 0x0001 != 0, if there is a size and - bit 0x0002 != 0, if there is an initialisation. - */ - UINT16 Result_Pattern() const; - const String & Result_SizeExpression() const; - const String & Result_InitExpression() const; - - virtual void Call_Handler( - const cpp::Token & i_rTok ); - - private: - typedef SubPe< PE_Variable, PE_Expression > SP_Expression; - typedef SubPeUse< PE_Variable, PE_Expression> SPU_Expression; - - void Setup_StatusFunctions(); - virtual void InitData(); - virtual void TransferData(); - void Hdl_SyntaxError(const char *); - - void SpReturn_ArraySizeExpression(); - void SpReturn_InitExpression(); - - void On_afterName_ArrayBracket_Left(const char * i_sText); - void On_afterName_Semicolon(const char * i_sText); - void On_afterName_Comma(const char * i_sText); - void On_afterName_Assign(const char * i_sText); - - void On_afterSize_ArrayBracket_Right(const char * i_sText); - - void On_expectFinish_Semicolon(const char * i_sText); - void On_expectFinish_Comma(const char * i_sText); - void On_expectFinish_Bracket_Right(const char * i_sText); - - // DATA - Dyn< PeStatusArray<PE_Variable> > - pStati; - - Dyn<SP_Expression> pSpExpression; - Dyn<SPU_Expression> pSpuArraySizeExpression; - Dyn<SPU_Expression> pSpuInitExpression; - - String sResultSizeExpression; - String sResultInitExpression; -}; - - - -// IMPLEMENTATION - - -inline UINT16 -PE_Variable::Result_Pattern() const - { return ( sResultSizeExpression.length() > 0 ? 1 : 0 ) - + ( sResultInitExpression.length() > 0 ? 2 : 0 ); } -inline const String & -PE_Variable::Result_SizeExpression() const - { return sResultSizeExpression; } -inline const String & -PE_Variable::Result_InitExpression() const - { return sResultInitExpression; } - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/pev.hxx b/autodoc/source/parser/cpp/pev.hxx deleted file mode 100644 index 31a873ef7f0f..000000000000 --- a/autodoc/source/parser/cpp/pev.hxx +++ /dev/null @@ -1,306 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PEV_HXX -#define ADC_CPP_PEV_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <tokens/tokproct.hxx> - // COMPONENTS - // PARAMETERS -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ - namespace cpp - { - class Gate; - class InputContext; - - class Namespace; - class Class; - class Enum; - class Typedef; - class Function; - class Variable; - class EnumValue; - - class DefineEntity; - } - - class Documentation; -} - - -namespace cpp -{ - - -class PeEnvironment : protected TokenProcessing_Types -{ - public: - // INQUIRY - virtual ~PeEnvironment() {} - - // OPERATIONS - // Token results - void SetTokenResult( - E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push = 0 ); - - // Owner stack - void OpenNamespace( - ary::cpp::Namespace & - io_rOpenedNamespace ); - void OpenExternC( - bool i_bOnlyForOneDeclaration = false ); - void OpenClass( - ary::cpp::Class & io_rOpenedClass ); - void OpenEnum( - ary::cpp::Enum & io_rOpenedEnum ); - void CloseBlock(); /// Handles a '}' on file scope. - void CloseClass(); - void CloseEnum(); - void SetCurProtection( /// Handles 'public:', 'protected:' and 'private:' on class scope. - ary::cpp::E_Protection - i_eProtection ); - void OpenTemplate( - const StringVector & - i_rParameters ); - /// Removes parameters from this object. - DYN StringVector * Get_CurTemplateParameters(); - /// Checks, if a template is still open, and if yes, closes it. - void Close_OpenTemplate(); - - // Special events - void Event_Class_FinishedBase( - const String & i_sParameterName ); - - void Event_Store_Typedef( - ary::cpp::Typedef & io_rTypedef ); - void Event_Store_EnumValue( - ary::cpp::EnumValue & - io_rEnumValue ); - void Event_Store_CppDefinition( - ary::cpp::DefineEntity & - io_rDefinition ); - - void Event_EnterFunction_ParameterList(); - void Event_Function_FinishedParameter( - const String & i_sParameterName ); - void Event_LeaveFunction_ParameterList(); - void Event_EnterFunction_Implementation(); - void Event_LeaveFunction_Implementation(); - - void Event_Store_Function( - ary::cpp::Function & - io_rFunction ); - void Event_Store_Variable( - ary::cpp::Variable & - io_rVariable ); - // Error recovery - void StartWaitingFor_Recovery(); - - // INQUIRY - ary::cpp::Gate & AryGate() const; - const ary::cpp::InputContext & - Context() const; - String CurFileName() const; - uintt LineCount() const; - bool IsWaitingFor_Recovery() const; - bool IsExternC() const; - - private: - virtual void do_SetTokenResult( - E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push ) = 0; - virtual void do_OpenNamespace( - ary::cpp::Namespace & - io_rOpenedNamespace ) = 0; - virtual void do_OpenExternC( - bool i_bOnlyForOneDeclaration ) = 0; - virtual void do_OpenClass( - ary::cpp::Class & io_rOpenedClass ) = 0; - virtual void do_OpenEnum( - ary::cpp::Enum & io_rOpenedEnum ) = 0; - virtual void do_CloseBlock() = 0; - virtual void do_CloseClass() = 0; - virtual void do_CloseEnum() = 0; - virtual void do_SetCurProtection( - ary::cpp::E_Protection - i_eProtection ) = 0; - virtual void do_OpenTemplate( - const StringVector & - i_rParameters ) = 0; - virtual DYN StringVector * - do_Get_CurTemplateParameters() = 0; - virtual void do_Close_OpenTemplate() = 0; - virtual void do_Event_Class_FinishedBase( - const String & i_sBaseName ) = 0; - - virtual void do_Event_Store_Typedef( - ary::cpp::Typedef & io_rTypedef ) = 0; - virtual void do_Event_Store_EnumValue( - ary::cpp::EnumValue & - io_rEnumValue ) = 0; - virtual void do_Event_Store_CppDefinition( - ary::cpp::DefineEntity & - io_rDefinition ) = 0; - virtual void do_Event_EnterFunction_ParameterList() = 0; - virtual void do_Event_Function_FinishedParameter( - const String & i_sParameterName ) = 0; - virtual void do_Event_LeaveFunction_ParameterList() = 0; - virtual void do_Event_EnterFunction_Implementation() = 0; - virtual void do_Event_LeaveFunction_Implementation() = 0; - virtual void do_Event_Store_Function( - ary::cpp::Function & - io_rFunction ) = 0; - virtual void do_Event_Store_Variable( - ary::cpp::Variable & - io_rVariable ) = 0; - virtual void do_StartWaitingFor_Recovery() = 0; - virtual ary::cpp::Gate & - inq_AryGate() const = 0; - virtual const ary::cpp::InputContext & - inq_Context() const = 0; - virtual String inq_CurFileName() const = 0; - virtual uintt inq_LineCount() const = 0; - virtual bool inq_IsWaitingFor_Recovery() const = 0; - virtual bool inq_IsExternC() const = 0; -}; - - - -// IMPLEMENTATION - -inline void -PeEnvironment::SetTokenResult( E_TokenDone i_eDone, - E_EnvStackAction i_eWhat2DoWithEnvStack, - ParseEnvironment * i_pParseEnv2Push ) - { do_SetTokenResult(i_eDone, i_eWhat2DoWithEnvStack, i_pParseEnv2Push); } -inline void -PeEnvironment::OpenNamespace( ary::cpp::Namespace & io_rOpenedNamespace ) - { do_OpenNamespace(io_rOpenedNamespace); } -inline void -PeEnvironment::OpenExternC( bool i_bOnlyForOneDeclaration ) - { do_OpenExternC(i_bOnlyForOneDeclaration); } -inline void -PeEnvironment::OpenClass( ary::cpp::Class & io_rOpenedClass ) - { do_OpenClass(io_rOpenedClass); } -inline void -PeEnvironment::OpenEnum( ary::cpp::Enum & io_rOpenedEnum ) - { do_OpenEnum(io_rOpenedEnum); } -inline void -PeEnvironment::CloseBlock() - { do_CloseBlock(); } -inline void -PeEnvironment::CloseClass() - { do_CloseClass(); } -inline void -PeEnvironment::CloseEnum() - { do_CloseEnum(); } -inline void -PeEnvironment::SetCurProtection( ary::cpp::E_Protection i_eProtection ) - { do_SetCurProtection(i_eProtection); } -inline void -PeEnvironment::OpenTemplate( const StringVector & i_rParameters ) - { do_OpenTemplate(i_rParameters); } -inline DYN StringVector * -PeEnvironment::Get_CurTemplateParameters() - { return do_Get_CurTemplateParameters(); } -inline void -PeEnvironment::Close_OpenTemplate() - { do_Close_OpenTemplate(); } -inline void -PeEnvironment::Event_Class_FinishedBase( const String & i_sBaseName ) - { do_Event_Class_FinishedBase(i_sBaseName); } -inline void -PeEnvironment::Event_Store_Typedef( ary::cpp::Typedef & io_rTypedef ) - { do_Event_Store_Typedef(io_rTypedef); } -inline void -PeEnvironment::Event_Store_EnumValue( ary::cpp::EnumValue & io_rEnumValue ) - { do_Event_Store_EnumValue(io_rEnumValue); } -inline void -PeEnvironment::Event_Store_CppDefinition( ary::cpp::DefineEntity & io_rDefinition ) - { do_Event_Store_CppDefinition(io_rDefinition); } -inline void -PeEnvironment::Event_EnterFunction_ParameterList() - { do_Event_EnterFunction_ParameterList(); } -inline void -PeEnvironment::Event_Function_FinishedParameter( const String & i_sParameterName ) - { do_Event_Function_FinishedParameter(i_sParameterName); } -inline void -PeEnvironment::Event_LeaveFunction_ParameterList() - { do_Event_LeaveFunction_ParameterList(); } -inline void -PeEnvironment::Event_EnterFunction_Implementation() - { do_Event_EnterFunction_Implementation(); } -inline void -PeEnvironment::Event_LeaveFunction_Implementation() - { do_Event_LeaveFunction_Implementation(); } -inline void -PeEnvironment::Event_Store_Function( ary::cpp::Function & io_rFunction ) - { do_Event_Store_Function(io_rFunction); } -inline void -PeEnvironment::Event_Store_Variable( ary::cpp::Variable & io_rVariable ) - { do_Event_Store_Variable(io_rVariable); } -inline void -PeEnvironment::StartWaitingFor_Recovery() - { do_StartWaitingFor_Recovery(); } -inline ary::cpp::Gate & -PeEnvironment::AryGate() const - { return inq_AryGate(); } -inline const ary::cpp::InputContext & -PeEnvironment::Context() const - { return inq_Context(); } -inline String -PeEnvironment::CurFileName() const - { return inq_CurFileName(); } -inline uintt -PeEnvironment::LineCount() const - { return inq_LineCount(); } -inline bool -PeEnvironment::IsWaitingFor_Recovery() const - { return inq_IsWaitingFor_Recovery(); } -inline bool -PeEnvironment::IsExternC() const - { return inq_IsExternC(); } - - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/preproc.cxx b/autodoc/source/parser/cpp/preproc.cxx deleted file mode 100644 index 856736b96442..000000000000 --- a/autodoc/source/parser/cpp/preproc.cxx +++ /dev/null @@ -1,233 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "preproc.hxx" - - -// NOT FULLY DEFINED SERVICES -#include <cosv/tpl/tpltools.hxx> -#include "all_toks.hxx" -#include "defdescr.hxx" -#include <tools/tkpchars.hxx> -#include "c_rcode.hxx" - - -namespace cpp -{ - - -PreProcessor::F_TOKENPROC PreProcessor::aTokProcs[PreProcessor::state_MAX] = - { - &PreProcessor::On_plain, - &PreProcessor::On_expect_macro_bracket_left, - &PreProcessor::On_expect_macro_param - }; - - -PreProcessor::PreProcessor() - : pCppExplorer(0), - pSourceText(0), - pCurValidDefines(0), - // aTokens, - eState(plain), - pCurMacro(0), - dpCurMacroName(0), - // aCurMacroParams, - aCurParamText(60000), - nBracketInParameterCounter(0) - // aBlockedMacroNames -{ -} - -PreProcessor::~PreProcessor() -{ -} - -void -PreProcessor::AssignPartners( CodeExplorer & o_rCodeExplorer, - CharacterSource & o_rCharSource, - const MacroMap & i_rCurValidDefines ) -{ - pCppExplorer = &o_rCodeExplorer; - pSourceText = &o_rCharSource; - pCurValidDefines = &i_rCurValidDefines; -} - -void -PreProcessor::Process_Token( cpp::Token & let_drToken ) -{ - csv_assert(pCppExplorer != 0); // Implies pSourceText and pCurValidDefines. - - (this->*aTokProcs[eState])(let_drToken); -} - -void -PreProcessor::On_plain( cpp::Token & let_drToken ) -{ - if ( let_drToken.TypeId() == Tid_Identifier ) - { - if (CheckForDefine(let_drToken)) - return; - } - - pCppExplorer->Process_Token(let_drToken); -} - -void -PreProcessor::On_expect_macro_bracket_left( cpp::Token & let_drToken ) -{ - if ( let_drToken.TypeId() == Tid_Bracket_Left ) - { - aCurParamText.seekp(0); - eState = expect_macro_param; - } - else - { - pCppExplorer->Process_Token(*dpCurMacroName); - dpCurMacroName = 0; - pCppExplorer->Process_Token(let_drToken); - eState = plain; - } -} - -void -PreProcessor::On_expect_macro_param( cpp::Token & let_drToken ) -{ - if ( let_drToken.TypeId() == Tid_Bracket_Left ) - nBracketInParameterCounter++; - else if ( let_drToken.TypeId() == Tid_Bracket_Right ) - { - if ( nBracketInParameterCounter > 0 ) - nBracketInParameterCounter--; - else - { - if ( NOT csv::no_str(aCurParamText.c_str()) ) - { - aCurMacroParams.push_back( String(aCurParamText.c_str()) ); - } - csv_assert( aCurMacroParams.size() == pCurMacro->ParamCount() ); - - InterpretMacro(); - eState = plain; - return; - } - } - else if ( let_drToken.TypeId() == Tid_Comma AND nBracketInParameterCounter == 0 ) - { - aCurMacroParams.push_back( String (aCurParamText.c_str()) ); - aCurParamText.seekp(0); - return; - } - - // KORR_FUTURE: - // If in future whitespace is parsed also, that should match exactly and the - // safety spaces, " ", here should be removed. - aCurParamText << let_drToken.Text() << " "; -} - -bool -PreProcessor::CheckForDefine( cpp::Token & let_drToken ) -{ - String sTokenText(let_drToken.Text()); - pCurMacro = csv::value_from_map( *pCurValidDefines, sTokenText ); - if (pCurMacro == 0 ) - return false; - for ( StringVector::const_iterator it = aBlockedMacroNames.begin(); - it != aBlockedMacroNames.end(); - ++it ) - { - if ( strcmp( (*it).c_str(), let_drToken.Text() ) == 0 ) - return false; - } - - if ( pCurMacro->DefineType() == DefineDescription::type_define ) - { - delete &let_drToken; - - aCurParamText.seekp(0); - pCurMacro->GetDefineText(aCurParamText); - - if ( aCurParamText.tellp() > 1 ) - pSourceText->InsertTextAtCurPos(aCurParamText.c_str()); - } - else // ( pCurMacro->DefineType() == DefineDescription::type_macro ) - { - dpCurMacroName = &let_drToken; - eState = expect_macro_bracket_left; - csv::erase_container( aCurMacroParams ); - aCurParamText.seekp(0); - nBracketInParameterCounter = 0; - } // endif - - return true; -} - -void -PreProcessor::UnblockMacro( const char * i_sMacroName ) -{ - for ( StringVector::iterator it = aBlockedMacroNames.begin(); - it != aBlockedMacroNames.end(); - ++it ) - { - if ( strcmp( (*it), i_sMacroName ) == 0 ) - { - aBlockedMacroNames.erase(it); - break; - } - } /// end for -} - -void -PreProcessor::InterpretMacro() -{ - aCurParamText.seekp(0); - pCurMacro->GetMacroText(aCurParamText, aCurMacroParams); - - if ( NOT csv::no_str(aCurParamText.c_str()) ) - { - aCurParamText.seekp(-1, csv::cur); - aCurParamText << " #unblock-" << dpCurMacroName->Text() << " "; - - pSourceText->InsertTextAtCurPos(aCurParamText.c_str()); - String sCurMacroName(dpCurMacroName->Text()); - aBlockedMacroNames.insert( aBlockedMacroNames.begin(), sCurMacroName ); - } - - delete dpCurMacroName; - dpCurMacroName = 0; - pCurMacro = 0; - csv::erase_container(aCurMacroParams); - aCurParamText.seekp(0); -} - - -} // end namespace cpp - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/preproc.hxx b/autodoc/source/parser/cpp/preproc.hxx deleted file mode 100644 index 0f78e5affb1f..000000000000 --- a/autodoc/source/parser/cpp/preproc.hxx +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PREPROC_HXX -#define ADC_CPP_PREPROC_HXX - - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS -#include <deque> - // PARAMETERS - -class CharacterSource; - - -namespace cpp -{ - -class Token; -class CodeExplorer; -class DefineDescription; - - -class PreProcessor -{ - public: - typedef std::map< String, DefineDescription* > MacroMap; - - // LIFECYCLE - PreProcessor(); - ~PreProcessor(); - // OPERATONS - void AssignPartners( - CodeExplorer & o_rCodeExplorer, - CharacterSource & o_rCharSource, - const MacroMap & i_rCurValidDefines ); - void Process_Token( - cpp::Token & let_drToken ); - void UnblockMacro( - const char * i_sMacroName ); - private: - public: // Necessary for instantiation of static variable: - enum E_State - { - plain = 0, - expect_macro_bracket_left, - expect_macro_param, - state_MAX - }; - typedef void (PreProcessor::* F_TOKENPROC )(cpp::Token &); - void On_plain( cpp::Token & ); - void On_expect_macro_bracket_left( cpp::Token & ); - void On_expect_macro_param( cpp::Token & ); - - private: // Reprivate again: - typedef std::deque< DYN cpp::Token * > TokenQueue; - typedef StringVector List_MacroParams; - - - bool CheckForDefine( - cpp::Token & let_drToken ); - void InterpretMacro(); - - // DATA - static F_TOKENPROC aTokProcs[state_MAX]; - // Referenced extern objects - CodeExplorer * pCppExplorer; - CharacterSource * pSourceText; - const MacroMap * pCurValidDefines; - - // internal data - TokenQueue aTokens; - - E_State eState; - - DefineDescription * pCurMacro; - DYN Token * dpCurMacroName; - List_MacroParams aCurMacroParams; - csv::StreamStr aCurParamText; - - intt nBracketInParameterCounter; - StringVector aBlockedMacroNames; -}; - - - -} // end namespace cpp - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/prs_cpp.cxx b/autodoc/source/parser/cpp/prs_cpp.cxx deleted file mode 100644 index 6cda9eab509a..000000000000 --- a/autodoc/source/parser/cpp/prs_cpp.cxx +++ /dev/null @@ -1,250 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <cpp/prs_cpp.hxx> - - -// NOT FULLY DEFINED SERVICES -#include <cosv/file.hxx> -#include <ary/ary.hxx> -#include <ary/cpp/c_gate.hxx> -#include <autodoc/prs_docu.hxx> -#include <autodoc/filecoli.hxx> -#include <autodoc/x_parsing.hxx> -#include <tools/tkpchars.hxx> -#include <adc_cl.hxx> -#include "c_dealer.hxx" -#include "defdescr.hxx" -#include "tkp_cpp.hxx" - - -// Helper function -static bool Local_LoadFile( - CharacterSource & o_rTextBuffer, - const String & i_rFullFilePath ); - - - - -namespace cpp -{ - -// This class is used for the UDK as workaround for the missing -// feature of parsing #define s. - -class Udk_MacroMap -{ - public: - typedef std::map< String , DefineDescription* > Data; - - Udk_MacroMap(); - ~Udk_MacroMap(); - - const Data & GetData() const { return aData; } - - private: - Data aData; -}; - -struct S_RunningData -{ - CharacterSource aFileContent; - ary::cpp::Gate & rCppGate; - Udk_MacroMap aMacros; - Distributor aDealer; - TokenParser_Cpp aTkp; - - S_RunningData( - ary::Repository & o_rRepository, - const autodoc::DocumentationParser_Ifc & - i_rDocumentationInterpreter ); -}; - - - - -Cpluplus_Parser::Cpluplus_Parser() -// : pRunningData -{ -} - -Cpluplus_Parser::~Cpluplus_Parser() -{ -} - -void -Cpluplus_Parser::Setup( ary::Repository & o_rRepository, - const autodoc::DocumentationParser_Ifc & i_rDocumentationInterpreter ) -{ - pRunningData = new S_RunningData(o_rRepository, i_rDocumentationInterpreter); -} - -void -Cpluplus_Parser::Run( const autodoc::FileCollector_Ifc & i_rFiles ) -{ - for ( autodoc::FileCollector_Ifc::const_iterator iter = i_rFiles.Begin(); - iter != i_rFiles.End(); - ++iter ) - { - csv::ploc::Path - aFilePath(*iter); - - try - { - if ( NOT Local_LoadFile(pRunningData->aFileContent, *iter) ) - continue; - for ( pRunningData->aTkp.StartNewFile(aFilePath); - pRunningData->aTkp.HasMore(); - pRunningData->aTkp.GetNextToken() ) - ; - } - catch (autodoc::X_Parser_Ifc & rX_Parse) - { - if ( DEBUG_ShowStoring() OR DEBUG_ShowText() ) - Cerr() << rX_Parse << Endl(); - } - catch (...) - { - if ( DEBUG_ShowStoring() OR DEBUG_ShowText() ) - Cerr() << "Error: Unknown exception." << Endl(); - } - } // end for (iter) -} - -S_RunningData::S_RunningData( ary::Repository & o_rRepository, - const autodoc::DocumentationParser_Ifc & i_rDocumentationInterpreter ) - : aFileContent(), - rCppGate( o_rRepository.Gate_Cpp() ), - aMacros(), - aDealer(o_rRepository.Gate_Cpp()), - aTkp( * i_rDocumentationInterpreter.Create_DocuContext() ) -{ - aDealer.AssignPartners( aFileContent, - aMacros.GetData() ); - aTkp.AssignPartners( aFileContent, aDealer ); -} - - -Udk_MacroMap::Udk_MacroMap() -{ - String sSAL_CALL("SAL_CALL"); - String sSAL_CALL_ELLIPSE("SAL_CALL_ELLIPSE"); - String sSAL_NO_VTABLE("SAL_NO_VTABLE"); - String sREGISTRY_CALLTYPE("REGISTRY_CALLTYPE"); - String sSAL_THROW("SAL_THROW"); - String sSAL_THROW_EXTERN_C("SAL_THROW_EXTERN_C"); - - String s__DEF_COMPIMPLHELPER_A("__DEF_COMPIMPLHELPER_A"); - String s__DEF_COMPIMPLHELPER_B("__DEF_COMPIMPLHELPER_B"); - String s__DEF_COMPIMPLHELPER("__DEF_COMPIMPLHELPER"); - - String s__DEF_IMPLHELPER_PRE("__DEF_IMPLHELPER_PRE"); - String s__IFC_WRITEOFFSET("__IFC_WRITEOFFSET"); - String s__DEF_IMPLHELPER_POST("__DEF_IMPLHELPER_POST"); - - String sSAL_EXCEPTION_DLLPUBLIC_EXPORT("SAL_EXCEPTION_DLLPUBLIC_EXPORT"); - String sSAL_EXCEPTION_DLLPRIVATE("SAL_EXCEPTION_DLLPRIVATE"); - - - StringVector aEmpty; - - StringVector aParamsSAL_THROW; - aParamsSAL_THROW.push_back( String ("exc") ); - StringVector aDefSAL_THROW; - aDefSAL_THROW.push_back( String ("throw") ); - aDefSAL_THROW.push_back( String ("exc") ); - - StringVector aCompImplHelperParams; - aCompImplHelperParams.push_back(String ("N")); - - - // filling up the list - - - aData[sSAL_CALL] = new DefineDescription(sSAL_CALL, aEmpty); - aData[sSAL_CALL_ELLIPSE] = new DefineDescription(sSAL_CALL_ELLIPSE, aEmpty); - aData[sSAL_NO_VTABLE] = new DefineDescription(sSAL_NO_VTABLE, aEmpty); - aData[sREGISTRY_CALLTYPE] = new DefineDescription(sREGISTRY_CALLTYPE, aEmpty); - - aData[sSAL_THROW] = new DefineDescription(sSAL_THROW, aParamsSAL_THROW, aDefSAL_THROW); - aData[sSAL_THROW_EXTERN_C] = new DefineDescription(sSAL_THROW_EXTERN_C, aEmpty, aEmpty); - - aData[s__DEF_COMPIMPLHELPER_A] - = new DefineDescription( s__DEF_COMPIMPLHELPER_A, aCompImplHelperParams, aEmpty); - aData[s__DEF_COMPIMPLHELPER_B] - = new DefineDescription(s__DEF_COMPIMPLHELPER_B, aCompImplHelperParams, aEmpty); - aData[s__DEF_COMPIMPLHELPER] - = new DefineDescription(s__DEF_COMPIMPLHELPER, aCompImplHelperParams, aEmpty); - - aData[s__DEF_IMPLHELPER_PRE] - = new DefineDescription(s__DEF_IMPLHELPER_PRE, aCompImplHelperParams, aEmpty); - aData[s__IFC_WRITEOFFSET] - = new DefineDescription(s__IFC_WRITEOFFSET, aCompImplHelperParams, aEmpty); - aData[s__DEF_IMPLHELPER_POST] - = new DefineDescription(s__DEF_IMPLHELPER_POST, aCompImplHelperParams, aEmpty); - - aData[sSAL_EXCEPTION_DLLPUBLIC_EXPORT] - = new DefineDescription(sSAL_EXCEPTION_DLLPUBLIC_EXPORT, aEmpty); - aData[sSAL_EXCEPTION_DLLPRIVATE] - = new DefineDescription(sSAL_EXCEPTION_DLLPRIVATE, aEmpty); -} - -Udk_MacroMap::~Udk_MacroMap() -{ - for ( Data::iterator it = aData.begin(); it != aData.end(); ++it ) - { - delete (*it).second; - } -} - - - -} // namespace cpp - - -bool -Local_LoadFile( CharacterSource & o_rTextBuffer, - const String & i_rFullFilePath ) -{ - Cout() << "Parse " << i_rFullFilePath << " ..." << Endl(); - - csv::File aFile( i_rFullFilePath, csv::CFM_READ ); - if (NOT aFile.open()) - { - Cerr() << " could not be opened.\n" << Endl(); - return false; - } - o_rTextBuffer.LoadText(aFile); - aFile.close(); - return true; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/sdocdist.hxx b/autodoc/source/parser/cpp/sdocdist.hxx deleted file mode 100644 index 10e6fd4dced8..000000000000 --- a/autodoc/source/parser/cpp/sdocdist.hxx +++ /dev/null @@ -1,161 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_SDOCDIST_HXX -#define ADC_CPP_SDOCDIST_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cxt2ary.hxx" -#include <ary/info/docstore.hxx> - // COMPONENTS - // PARAMETERS - -namespace cpp -{ - -using ary::Documentation; - -/** Implementation struct for cpp::ContextForAry. -*/ - -struct ContextForAry::S_DocuDistributor : public ary::info::DocuStore -{ - public: - S_DocuDistributor() : pCurRe(0) {} - ~S_DocuDistributor() {} - - void Reset() { pCurRe = 0; pLastStoredDocu = 0; } - - void SetCurrentlyStoredRe( - ary::cpp::CppEntity & - io_rRe ); - void Event_LineBreak(); - - private: - // Interface ary::info::DocuStore - virtual void do_Store2CurFile( - DYN ary::doc::Node& let_drDocu ); - virtual void do_Store2CurNamespace( - DYN ary::doc::Node& let_drDocu ); - - virtual void do_Store2ConnectedDeclaration( - DYN ary::doc::Node& let_drDocu ); - - virtual void do_Store2Glossary( - DYN ary::doc::Node& let_drDocu, - const String & i_sExplainedTerm ); - virtual void do_Store2GlobalTexts( - DYN ary::doc::Node& let_drDocu, - ary::info::GlobalTextId - i_nId ); - // DATA - ary::cpp::CppEntity * - pCurRe; - Dyn<ary::doc::Node> pLastStoredDocu; -}; - - -// IMPLEMENTATION - -/* The implementation is in header, though not all inline, because this file - is included in cxt2ary.cxx only! -*/ - - -void -ContextForAry:: -S_DocuDistributor::SetCurrentlyStoredRe( ary::cpp::CppEntity & io_rRe ) -{ - pCurRe = &io_rRe; - if ( pLastStoredDocu ) - pCurRe->Set_Docu( *pLastStoredDocu.Release() ); -} - -inline void -ContextForAry:: -S_DocuDistributor::Event_LineBreak() -{ - pCurRe = 0; -} - -void -ContextForAry:: -S_DocuDistributor::do_Store2CurFile( DYN ary::doc::Node & let_drDocu ) -{ - // KORR_FUTURE - delete &let_drDocu; -} - -void -ContextForAry:: -S_DocuDistributor::do_Store2CurNamespace( DYN ary::doc::Node & let_drDocu ) -{ - // KORR_FUTURE - delete &let_drDocu; -} - -void -ContextForAry:: -S_DocuDistributor::do_Store2ConnectedDeclaration( DYN ary::doc::Node & let_drDocu ) -{ - if ( pCurRe != 0 ) - pCurRe->Set_Docu(let_drDocu); - else - pLastStoredDocu = &let_drDocu; -} - -void -ContextForAry:: -S_DocuDistributor::do_Store2Glossary( DYN ary::doc::Node & let_drDocu, - const String & // i_sExplainedTerm - ) -{ - // KORR_FUTURE - delete &let_drDocu; -} - -void -ContextForAry:: -S_DocuDistributor::do_Store2GlobalTexts( DYN ary::doc::Node & let_drDocu, - ary::info::GlobalTextId // i_nId - ) -{ - // KORR_FUTURE - delete &let_drDocu; -} - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/sfscope.hxx b/autodoc/source/parser/cpp/sfscope.hxx deleted file mode 100644 index 6f3eaa7b4225..000000000000 --- a/autodoc/source/parser/cpp/sfscope.hxx +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_SFSCOPE_HXX -#define ADC_CPP_SFSCOPE_HXX - -// USED SERVICES -#include "cxt2ary.hxx" - - - - -namespace cpp -{ - - -/** Implementation struct for cpp::ContextForAry. -*/ -struct ContextForAry::S_FileScopeInfo -{ - ary::loc::File * pCurFile; - uintt nLineCount; - Dyn<StringVector> pCurTemplateParameters; - - S_FileScopeInfo(); -}; - - - - -// IMPLEMENTATION -inline -ContextForAry:: -S_FileScopeInfo::S_FileScopeInfo() - : pCurFile(0), - nLineCount(0), - pCurTemplateParameters(0) -{ -} - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/sownstck.hxx b/autodoc/source/parser/cpp/sownstck.hxx deleted file mode 100644 index 5c00e40dabf7..000000000000 --- a/autodoc/source/parser/cpp/sownstck.hxx +++ /dev/null @@ -1,327 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_SOWNSTCK_HXX -#define ADC_CPP_SOWNSTCK_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cxt2ary.hxx" - // COMPONENTS -#include <ary/cpp/c_types4cpp.hxx> -#include <estack.hxx> - // PARAMETERS -#include <ary/cpp/c_namesp.hxx> -#include <x_parse.hxx> - - -namespace cpp -{ - -using ary::cpp::E_Protection; - - -/** Implementation struct for cpp::ContextForAry. -*/ -struct ContextForAry::S_OwnerStack -{ - public: - S_OwnerStack(); - void SetGlobalNamespace( - ary::cpp::Namespace & - io_rGlobalNamespace ); - ~S_OwnerStack(); - - void Reset(); - - void OpenNamespace( - ary::cpp::Namespace & - io_rOpenedNamespace ); - void OpenExternC(); - void OpenClass( - ary::cpp::Class & io_rOpenedClass ); - void OpenEnum( - ary::cpp::Enum & io_rOpenedEnum ); - void CloseBlock(); - void CloseClass(); - void CloseEnum(); - void SetCurProtection( - ary::cpp::E_Protection - i_eProtection ); - ary::cpp::Namespace & - CurNamespace() const; - ary::cpp::Class * CurClass() const; - ary::cpp::Enum * CurEnum() const; - - Owner & CurOwner() const; - ary::cpp::E_Protection - CurProtection() const; - bool IsExternC() const { return nExternC > 0; } - - private: - typedef std::pair< ary::cpp::Class*, E_Protection > ClassEnv; - typedef EStack< ary::cpp::Namespace* > Stack_Namespaces; - typedef EStack< ClassEnv > Stack_Classes; - typedef ary::cpp::InputContext::Owner Ifc_Owner; - - void SetOwner_2CurNamespace(); - void SetOwner_2CurClass(); - void SetOwner_2None(); - - // DATA - Stack_Namespaces aStack_Namespaces; - Stack_Classes aStack_Classes; - ary::cpp::Enum * pCurEnum; - uintt nExternC; /// This is a number, for the case that extern "C" blocks are nested. - - Dyn<Owner_Namespace> - pOwner_Namespace; - Dyn<Owner_Class> pOwner_Class; - Ifc_Owner * pOwner_Cur; -}; - - -// IMPLEMENTATION - -/* The implementation is in header, though not inline, because this file is included - in cxt2ary.cxx only! -*/ - -inline ary::cpp::Namespace & -ContextForAry:: -S_OwnerStack::CurNamespace() const -{ - csv_assert( aStack_Namespaces.size() > 0 ); - return *aStack_Namespaces.top(); -} - -inline ary::cpp::Class * -ContextForAry:: -S_OwnerStack::CurClass() const -{ - return aStack_Classes.size() > 0 - ? aStack_Classes.top().first - : (ary::cpp::Class *) 0; -} - -inline void -ContextForAry:: -S_OwnerStack::SetOwner_2CurNamespace() -{ - csv_assert( aStack_Namespaces.size() > 0 ); - pOwner_Cur = pOwner_Namespace.MutablePtr(); - pOwner_Namespace->SetAnotherNamespace( CurNamespace() ); -} - -inline void -ContextForAry:: -S_OwnerStack::SetOwner_2CurClass() -{ - csv_assert( aStack_Classes.size() > 0 ); - pOwner_Cur = pOwner_Class.MutablePtr(); - pOwner_Class->SetAnotherClass( *CurClass() ); -} - -ContextForAry:: -S_OwnerStack::S_OwnerStack() - : // aStack_Namespaces, - // aStack_Classes, - pCurEnum(0), - nExternC(0), - pOwner_Namespace(new Owner_Namespace), - pOwner_Class(new Owner_Class), - pOwner_Cur(0) -{ -} - -void -ContextForAry:: -S_OwnerStack::Reset() -{ - while ( aStack_Namespaces.top()->Owner().IsValid() ) - aStack_Namespaces.pop(); - while ( NOT aStack_Classes.empty() ) - aStack_Classes.pop(); - pCurEnum = 0; - nExternC = 0; - SetOwner_2CurNamespace(); -} - -inline void -ContextForAry:: -S_OwnerStack::SetGlobalNamespace( ary::cpp::Namespace & io_rGlobalNamespace ) -{ - csv_assert( aStack_Namespaces.size() == 0 ); - aStack_Namespaces.push(&io_rGlobalNamespace); - SetOwner_2CurNamespace(); -} - -ContextForAry:: -S_OwnerStack::~S_OwnerStack() -{ -} - -inline void -ContextForAry:: -S_OwnerStack::OpenNamespace( ary::cpp::Namespace & io_rOpenedNamespace ) -{ - csv_assert( aStack_Namespaces.size() > 0 OR io_rOpenedNamespace.Parent() == 0 ); - aStack_Namespaces.push(&io_rOpenedNamespace); - SetOwner_2CurNamespace(); -} - -inline void -ContextForAry:: -S_OwnerStack::OpenExternC() -{ - ++nExternC; -// SetOwner_2None(); -} - -inline void -ContextForAry:: -S_OwnerStack::SetCurProtection( ary::cpp::E_Protection i_eProtection ) -{ - csv_assert( aStack_Classes.size() > 0 ); - aStack_Classes.top().second = i_eProtection; -} - -inline ary::cpp::Enum * -ContextForAry:: -S_OwnerStack::CurEnum() const -{ - return pCurEnum; -} - - -inline ary::cpp::InputContext::Owner & -ContextForAry:: -S_OwnerStack::CurOwner() const -{ - csv_assert( pOwner_Cur != 0 ); - return *pOwner_Cur; -} - -inline E_Protection -ContextForAry:: -S_OwnerStack::CurProtection() const -{ - return aStack_Classes.size() > 0 - ? aStack_Classes.top().second - : ary::cpp::PROTECT_global; -} - -inline void -ContextForAry:: -S_OwnerStack::SetOwner_2None() -{ - pOwner_Cur = 0; -} - -void -ContextForAry:: -S_OwnerStack::OpenClass( ary::cpp::Class & io_rOpenedClass ) -{ - E_Protection eDefaultProtection - = io_rOpenedClass.ClassKey() == ary::cpp::CK_class - ? ary::cpp::PROTECT_private - : ary::cpp::PROTECT_public; - aStack_Classes.push( ClassEnv(&io_rOpenedClass, eDefaultProtection) ); - SetOwner_2CurClass(); -} - -inline void -ContextForAry:: -S_OwnerStack::OpenEnum( ary::cpp::Enum & io_rOpenedEnum ) -{ - csv_assert( pCurEnum == 0 ); - pCurEnum = &io_rOpenedEnum; - SetOwner_2None(); -} - -void -ContextForAry:: -S_OwnerStack::CloseBlock() -{ - if (nExternC > 0) - { - --nExternC; - } - else - { - // csv_assert( aStack_Classes.size() == 0 ); - if ( aStack_Classes.size() > 0 ) - throw X_Parser(X_Parser::x_UnspecifiedSyntaxError, "", String::Null_(), 0); - - csv_assert( pCurEnum == 0 ); - aStack_Namespaces.pop(); - - // csv_assert( aStack_Namespaces.size() > 0 ); - if( aStack_Namespaces.size() == 0 ) - throw X_Parser(X_Parser::x_UnspecifiedSyntaxError, "", String::Null_(), 0); - - } - SetOwner_2CurNamespace(); -} - -void -ContextForAry:: -S_OwnerStack::CloseClass() -{ - // csv_assert( aStack_Classes.size() > 0 ); - if ( aStack_Classes.size() == 0 ) - throw X_Parser(X_Parser::x_UnspecifiedSyntaxError, "", String::Null_(), 0); - - aStack_Classes.pop(); - if ( aStack_Classes.size() > 0 ) - SetOwner_2CurClass(); - else - SetOwner_2CurNamespace(); -} - -void -ContextForAry:: -S_OwnerStack::CloseEnum() -{ - csv_assert( pCurEnum != 0 ); - pCurEnum = 0; - if ( aStack_Classes.size() > 0 ) - SetOwner_2CurClass(); - else - SetOwner_2CurNamespace(); -} - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/srecover.hxx b/autodoc/source/parser/cpp/srecover.hxx deleted file mode 100644 index 8408604db3fd..000000000000 --- a/autodoc/source/parser/cpp/srecover.hxx +++ /dev/null @@ -1,134 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_SRECOVER_HXX -#define ADC_CPP_SRECOVER_HXX - - - -// USED SERVICES - // BASE CLASSES -#include "cxt2ary.hxx" -#include <ary/info/docstore.hxx> - // COMPONENTS - // PARAMETERS - -namespace cpp -{ - -/** Implementation struct for cpp::ContextForAry. -*/ -struct ContextForAry::S_RecoveryGuard -{ - public: - S_RecoveryGuard(); - ~S_RecoveryGuard(); - - void Reset() { bIsWithinRecovery = false; nBlockBracketsCounter = 0; } - - void StartWaitingFor_Recovery(); - - void Hdl_SwBracketOpen(); - void Hdl_SwBracketClose(); - void Hdl_Semicolon(); - - bool IsWithinRecovery() const; - - private: - // DATA - bool bIsWithinRecovery; - intt nBlockBracketsCounter; -}; - - - -// IMPLEMENTATION - -/* The implementation is in header, though not all inline, because this file - is included in cxt2ary.cxx only! -*/ - -ContextForAry:: -S_RecoveryGuard::S_RecoveryGuard() - : bIsWithinRecovery(false), - nBlockBracketsCounter(0) -{ -} - -ContextForAry:: -S_RecoveryGuard::~S_RecoveryGuard() -{ -} - -inline void -ContextForAry:: -S_RecoveryGuard::StartWaitingFor_Recovery() -{ - bIsWithinRecovery = true; - nBlockBracketsCounter = 0; -} - -void -ContextForAry:: -S_RecoveryGuard::Hdl_SwBracketOpen() -{ - if ( bIsWithinRecovery ) - ++nBlockBracketsCounter; -} - -void -ContextForAry:: -S_RecoveryGuard::Hdl_SwBracketClose() -{ - if ( bIsWithinRecovery ) - --nBlockBracketsCounter; -} - -inline void -ContextForAry:: -S_RecoveryGuard::Hdl_Semicolon() -{ - if (bIsWithinRecovery AND nBlockBracketsCounter == 0) - bIsWithinRecovery = false; -} - -inline bool -ContextForAry:: -S_RecoveryGuard::IsWithinRecovery() const -{ - return bIsWithinRecovery; -} - - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/tkp_cpp.cxx b/autodoc/source/parser/cpp/tkp_cpp.cxx deleted file mode 100644 index ffe0ca26dfdb..000000000000 --- a/autodoc/source/parser/cpp/tkp_cpp.cxx +++ /dev/null @@ -1,94 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include "tkp_cpp.hxx" - -// NOT FULLY DECLARED SERVICES -#include "cx_c_std.hxx" -#include "c_dealer.hxx" - - -namespace cpp { - - - - -TokenParser_Cpp::TokenParser_Cpp( DYN autodoc::TkpDocuContext & let_drDocuContext ) - : pBaseContext( new Context_CppStd( let_drDocuContext ) ), - pCurContext(0), - pDealer(0), - pCharacterSource(0) -{ - SetStartContext(); -} - -TokenParser_Cpp::~TokenParser_Cpp() -{ -} - -void -TokenParser_Cpp::AssignPartners( CharacterSource & io_rCharacterSource, - cpp::Distributor & o_rDealer ) -{ - pDealer = &o_rDealer; - pBaseContext->AssignDealer(o_rDealer); - pCharacterSource = &io_rCharacterSource; -} - -void -TokenParser_Cpp::StartNewFile( const csv::ploc::Path & i_file ) -{ - csv_assert(pDealer != 0); - pDealer->StartNewFile(i_file); - - csv_assert(pCharacterSource != 0); - Start(*pCharacterSource); -} - -void -TokenParser_Cpp::SetStartContext() -{ - pCurContext = pBaseContext.Ptr(); -} - -void -TokenParser_Cpp::SetCurrentContext( TkpContext & io_rContext ) -{ - pCurContext = &io_rContext; -} - -TkpContext & -TokenParser_Cpp::CurrentContext() -{ - return *pCurContext; -} - -} // namespace cpp - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/tkp_cpp.hxx b/autodoc/source/parser/cpp/tkp_cpp.hxx deleted file mode 100644 index 70dfab605c6f..000000000000 --- a/autodoc/source/parser/cpp/tkp_cpp.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_TKP_CPP_HXX -#define ADC_TKP_CPP_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkp.hxx> - // COMPONENTS - // PARAMETRS - -namespace autodoc -{ - class TkpDocuContext; -} - -namespace csv -{ - namespace ploc - { - class Path; - class DirectoryChain; - } -} - - -namespace cpp { - -class Context_CppStd; -class DefineDescription; -class Distributor; - - -/** This is a TokenParser which is able to parse tokens from - C++ source code. -*/ -class TokenParser_Cpp : public TokenParser -{ - public: - typedef std::map< String, DefineDescription* > MacroMap; - - // LIFECYCLE - TokenParser_Cpp( - DYN autodoc::TkpDocuContext & - let_drDocuContext ); - virtual ~TokenParser_Cpp(); - - // OPERATIONS - void AssignPartners( - CharacterSource & io_rCharacterSource, - cpp::Distributor & o_rDealer ); - void StartNewFile( - const csv::ploc::Path & - i_file ); - private: - virtual void SetStartContext(); - virtual void SetCurrentContext( - TkpContext & io_rContext ); - virtual TkpContext & - CurrentContext(); - // DATA - Dyn<Context_CppStd> pBaseContext; - TkpContext * pCurContext; - Distributor * pDealer; - CharacterSource * pCharacterSource; -}; - - -} // namespace cpp - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/cpp/tokintpr.hxx b/autodoc/source/parser/cpp/tokintpr.hxx deleted file mode 100644 index f526ba00ee06..000000000000 --- a/autodoc/source/parser/cpp/tokintpr.hxx +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_TOKINTPR_HXX -#define ADC_CPP_TOKINTPR_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <all_toks.hxx> - // COMPONENTS - // PARAMETERS - -namespace cpp { - - - -#define DECL_TOK_HANDLER(token) \ - void Hdl_##token( \ - const Tok_##token & i_rTok ) { Call_Handler(i_rTok); } - -class TokenInterpreter -{ - public: - virtual ~TokenInterpreter() {} - - DECL_TOK_HANDLER(Identifier) - DECL_TOK_HANDLER(Operator) - DECL_TOK_HANDLER(operator) - DECL_TOK_HANDLER(class) - DECL_TOK_HANDLER(struct) - DECL_TOK_HANDLER(union) - DECL_TOK_HANDLER(enum) - DECL_TOK_HANDLER(typedef) - DECL_TOK_HANDLER(public) - DECL_TOK_HANDLER(protected) - DECL_TOK_HANDLER(private) - DECL_TOK_HANDLER(template) - DECL_TOK_HANDLER(virtual) - DECL_TOK_HANDLER(friend) - DECL_TOK_HANDLER(Tilde) - DECL_TOK_HANDLER(const) - DECL_TOK_HANDLER(volatile) - DECL_TOK_HANDLER(extern) - DECL_TOK_HANDLER(static) - DECL_TOK_HANDLER(mutable) - DECL_TOK_HANDLER(register) - DECL_TOK_HANDLER(inline) - DECL_TOK_HANDLER(explicit) - DECL_TOK_HANDLER(namespace) - DECL_TOK_HANDLER(using) - DECL_TOK_HANDLER(throw) - DECL_TOK_HANDLER(SwBracket_Left) - DECL_TOK_HANDLER(SwBracket_Right) - DECL_TOK_HANDLER(ArrayBracket_Left) - DECL_TOK_HANDLER(ArrayBracket_Right) - DECL_TOK_HANDLER(Bracket_Left) - DECL_TOK_HANDLER(Bracket_Right) - DECL_TOK_HANDLER(DoubleColon) - DECL_TOK_HANDLER(Semicolon) - DECL_TOK_HANDLER(Comma) - DECL_TOK_HANDLER(Colon) - DECL_TOK_HANDLER(Assign) - DECL_TOK_HANDLER(Less) - DECL_TOK_HANDLER(Greater) - DECL_TOK_HANDLER(Asterix) - DECL_TOK_HANDLER(AmpersAnd) - DECL_TOK_HANDLER(Ellipse) - DECL_TOK_HANDLER(typename) - DECL_TOK_HANDLER(DefineName) - DECL_TOK_HANDLER(MacroName) - DECL_TOK_HANDLER(MacroParameter) - DECL_TOK_HANDLER(PreProDefinition) - DECL_TOK_HANDLER(BuiltInType) - DECL_TOK_HANDLER(TypeSpecializer) - DECL_TOK_HANDLER(Constant) - - protected: - virtual void Call_Handler( - const cpp::Token & i_rTok ) = 0; -}; - -#undef DECL_TOK_HANDLER - - -// IMPLEMENTATION - - -} // namespace cpp - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/a_rdocu.hxx b/autodoc/source/parser/inc/adoc/a_rdocu.hxx deleted file mode 100644 index bf49609f29c4..000000000000 --- a/autodoc/source/parser/inc/adoc/a_rdocu.hxx +++ /dev/null @@ -1,73 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_A_RDOCU_HXX -#define ADC_ADOC_A_RDOCU_HXX - - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS - -class DocuDealer; - - - -namespace adoc -{ - -class Token; -class Adoc_PE; - -class DocuExplorer - -{ - public: - DocuExplorer(); - ~DocuExplorer(); - void StartNewFile( - DocuDealer & o_rDocuDistributor ); - - void Process_Token( - DYN adoc::Token & let_drToken ); - private: - DocuDealer * pDocuDistributor; - Dyn<Adoc_PE> pPE; - bool bIsPassedFirstDocu; -}; - - -} // namespace adoc - - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/adoc_tok.hxx b/autodoc/source/parser/inc/adoc/adoc_tok.hxx deleted file mode 100644 index fa4a143eaf73..000000000000 --- a/autodoc/source/parser/inc/adoc/adoc_tok.hxx +++ /dev/null @@ -1,64 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_ADOC_TOK_HXX -#define ADC_ADOC_ADOC_TOK_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/token.hxx> - // COMPONENTS - // PARAMETERS - - -namespace adoc { - - -class TokenInterpreter; - - -class Token : public TextToken -{ - public: - // LIFECYCLE - virtual ~Token() {} - - // OPERATIONS - virtual void DealOut( - ::TokenDealer & o_rDealer ); - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const = 0; -}; - - -} // namespace adoc - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/atokdeal.hxx b/autodoc/source/parser/inc/adoc/atokdeal.hxx deleted file mode 100644 index db2765f54e56..000000000000 --- a/autodoc/source/parser/inc/adoc/atokdeal.hxx +++ /dev/null @@ -1,62 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_ATOKDEAL_HXX -#define ADC_ADOC_ATOKDEAL_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <tokens/tokdeal.hxx> - // COMPONENTS - // PARAMETERS - - - -namespace adoc -{ - -class Token; - -class TokenDealer : virtual public ::TokenDealer -{ - public: - - virtual void Deal_AdcDocu( - adoc::Token & let_drToken ) = 0; -}; - - -} // namespace adoc - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/cx_a_std.hxx b/autodoc/source/parser/inc/adoc/cx_a_std.hxx deleted file mode 100644 index c9a6c1443b12..000000000000 --- a/autodoc/source/parser/inc/adoc/cx_a_std.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_CX_A_STD_HXX -#define ADC_ADOC_CX_A_STD_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkpcontx.hxx> - // COMPONENTS -#include <tokens/tkpstama.hxx> - // PARAMETERS - -class TextToken; - - -namespace adoc { - -class Cx_LineStart; -class Cx_CheckStar; -class Cx_AtTagCompletion; - - -/** -@descr -*/ -class Context_AdocStd : public autodoc::TkpDocuContext, - private StateMachineContext -{ - public: - // LIFECYCLE - Context_AdocStd(); - virtual void SetParentContext( - TkpContext & io_rParentContext, - const char * i_sMultiLineEndToken ); - ~Context_AdocStd(); - - // OPERATIONS - virtual void AssignDealer( - TokenDealer & o_rDealer ); - - virtual void ReadCharChain( - CharacterSource & io_rText ); - virtual bool PassNewToken(); - virtual void SetMode_IsMultiLine( - bool i_bTrue ); - // INQUIRY - virtual TkpContext & - FollowUpContext(); - private: - // SERVICE FUNCTIONS - virtual void PerformStatusFunction( - uintt i_nStatusSignal, - F_CRTOK i_fTokenCreateFunction, - CharacterSource & io_rText ); - - void SetupStateMachine(); - - // DATA - StateMachine aStateMachine; - TokenDealer * pDealer; - - // Contexts - TkpContext * pParentContext; - TkpContext * pFollowUpContext; - Dyn<Cx_LineStart> pCx_LineStart; - Dyn<Cx_CheckStar> pCx_CheckStar; - Dyn<Cx_AtTagCompletion> - pCx_AtTagCompletion; - - // Temporary data, used during ReadCharChain() - Dyn<TextToken> pNewToken; - bool bIsMultiline; -}; - - -} // namespace adoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/cx_a_sub.hxx b/autodoc/source/parser/inc/adoc/cx_a_sub.hxx deleted file mode 100644 index 43fe2fca8449..000000000000 --- a/autodoc/source/parser/inc/adoc/cx_a_sub.hxx +++ /dev/null @@ -1,148 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_CX_A_SUB_HXX -#define ADC_ADOC_CX_A_SUB_HXX - -// USED SERVICES - // BASE CLASSES -#include <tokens/tkpcontx.hxx> - // COMPONENTS -#include <tokens/tkpstama.hxx> - // PARAMETERS -#include <tokens/token.hxx> - - -namespace adoc { - - - - -class Cx_LineStart : public TkpContext -{ - public: - Cx_LineStart( - TkpContext & i_rFollowUpContext ); - - virtual void ReadCharChain( - CharacterSource & io_rText ); - virtual bool PassNewToken(); - virtual TkpContext & - FollowUpContext(); - - void SetCurToken( - TextToken::F_CRTOK i_fTokenCreateFunction ) - { fCur_TokenCreateFunction = i_fTokenCreateFunction; } - void AssignDealer( - TokenDealer & o_rDealer ) - { pDealer = &o_rDealer; } - private: - // DATA - TokenDealer * pDealer; - TkpContext * pFollowUpContext; - - Dyn<TextToken> pNewToken; - - TextToken::F_CRTOK fCur_TokenCreateFunction; -}; - - -/** -@descr -*/ - -class Cx_CheckStar : public TkpContext -{ - public: - // LIFECYCLE - Cx_CheckStar( - TkpContext & i_rFollowUpContext ); - void Set_End_FollowUpContext( - TkpContext & i_rEnd_FollowUpContext ) - { pEnd_FollowUpContext = &i_rEnd_FollowUpContext; } - - virtual void ReadCharChain( - CharacterSource & io_rText ); - virtual bool PassNewToken(); - - void SetCanBeEnd( - bool i_bCanBeEnd ) - { bCanBeEnd = i_bCanBeEnd; } - virtual TkpContext & - FollowUpContext(); - void AssignDealer( - TokenDealer & o_rDealer ) - { pDealer = &o_rDealer; } - private: - // DATA - TokenDealer * pDealer; - TkpContext * pFollowUpContext; - TkpContext * pEnd_FollowUpContext; - - Dyn<TextToken> pNewToken; - - bool bCanBeEnd; - bool bEndTokenFound; -}; - - -class Cx_AtTagCompletion : public TkpContext -{ - public: - Cx_AtTagCompletion( - TkpContext & i_rFollowUpContext ); - - virtual void ReadCharChain( - CharacterSource & io_rText ); - virtual bool PassNewToken(); - virtual TkpContext & - FollowUpContext(); - - void SetCurToken( - TextToken::F_CRTOK i_fTokenCreateFunction ) - { fCur_TokenCreateFunction = i_fTokenCreateFunction; } - void AssignDealer( - TokenDealer & o_rDealer ) - { pDealer = &o_rDealer; } - private: - // DATA - TokenDealer * pDealer; - TkpContext * pFollowUpContext; - - Dyn<TextToken> pNewToken; - - TextToken::F_CRTOK fCur_TokenCreateFunction; -}; - - -} // namespace adoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/docu_pe.hxx b/autodoc/source/parser/inc/adoc/docu_pe.hxx deleted file mode 100644 index ef49b2594c79..000000000000 --- a/autodoc/source/parser/inc/adoc/docu_pe.hxx +++ /dev/null @@ -1,195 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DOCU_PE_HXX -#define ADC_DOCU_PE_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <adoc/tokintpr.hxx> - // COMPONENTS - // PARAMETERS - -namespace ary -{ -namespace doc -{ - class OldCppDocu; -} -namespace info -{ - class AtTag; -} -} - - - -namespace adoc -{ - - -class Adoc_PE : public TokenInterpreter -{ - public: - Adoc_PE(); - ~Adoc_PE(); - - virtual void Hdl_at_std( - const Tok_at_std & i_rTok ); - virtual void Hdl_at_base( - const Tok_at_base & i_rTok ); - virtual void Hdl_at_exception( - const Tok_at_exception & - i_rTok ); - virtual void Hdl_at_impl( - const Tok_at_impl & i_rTok ); - virtual void Hdl_at_key( - const Tok_at_key & i_rTok ); - virtual void Hdl_at_param( - const Tok_at_param & - i_rTok ); - virtual void Hdl_at_see( - const Tok_at_see & i_rTok ); - virtual void Hdl_at_template( - const Tok_at_template & - i_rTok ); - virtual void Hdl_at_interface( - const Tok_at_interface & - i_rTok ); - virtual void Hdl_at_internal( - const Tok_at_internal & - i_rTok ); - virtual void Hdl_at_obsolete( - const Tok_at_obsolete & - i_rTok ); - virtual void Hdl_at_module( - const Tok_at_module & - i_rTok ); - virtual void Hdl_at_file( - const Tok_at_file & i_rTok ); - virtual void Hdl_at_gloss( - const Tok_at_gloss & - i_rTok ); - virtual void Hdl_at_global( - const Tok_at_global & - i_rTok ); - virtual void Hdl_at_include( - const Tok_at_include & - i_rTok ); - virtual void Hdl_at_label( - const Tok_at_label & - i_rTok ); - virtual void Hdl_at_since( - const Tok_at_since & - i_rTok ); - virtual void Hdl_at_HTML( - const Tok_at_HTML & - i_rTok ); - virtual void Hdl_at_NOHTML( - const Tok_at_NOHTML & - i_rTok ); - - virtual void Hdl_DocWord( - const Tok_DocWord & i_rTok ); - - virtual void Hdl_Whitespace( - const Tok_Whitespace & - i_rTok ); - virtual void Hdl_LineStart( - const Tok_LineStart & - i_rTok ); - virtual void Hdl_Eol( - const Tok_Eol & i_rTok ); - - virtual void Hdl_EoDocu( - const Tok_EoDocu & i_rTok ); - - - DYN ary::doc::OldCppDocu * - ReleaseJustParsedDocu(); - - bool IsComplete() const; - - private: - void InstallAtTag( - DYN ary::info::AtTag * - let_dpTag, - bool i_bImplicit = false ); /// True for implicit @short and @descr. - ary::doc::OldCppDocu & - CurDocu(); - ary::info::AtTag & CurAtTag(); - bool UsesHtmlInDocuText(); - - void RenameCurShortTag(); - void FinishCurShortTag(); - - - // DATA - enum E_TagState - { - ts_new, - ts_std - }; - enum E_DocuState - { - ds_wait_for_short = 0, - ds_in_short, - ds_1newline_after_short, - ds_in_descr, - ds_std - }; - - Dyn<ary::doc::OldCppDocu> - pCurDocu; - ary::info::AtTag * pCurAtTag; - uintt nLineCountInDocu; - UINT8 nCurSpecialMeaningTokens; - UINT8 nCurSubtractFromLineStart; - E_TagState eCurTagState; - E_DocuState eDocuState; - bool bIsComplete; - bool bUsesHtmlInDocuText; -}; - - -// IMPLEMENTATION -inline bool -Adoc_PE::IsComplete() const -{ - return bIsComplete; -} - - - - -} // namespace adoc -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/prs_adoc.hxx b/autodoc/source/parser/inc/adoc/prs_adoc.hxx deleted file mode 100644 index 5326552dd017..000000000000 --- a/autodoc/source/parser/inc/adoc/prs_adoc.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_PRS_ADOC_HXX -#define ADC_ADOC_PRS_ADOC_HXX - - - -#include <autodoc/prs_docu.hxx> - -namespace adoc -{ - - -class DocuParser_AutodocStyle : public autodoc::DocumentationParser_Ifc -{ - public: - DocuParser_AutodocStyle(); - virtual ~DocuParser_AutodocStyle(); - - virtual DYN autodoc::TkpDocuContext * - Create_DocuContext() const; -}; - - - -} // namespace adoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/tk_attag.hxx b/autodoc/source/parser/inc/adoc/tk_attag.hxx deleted file mode 100644 index 11c21124e67d..000000000000 --- a/autodoc/source/parser/inc/adoc/tk_attag.hxx +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_TK_ATTAG_HXX -#define ADC_ADOC_TK_ATTAG_HXX - -// USED SERVICES - // BASE CLASSES -#include <adoc/adoc_tok.hxx> - // COMPONENTS - // PARAMETERS -#include <ary/info/inftypes.hxx> - -namespace adoc { - -typedef ary::info::E_AtTagId E_AtTagId; - - -class Tok_at_std : public Token -{ - public: - Tok_at_std( - E_AtTagId i_nId ) - : eId(i_nId) {} - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - virtual const char * - Text() const; - E_AtTagId Id() const { return eId; } - - private: - E_AtTagId eId; -}; - - -#define DECL_TOKEN_CLASS(name) \ -class Tok_##name : public Token \ -{ public: \ - virtual void Trigger( \ - TokenInterpreter & io_rInterpreter ) const; \ - virtual const char * \ - Text() const; \ -} - - -DECL_TOKEN_CLASS(at_base); -DECL_TOKEN_CLASS(at_exception); -DECL_TOKEN_CLASS(at_impl); -DECL_TOKEN_CLASS(at_key); -DECL_TOKEN_CLASS(at_param); -DECL_TOKEN_CLASS(at_see); -DECL_TOKEN_CLASS(at_template); -DECL_TOKEN_CLASS(at_interface); -DECL_TOKEN_CLASS(at_internal); -DECL_TOKEN_CLASS(at_obsolete); -DECL_TOKEN_CLASS(at_module); -DECL_TOKEN_CLASS(at_file); -DECL_TOKEN_CLASS(at_gloss); -DECL_TOKEN_CLASS(at_global); -DECL_TOKEN_CLASS(at_include); -DECL_TOKEN_CLASS(at_label); -DECL_TOKEN_CLASS(at_HTML); -DECL_TOKEN_CLASS(at_NOHTML); -DECL_TOKEN_CLASS(at_since); - - -#undef DECL_TOKEN_CLASS - - - -} // namespace adoc - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/tk_docw.hxx b/autodoc/source/parser/inc/adoc/tk_docw.hxx deleted file mode 100644 index fa53d8968826..000000000000 --- a/autodoc/source/parser/inc/adoc/tk_docw.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_TK_DOCW_HXX -#define ADC_ADOC_TK_DOCW_HXX - -// USED SERVICES - // BASE CLASSES -#include <adoc/adoc_tok.hxx> - // COMPONENTS - // PARAMETERS - -namespace adoc { - - -class Tok_DocWord : public Token -{ - public: - // Spring and Fall - Tok_DocWord( - const char * i_sText ) - : sText(i_sText) {} - // OPERATIONS - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - // INQUIRY - virtual const char* Text() const; - uintt Length() const { return sText.length(); } - - private: - // DATA - String sText; -}; - -class Tok_Whitespace : public Token -{ - public: - // Spring and Fall - Tok_Whitespace( - UINT8 i_nSize ) - : nSize(i_nSize) {} - // OPERATIONS - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - // INQUIRY - virtual const char* Text() const; - UINT8 Size() const { return nSize; } - - private: - // DATA - UINT8 nSize; -}; - -class Tok_LineStart : public Token -{ - public: - // Spring and Fall - Tok_LineStart( - UINT8 i_nSize ) - : nSize(i_nSize) {} - // OPERATIONS - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - // INQUIRY - virtual const char* Text() const; - UINT8 Size() const { return nSize; } - - private: - // DATA - UINT8 nSize; -}; - -class Tok_Eol : public Token -{ public: - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - virtual const char * - Text() const; -}; - -class Tok_EoDocu : public Token -{ public: - virtual void Trigger( - TokenInterpreter & io_rInterpreter ) const; - virtual const char * - Text() const; -}; - - -} // namespace adoc - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/adoc/tokintpr.hxx b/autodoc/source/parser/inc/adoc/tokintpr.hxx deleted file mode 100644 index f24b2ea80a97..000000000000 --- a/autodoc/source/parser/inc/adoc/tokintpr.hxx +++ /dev/null @@ -1,119 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_ADOC_TOKINTPR_HXX -#define ADC_ADOC_TOKINTPR_HXX - - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS - -namespace adoc { - - -class Tok_at_std; -class Tok_at_base; -class Tok_at_exception; -class Tok_at_impl; -class Tok_at_key; -class Tok_at_param; -class Tok_at_see; -class Tok_at_template; -class Tok_at_interface; -class Tok_at_internal; -class Tok_at_obsolete; -class Tok_at_module; -class Tok_at_file; -class Tok_at_gloss; -class Tok_at_global; -class Tok_at_include; -class Tok_at_label; -class Tok_at_since; -class Tok_at_HTML; // Sets default to: Use HTML in DocuText -class Tok_at_NOHTML; // Sets default to: Don't use HTML in DocuText - -class Tok_DocWord; -class Tok_LineStart; -class Tok_Whitespace; -class Tok_Eol; -class Tok_EoDocu; - - -#define DECL_TOK_HANDLER(token) \ - virtual void Hdl_##token( \ - const Tok_##token & i_rTok ) = 0 - - - -class TokenInterpreter -{ - public: - virtual ~TokenInterpreter() {} - - DECL_TOK_HANDLER(at_std); - DECL_TOK_HANDLER(at_base); - DECL_TOK_HANDLER(at_exception); - DECL_TOK_HANDLER(at_impl); - DECL_TOK_HANDLER(at_key); - DECL_TOK_HANDLER(at_param); - DECL_TOK_HANDLER(at_see); - DECL_TOK_HANDLER(at_template); - DECL_TOK_HANDLER(at_interface); - DECL_TOK_HANDLER(at_internal); - DECL_TOK_HANDLER(at_obsolete); - DECL_TOK_HANDLER(at_module); - DECL_TOK_HANDLER(at_file); - DECL_TOK_HANDLER(at_gloss); - DECL_TOK_HANDLER(at_global); - DECL_TOK_HANDLER(at_include); - DECL_TOK_HANDLER(at_label); - DECL_TOK_HANDLER(at_since); - DECL_TOK_HANDLER(at_HTML); - DECL_TOK_HANDLER(at_NOHTML); - DECL_TOK_HANDLER(DocWord); - DECL_TOK_HANDLER(Whitespace); - DECL_TOK_HANDLER(LineStart); - DECL_TOK_HANDLER(Eol); - DECL_TOK_HANDLER(EoDocu); -}; - -#undef DECL_TOK_HANDLER - - -// IMPLEMENTATION - - -} // namespace adoc - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/cpp/ctokdeal.hxx b/autodoc/source/parser/inc/cpp/ctokdeal.hxx deleted file mode 100644 index 9d1f59c08e53..000000000000 --- a/autodoc/source/parser/inc/cpp/ctokdeal.hxx +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CTOKDEAL_HXX -#define ADC_CPP_CTOKDEAL_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <tokens/tokdeal.hxx> - // COMPONENTS - // PARAMETERS - - -namespace cpp -{ - -class Token; -class Tok_UnblockMacro; - - -class TokenDealer : virtual public ::TokenDealer -{ - public: - - virtual void Deal_CppCode( - cpp::Token & let_drToken ) = 0; - - /** This is to be used only by the internal macro expander - ( ::cpp::PreProcessor ). - These tokens are inserted into the source text temporary to make clear, - where a specific macro replacement ends and therefore the macro's name - becomes valid again. - - @see ::cpp::Tok_UnblockMacro - @see ::cpp::PreProcessor - */ - virtual void Deal_Cpp_UnblockMacro( - Tok_UnblockMacro & let_drToken ) = 0; -}; - - - -} // namespace cpp - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/cpp/prs_cpp.hxx b/autodoc/source/parser/inc/cpp/prs_cpp.hxx deleted file mode 100644 index 61512f24b54f..000000000000 --- a/autodoc/source/parser/inc/cpp/prs_cpp.hxx +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_PRS_CPP_HXX -#define ADC_CPP_PRS_CPP_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <autodoc/prs_code.hxx> - // COMPONENTS - // PARAMETERS - -namespace cpp -{ - -struct S_RunningData; - -class Cpluplus_Parser : public autodoc::CodeParser_Ifc -{ - public: - Cpluplus_Parser(); - virtual ~Cpluplus_Parser(); - - - virtual void Setup( - ary::Repository & o_rRepository, - const autodoc::DocumentationParser_Ifc & - i_rDocumentationInterpreter ); - - virtual void Run( - const autodoc::FileCollector_Ifc & - i_rFiles ); - private: - Dyn<S_RunningData> pRunningData; -}; - - - - -} // namespace cpp -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/doc_deal.hxx b/autodoc/source/parser/inc/doc_deal.hxx deleted file mode 100644 index f9b12c8b2299..000000000000 --- a/autodoc/source/parser/inc/doc_deal.hxx +++ /dev/null @@ -1,92 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_DOC_DEAL_HXX -#define ADC_DOC_DEAL_HXX - -// BASE CLASSES -#include <tokens/tokproct.hxx> -// USED SERVICES -#include <ary/cpp/c_types4cpp.hxx> - -namespace ary -{ -namespace doc -{ - class OldCppDocu; -} -} - - - - -class DocuDealer -{ - public: - // INQUIRY - virtual ~DocuDealer() {} - - // OPERATIONS - /** @descr - This distributes the let_drDocu to the matching ary::RepositoryEntity . - - If the docu is not inline, it will be saved and later given to the next - ary::CodeEntity. Or it will be discarded, if there does not come a matching - ary::CodeEntity . - - If the docu is inline after a function header or after an enum value - or after a function parameter or after a base class, it will be stored - together with the matching function, enum value, parameter or base class. - - If the documentation is @file or @project or @glos(sary) it will be - stored at the matching ary::cpp::FileGroup, ary::cpp::ProjectGroup - or ary::Glossary. - */ - void TakeDocu( - DYN ary::doc::OldCppDocu & - let_drInfo ); - private: - virtual void do_TakeDocu( - DYN ary::doc::OldCppDocu & - let_drInfo ) = 0; -}; - - - - -// IMPLEMENTATION -inline void -DocuDealer::TakeDocu( DYN ary::doc::OldCppDocu & let_drInfo ) - { do_TakeDocu(let_drInfo); } - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/semantic/callf.hxx b/autodoc/source/parser/inc/semantic/callf.hxx deleted file mode 100644 index 6a8c829e00ee..000000000000 --- a/autodoc/source/parser/inc/semantic/callf.hxx +++ /dev/null @@ -1,289 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_CALLF_HXX -#define ADC_CPP_CALLF_HXX - -// USED SERVICES - - - - -/** This represents a function to be called, if a specific kind of token - arrives in the semantic parser. - - @descr This class is only to be used as member of PeStatus<PE>. - @template PE - The owning ParseEnvironment. - @see PeStatus, ParseEnvironment -*/ -template <class PE> -class CallFunction -{ - public: - typedef void (PE::*F_Tok)(const char *); - - CallFunction( - F_Tok i_f2Call, - INT16 i_nTokType ); - - F_Tok GetF() const; - INT16 TokType() const; - - private: - // DATA - F_Tok f2Call; - INT16 nTokType; -}; - - -/** One state within a ParseEnvironment. - - @template PE - The owning ParseEnvironment. -*/ -template <class PE> -class PeStatus -{ - public: - typedef typename CallFunction<PE>::F_Tok F_Tok; - - PeStatus( - PE & i_rMyPE, - uintt i_nSize, - F_Tok * i_pFuncArray, - INT16 * i_pTokTypeArray, - F_Tok i_pDefault ); - virtual ~PeStatus(); - - virtual void Call_Handler( - INT16 i_nTokTypeId, - const char * i_sTokenText ) const; - - private: - bool CheckForCall( - uintt i_nPos, - INT16 i_nTokTypeId, - const char * i_sTokenText ) const; - - PE * pMyPE; - std::vector< CallFunction<PE> > - aBranches; - F_Tok fDefault; -}; - - -template <class PE> -class PeStatusArray -{ - public: - typedef typename PE::E_State State; - - PeStatusArray(); - void InsertState( - State i_ePosition, - DYN PeStatus<PE> & let_drState ); - ~PeStatusArray(); - - const PeStatus<PE> & - operator[]( - State i_ePosition ) const; - - void SetCur( - State i_eCurState ); - const PeStatus<PE> & - Cur() const; - - private: - DYN PeStatus<PE> * aStati[PE::size_of_states]; - State eState; -}; - - - -// IMPLEMENTATION - - -// CallFunction - -template <class PE> -CallFunction<PE>::CallFunction( F_Tok i_f2Call, - INT16 i_nTokType ) - : f2Call(i_f2Call), - nTokType(i_nTokType) -{ -} - -template <class PE> -inline typename CallFunction<PE>::F_Tok -CallFunction<PE>::GetF() const -{ - return f2Call; -} - -template <class PE> -inline INT16 -CallFunction<PE>::TokType() const -{ - return nTokType; -} - - - -// PeStatus - -template <class PE> -PeStatus<PE>::PeStatus( PE & i_rMyPE, - uintt i_nSize, - F_Tok * i_pFuncArray, - INT16 * i_pTokTypeArray, - F_Tok i_fDefault ) - : pMyPE(&i_rMyPE), - fDefault(i_fDefault) -{ - aBranches.reserve(i_nSize); - for ( uintt i = 0; i < i_nSize; ++i ) - { -// csv_assert(i > 0 ? i_pTokTypeArray[i] > i_pTokTypeArray[i-1] : true); - aBranches.push_back( CallFunction<PE>( i_pFuncArray[i], i_pTokTypeArray[i]) ); - } // end for -} - -template <class PE> -PeStatus<PE>::~PeStatus() -{ - -} - -template <class PE> -void -PeStatus<PE>::Call_Handler( INT16 i_nTokTypeId, - const char * i_sTokenText ) const -{ - uintt nSize = aBranches.size(); - uintt nPos = nSize / 2; - - if ( i_nTokTypeId < aBranches[nPos].TokType() ) - { - for ( --nPos; intt(nPos) >= 0; --nPos ) - { - if (CheckForCall(nPos, i_nTokTypeId, i_sTokenText)) - return; - } - } - else - { - for ( ; nPos < nSize; ++nPos ) - { - if (CheckForCall(nPos, i_nTokTypeId, i_sTokenText)) - return; - } - } - - (pMyPE->*fDefault)(i_sTokenText); -} - -template <class PE> -bool -PeStatus<PE>::CheckForCall( uintt i_nPos, - INT16 i_nTokTypeId, - const char * i_sTokenText ) const -{ - if ( aBranches[i_nPos].TokType() == i_nTokTypeId ) - { - (pMyPE->*aBranches[i_nPos].GetF())(i_sTokenText); - return true; - } - return false; -} - -// PeStatusArray - -template <class PE> -PeStatusArray<PE>::PeStatusArray() - : eState(PE::size_of_states) -{ - memset(aStati, 0, sizeof aStati); -} - -template <class PE> -void -PeStatusArray<PE>::InsertState( State i_ePosition, - DYN PeStatus<PE> & let_drState ) -{ - csv_assert(aStati[i_ePosition] == 0); - aStati[i_ePosition] = &let_drState; -} - -template <class PE> -PeStatusArray<PE>::~PeStatusArray() -{ - int i_max = PE::size_of_states; - for (int i = 0; i < i_max; i++) - { - delete aStati[i]; - } // end for -} - -template <class PE> -inline const PeStatus<PE> & -PeStatusArray<PE>::operator[]( State i_ePosition ) const -{ - csv_assert( uintt(i_ePosition) < PE::size_of_states ); - csv_assert( aStati[i_ePosition] != 0 ); - return *aStati[i_ePosition]; -} - -template <class PE> -inline void -PeStatusArray<PE>::SetCur( State i_eCurState ) -{ - eState = i_eCurState; -} - - -template <class PE> -const PeStatus<PE> & -PeStatusArray<PE>::Cur() const -{ - return (*this)[eState]; -} - -#define SEMPARSE_CREATE_STATUS(penv, state, default_function) \ - pStati->InsertState( state, \ - *new PeStatus<penv>( \ - *this, \ - sizeof( stateT_##state ) / sizeof (INT16), \ - stateF_##state, \ - stateT_##state, \ - &penv::default_function ) ) - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/semantic/parseenv.hxx b/autodoc/source/parser/inc/semantic/parseenv.hxx deleted file mode 100644 index 058989ea3739..000000000000 --- a/autodoc/source/parser/inc/semantic/parseenv.hxx +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_PARSEENV_HXX -#define ADC_PARSEENV_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <tokens/tokproct.hxx> - // COMPONENTS - // PARAMETERS - - -namespace ary -{ -namespace info -{ -class CodeInfo; -} // namespace info -} // namespace ary) - - - -class SubPeUseIfc; - - -class ParseEnvironment : protected TokenProcessing_Types -{ - public: - virtual ~ParseEnvironment() {} - - // Parsing - void Enter( - E_EnvStackAction i_eWayOfEntering ); - void Leave( - E_EnvStackAction i_eWayOfLeaving ); - void SetCurSPU( - const SubPeUseIfc * i_pCurSPU ); - - ParseEnvironment * Parent() const; - - - // ACCESS - protected: - ParseEnvironment( - ParseEnvironment * i_pParent ); - const SubPeUseIfc * CurSubPeUse() const; - private: - virtual void InitData() = 0; - virtual void TransferData() = 0; - - ParseEnvironment * pParent; - const SubPeUseIfc * pCurSubPe; -}; - -class SubPeUseIfc -{ - public: - virtual ~SubPeUseIfc() {} - - virtual void InitParse() const = 0; - virtual void GetResults() const = 0; -}; - - - -// IMPLEMENTATION - -inline void -ParseEnvironment::SetCurSPU( const SubPeUseIfc * i_pCurSPU ) - { pCurSubPe = i_pCurSPU; } - -inline ParseEnvironment * -ParseEnvironment::Parent() const - { return pParent; } - -inline const SubPeUseIfc * -ParseEnvironment::CurSubPeUse() const - { return pCurSubPe; } - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/semantic/sub_pe.hxx b/autodoc/source/parser/inc/semantic/sub_pe.hxx deleted file mode 100644 index 0aef6804eafe..000000000000 --- a/autodoc/source/parser/inc/semantic/sub_pe.hxx +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_SUB_PE_HXX -#define ADC_CPP_SUB_PE_HXX - - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS - - -class ParseEnvironment; - -template <class PE, class SUB> -class SubPe -{ - public: - typedef SubPe< PE, SUB > self; - - SubPe( - PE & i_rParent ); - PE & Parent() const; - SUB & Child() const; - - ParseEnvironment & Get() const; - - private: - SUB & CreateChild() const; - - PE & rParent; - Dyn<SUB> pChild; -}; - - - -// IMPLEMENTATION - - -// SubPe - -template <class PE, class SUB> -SubPe<PE,SUB>::SubPe( PE & i_rParent ) - : rParent(i_rParent) -{ -} - -template <class PE, class SUB> -PE & -SubPe<PE,SUB>::Parent() const -{ - return rParent; -} - -template <class PE, class SUB> -inline SUB & -SubPe<PE,SUB>::Child() const -{ - return pChild ? *pChild.MutablePtr() : CreateChild(); -} - -template <class PE, class SUB> -ParseEnvironment & -SubPe<PE,SUB>::Get() const -{ - return Child(); -} - -template <class PE, class SUB> -SUB & -SubPe<PE,SUB>::CreateChild() const -{ - self * pThis = const_cast< self* >(this); - - SUB * pNewChild = new SUB( &rParent); - - pThis->pChild = pNewChild; - - return *pChild.MutablePtr(); -} - - - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/semantic/sub_peu.hxx b/autodoc/source/parser/inc/semantic/sub_peu.hxx deleted file mode 100644 index 9960e3e751e2..000000000000 --- a/autodoc/source/parser/inc/semantic/sub_peu.hxx +++ /dev/null @@ -1,133 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef ADC_CPP_SUB_PEU_HXX -#define ADC_CPP_SUB_PEU_HXX - - - -// USED SERVICES - // BASE CLASSES -#include <semantic/parseenv.hxx> -#include <tokens/tokproct.hxx> - // COMPONENTS - // PARAMETERS -#include <semantic/sub_pe.hxx> - - - -template <class PE, class SUB> -class SubPeUse : public SubPeUseIfc, - private TokenProcessing_Types -{ - public: - typedef void (PE::*F_INIT)(); - typedef void (PE::*F_RETURN)(); - - SubPeUse( - SubPe<PE,SUB> & i_rSubPeCreator, - F_INIT i_fInit, - F_RETURN i_fReturn ); - ~SubPeUse(); - - void Push( - E_TokenDone i_eDone ); - virtual void InitParse() const; - virtual void GetResults() const; - - PE & Parent() const; - SUB & Child() const; - - private: - // DATA - SubPe<PE,SUB> & rSubPeCreator; - F_INIT fInit; - F_RETURN fReturn; -}; - - -// IMPLEMENTATION - - -template <class PE, class SUB> -SubPeUse<PE,SUB>::SubPeUse( SubPe<PE,SUB> & i_rSubPeCreator, - F_INIT i_fInit, - F_RETURN i_fReturn ) - : rSubPeCreator(i_rSubPeCreator), - fInit(i_fInit), - fReturn(i_fReturn) -{ -} - -template <class PE, class SUB> -SubPeUse<PE,SUB>::~SubPeUse() -{ -} - -template <class PE, class SUB> -void -SubPeUse<PE,SUB>::Push( E_TokenDone i_eDone ) -{ - Parent().SetTokenResult( i_eDone, push, &rSubPeCreator.Get() ); - Parent().SetCurSPU(this); -} - -template <class PE, class SUB> -void -SubPeUse<PE,SUB>::InitParse() const -{ - if (fInit != 0) - (Parent().*fInit)(); -} - -template <class PE, class SUB> -void -SubPeUse<PE,SUB>::GetResults() const -{ - if (fReturn != 0) - (Parent().*fReturn)(); -} - -template <class PE, class SUB> -inline PE & -SubPeUse<PE,SUB>::Parent() const -{ - return rSubPeCreator.Parent(); -} - -template <class PE, class SUB> -inline SUB & -SubPeUse<PE,SUB>::Child() const -{ - return rSubPeCreator.Child(); -} - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/autodoc/source/parser/inc/tokens/tokdeal.hxx b/autodoc/source/parser/inc/tokens/tokdeal.hxx index 3d70cdd4ad03..2e7bb99c8a41 100644 --- a/autodoc/source/parser/inc/tokens/tokdeal.hxx +++ b/autodoc/source/parser/inc/tokens/tokdeal.hxx @@ -29,19 +29,6 @@ #ifndef ADC_TOKDEAL_HXX #define ADC_TOKDEAL_HXX - - -// USED SERVICES - // BASE CLASSES - // COMPONENTS - // PARAMETERS - -namespace cpp -{ - class Distributor; -} - - class TokenDealer { @@ -50,8 +37,6 @@ class TokenDealer virtual void Deal_Eol() = 0; virtual void Deal_Eof() = 0; - virtual cpp::Distributor * - AsDistributor() = 0; }; #endif diff --git a/autodoc/source/parser/kernel/parsefct.cxx b/autodoc/source/parser/kernel/parsefct.cxx index 0f157a4159e6..07acd88bda3f 100644 --- a/autodoc/source/parser/kernel/parsefct.cxx +++ b/autodoc/source/parser/kernel/parsefct.cxx @@ -31,8 +31,6 @@ // NOT FULLY DECLARED SERVICES -#include <cpp/prs_cpp.hxx> -#include <adoc/prs_adoc.hxx> #include <tools/filecoll.hxx> @@ -61,18 +59,6 @@ ParseToolsFactory::~ParseToolsFactory() { } -DYN autodoc::CodeParser_Ifc * -ParseToolsFactory::Create_Parser_Cplusplus() const -{ - return new cpp::Cpluplus_Parser; -} - -DYN autodoc::DocumentationParser_Ifc * -ParseToolsFactory::Create_DocuParser_AutodocStyle() const -{ - return new adoc::DocuParser_AutodocStyle; -} - DYN autodoc::FileCollector_Ifc * ParseToolsFactory::Create_FileCollector( uintt i_nEstimatedNrOfFiles ) const { diff --git a/autodoc/source/parser/kernel/parsefct.hxx b/autodoc/source/parser/kernel/parsefct.hxx index b4cfa443f007..cc42e09a5521 100644 --- a/autodoc/source/parser/kernel/parsefct.hxx +++ b/autodoc/source/parser/kernel/parsefct.hxx @@ -42,10 +42,6 @@ class ParseToolsFactory : public autodoc::ParseToolsFactory_Ifc ParseToolsFactory(); virtual ~ParseToolsFactory(); - virtual DYN autodoc::CodeParser_Ifc * - Create_Parser_Cplusplus() const; - virtual DYN autodoc::DocumentationParser_Ifc * - Create_DocuParser_AutodocStyle() const; virtual DYN autodoc::FileCollector_Ifc * Create_FileCollector( uintt i_nEstimatedNrOfFiles ) const; diff --git a/autodoc/source/parser/semantic/makefile.mk b/autodoc/source/parser/semantic/makefile.mk deleted file mode 100644 index da7e8f154b43..000000000000 --- a/autodoc/source/parser/semantic/makefile.mk +++ /dev/null @@ -1,58 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org 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 version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/.. - -PRJNAME=autodoc -TARGET=parser_semantic - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=true -PRJINC=$(PRJ)$/source - -.INCLUDE : settings.mk -.INCLUDE : $(PRJ)$/source$/mkinc$/fullcpp.mk - - - -# --- Files -------------------------------------------------------- - - -OBJFILES= \ - $(OBJ)$/parseenv.obj - - - - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - - - diff --git a/autodoc/source/parser/semantic/parseenv.cxx b/autodoc/source/parser/semantic/parseenv.cxx deleted file mode 100644 index aa998d038542..000000000000 --- a/autodoc/source/parser/semantic/parseenv.cxx +++ /dev/null @@ -1,89 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <precomp.h> -#include <semantic/parseenv.hxx> - - -// NOT FULLY DECLARED SERVICES -#include <ary/doc/d_oldcppdocu.hxx> -#include <x_parse.hxx> - - -void -ParseEnvironment::Enter( E_EnvStackAction i_eWayOfEntering ) -{ - switch (i_eWayOfEntering) - { - case push: - InitData(); - if ( Parent() != 0 ) - { - csv_assert( Parent()->CurSubPeUse() != 0 ); - Parent()->CurSubPeUse()->InitParse(); - } - break; - case pop_success: - break; - case pop_failure: - break; - default: - csv_assert(false); - } // end switch -} - -void -ParseEnvironment::Leave( E_EnvStackAction i_eWayOfLeaving ) -{ - switch (i_eWayOfLeaving) - { - case push: - break; - case pop_success: - TransferData(); - if ( Parent() != 0 ) - { - csv_assert( Parent()->CurSubPeUse() != 0 ); - Parent()->CurSubPeUse()->GetResults(); - } - break; - case pop_failure: - break; - default: - csv_assert(false); - } // end switch -} - -ParseEnvironment::ParseEnvironment( ParseEnvironment * i_pParent ) - : pParent(i_pParent), - // pDocu, - pCurSubPe(0) -{ -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |