Lines Matching refs:Stack
775 assert(Stack.back().Ctx != Object && "Only attributes allowed here"); in valueBegin()
776 if (Stack.back().HasValue) { in valueBegin()
777 assert(Stack.back().Ctx != Singleton && "Only one value allowed here"); in valueBegin()
780 if (Stack.back().Ctx == Array) in valueBegin()
783 Stack.back().HasValue = true; in valueBegin()
808 if (Stack.size() > 1 && Stack.back().Ctx == Singleton) { in flushComment()
825 Stack.emplace_back(); in arrayBegin()
826 Stack.back().Ctx = Array; in arrayBegin()
832 assert(Stack.back().Ctx == Array); in arrayEnd()
834 if (Stack.back().HasValue) in arrayEnd()
838 Stack.pop_back(); in arrayEnd()
839 assert(!Stack.empty()); in arrayEnd()
844 Stack.emplace_back(); in objectBegin()
845 Stack.back().Ctx = Object; in objectBegin()
851 assert(Stack.back().Ctx == Object); in objectEnd()
853 if (Stack.back().HasValue) in objectEnd()
857 Stack.pop_back(); in objectEnd()
858 assert(!Stack.empty()); in objectEnd()
862 assert(Stack.back().Ctx == Object); in attributeBegin()
863 if (Stack.back().HasValue) in attributeBegin()
867 Stack.back().HasValue = true; in attributeBegin()
868 Stack.emplace_back(); in attributeBegin()
869 Stack.back().Ctx = Singleton; in attributeBegin()
882 assert(Stack.back().Ctx == Singleton); in attributeEnd()
883 assert(Stack.back().HasValue && "Attribute must have a value"); in attributeEnd()
885 Stack.pop_back(); in attributeEnd()
886 assert(Stack.back().Ctx == Object); in attributeEnd()
891 Stack.emplace_back(); in rawValueBegin()
892 Stack.back().Ctx = RawValue; in rawValueBegin()
897 assert(Stack.back().Ctx == RawValue); in rawValueEnd()
898 Stack.pop_back(); in rawValueEnd()