Ejemplo n.º 1
0
        internal void AddLocalVariables(ISymUnmanagedVariable[] variables)
        {
            var metadataReader = MetadataReader;

            int i = 0;

            foreach (var scopeHandle in metadataReader.GetLocalScopes(DebugHandle))
            {
                var scope = metadataReader.GetLocalScope(scopeHandle);
                foreach (var variableHandle in scope.GetLocalVariables())
                {
                    variables[i++] = new SymVariable(this, variableHandle);
                }
            }
        }
Ejemplo n.º 2
0
        internal override int GetLocals(int bufferLength, out int count, ISymUnmanagedVariable[] locals)
        {
            var mdReader = SymMethod.MetadataReader;
            var scope    = mdReader.GetLocalScope(_handle);

            var handles = scope.GetLocalVariables();

            int i = 0;

            foreach (var handle in handles)
            {
                if (i >= bufferLength)
                {
                    break;
                }

                locals[i++] = new SymVariable(SymMethod, handle);
            }

            count = (bufferLength == 0) ? handles.Count : i;
            return(HResult.S_OK);
        }
Ejemplo n.º 3
0
        internal override int GetLocals(int bufferLength, out int count, ISymUnmanagedVariable[] locals)
        {
            var mdReader = SymMethod.MetadataReader;
            var scope = mdReader.GetLocalScope(_handle);

            var handles = scope.GetLocalVariables();

            int i = 0;
            foreach (var handle in handles)
            {
                if (i >= bufferLength)
                {
                    break;
                }

                locals[i++] = new SymVariable(SymMethod, handle);
            }

            count = (bufferLength == 0) ? handles.Count : i;
            return HResult.S_OK;
        }