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