10#include <unordered_map>
32 bool Uint(
unsigned i);
33 bool Int64(int64_t i);
48 void PushNewList(ContainerInfo* parentContainer,
const std::string& listName);
49 void PushNewObject(ContainerInfo* c,
const std::string& objectName);
53 , ContainerInfo* parentConainer
54 ,
const std::string& newContainerName
64 ContainerInfo(
vl::Var& containerInstance,
const std::string& containerName)
65 : var(containerInstance)
73 std::vector<ContainerInfo> mStack;
74 std::string mCurrentKey;
75 bool mKeyProcessed =
true;
76 bool mCurrentProto =
false;
77 std::list<vl::Object*> mUnresolvedRefs;
78 std::unordered_map<std::string, vl::Object*> mTypeRefs;
Definition: TypeResolver.h:7
Definition: JSONLoader.h:17
bool Null()
Definition: JSONLoader.cpp:175
bool Int(int i)
Definition: JSONLoader.cpp:190
char Ch
Definition: JSONLoader.h:27
bool StartArray()
Definition: JSONLoader.cpp:301
ContainerInfo * PushNewContainer(bool isObject, bool isList, ContainerInfo *parentConainer, const std::string &newContainerName)
Definition: JSONLoader.cpp:96
size_t SizeType
Definition: JSONLoader.h:28
bool Uint64(uint64_t i)
Definition: JSONLoader.cpp:215
bool StartObject()
Definition: JSONLoader.cpp:256
ContainerInfo * GetCurrentContainer()
Definition: JSONLoader.cpp:15
bool RawNumber(const Ch *str, SizeType length, bool copy)
enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length)
Definition: JSONLoader.cpp:233
bool Key(const Ch *str, SizeType length, bool copy)
Definition: JSONLoader.cpp:275
void PushNewObject(ContainerInfo *c, const std::string &objectName)
Definition: JSONLoader.cpp:81
bool EndArray(SizeType elementCount)
Definition: JSONLoader.cpp:314
bool AddVar(const vl::VarPtr &ptr)
Definition: JSONLoader.cpp:35
bool Uint(unsigned i)
Definition: JSONLoader.cpp:197
void PopContainer()
Definition: JSONLoader.cpp:28
bool String(const Ch *str, SizeType length, bool copy)
Definition: JSONLoader.cpp:240
JSONLoader(vl::Object &object, const TypeResolver &typeResolver=TypeResolver())
Definition: JSONLoader.cpp:10
bool EndObject(SizeType memberCount)
Definition: JSONLoader.cpp:292
ContainerInfo * PushContainer(vl::Var *ptr, const std::string &name)
Definition: JSONLoader.cpp:23
bool Double(double d)
Definition: JSONLoader.cpp:224
bool Bool(bool b)
Definition: JSONLoader.cpp:183
void StoreUnresolvedRef(vl::Object &ref)
Definition: JSONLoader.cpp:122
void PushNewList(ContainerInfo *parentContainer, const std::string &listName)
Definition: JSONLoader.cpp:76
bool Int64(int64_t i)
Definition: JSONLoader.cpp:206
void ResolveRefs()
Definition: JSONLoader.cpp:127
Definition: JSONConverter.h:9
std::shared_ptr< Var > VarPtr
Definition: vl_fwd.h:41