Lines Matching refs:Stack
793 assert(Stack.back().Ctx != Object && "Only attributes allowed here"); in valueBegin()
794 if (Stack.back().HasValue) { in valueBegin()
795 assert(Stack.back().Ctx != Singleton && "Only one value allowed here"); in valueBegin()
798 if (Stack.back().Ctx == Array) in valueBegin()
801 Stack.back().HasValue = true; in valueBegin()
826 if (Stack.size() > 1 && Stack.back().Ctx == Singleton) { in flushComment()
843 Stack.emplace_back(); in arrayBegin()
844 Stack.back().Ctx = Array; in arrayBegin()
850 assert(Stack.back().Ctx == Array); in arrayEnd()
852 if (Stack.back().HasValue) in arrayEnd()
856 Stack.pop_back(); in arrayEnd()
857 assert(!Stack.empty()); in arrayEnd()
862 Stack.emplace_back(); in objectBegin()
863 Stack.back().Ctx = Object; in objectBegin()
869 assert(Stack.back().Ctx == Object); in objectEnd()
871 if (Stack.back().HasValue) in objectEnd()
875 Stack.pop_back(); in objectEnd()
876 assert(!Stack.empty()); in objectEnd()
880 assert(Stack.back().Ctx == Object); in attributeBegin()
881 if (Stack.back().HasValue) in attributeBegin()
885 Stack.back().HasValue = true; in attributeBegin()
886 Stack.emplace_back(); in attributeBegin()
887 Stack.back().Ctx = Singleton; in attributeBegin()
900 assert(Stack.back().Ctx == Singleton); in attributeEnd()
901 assert(Stack.back().HasValue && "Attribute must have a value"); in attributeEnd()
903 Stack.pop_back(); in attributeEnd()
904 assert(Stack.back().Ctx == Object); in attributeEnd()
909 Stack.emplace_back(); in rawValueBegin()
910 Stack.back().Ctx = RawValue; in rawValueBegin()
915 assert(Stack.back().Ctx == RawValue); in rawValueEnd()
916 Stack.pop_back(); in rawValueEnd()