summaryrefslogtreecommitdiff
path: root/autodoc/source/parser/cpp/pe_funct.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'autodoc/source/parser/cpp/pe_funct.cxx')
-rw-r--r--autodoc/source/parser/cpp/pe_funct.cxx612
1 files changed, 0 insertions, 612 deletions
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: */