From bd969593679debb4a11e016707f7f86b0f0d3001 Mon Sep 17 00:00:00 2001 From: Matt Brown Date: Wed, 25 Sep 2024 17:05:13 -0700 Subject: [PATCH] Treat invariant(false, ...) as an exception --- src/analyzer/expr/call/function_call_analyzer.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/analyzer/expr/call/function_call_analyzer.rs b/src/analyzer/expr/call/function_call_analyzer.rs index 5309e9b0..f06b7c49 100644 --- a/src/analyzer/expr/call/function_call_analyzer.rs +++ b/src/analyzer/expr/call/function_call_analyzer.rs @@ -527,6 +527,11 @@ fn process_invariant( statements_analyzer: &StatementsAnalyzer, analysis_data: &mut FunctionAnalysisData, ) { + if first_arg.2 == aast::Expr_::False { + context.has_returned = true; + context.control_actions.insert(ControlAction::End); + return; + } let assertion_context = statements_analyzer.get_assertion_context( context.function_context.calling_class.as_ref(), context.function_context.calling_functionlike_id.as_ref(),