PERWAPI.PEFile.ReadPDBScope C# (CSharp) Method

ReadPDBScope() private method

private ReadPDBScope ( PDBScope scope, MergeBuffer mergeBuffer, Scope parent, MethodDef thisMeth ) : Scope
scope PDBScope
mergeBuffer MergeBuffer
parent Scope
thisMeth MethodDef
return Scope
        private Scope ReadPDBScope(PDBScope scope, MergeBuffer mergeBuffer, Scope parent, MethodDef thisMeth)
        {
            Scope thisScope = new Scope(parent, thisMeth);

            if (parent != null) mergeBuffer.Add(new OpenScope(thisScope), (uint) scope.StartOffset);

            foreach (PDBVariable var in scope.Variables)
                thisScope.AddLocalBinding(var.Name, var.Address);

            foreach (PDBScope child in scope.Children)
                ReadPDBScope(child, mergeBuffer, thisScope, thisMeth);

            if (parent != null) mergeBuffer.Add(new CloseScope(thisScope), (uint) scope.EndOffset);

            return thisScope;
        }