| 122 | //------------------------------------------------------------------------------ |
| 123 | |
| 124 | void Error_InvalidFilterPlacement(rax *entitiesRax) { |
| 125 | ASSERT(entitiesRax != NULL); |
| 126 | |
| 127 | // Something is wrong - could not find a matching op where all references are solved. |
| 128 | raxIterator it; |
| 129 | raxStart(&it, entitiesRax); |
| 130 | // Retrieve the first key in the rax. |
| 131 | raxSeek(&it, "^", NULL, 0); |
| 132 | raxNext(&it); |
| 133 | // Build invalid entity string on the stack to add null terminator. |
| 134 | char invalid_entity[it.key_len + 1]; |
| 135 | memcpy(invalid_entity, it.key, it.key_len); |
| 136 | invalid_entity[it.key_len] = 0; |
| 137 | // Emit compile-time error. |
| 138 | ErrorCtx_SetError("Unable to resolve filtered alias '%s'", invalid_entity); |
| 139 | raxFree(entitiesRax); |
| 140 | } |
| 141 | |
| 142 | void Error_SITypeMismatch(SIValue received, SIType expected) { |
| 143 | size_t bufferLen = MULTIPLE_TYPE_STRING_BUFFER_SIZE; |
no test coverage detected