MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / PAR_make_list

Function PAR_make_list

src/jrd/par.cpp:635–650  ·  view source on GitHub ↗

Make a list node out of a stack.

Source from the content-addressed store, hash-verified

633
634// Make a list node out of a stack.
635CompoundStmtNode* PAR_make_list(thread_db* tdbb, StmtNodeStack& stack)
636{
637 SET_TDBB(tdbb);
638
639 // Count the number of nodes.
640 USHORT count = stack.getCount();
641
642 CompoundStmtNode* node = FB_NEW_POOL(*tdbb->getDefaultPool()) CompoundStmtNode(*tdbb->getDefaultPool());
643
644 NestConst<StmtNode>* ptr = node->statements.getBuffer(count) + count;
645
646 while (stack.hasData())
647 *--ptr = stack.pop();
648
649 return node;
650}
651
652
653ULONG PAR_marks(Jrd::CompilerScratch* csb)

Callers 3

parseMethod · 0.85
makeDefaultsMethod · 0.85
pass1ExpandViewFunction · 0.85

Calls 7

SET_TDBBFunction · 0.85
CompoundStmtNodeClass · 0.70
getCountMethod · 0.45
getDefaultPoolMethod · 0.45
getBufferMethod · 0.45
hasDataMethod · 0.45
popMethod · 0.45

Tested by

no test coverage detected