xref: /AOO41X/main/autodoc/source/parser/cpp/pe_ignor.cxx (revision 78bc99aafea97f4987aed12e674c2d2f1166dd91)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 #include <precomp.h>
23 #include "pe_ignor.hxx"
24 
25 
26 // NOT FULLY DECLARED SERVICES
27 
28 
29 namespace cpp {
30 
31 
32 
PE_Ignore(Cpp_PE * i_pParent)33 PE_Ignore::PE_Ignore( Cpp_PE * i_pParent )
34     :   Cpp_PE(i_pParent),
35         nBracketCounter(0),
36         bBlockOpened(false)
37 {
38     Setup_StatusFunctions();
39 }
40 
41 
~PE_Ignore()42 PE_Ignore::~PE_Ignore()
43 {
44 }
45 
46 void
Call_Handler(const cpp::Token & i_rTok)47 PE_Ignore::Call_Handler( const cpp::Token & i_rTok )
48 {
49     if ( NOT bBlockOpened )
50     {
51         switch (i_rTok.TypeId())
52         {
53             case Tid_SwBracket_Left:    SetTokenResult(done, stay);
54                                         nBracketCounter++;
55                                         bBlockOpened = true;
56                                         break;
57             case Tid_Semicolon:         SetTokenResult(done, pop_success);
58                                         break;
59             default:
60                                         SetTokenResult(done, stay);
61         }   // end switch
62     }
63     else if ( nBracketCounter > 0 )
64     {
65         SetTokenResult(done, stay);
66 
67         switch (i_rTok.TypeId())
68         {
69             case Tid_SwBracket_Left:    nBracketCounter++;
70                                         break;
71             case Tid_SwBracket_Right:   nBracketCounter--;
72                                         break;
73         }   // end switch
74     }
75     else if ( i_rTok.TypeId() == Tid_Semicolon )
76     {
77         SetTokenResult(done, pop_success);
78     }
79     else
80     {
81         SetTokenResult(not_done, pop_success);
82     }
83 }
84 
85 void
Setup_StatusFunctions()86 PE_Ignore::Setup_StatusFunctions()
87 {
88     // Does nothing.
89 }
90 
91 void
InitData()92 PE_Ignore::InitData()
93 {
94     nBracketCounter = 0;
95     bBlockOpened = false;
96 }
97 
98 void
TransferData()99 PE_Ignore::TransferData()
100 {
101     // Does nothing.
102 }
103 
104 
105 }   // namespace cpp
106 
107 
108 
109 
110 
111