Example #1
0
 public ILReader(IILProvider ilProvider, ITokenResolver tokenResolver)
 {
     m_resolver   = tokenResolver;
     m_ilProvider = ilProvider ?? throw new ArgumentNullException(nameof(ilProvider));
     m_byteArray  = m_ilProvider.GetByteArray();
     m_position   = 0;
 }
Example #2
0
        public ILReader(IILProvider ilProvider, ITokenResolver tokenResolver)
        {
            if (ilProvider == null)
            {
                throw new ArgumentNullException(nameof(ilProvider));
            }

            m_resolver  = tokenResolver;
            m_byteArray = ilProvider.GetByteArray();
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ILInstructionReader"/> class.
 /// </summary>
 /// <param name="ilProvider">The il provider.</param>
 /// <param name="tokenResolver">The token resolver.</param>
 /// <exception cref="System.ArgumentNullException">ilProvider</exception>
 internal ILInstructionReader(IILProvider ilProvider, ITokenResolver tokenResolver)
 {
     this._resolver          = tokenResolver;
     this._ilProvider        = ilProvider ?? throw new ArgumentNullException("ilProvider");
     this._byteArray         = this._ilProvider.GetByteArray();
     this._position          = 0;
     this.stackByOffset      = new Dictionary <int, ImmutableStack <ILVariable> >();
     this.unionFind          = new UnionFind <ILVariable>();
     this.stackMismatchPairs = new List <(ILVariable, ILVariable)>();
     this.currentStack       = ImmutableStack <ILVariable> .Empty;
 }
Example #4
0
        public ILReader(IILProvider ilProvider, ITokenResolver tokenResolver)
        {
            if (ilProvider == null)
            {
                throw new ArgumentNullException("ilProvider");
            }

            _resolver  = tokenResolver;
            _byteArray = ilProvider.GetByteArray();
            _position  = 0;
        }
Example #5
0
        public ILReader(MethodBase method)
        {
            if (method == null)
            {
                throw new ArgumentNullException("method");
            }
            Type type = method.GetType();

            if (type != ILReader.s_runtimeMethodInfoType && type != ILReader.s_runtimeConstructorInfoType)
            {
                throw new ArgumentException("method must be RuntimeMethodInfo or RuntimeConstructorInfo for this constructor.");
            }
            this.m_ilProvider = (IILProvider) new MethodBaseILProvider(method);
            this.m_resolver   = (ITokenResolver) new ModuleScopeTokenResolver(method);
            this.m_byteArray  = this.m_ilProvider.GetByteArray();
            this.m_position   = 0;
        }
Example #6
0
        public ILReader(MethodBase method)
        {
            if (method == null)
            {
                throw new ArgumentNullException("method");
            }

            Type rtType = method.GetType();

            //if (rtType != s_runtimeMethodInfoType && rtType != s_runtimeConstructorInfoType) {
            //    throw new ArgumentException("method must be RuntimeMethodInfo or RuntimeConstructorInfo for this constructor.");
            //}

            m_ilProvider = new MethodBaseILProvider(method);
            m_resolver   = new ModuleScopeTokenResolver(method);
            m_byteArray  = m_ilProvider.GetByteArray();
            m_position   = 0;
        }
Example #7
0
            public ILReader(IILProvider ilProvider, ITokenResolver tokenResolver)
            {
                if (ilProvider == null)
                {
                    throw new ArgumentNullException("ilProvider");
                }

                m_resolver = tokenResolver;
                m_ilProvider = ilProvider;
                InstructionBytes = m_ilProvider.GetByteArray();
                m_position = 0;
            }
Example #8
0
            public ILReader(MethodBase method)
            {
                if (method == null)
                {
                    throw new ArgumentNullException("method");
                }

                Type rtType = method.GetType();
                if (rtType != s_runtimeMethodInfoType && rtType != s_runtimeConstructorInfoType)
                {
                    throw new ArgumentException("method must be RuntimeMethodInfo or RuntimeConstructorInfo for this constructor.");
                }

                m_ilProvider = new MethodBaseILProvider(method);
                m_resolver = new ModuleScopeTokenResolver(method);
                InstructionBytes = m_ilProvider.GetByteArray();
                m_position = 0;
            }