xref: /trunk/main/autodoc/source/parser/semantic/parseenv.cxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #include <precomp.h>
29 #include <semantic/parseenv.hxx>
30 
31 
32 // NOT FULLY DECLARED SERVICES
33 #include <ary/doc/d_oldcppdocu.hxx>
34 #include <x_parse.hxx>
35 
36 
37 void
38 ParseEnvironment::Enter( E_EnvStackAction   i_eWayOfEntering )
39 {
40     switch (i_eWayOfEntering)
41     {
42         case push:
43                 InitData();
44                 if ( Parent() != 0 )
45                 {
46                     csv_assert( Parent()->CurSubPeUse() != 0 );
47                     Parent()->CurSubPeUse()->InitParse();
48                 }
49                 break;
50         case pop_success:
51                 break;
52         case pop_failure:
53                 break;
54         default:
55             csv_assert(false);
56     }   // end switch
57 }
58 
59 void
60 ParseEnvironment::Leave( E_EnvStackAction   i_eWayOfLeaving )
61 {
62     switch (i_eWayOfLeaving)
63     {
64         case push:
65                 break;
66         case pop_success:
67                 TransferData();
68                 if ( Parent() != 0 )
69                 {
70                     csv_assert( Parent()->CurSubPeUse() != 0 );
71                     Parent()->CurSubPeUse()->GetResults();
72                 }
73                 break;
74         case pop_failure:
75                 break;
76         default:
77             csv_assert(false);
78     }   // end switch
79 }
80 
81 ParseEnvironment::ParseEnvironment( ParseEnvironment *  i_pParent )
82     :   pParent(i_pParent),
83         // pDocu,
84         pCurSubPe(0)
85 {
86 }
87