+ #endregion
+
+ public Method CreateFinallyHost (TryFinallyBlock block)
+ {
+ var method = new Method (storey, new TypeExpression (storey.Compiler.BuiltinTypes.Void, loc),
+ Modifiers.COMPILER_GENERATED, new MemberName (CompilerGeneratedContainer.MakeName (null, null, "Finally", finally_hosts_counter++), loc),
+ ParametersCompiled.EmptyReadOnlyParameters, null);
+
+ method.Block = new ToplevelBlock (method.Compiler, method.ParameterInfo, loc,
+ ToplevelBlock.Flags.CompilerGenerated | ToplevelBlock.Flags.NoFlowAnalysis);
+ method.Block.AddStatement (new TryFinallyBlockProxyStatement (this, block));
+
+ // Cannot it add to storey because it'd be emitted before nested
+ // anonoymous methods which could capture shared variable
+
+ return method;
+ }
+