Sfoglia il codice sorgente

JSSpecCompiler: Allow storing error text in ErrorNode

This will be the main way to communicate errors from compilation passes.
Dan Klishch 1 anno fa
parent
commit
4eede5282c

+ 6 - 1
Meta/Lagom/Tools/CodeGenerators/JSSpecCompiler/AST/AST.h

@@ -57,7 +57,12 @@ protected:
 
 class ErrorNode : public Node {
 public:
-    ErrorNode() { }
+    ErrorNode(StringView error = ""sv)
+        : m_error(error)
+    {
+    }
+
+    StringView m_error;
 
 protected:
     void dump_tree(StringBuilder& builder) override;

+ 1 - 1
Meta/Lagom/Tools/CodeGenerators/JSSpecCompiler/AST/ASTPrinting.cpp

@@ -31,7 +31,7 @@ void Node::dump_node(StringBuilder& builder, AK::CheckedFormatString<Parameters.
 
 void ErrorNode::dump_tree(StringBuilder& builder)
 {
-    dump_node(builder, "Error");
+    dump_node(builder, "Error \"{}\"", m_error);
 }
 
 void MathematicalConstant::dump_tree(StringBuilder& builder)