| 104 | |
| 105 | template<class T, class F> |
| 106 | static void visitValue(T& self, F f) { |
| 107 | switch (self.valueType) { |
| 108 | case ValueType::INT: |
| 109 | case ValueType::SYMBOLIC: |
| 110 | case ValueType::BUFFER_SIZE: |
| 111 | case ValueType::CONTAINER_SIZE: |
| 112 | case ValueType::ITERATOR_START: |
| 113 | case ValueType::ITERATOR_END: { |
| 114 | f(self.intvalue); |
| 115 | break; |
| 116 | } |
| 117 | case ValueType::FLOAT: { |
| 118 | f(self.floatValue); |
| 119 | break; |
| 120 | } |
| 121 | case ValueType::UNINIT: |
| 122 | case ValueType::TOK: |
| 123 | case ValueType::LIFETIME: |
| 124 | case ValueType::MOVED: |
| 125 | break; |
| 126 | } |
| 127 | } |
| 128 | |
| 129 | struct compareVisitor { |
| 130 | struct innerVisitor { |
no test coverage detected