diff --git a/TestSuite/lambdas_exceptions.pas b/TestSuite/lambdas_exceptions.pas new file mode 100644 index 000000000..f7ccd8010 --- /dev/null +++ b/TestSuite/lambdas_exceptions.pas @@ -0,0 +1,14 @@ +begin + var i := 0; + var p: procedure := ()->try + raise new Exception('test'); + except + on ex: Exception do + begin + i := 1; + end; + + end; + p; + assert(i = 1); +end. \ No newline at end of file diff --git a/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs b/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs index 0257d9538..3fdcdfd88 100644 --- a/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs +++ b/TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs @@ -129,6 +129,11 @@ namespace TreeConverter.LambdaExpressions.Closure } } + public override void visit(exception_handler _exception_handler) + { + ProcessNode(_exception_handler.statements); + } + public override void visit(ident id) { var idName = id.name.ToLower();