Lines Matching refs:Stack
792 assert(Stack.back().Ctx != Object && "Only attributes allowed here"); in valueBegin()
793 if (Stack.back().HasValue) { in valueBegin()
794 assert(Stack.back().Ctx != Singleton && "Only one value allowed here"); in valueBegin()
797 if (Stack.back().Ctx == Array) in valueBegin()
800 Stack.back().HasValue = true; in valueBegin()
825 if (Stack.size() > 1 && Stack.back().Ctx == Singleton) { in flushComment()
842 Stack.emplace_back(); in arrayBegin()
843 Stack.back().Ctx = Array; in arrayBegin()
849 assert(Stack.back().Ctx == Array); in arrayEnd()
851 if (Stack.back().HasValue) in arrayEnd()
855 Stack.pop_back(); in arrayEnd()
856 assert(!Stack.empty()); in arrayEnd()
861 Stack.emplace_back(); in objectBegin()
862 Stack.back().Ctx = Object; in objectBegin()
868 assert(Stack.back().Ctx == Object); in objectEnd()
870 if (Stack.back().HasValue) in objectEnd()
874 Stack.pop_back(); in objectEnd()
875 assert(!Stack.empty()); in objectEnd()
879 assert(Stack.back().Ctx == Object); in attributeBegin()
880 if (Stack.back().HasValue) in attributeBegin()
884 Stack.back().HasValue = true; in attributeBegin()
885 Stack.emplace_back(); in attributeBegin()
886 Stack.back().Ctx = Singleton; in attributeBegin()
899 assert(Stack.back().Ctx == Singleton); in attributeEnd()
900 assert(Stack.back().HasValue && "Attribute must have a value"); in attributeEnd()
902 Stack.pop_back(); in attributeEnd()
903 assert(Stack.back().Ctx == Object); in attributeEnd()
908 Stack.emplace_back(); in rawValueBegin()
909 Stack.back().Ctx = RawValue; in rawValueBegin()
914 assert(Stack.back().Ctx == RawValue); in rawValueEnd()
915 Stack.pop_back(); in rawValueEnd()