From 370d2afe025f899caab7829407363a37a37093b2 Mon Sep 17 00:00:00 2001 From: martin dobrev Date: Sun, 14 Oct 2018 18:09:45 +0300 Subject: Split literls in different classes and remove all handwritten code. --- JSImpl/src/ASTPrinter.cpp | 60 +++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'JSImpl/src/ASTPrinter.cpp') diff --git a/JSImpl/src/ASTPrinter.cpp b/JSImpl/src/ASTPrinter.cpp index 4dc07f4..864c4fc 100644 --- a/JSImpl/src/ASTPrinter.cpp +++ b/JSImpl/src/ASTPrinter.cpp @@ -85,26 +85,26 @@ void Print(std::ostream& os, ASTPrinter &printer, const char* } os << "\n"; } - -IPLString AsString(LiteralType type) -{ - switch (type) - { - case LiteralType::Number: - return "Number"; - case LiteralType::String: - return "String"; - case LiteralType::Boolean: - return "Boolean"; - case LiteralType::Null: - return "Null"; - case LiteralType::Undefined: - return "Undefined"; - default: - break; - } - return "Undefined"; -} +// +//IPLString AsString(LiteralType type) +//{ +// switch (type) +// { +// case LiteralType::Number: +// return "Number"; +// case LiteralType::String: +// return "String"; +// case LiteralType::Boolean: +// return "Boolean"; +// case LiteralType::Null: +// return "Null"; +// case LiteralType::Undefined: +// return "Undefined"; +// default: +// break; +// } +// return "Undefined"; +//} std::ostream& operator<<(std::ostream& os, const TokenType& t) { @@ -204,16 +204,16 @@ std::ostream& operator<<(std::ostream& os, const TokenType& t) return os; } -void ASTPrinter::Visit(LiteralExpression* e) -{ - os << "{\n" << "\"ExpresionType\": \"LiteralExpression\"," << '\n'; - Print(os, *this, "BooleanValue", e->GetBooleanValue(), false); - Print(os, *this, "LiteralType", AsString(e->GetLiteralType()), false); - Print(os, *this, "NumValue", e->GetNumValue(), false); - Print(os, *this, "StringValue", e->GetStringValue(), true); - os << "}\n"; -} - +//void ASTPrinter::Visit(LiteralExpression* e) +//{ +// os << "{\n" << "\"ExpresionType\": \"LiteralExpression\"," << '\n'; +// Print(os, *this, "BooleanValue", e->GetBooleanValue(), false); +// Print(os, *this, "LiteralType", AsString(e->GetLiteralType()), false); +// Print(os, *this, "NumValue", e->GetNumValue(), false); +// Print(os, *this, "StringValue", e->GetStringValue(), true); +// os << "}\n"; +//} +// #define MEMBERS_COUNT(type, name, def) ++membersCount; #define VISIT_MEMBER(type, name, def) ++currentVisitCount; Print(os, *this, #name, e->Get##name(), currentVisitCount == membersCount);; -- cgit v1.3.1-23-gd82d