| 4027 | } |
| 4028 | |
| 4029 | void unpackValueTuple(Tuple** referenceTuple, Optional<Tuple>& valueTuple, KeyValueRef* keyValue) { |
| 4030 | if (!valueTuple.present()) { |
| 4031 | // May throw exception if the value is not parsable as a tuple. |
| 4032 | try { |
| 4033 | valueTuple = Tuple::unpack(keyValue->value); |
| 4034 | } catch (Error& e) { |
| 4035 | TraceEvent("ValueNotTuple").error(e).detail("Value", keyValue->value.printable()); |
| 4036 | throw value_not_tuple(); |
| 4037 | } |
| 4038 | } |
| 4039 | *referenceTuple = &valueTuple.get(); |
| 4040 | } |
| 4041 | |
| 4042 | bool unescapeLiterals(std::string& s, std::string before, std::string after) { |
| 4043 | bool escaped = false; |
no test coverage detected