LTP GCOV extension - code coverage report
Current view: directory - src/cpp/dev/idlc/back - CodePrinter.cpp
Test: YAORB-0.2.info
Date: 2006-02-27 Instrumented lines: 34
Code covered: 91.2 % Executed lines: 31

       1                 : //==============================================================================
       2                 : // File <$/src/cpp/dev/idlc/back/CodePrinter.cpp>
       3                 : // This file is part of YaOrb : Yet Another Object Request Broker,
       4                 : // Copyright (c) 2000-2003, 2006, Marc Alff.
       5                 : //
       6                 : // This program is free software; you can redistribute it and/or
       7                 : // modify it under the terms of the GNU General Public License
       8                 : // as published by the Free Software Foundation; either version 2
       9                 : // of the License, or (at your option) any later version.
      10                 : //
      11                 : // This program is distributed in the hope that it will be useful,
      12                 : // but WITHOUT ANY WARRANTY; without even the implied warranty of
      13                 : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14                 : // GNU General Public License for more details.
      15                 : //
      16                 : // You should have received a copy of the GNU General Public License
      17                 : // along with this program; if not, write to the Free Software
      18                 : // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
      19                 : //
      20                 : //==============================================================================
      21                 : 
      22                 : // Portability
      23                 : #include "include/yaorb/config.h"
      24                 : #include "src/cpp/prod/port/port_stdc.h"
      25                 : 
      26                 : #include "src/cpp/dev/idlc/back/CodePrinter.h"
      27                 : #include "src/cpp/dev/idlc/back/CodeUtils.h"
      28                 : 
      29             208 : CodePrinter::CodePrinter()
      30                 : {
      31             208 :    _tab = 0 ;
      32                 : }
      33                 : 
      34             208 : CodePrinter::~CodePrinter()
      35                 : {
      36             208 : }
      37                 : 
      38                 : void
      39                 : CodePrinter::open(
      40                 :    const String & path,
      41             208 :    const String & file)
      42                 : {
      43             208 :    String fullName ;
      44             208 :    fullName = path ;
      45             208 :    fullName += file ;
      46                 : 
      47             208 :    CodeUtils::MkDir(path) ;
      48             208 :    _str.open(fullName) ;
      49                 : }
      50                 : 
      51                 : void
      52             208 : CodePrinter::close()
      53                 : {
      54             208 :    _str.close() ;
      55                 : }
      56                 : 
      57                 : void
      58           11960 : CodePrinter::IncTab()
      59                 : {
      60           11960 :    _tab ++ ;
      61                 : }
      62                 : 
      63                 : void
      64           11960 : CodePrinter::DecTab()
      65                 : {
      66           11960 :    _tab -- ;
      67                 : }
      68                 : 
      69                 : std::ostream &
      70           62803 : CodePrinter::Tab()
      71                 : {
      72           62833 :    static String t("   ") ;
      73                 : 
      74          141998 :    for (int i = 0 ; i < _tab ; i++)
      75                 :    {
      76           79195 :       _str << t ;
      77                 :    }
      78                 : 
      79                 :    return _str ;
      80                 : }
      81                 : 
      82                 : std::ostream &
      83           22924 : CodePrinter::Str()
      84                 : {
      85                 :    return _str ;
      86                 : }
      87                 : 
      88                 : void
      89             258 : CodePrinter::BeginBloc()
      90                 : {
      91             258 :    Tab() << "{" << std::endl ;
      92             258 :    _tab ++ ;
      93                 : }
      94                 : 
      95                 : void
      96             258 : CodePrinter::EndBloc()
      97                 : {
      98             258 :    _tab -- ;
      99             258 :    Tab() << "}" << std::endl ;
     100                 : }
     101                 : 
     102                 : void
     103               0 : CodePrinter::EndBlocSemicolon()
     104                 : {
     105               0 :    _tab -- ;
     106               0 :    Tab() << "} ;" << std::endl << std::endl ;
     107                 : }
     108                 : 
     109                 : void
     110             127 : CodePrinter::Endl()
     111                 : {
     112                 :    _str << std::endl ;
     113                 : }
     114                 : 
     115                 : void
     116                 : CodePrinter::PrintText(
     117             208 :    const char * text[])
     118                 : {
     119                 :    const char ** cursor = & text[0] ;
     120                 :    const char * line = NULL ;
     121                 : 
     122            1040 :    while (*cursor != NULL)
     123                 :    {
     124                 :       line = *cursor ;
     125             832 :       Tab() << line << std::endl ;
     126                 :       cursor ++ ;
     127                 :    }
     128                 : }
     129                 : 

Generated by: LTP GCOV extension version 1.4