1
2
3
4
5
6 #ifndef SNGCPP_SYMBOLS_TEMPLATE_SYMBOL_INCLUDED
7 #define SNGCPP_SYMBOLS_TEMPLATE_SYMBOL_INCLUDED
8 #include <sngcpp/symbols/TypeSymbol.hpp>
9
10 namespace sngcpp { namespace symbols {
11
12 class TemplateParameterSymbol : public TypeSymbol
13 {
14 public:
15 TemplateParameterSymbol(const Span& span_, const std::u32string& name_);
16 std::u32string KindStr() override { return U"templateParameter"; }
17 std::unique_ptr<sngxml::dom::Element> CreateElement() override;
18 bool IsTemplateParameterSymbol() const override { return true; }
19 int MatchValue(TypeSymbol* argumentType) override;
20 };
21
22 } }
23
24 #endif // SNGCPP_SYMBOLS_TEMPLATE_SYMBOL_INCLUDED