10#include <unordered_map>
22 ContainerInfo*
PushContainer(vl::Var* ptr,
const std::string& name);
31 bool Uint(
unsigned i);
32 bool Int64(int64_t i);
45 bool AddVar(
const vl::VarPtr& ptr);
47 void PushNewList(ContainerInfo* parentContainer,
const std::string& listName);
48 void PushNewObject(ContainerInfo* c,
const std::string& objectName);
52 , ContainerInfo* parentConainer
53 ,
const std::string& newContainerName
63 ContainerInfo(vl::Var& containerInstance,
const std::string& containerName)
64 : var(containerInstance)
72 std::vector<ContainerInfo> mStack;
73 std::string mCurrentKey;
74 bool mCurrentProto =
false;
75 std::list<vl::Object*> mUnresolvedRefs;
76 std::unordered_map<std::string, vl::Object*> mTypeRefs;
Definition: JSONLoader.h:16
bool Null()
Definition: JSONLoader.cpp:126
bool Int(int i)
Definition: JSONLoader.cpp:141
char Ch
Definition: JSONLoader.h:26
bool StartArray()
Definition: JSONLoader.cpp:247
ContainerInfo * PushNewContainer(bool isObject, bool isList, ContainerInfo *parentConainer, const std::string &newContainerName)
Definition: JSONLoader.cpp:76
size_t SizeType
Definition: JSONLoader.h:27
bool Uint64(uint64_t i)
Definition: JSONLoader.cpp:166
bool StartObject()
Definition: JSONLoader.cpp:207
ContainerInfo * GetCurrentContainer()
Definition: JSONLoader.cpp:6
bool RawNumber(const Ch *str, SizeType length, bool copy)
enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length)
Definition: JSONLoader.cpp:184
bool Key(const Ch *str, SizeType length, bool copy)
Definition: JSONLoader.cpp:223
void PushNewObject(ContainerInfo *c, const std::string &objectName)
Definition: JSONLoader.cpp:61
bool EndArray(SizeType elementCount)
Definition: JSONLoader.cpp:260
bool AddVar(const vl::VarPtr &ptr)
Definition: JSONLoader.cpp:26
bool Uint(unsigned i)
Definition: JSONLoader.cpp:148
void PopContainer()
Definition: JSONLoader.cpp:19
bool String(const Ch *str, SizeType length, bool copy)
Definition: JSONLoader.cpp:191
bool EndObject(SizeType memberCount)
Definition: JSONLoader.cpp:239
ContainerInfo * PushContainer(vl::Var *ptr, const std::string &name)
Definition: JSONLoader.cpp:14
bool Double(double d)
Definition: JSONLoader.cpp:175
bool Bool(bool b)
Definition: JSONLoader.cpp:134
void StoreUnresolvedRef(vl::Object &ref)
Definition: JSONLoader.cpp:103
void PushNewList(ContainerInfo *parentContainer, const std::string &listName)
Definition: JSONLoader.cpp:56
JSONLoader(vl::Object &object)
Definition: JSONLoader.h:20
bool Int64(int64_t i)
Definition: JSONLoader.cpp:157
void ResolveRefs()
Definition: JSONLoader.cpp:108
Definition: JSONConverter.h:8