Mono.Cecil.Pdb.PdbWriter.DefineScope C# (CSharp) Method

DefineScope() private method

private DefineScope ( ScopeDebugInformation scope, MethodDebugInformation info ) : void
scope Mono.Cecil.Cil.ScopeDebugInformation
info Mono.Cecil.Cil.MethodDebugInformation
return void
        void DefineScope(ScopeDebugInformation scope, MethodDebugInformation info)
        {
            var start_offset = scope.Start.Offset;
            var end_offset = scope.End.IsEndOfMethod
                ? info.code_size
                : scope.End.Offset;

            writer.OpenScope (start_offset);

            var sym_token = new SymbolToken (info.local_var_token.ToInt32 ());

            if (!scope.variables.IsNullOrEmpty ()) {
                for (int i = 0; i < scope.variables.Count; i++) {
                    var variable = scope.variables [i];
                    CreateLocalVariable (variable, sym_token, start_offset, end_offset);
                }
            }

            if (!scope.scopes.IsNullOrEmpty ()) {
                for (int i = 0; i < scope.scopes.Count; i++)
                    DefineScope (scope.scopes [i], info);
            }

            writer.CloseScope (end_offset);
        }