Combine CfgScope classes for BodyStmt ∩ Callable

This commit is contained in:
Nick Rolfe
2021-03-19 16:08:43 +00:00
parent 7667606b89
commit cf7ce911bc

View File

@@ -65,23 +65,7 @@ module CfgScope {
}
}
private class MethodScope extends Range_, Method {
final override predicate entry(AstNode first) { this.(Trees::BodyStmtTree).firstInner(first) }
final override predicate exit(AstNode last, Completion c) {
this.(Trees::BodyStmtTree).lastInner(last, c)
}
}
private class SingletonMethodScope extends Range_, SingletonMethod {
final override predicate entry(AstNode first) { this.(Trees::BodyStmtTree).firstInner(first) }
final override predicate exit(AstNode last, Completion c) {
this.(Trees::BodyStmtTree).lastInner(last, c)
}
}
private class DoBlockScope extends Range_, DoBlock {
private class BodyStmtCallableScope extends Range_, ASTInternal::TBodyStmt, Callable {
final override predicate entry(AstNode first) { this.(Trees::BodyStmtTree).firstInner(first) }
final override predicate exit(AstNode last, Completion c) {
@@ -98,14 +82,6 @@ module CfgScope {
last(this.(Trees::BraceBlockTree).getLastChildNode(), last, c)
}
}
private class LambdaScope extends Range_, Lambda {
final override predicate entry(AstNode first) { this.(Trees::BodyStmtTree).firstInner(first) }
final override predicate exit(AstNode last, Completion c) {
this.(Trees::BodyStmtTree).lastInner(last, c)
}
}
}
abstract private class ControlFlowTree extends AstNode {