MCPcopy Create free account
hub / github.com/Chemiculs/qengine / removeNode

Method removeNode

src/qengine/extern/asmjit/core/builder.cpp:234–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232}
233
234BaseNode* BaseBuilder::removeNode(BaseNode* node) noexcept {
235 if (!node->isActive())
236 return node;
237
238 BaseNode* prev = node->prev();
239 BaseNode* next = node->next();
240
241 if (_firstNode == node)
242 _firstNode = next;
243 else
244 prev->_next = next;
245
246 if (_lastNode == node)
247 _lastNode = prev;
248 else
249 next->_prev = prev;
250
251 node->_prev = nullptr;
252 node->_next = nullptr;
253 node->clearFlags(NodeFlags::kIsActive);
254 if (node->isSection())
255 _dirtySectionLinks = true;
256
257 if (_cursor == node)
258 _cursor = prev;
259
260 return node;
261}
262
263void BaseBuilder::removeNodes(BaseNode* first, BaseNode* last) noexcept {
264 if (first == last) {

Callers 4

removeNodeFunction · 0.80
removeUnreachableCodeMethod · 0.80
_rewriteMethod · 0.80
_rewriteMethod · 0.80

Calls 5

isActiveMethod · 0.80
isSectionMethod · 0.80
prevMethod · 0.45
nextMethod · 0.45
clearFlagsMethod · 0.45

Tested by

no test coverage detected