Changeset d9a0e76 for translator/SynTree/Initializer.cc
- Timestamp:
- Dec 16, 2014, 9:41:50 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 17cd4eb
- Parents:
- 3848e0e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
translator/SynTree/Initializer.cc
r3848e0e rd9a0e76 1 /*2 * This file is part of the Cforall project3 *4 * $Id: Initializer.cc,v 1.10 2005/08/29 20:59:25 rcbilson Exp $5 *6 */7 8 1 #include "Initializer.h" 9 2 #include "Expression.h" … … 11 4 12 5 13 Initializer::Initializer( ) 14 { 15 } 6 Initializer::Initializer() {} 16 7 17 Initializer::~Initializer( ) 18 { 19 } 8 Initializer::~Initializer() {} 20 9 21 10 std::string Initializer::designator_name( Expression *des ) { 22 if ( NameExpr *n = dynamic_cast<NameExpr *>(des) )11 if ( NameExpr *n = dynamic_cast<NameExpr *>(des) ) 23 12 return n->get_name(); 24 13 else … … 26 15 } 27 16 28 void 29 Initializer::print( std::ostream &os, int indent ) 30 { 17 void Initializer::print( std::ostream &os, int indent ) {} 18 19 SingleInit::SingleInit( Expression *v, std::list< Expression *> &_designators ) : value ( v ), designators( _designators ) { 31 20 } 32 21 33 SingleInit::SingleInit( Expression *v, std::list< Expression *> &_designators ) 34 : value ( v ), designators( _designators ) 35 { 36 } 37 38 SingleInit::SingleInit ( const SingleInit &other ) 39 : value ( other.value ) 40 { 22 SingleInit::SingleInit( const SingleInit &other ) : value ( other.value ) { 41 23 cloneAll(other.designators, designators ); 42 24 } 43 25 44 SingleInit::~SingleInit() 45 { 46 } 26 SingleInit::~SingleInit() {} 47 27 48 28 SingleInit *SingleInit::clone() const { return new SingleInit( *this); } 49 29 50 void SingleInit::print( std::ostream &os, int indent ) 51 { 30 void SingleInit::print( std::ostream &os, int indent ) { 52 31 os << std::endl << std::string(indent, ' ' ) << "Simple Initializer: "; 53 32 value->print( os, indent+2 ); 54 33 55 if ( ! designators.empty() ) 56 { 57 os << std::endl << std::string(indent + 2, ' ' ) << "designated by: " ; 58 for ( std::list < Expression * >::iterator i = designators.begin(); i != designators.end(); i++ ) 59 ( *i )->print(os, indent + 4 ); 60 } 34 if ( ! designators.empty() ) { 35 os << std::endl << std::string(indent + 2, ' ' ) << "designated by: " ; 36 for ( std::list < Expression * >::iterator i = designators.begin(); i != designators.end(); i++ ) 37 ( *i )->print(os, indent + 4 ); 38 } 61 39 } 62 40 63 MemberInit::MemberInit( Expression *_value, std::string _member ) 64 : member ( _member ), value ( _value ) 65 { 66 } 41 MemberInit::MemberInit( Expression *_value, std::string _member ) : member ( _member ), value ( _value ) {} 67 42 68 MemberInit::~MemberInit() 69 { 70 } 43 MemberInit::~MemberInit() {} 71 44 72 MemberInit * MemberInit::clone() const 73 { 45 MemberInit * MemberInit::clone() const { 74 46 return new MemberInit( *this ); 75 47 } 76 48 77 void MemberInit::print( std::ostream &os, int indent ) 78 { 49 void MemberInit::print( std::ostream &os, int indent ) { 79 50 os << "Member Initializer"; 80 51 value->print( os, indent+2 ); … … 82 53 83 54 ListInit::ListInit( std::list<Initializer*> &_initializers, std::list<Expression *> &_designators ) 84 : initializers( _initializers ), designators( _designators ) 85 { 55 : initializers( _initializers ), designators( _designators ) { 86 56 } 87 57 88 ListInit::~ListInit() 89 { 90 } 58 ListInit::~ListInit() {} 91 59 92 ListInit *ListInit::clone() const 93 { 60 ListInit *ListInit::clone() const { 94 61 return new ListInit( *this ); 95 62 } 96 63 97 void ListInit::print( std::ostream &os, int indent ) 98 { 64 void ListInit::print( std::ostream &os, int indent ) { 99 65 os << std::endl << std::string(indent, ' ') << "Compound initializer: "; 100 if ( ! designators.empty() ) {66 if ( ! designators.empty() ) { 101 67 os << std::string(indent + 2, ' ' ) << "designated by: ["; 102 68 for ( std::list < Expression * >::iterator i = designators.begin();
Note: See TracChangeset
for help on using the changeset viewer.