source: src/SynTree/Attribute.cc @ 7a052e34

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsdeferred_resndemanglerenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newwith_gc
Last change on this file since 7a052e34 was 50377a4, checked in by Rob Schluntz <rschlunt@…>, 6 years ago

Refactor tree print code to use Indenter

  • Property mode set to 100644
File size: 1.2 KB
Line 
1//
2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
3//
4// The contents of this file are covered under the licence agreement in the
5// file "LICENCE" distributed with Cforall.
6//
7// Attribute.cc --
8//
9// Author           : Rob Schluntz
10// Created On       : Mon June 06 14:51:16 2016
11// Last Modified By : Rob Schluntz
12// Last Modified On : Mon June 06 14:54:48 2016
13// Update Count     : 1
14//
15
16#include <ostream>           // for operator<<, ostream, basic_ostream, endl
17
18#include "Attribute.h"
19#include "Common/utility.h"  // for cloneAll, deleteAll, printAll
20#include "Expression.h"      // for Expression
21
22Attribute::Attribute( const Attribute &other ) : name( other.name ) {
23  cloneAll( other.parameters, parameters );
24}
25
26Attribute::~Attribute() {
27  deleteAll( parameters );
28}
29
30void Attribute::print( std::ostream &os, Indenter indent ) const {
31  using std::endl;
32  using std::string;
33
34  if ( ! empty() ) {
35    os << "Attribute with name: " << name;
36    if ( ! parameters.empty() ) {
37      os << " with parameters: " << endl;
38      printAll( parameters, os, indent+1 );
39    }
40  }
41}
42
43// Local Variables: //
44// tab-width: 4 //
45// mode: c++ //
46// compile-command: "make install" //
47// End: //
Note: See TracBrowser for help on using the repository browser.