LCOV - code coverage report
Current view: top level - libreoffice/autodoc/source/parser_i/idl - parsenv2.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 56 63 88.9 %
Date: 2012-12-27 Functions: 14 18 77.8 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <precomp.h>
      21             : #include <s2_luidl/parsenv2.hxx>
      22             : 
      23             : 
      24             : // NOT FULLY DEFINED SERVICES
      25             : #include <ary/ary.hxx>
      26             : #include <ary/getncast.hxx>
      27             : #include <ary/qualiname.hxx>
      28             : #include <ary/doc/d_oldidldocu.hxx>
      29             : #include <ary/idl/i_gate.hxx>
      30             : #include <ary/idl/i_ce.hxx>
      31             : #include <ary/idl/i_enum.hxx>
      32             : #include <ary/idl/i_enumvalue.hxx>
      33             : #include <ary/idl/i_module.hxx>
      34             : #include <ary/idl/ip_ce.hxx>
      35             : #include <parser/parserinfo.hxx>
      36             : #include <adc_msg.hxx>
      37             : #include <s2_luidl/uidl_tok.hxx>
      38             : #include <x_parse2.hxx>
      39             : 
      40             : 
      41             : 
      42             : 
      43             : namespace csi
      44             : {
      45             : namespace uidl
      46             : {
      47             : 
      48             : 
      49         120 : UnoIDL_PE::~UnoIDL_PE()
      50             : {
      51         120 : }
      52             : 
      53             : void
      54         120 : UnoIDL_PE::EstablishContacts( UnoIDL_PE *               io_pParentPE,
      55             :                               ary::Repository &         io_rRepository,
      56             :                               TokenProcessing_Result &  o_rResult )
      57             : {
      58         120 :     pRepository = &io_rRepository;
      59         120 :     aMyNode.EstablishContacts(io_pParentPE, io_rRepository.Gate_Idl(), o_rResult);
      60         120 : }
      61             : 
      62             : //void
      63             : //UnoIDL_PE::EstablishContacts( UnoIDL_PE *             io_pParentPE,
      64             : //                            ary::idl::Gate &          io_rGate,
      65             : //                            TokenProcessing_Result &  o_rResult )
      66             : //{
      67             : //  aMyNode.EstablishContacts(io_pParentPE, io_rGate, o_rResult);
      68             : //}
      69             : 
      70             : void
      71      113638 : UnoIDL_PE::Enter( E_EnvStackAction  i_eWayOfEntering )
      72             : {
      73      113638 :     switch (i_eWayOfEntering)
      74             :     {
      75             :         case push_sure:
      76       56820 :                 InitData();
      77       56820 :                 break;
      78             :         case push_try:
      79             :                 csv_assert(false);
      80           0 :                 break;
      81             :         case pop_success:
      82       56818 :                 ReceiveData();
      83       56818 :                 break;
      84             :         case pop_failure:
      85           0 :                 throw X_AutodocParser(X_AutodocParser::x_Any);
      86             :                 // no break because of throw
      87             :         default:
      88             :             csv_assert(false);
      89             :     }   // end switch
      90      113638 : }
      91             : 
      92             : void
      93      113639 : UnoIDL_PE::Leave( E_EnvStackAction  i_eWayOfLeaving )
      94             : {
      95      113639 :     switch (i_eWayOfLeaving)
      96             :     {
      97             :         case push_sure:
      98       56820 :                 break;
      99             :         case push_try:
     100             :                 csv_assert(false);
     101           0 :                 break;
     102             :         case pop_success:
     103       56818 :                 TransferData();
     104       56818 :                 break;
     105             :         case pop_failure:
     106           1 :                 throw X_AutodocParser(X_AutodocParser::x_Any);
     107             :                 // no break because of throw
     108             :         default:
     109             :             csv_assert(false);
     110             :     }   // end switch
     111      113638 : }
     112             : 
     113             : void
     114       74537 : UnoIDL_PE::SetDocu( DYN ary::doc::OldIdlDocu * let_dpDocu )
     115             : {
     116       74537 :     pDocu = let_dpDocu;
     117       74537 : }
     118             : 
     119             : void
     120        3018 : UnoIDL_PE::SetPublished()
     121             : {
     122        3018 :     if (NOT pDocu)
     123             :     {
     124        3016 :         pDocu = new ary::doc::OldIdlDocu;
     125             :     }
     126        3018 :     pDocu->SetPublished();
     127        3018 : }
     128             : 
     129             : void
     130        1436 : UnoIDL_PE::SetOptional()
     131             : {
     132        1436 :     if (NOT pDocu)
     133             :     {
     134          78 :         pDocu = new ary::doc::OldIdlDocu;
     135             :     }
     136        1436 :     pDocu->SetOptional();
     137        1436 : }
     138             : 
     139             : void
     140       37125 : UnoIDL_PE::PassDocuAt( ary::idl::CodeEntity & io_rCe )
     141             : {
     142       37125 :     if (pDocu)
     143             :     {
     144       16643 :         io_rCe.Set_Docu(*pDocu.Release());
     145             :     }
     146       23322 :     else if // KORR_FUTURE
     147             :             // Re-enable doc-warning for Enum Values, as soon as there is a
     148             :             //   @option -no-doc-for-enumvalues.
     149       20482 :             (     NOT ary::is_type<ary::idl::Module>(io_rCe)
     150        2840 :               AND NOT ary::is_type<ary::idl::Enum>(io_rCe)  )
     151             :     {
     152        2809 :         TheMessages().Out_MissingDoc(
     153        2809 :                         io_rCe.LocalName(),
     154        2809 :                         ParseInfo().CurFile(),
     155        5618 :                         ParseInfo().CurLine() );
     156             :     }
     157       37125 : }
     158             : 
     159             : void
     160           0 : UnoIDL_PE::InitData()
     161             : {
     162             :     // Needs not anything to do.
     163           0 : }
     164             : 
     165             : void
     166        1505 : UnoIDL_PE::ReceiveData()
     167             : {
     168             :     // Needs not anything to do.
     169        1505 : }
     170             : 
     171             : const ary::idl::Module &
     172       87694 : UnoIDL_PE::CurNamespace() const
     173             : {
     174       87694 :     if ( Parent() != 0 )
     175       87694 :         return Parent()->CurNamespace();
     176             :     else
     177             :     {
     178             :         csv_assert(false);
     179           0 :         return *(const ary::idl::Module*)0;
     180             :     }
     181             : }
     182             : 
     183             : const ParserInfo &
     184        8494 : UnoIDL_PE::ParseInfo() const
     185             : {
     186        8494 :     if ( Parent() != 0 )
     187        8494 :         return Parent()->ParseInfo();
     188             :     else
     189             :     {
     190             :         csv_assert(false);
     191           0 :         return *(const ParserInfo*)0;
     192             :     }
     193             : }
     194             : 
     195         120 : UnoIDL_PE::UnoIDL_PE()
     196             :     :   aMyNode(),
     197             :         pDocu(),
     198         120 :         pRepository(0)
     199             : {
     200         120 : }
     201             : 
     202             : 
     203             : }   // namespace uidl
     204           3 : }   // namespace csi
     205             : 
     206             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10