mirror of
https://github.com/github/codeql.git
synced 2026-02-20 08:53:49 +01:00
CFG: fix BEGIN and END blocks
This commit is contained in:
@@ -23,10 +23,26 @@ private module CfgScope {
|
||||
|
||||
private class BeginBlockScope extends Range, Generated::BeginBlock {
|
||||
final override string getName() { result = "BEGIN block" }
|
||||
|
||||
final override predicate entry(Generated::AstNode first) {
|
||||
first(this.(Trees::BeginBlockTree).getFirstChildNode(), first)
|
||||
}
|
||||
|
||||
final override predicate exit(Generated::AstNode last, Completion c) {
|
||||
last(this.(Trees::BeginBlockTree).getLastChildNode(), last, c)
|
||||
}
|
||||
}
|
||||
|
||||
private class EndBlockScope extends Range, Generated::EndBlock {
|
||||
final override string getName() { result = "END block" }
|
||||
|
||||
final override predicate entry(Generated::AstNode first) {
|
||||
first(this.(Trees::EndBlockTree).getFirstChildNode(), first)
|
||||
}
|
||||
|
||||
final override predicate exit(Generated::AstNode last, Completion c) {
|
||||
last(this.(Trees::EndBlockTree).getLastChildNode(), last, c)
|
||||
}
|
||||
}
|
||||
|
||||
private class MethodScope extends Range, Generated::AstNode {
|
||||
|
||||
@@ -274,7 +274,7 @@ module Trees {
|
||||
override predicate isHidden() { any() }
|
||||
}
|
||||
|
||||
private class BeginBlockTree extends StandardPreOrderTree, BeginBlock {
|
||||
class BeginBlockTree extends PreOrderTree, PostOrderTree, StandardNode, BeginBlock {
|
||||
final override AstNode getChildNode(int i) { result = this.getChild(i) }
|
||||
}
|
||||
|
||||
@@ -456,7 +456,7 @@ module Trees {
|
||||
|
||||
private class EmptyStatementTree extends LeafTree, EmptyStatement { }
|
||||
|
||||
private class EndBlockTree extends StandardPreOrderTree, EndBlock {
|
||||
class EndBlockTree extends StandardNode, PreOrderTree, PostOrderTree, EndBlock {
|
||||
final override AstNode getChildNode(int i) { result = this.getChild(i) }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user