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