mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:17:45 +00:00
LibCpp: Parse templatized types
We can now parse things like Vector<int>
This commit is contained in:
parent
9954a1837f
commit
29b6915db9
4 changed files with 156 additions and 41 deletions
|
@ -54,7 +54,7 @@ void FunctionDeclaration::dump(size_t indent) const
|
|||
|
||||
String qualifiers_string;
|
||||
if (!m_qualifiers.is_empty()) {
|
||||
print_indent(indent+1);
|
||||
print_indent(indent + 1);
|
||||
outln("[{}]", String::join(" ", m_qualifiers));
|
||||
}
|
||||
|
||||
|
@ -259,7 +259,7 @@ void StringLiteral::dump(size_t indent) const
|
|||
void ReturnStatement::dump(size_t indent) const
|
||||
{
|
||||
ASTNode::dump(indent);
|
||||
if(m_value)
|
||||
if (m_value)
|
||||
m_value->dump(indent + 1);
|
||||
}
|
||||
|
||||
|
@ -442,4 +442,24 @@ void NullPointerLiteral::dump(size_t indent) const
|
|||
ASTNode::dump(indent);
|
||||
}
|
||||
|
||||
void TemplatizedType::dump(size_t indent) const
|
||||
{
|
||||
ASTNode::dump(indent);
|
||||
|
||||
String qualifiers_string;
|
||||
if (!m_qualifiers.is_empty())
|
||||
qualifiers_string = String::formatted("[{}] ", String::join(" ", m_qualifiers));
|
||||
|
||||
print_indent(indent + 1);
|
||||
outln("{}{}", qualifiers_string, m_name);
|
||||
|
||||
print_indent(indent + 1);
|
||||
outln("<");
|
||||
for (auto& arg : m_template_arguments) {
|
||||
arg.dump(indent + 1);
|
||||
}
|
||||
print_indent(indent + 1);
|
||||
outln(">");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue