1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #include <cmajor/symbols/Warning.hpp>
 7 #include <cmajor/symbols/Exception.hpp>
 8 #include <soulng/util/Unicode.hpp>
 9 
10 namespace cmajor { namespace symbols {
11 
12 using namespace soulng::util;
13 using namespace soulng::unicode;
14 
15 Warning::Warning(const std::u32string& project_const std::string& message_) : project(project_)message(message_)
16 {
17 }
18 
19 void Warning::SetReferences(const std::std::vector<std::std::pair<Spanboost::uuids::uuid>>&references_)
20 {
21     references = references_;
22 }
23 
24 /*
25 std::unique_ptr<JsonValue> Warning::ToJson(Module* module) const
26 {
27     JsonObject* o = new JsonObject();
28     o->AddField(U"project", std::unique_ptr<JsonValue>(new JsonString(project)));
29     o->AddField(U"message", std::unique_ptr<JsonValue>(new JsonString(ToUtf32(message))));
30     JsonArray* referencesArray = new JsonArray();
31     std::unique_ptr<JsonValue> def = SpanToJson(module, defined);
32     if (def)
33     {
34         referencesArray->AddItem(std::move(def));
35     }
36     for (const Span& span : references)
37     {
38         std::unique_ptr<JsonValue> ref = SpanToJson(module, span);
39         if (ref)
40         {
41             referencesArray->AddItem(std::move(ref));
42         }
43     }
44     o->AddField(U"references", std::unique_ptr<JsonValue>(referencesArray));
45     return std::unique_ptr<JsonValue>(o);
46 }
47 */
48 
49 
50 CompileWarningCollection::CompileWarningCollection()
51 {
52 }
53 
54 void CompileWarningCollection::AddWarning(const Warning& warning)
55 {
56     warnings.push_back(warning);
57 }
58 
59 } } // namespace cmajor::symbols