Lines Matching refs:Stack
796 assert(Stack.back().Ctx != Object && "Only attributes allowed here"); in valueBegin()
797 if (Stack.back().HasValue) { in valueBegin()
798 assert(Stack.back().Ctx != Singleton && "Only one value allowed here"); in valueBegin()
801 if (Stack.back().Ctx == Array) in valueBegin()
804 Stack.back().HasValue = true; in valueBegin()
829 if (Stack.size() > 1 && Stack.back().Ctx == Singleton) { in flushComment()
846 Stack.emplace_back(); in arrayBegin()
847 Stack.back().Ctx = Array; in arrayBegin()
853 assert(Stack.back().Ctx == Array); in arrayEnd()
855 if (Stack.back().HasValue) in arrayEnd()
859 Stack.pop_back(); in arrayEnd()
860 assert(!Stack.empty()); in arrayEnd()
865 Stack.emplace_back(); in objectBegin()
866 Stack.back().Ctx = Object; in objectBegin()
872 assert(Stack.back().Ctx == Object); in objectEnd()
874 if (Stack.back().HasValue) in objectEnd()
878 Stack.pop_back(); in objectEnd()
879 assert(!Stack.empty()); in objectEnd()
883 assert(Stack.back().Ctx == Object); in attributeBegin()
884 if (Stack.back().HasValue) in attributeBegin()
888 Stack.back().HasValue = true; in attributeBegin()
889 Stack.emplace_back(); in attributeBegin()
890 Stack.back().Ctx = Singleton; in attributeBegin()
903 assert(Stack.back().Ctx == Singleton); in attributeEnd()
904 assert(Stack.back().HasValue && "Attribute must have a value"); in attributeEnd()
906 Stack.pop_back(); in attributeEnd()
907 assert(Stack.back().Ctx == Object); in attributeEnd()
912 Stack.emplace_back(); in rawValueBegin()
913 Stack.back().Ctx = RawValue; in rawValueBegin()
918 assert(Stack.back().Ctx == RawValue); in rawValueEnd()
919 Stack.pop_back(); in rawValueEnd()