summaryrefslogtreecommitdiffstats
path: root/autodoc/inc/ary/cpp/usedtype.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'autodoc/inc/ary/cpp/usedtype.hxx')
-rw-r--r--autodoc/inc/ary/cpp/usedtype.hxx215
1 files changed, 0 insertions, 215 deletions
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: */