示例#1
0
文件: SymScope.cs 项目: ForNeVeR/pnet
        // Add a local variable to this scope.
        internal void AddLocal(String name, int ilOffset)
        {
            SymVariable var = new SymVariable(name, ilOffset, this);

            ISymbolVariable[] newLocals;
            newLocals = new ISymbolVariable [locals.Length + 1];
            Array.Copy(locals, 0, newLocals, 0, locals.Length);
            newLocals[locals.Length] = var;
            locals = newLocals;
        }
        public ISymbolVariable[] GetParameters()
        {
            int cVariables = 0;
            uint i;
            m_unmanagedMethod.GetParameters(0, out cVariables, null);
            var unmanagedVariables = new ISymUnmanagedVariable[cVariables];
            m_unmanagedMethod.GetParameters(cVariables, out cVariables, unmanagedVariables);

            var Variables = new ISymbolVariable[cVariables];
            for (i = 0; i < cVariables; i++)
            {
                Variables[i] = new SymVariable(unmanagedVariables[i]);
            }

            return Variables;
        }
示例#3
0
        public ISymbolVariable[] GetVariables(SymbolToken parent)
        {
            int cVars = 0;
            uint i;
            m_reader.GetVariables(parent, 0, out cVars, null);
            ISymUnmanagedVariable[] unmanagedVariables = new ISymUnmanagedVariable[cVars];
            m_reader.GetVariables(parent, cVars, out cVars, unmanagedVariables);
            SymVariable[] variables = new SymVariable[cVars];

            for (i = 0; i < cVars; i++)
            {
                variables[i] = new SymVariable(unmanagedVariables[i]);
            }
            return variables;
        }
示例#4
0
        public ISymbolVariable[] GetLocalVariables(SymbolToken mdMethodToken)
        {
            int count = 0;
            ((ISymUnmanagedEncUpdate)m_reader).GetLocalVariables(mdMethodToken, 0, null, out count);
            ISymUnmanagedVariable[] unmanagedVariables = new ISymUnmanagedVariable[count];
            ((ISymUnmanagedEncUpdate)m_reader).GetLocalVariables(mdMethodToken, count, unmanagedVariables, out count);

            ISymbolVariable[] variables = new ISymbolVariable[count];
            uint i;
            for (i = 0; i < count; i++)
            {
                variables[i] = new SymVariable(unmanagedVariables[i]);
            }
            return variables;
        }
示例#5
0
        public ISymbolVariable[] GetGlobalVariables()
        {
            int cVars = 0;
            uint i;
            m_reader.GetGlobalVariables(0, out cVars, null);
            ISymUnmanagedVariable[] unmanagedVariables = new ISymUnmanagedVariable[cVars];
            m_reader.GetGlobalVariables(cVars, out cVars, unmanagedVariables);
            SymVariable[] variables = new SymVariable[cVars];

            for (i = 0; i < cVars; i++)
            {
                variables[i] = new SymVariable(unmanagedVariables[i]);
            }
            return variables;
        }
示例#6
0
        public ISymbolVariable[] GetVariables()
        {
            int cVars = 0;
            uint i;
            m_unmanagedNamespace.GetVariables(0, out cVars, null);
            var unmanagedVariables = new ISymUnmanagedVariable[cVars];
            m_unmanagedNamespace.GetVariables(cVars, out cVars, unmanagedVariables);

            var Variables = new ISymbolVariable[cVars];
            for (i = 0; i < cVars; i++)
            {
                Variables[i] = new SymVariable(unmanagedVariables[i]);
            }
            return Variables;
        }
示例#7
0
        public ISymbolVariable[] GetLocals()
        {
            int count;
            m_target.GetLocals(0, out count, null);
            ISymUnmanagedVariable[] uVariables = new ISymUnmanagedVariable[count];
            m_target.GetLocals(count, out count, uVariables);

            int i;
            ISymbolVariable[] variables = new ISymbolVariable[count];
            for (i = 0; i < count; i++)
            {
                variables[i] = new SymVariable(uVariables[i]);
            }
            return variables;
        }
示例#8
0
	// Add a local variable to this scope.
	internal void AddLocal(String name, int ilOffset)
			{
				SymVariable var = new SymVariable(name, ilOffset, this);
				ISymbolVariable[] newLocals;
				newLocals = new ISymbolVariable [locals.Length + 1];
				Array.Copy(locals, 0, newLocals, 0, locals.Length);
				newLocals[locals.Length] = var;
				locals = newLocals;
			}