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