1 /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
2 /*
3  * anjuta
4  * Copyright (C) Eran Ifrah (Main file for CodeLite www.codelite.org/ )
5  * Copyright (C) Massimo Cora' 2009 <maxcvs@email.it> (Customizations for Anjuta)
6  *
7  * anjuta is free software: you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by the
9  * Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * anjuta is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  * See the GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License along
18  * with this program.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef _FUNCTION_H_
22 #define _FUNCTION_H_
23 
24 #include "string"
25 #include "list"
26 #include "variable-result.h"
27 #include <stdio.h>
28 
29 class Function
30 {
31 public:
32 	std::string     m_name;
33 	std::string     m_scope;					//functions' scope
34 	std::string     m_retrunValusConst;			// is the return value a const?
35 	std::string     m_signature;
36 	Variable        m_returnValue;
37 	int             m_lineno;
38 	bool            m_isVirtual;
39 	bool            m_isPureVirtual;
40 	bool            m_isConst;
41 
42 public:
43 	Function();
44 	virtual ~Function();
45 
46 	//clear the class content
47 	void reset();
48 
49 	//print the variable to stdout
50 	void print();
51 };
52 
53 typedef std::list<Function> FunctionList;
54 #endif // _FUNCTION_H_
55