MicroModelicaCCompiler  4.5.3
class.hpp
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  This file is part of QSS Solver.
4 
5  QSS Solver is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  QSS Solver is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QSS Solver. If not, see <http://www.gnu.org/licenses/>.
17 
18  ******************************************************************************/
19 
20 #ifndef AST_CLASS_H_
21 #define AST_CLASS_H_
22 
23 #include "../util/macros.hpp"
24 #include "../util/util_types.hpp"
25 #include "ast_node.hpp"
26 #include "ast_types.hpp"
27 
28 class AST_Class_ : public AST_Node_ {
29  public:
30  AST_Class_(AST_String n, AST_Composition comp);
31  ~AST_Class_();
32  DEFINE_CLASS_PRINTER(AST_Class);
33  void setComposition(AST_Composition c);
34  AST_Composition composition() const;
35  AST_String name() const;
36  AST_Element_ComponentList getComponents();
38  void addComponent(AST_Element_Component c);
39  void addClass(AST_Class c);
40  AST_ClassList getClasses();
41  void setFather(AST_Class c);
42  bool hasFather();
43  AST_Class father() const;
44  void addExtends(AST_String e);
45  AST_StringList getExtends();
46  bool isBasic();
47  void setBasic();
48  void setFinal();
49  bool isFinal();
50  void setEncapsulated();
51  bool isEncapsulated();
52  bool hasExtends();
54  AST_ClassPrefix prefix() const;
55  void accept(AST_Visitor *visitor);
56 
57  private:
58  AST_Element_ComponentList _components;
59  AST_StringList _extends_list;
61  AST_Composition _composition;
62  AST_ClassList _sub_classes;
63  AST_Class _father;
66 };
67 
68 #endif /* AST_CLASS_H_ */
AST_Class_::setPrefixes
void setPrefixes(AST_ClassPrefix cp)
Definition: class.cpp:120
AST_Class_::_sub_classes
AST_ClassList _sub_classes
Definition: class.hpp:79
AST_Class_::_composition
AST_Composition _composition
Definition: class.hpp:78
AST_Class_::_name
AST_String _name
Definition: class.hpp:77
AST_Class_::_prefix
AST_ClassPrefix _prefix
Definition: class.hpp:82
AST_Class_::getClasses
AST_ClassList getClasses()
Definition: class.cpp:100
AST_Class_::composition
AST_Composition composition() const
Definition: class.cpp:59
AST_Class_::_encapsulated
AST_Boolean _encapsulated
Definition: class.hpp:81
AST_Class_::setComposition
void setComposition(AST_Composition c)
Definition: class.cpp:67
AST_Class_::getExtends
AST_StringList getExtends()
Definition: class.cpp:110
AST_Class_::addExtends
void addExtends(AST_String e)
Definition: class.cpp:108
AST_String
string * AST_String
Definition: ast_types.hpp:46
AST_Class_::setFinal
void setFinal()
Definition: class.cpp:112
AST_Class_
Definition: class.hpp:28
AST_Class_::AST_Class_
AST_Class_(AST_String n, AST_Composition comp)
Definition: class.cpp:31
AST_Class_::setFather
void setFather(AST_Class c)
Definition: class.cpp:102
AST_Class_::addComponent
void addComponent(AST_Element_Component c)
Definition: class.cpp:63
AST_ClassPrefix
int AST_ClassPrefix
Definition: ast_types.hpp:51
AST_Class_::isEncapsulated
bool isEncapsulated()
Definition: class.cpp:118
AST_Boolean
bool AST_Boolean
Definition: ast_types.hpp:45
AST_Node_
Definition: ast_node.hpp:29
AST_Class_::_final
AST_Boolean _final
Definition: class.hpp:81
AST_Class_::_basic
AST_Boolean _basic
Definition: class.hpp:81
AST_Class_::hasElementComponentList
bool hasElementComponentList()
Definition: class.cpp:141
AST_Class_::_father
AST_Class _father
Definition: class.hpp:80
AST_Class_::prefix
AST_ClassPrefix prefix() const
Definition: class.cpp:122
AST_Class_::isBasic
bool isBasic()
Definition: class.cpp:65
AST_Class_::getComponents
AST_Element_ComponentList getComponents()
Definition: class.cpp:61
AST_Class_::father
AST_Class father() const
Definition: class.cpp:106
AST_Class_::hasExtends
bool hasExtends()
Definition: class.cpp:124
ast_node.hpp
AST_Class_::isFinal
bool isFinal()
Definition: class.cpp:114
AST_Class_::addClass
void addClass(AST_Class c)
Definition: class.cpp:94
ast_types.hpp
AST_Class_::name
AST_String name() const
Definition: class.cpp:57
AST_Class_::_extends_list
AST_StringList _extends_list
Definition: class.hpp:76
AST_Visitor
Definition: ast_util.hpp:224
AST_Class_::_components
AST_Element_ComponentList _components
Definition: class.hpp:75
AST_Class_::hasFather
bool hasFather()
Definition: class.cpp:104
AST_Class_::~AST_Class_
~AST_Class_()
Definition: class.cpp:39
AST_Class_::DEFINE_CLASS_PRINTER
DEFINE_CLASS_PRINTER(AST_Class)
AST_Class_::accept
void accept(AST_Visitor *visitor)
Definition: class.cpp:126
AST_Class_::setEncapsulated
void setEncapsulated()
Definition: class.cpp:116
AST_Class_::setBasic
void setBasic()
Definition: class.cpp:69