Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

simpleimport.h

Go to the documentation of this file.
00001 #ifndef SIMPLE_IMPORT_H
00002 #define SIMPLE_IMPORT_H
00003 
00004 #include "import.h"
00005 #include "stringliteral.h"
00006 
00007 class SimpleImport : public Import {
00008         private:
00009                 StringLiteral *stringLiteral;
00010 
00011         public:
00012                 SimpleImport(SrcPosition *position, StringLiteral *stringLiteral)
00013                         : Import(position), stringLiteral(stringLiteral) {}
00014 
00015                 SimpleImport(const SimpleImport& simpleImport) : Import(simpleImport.position) {
00016                         *(this) = simpleImport;
00017                 }
00018 
00019                 virtual ~SimpleImport() {
00020                         delete this->stringLiteral;
00021                 }
00022 
00023                 StringLiteral *getStringLiteral() {
00024                         return this->stringLiteral;
00025                 }
00026 
00027                 virtual Ast& operator = (const Ast& ast);
00028                 virtual bool operator == (const Ast& ast) const;
00029 
00030                 virtual VisitorReturn *visit(Visitor& visitor) {
00031                         return visitor.visitSimpleImport(this);
00032                 }
00033 
00034                 virtual Ast& clone() const {
00035                         return *(new SimpleImport(new SrcPosition(*(this->position)),
00036                                          this->stringLiteral ? dynamic_cast<StringLiteral*>(&(this->stringLiteral->clone())) : 0));
00037                 }
00038 };
00039 
00040 #endif

Generated on Mon Dec 1 17:36:37 2003 for Protomake by doxygen1.3