Bash++
Bash++ compiler internal documentation
Main Page
Namespaces
Concepts
Classes
Files
File List
File Members
src
AST
Nodes
BashCasePatternHeader.h
Go to the documentation of this file.
1
7
#pragma once
8
9
#include <
AST/ASTNode.h
>
10
#include <
AST/Nodes/StringType.h
>
11
12
namespace
AST
{
13
19
class
BashCasePatternHeader
:
public
StringType
{
20
public
:
21
static
constexpr
AST::NodeType
static_type
=
AST::NodeType::BashCasePatternHeader
;
22
constexpr
AST::NodeType
getType
()
const override
{
return
static_type
; }
23
24
std::ostream&
prettyPrint
(std::ostream& os,
int
indentation_level = 0)
const override
{
25
std::string indent(indentation_level *
PRETTYPRINT_INDENTATION_AMOUNT
,
' '
);
26
os << indent <<
"(BashCasePatternHeader"
;
27
for
(
const
auto
& child :
children
) {
28
os << std::endl;
29
child->prettyPrint(os, indentation_level + 1);
30
}
31
os <<
"')')"
<< std::flush;
32
return
os;
33
}
34
};
35
36
}
// namespace AST
ASTNode.h
PRETTYPRINT_INDENTATION_AMOUNT
#define PRETTYPRINT_INDENTATION_AMOUNT
Definition
ASTNode.h:19
StringType.h
AST::ASTNode::children
std::vector< std::shared_ptr< ASTNode > > children
Definition
ASTNode.h:31
AST::BashCasePatternHeader
Represents the 'header' of a case pattern, i.e., the pattern to match against.
Definition
BashCasePatternHeader.h:19
AST::BashCasePatternHeader::getType
constexpr AST::NodeType getType() const override
Definition
BashCasePatternHeader.h:22
AST::BashCasePatternHeader::static_type
static constexpr AST::NodeType static_type
Definition
BashCasePatternHeader.h:21
AST::BashCasePatternHeader::prettyPrint
std::ostream & prettyPrint(std::ostream &os, int indentation_level=0) const override
Definition
BashCasePatternHeader.h:24
AST::StringType
Base class for string-type nodes in the AST.
Definition
StringType.h:23
AST
Definition
AccessModifier.h:9
AST::NodeType
NodeType
Definition
NodeTypes.h:10
AST::NodeType::BashCasePatternHeader
@ BashCasePatternHeader
Generated by
1.9.8