From 569063ca73ce622d77d0af6ee07eaace8e33a6c3 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Wed, 5 May 2021 17:14:32 +0100 Subject: [PATCH] Make YieldCallTree post-order --- .../controlflow/internal/ControlFlowGraphImpl.qll | 3 +-- ql/test/library-tests/controlflow/graph/Cfg.expected | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ql/src/codeql_ruby/controlflow/internal/ControlFlowGraphImpl.qll b/ql/src/codeql_ruby/controlflow/internal/ControlFlowGraphImpl.qll index bd5e91670fd..77664806c7c 100644 --- a/ql/src/codeql_ruby/controlflow/internal/ControlFlowGraphImpl.qll +++ b/ql/src/codeql_ruby/controlflow/internal/ControlFlowGraphImpl.qll @@ -1293,8 +1293,7 @@ module Trees { } } - // TODO: make post-order - private class YieldCallTree extends StandardPreOrderTree, YieldCall { + private class YieldCallTree extends StandardPostOrderTree, YieldCall { final override ControlFlowTree getChildNode(int i) { result = this.getArgument(i) } } } diff --git a/ql/test/library-tests/controlflow/graph/Cfg.expected b/ql/test/library-tests/controlflow/graph/Cfg.expected index 3e39856c559..025f50e62e4 100644 --- a/ql/test/library-tests/controlflow/graph/Cfg.expected +++ b/ql/test/library-tests/controlflow/graph/Cfg.expected @@ -2038,7 +2038,7 @@ cfg.rb: #-----| -> ... != ... # 190| enter run_block -#-----| -> yield ... +#-----| -> 42 # 190| run_block #-----| -> self @@ -2049,10 +2049,10 @@ cfg.rb: #-----| -> exit run_block # 191| yield ... -#-----| -> 42 +#-----| -> exit run_block (normal) # 191| 42 -#-----| -> exit run_block (normal) +#-----| -> yield ... # 194| call to run_block #-----| -> exit cfg.rb (normal)