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

Class IfNode

src/dsql/StmtNodes.h:706–731  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

704
705
706class IfNode final : public TypedNode<StmtNode, StmtNode::TYPE_IF>
707{
708public:
709 explicit IfNode(MemoryPool& pool)
710 : TypedNode<StmtNode, StmtNode::TYPE_IF>(pool),
711 condition(NULL),
712 trueAction(NULL),
713 falseAction(NULL)
714 {
715 }
716
717public:
718 static DmlNode* parse(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, const UCHAR blrOp);
719
720 virtual Firebird::string internalPrint(NodePrinter& printer) const;
721 virtual IfNode* dsqlPass(DsqlCompilerScratch* dsqlScratch);
722 virtual void genBlr(DsqlCompilerScratch* dsqlScratch);
723 virtual IfNode* pass1(thread_db* tdbb, CompilerScratch* csb);
724 virtual IfNode* pass2(thread_db* tdbb, CompilerScratch* csb);
725 virtual const StmtNode* execute(thread_db* tdbb, Request* request, ExeState* exeState) const;
726
727public:
728 NestConst<BoolExprNode> condition;
729 NestConst<StmtNode> trueAction;
730 NestConst<StmtNode> falseAction;
731};
732
733
734class InAutonomousTransactionNode final : public TypedNode<StmtNode, StmtNode::TYPE_IN_AUTO_TRANS>

Callers 3

parseMethod · 0.85
dsqlPassMethod · 0.85
setupComputedFieldsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected