public ISymbolVariable[] GetVariables(SymbolToken parent)
        {
            int varCount;

            HRESULT.ThrowOnFailure(_unmanaged.GetVariables(parent.GetToken(), 0, out varCount, null));

            var unmanagedVars = new ISymUnmanagedVariable[varCount];

            HRESULT.ThrowOnFailure(_unmanaged.GetVariables(parent.GetToken(), unmanagedVars.Length, out varCount, unmanagedVars));

            var variables = new ISymbolVariable[varCount];

            for (int i = 0; i < varCount; i++)
            {
                variables[i] = new SymbolVariable(unmanagedVars[i]);
            }

            return(variables);
        }
Example #2
0
        public ISymbolVariable[] GetParameters()
        {
            int varCount;

            HRESULT.ThrowOnFailure(_unmanaged.GetParameters(0, out varCount, null));

            var unmanagedVars = new ISymUnmanagedVariable[varCount];

            HRESULT.ThrowOnFailure(_unmanaged.GetParameters(unmanagedVars.Length, out varCount, unmanagedVars));

            var variables = new ISymbolVariable[varCount];

            for (int i = 0; i < varCount; i++)
            {
                variables[i] = new SymbolVariable(unmanagedVars[i]);
            }

            return(variables);
        }
        public ISymbolVariable[] GetLocals()
        {
            int size;

            HRESULT.ThrowOnFailure(_unmanaged.GetLocals(0, out size, null));

            var unmanagedVars = new ISymUnmanagedVariable[size];

            HRESULT.ThrowOnFailure(_unmanaged.GetLocals(unmanagedVars.Length, out size, unmanagedVars));

            var variables = new ISymbolVariable[size];

            for (int i = 0; i < size; i++)
            {
                variables[i] = new SymbolVariable(unmanagedVars[i]);
            }

            return(variables);
        }