| 704 | |
| 705 | |
| 706 | class IfNode final : public TypedNode<StmtNode, StmtNode::TYPE_IF> |
| 707 | { |
| 708 | public: |
| 709 | explicit IfNode(MemoryPool& pool) |
| 710 | : TypedNode<StmtNode, StmtNode::TYPE_IF>(pool), |
| 711 | condition(NULL), |
| 712 | trueAction(NULL), |
| 713 | falseAction(NULL) |
| 714 | { |
| 715 | } |
| 716 | |
| 717 | public: |
| 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 | |
| 727 | public: |
| 728 | NestConst<BoolExprNode> condition; |
| 729 | NestConst<StmtNode> trueAction; |
| 730 | NestConst<StmtNode> falseAction; |
| 731 | }; |
| 732 | |
| 733 | |
| 734 | class InAutonomousTransactionNode final : public TypedNode<StmtNode, StmtNode::TYPE_IN_AUTO_TRANS> |
no outgoing calls
no test coverage detected