MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / visitFinally

Method visitFinally

src/ast/ast.cpp:1847–1859  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1845 }
1846
1847 void ExprBlock::visitFinally(Visitor & vis) {
1848 if ( !finalList.empty() && !finallyDisabled ) {
1849 vis.preVisitBlockFinal(this);
1850 for ( auto it = finalList.begin(); it!=finalList.end(); ) {
1851 auto & subexpr = *it;
1852 vis.preVisitBlockFinalExpression(this, subexpr);
1853 if ( subexpr ) subexpr = subexpr->visit(vis);
1854 if ( subexpr ) subexpr = vis.visitBlockFinalExpression(this, subexpr);
1855 if ( subexpr ) ++it; else it = finalList.erase(it);
1856 }
1857 vis.visitBlockFinal(this);
1858 }
1859 }
1860
1861 ExpressionPtr ExprBlock::visit(Visitor & vis) {
1862 vis.preVisit(this);

Callers 1

astVisitBlockFinallyFunction · 0.80

Calls 9

emptyMethod · 0.45
preVisitBlockFinalMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
visitMethod · 0.45
eraseMethod · 0.45
visitBlockFinalMethod · 0.45

Tested by

no test coverage detected