diff options
author | Mike Buland <eichlan@xagasoft.com> | 2011-12-27 00:04:28 -0700 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2011-12-27 00:04:28 -0700 |
commit | f33fdd93ef93fdbb0e6b3a8e2ecb80b78f1b2816 (patch) | |
tree | 3e62207265b4efbbe1565ea885a615e5a910671c /src/astbranch.cpp | |
parent | 32c32bc48c8fd7cffca301b8919fb26726f6467e (diff) | |
download | stage-f33fdd93ef93fdbb0e6b3a8e2ecb80b78f1b2816.tar.gz stage-f33fdd93ef93fdbb0e6b3a8e2ecb80b78f1b2816.tar.bz2 stage-f33fdd93ef93fdbb0e6b3a8e2ecb80b78f1b2816.tar.xz stage-f33fdd93ef93fdbb0e6b3a8e2ecb80b78f1b2816.zip |
Branch building has started.
Diffstat (limited to 'src/astbranch.cpp')
-rw-r--r-- | src/astbranch.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/astbranch.cpp b/src/astbranch.cpp index 7b31426..a422a62 100644 --- a/src/astbranch.cpp +++ b/src/astbranch.cpp | |||
@@ -1,7 +1,10 @@ | |||
1 | #include "astbranch.h" | 1 | #include "astbranch.h" |
2 | 2 | ||
3 | #include <bu/formatter.h> | ||
4 | |||
3 | AstBranch::AstBranch( AstNode::Type eType ) : | 5 | AstBranch::AstBranch( AstNode::Type eType ) : |
4 | AstNode( eType ) | 6 | AstNode( eType ), |
7 | pParent( NULL ) | ||
5 | { | 8 | { |
6 | } | 9 | } |
7 | 10 | ||
@@ -13,4 +16,27 @@ AstBranch::~AstBranch() | |||
13 | } | 16 | } |
14 | } | 17 | } |
15 | 18 | ||
19 | AstNode *AstBranch::addNode( AstNode *pNode ) | ||
20 | { | ||
21 | AstBranch *pBranch = dynamic_cast<AstBranch *>(pNode); | ||
22 | if( pBranch ) | ||
23 | { | ||
24 | pBranch->pParent = this; | ||
25 | } | ||
26 | lNodes.append( pNode ); | ||
27 | return pNode; | ||
28 | } | ||
29 | |||
30 | Bu::Formatter &operator<<( Bu::Formatter &f, const AstBranch &b ) | ||
31 | { | ||
32 | f << "(Branch " << b.getType() << ": "; | ||
33 | f.incIndent(); | ||
34 | for( typename AstBranch::NodeList::const_iterator i = b.lNodes.begin(); | ||
35 | i; i++ ) | ||
36 | { | ||
37 | f << f.nl << *(*i); | ||
38 | } | ||
39 | f.decIndent(); | ||
40 | return f << f.nl << ")"; | ||
41 | } | ||
16 | 42 | ||