Example #1
0
        internal MethodSpecification(MetadataReader reader, MethodSpecificationHandle handle)
        {
            Debug.Assert(reader != null);
            Debug.Assert(!handle.IsNil);

            _reader = reader;
            _rowId = handle.RowId;
        }
Example #2
0
 public MethodSpecification GetMethodSpecification(MethodSpecificationHandle handle)
 {
     return new MethodSpecification(this, handle);
 }
Example #3
0
 internal BlobHandle GetInstantiation(MethodSpecificationHandle handle)
 {
     int rowOffset = (handle.RowId - 1) * this.RowSize;
     return BlobHandle.FromOffset(this.Block.PeekHeapReference(rowOffset + _InstantiationOffset, _IsBlobHeapRefSizeSmall));
 }
Example #4
0
 internal EntityHandle GetMethod(MethodSpecificationHandle handle)
 {
     int rowOffset = (handle.RowId - 1) * this.RowSize;
     return MethodDefOrRefTag.ConvertToHandle(this.Block.PeekTaggedReference(rowOffset + _MethodOffset, _IsMethodDefOrRefRefSizeSmall));
 }
 private Mapping<MethodSpecificationHandle> MapMethodSpecificationImpl(MethodSpecificationHandle handle)
 {
     throw new NotImplementedException();
 }
 public Mapping<MethodSpecificationHandle> MapMethodSpecification(MethodSpecificationHandle handle)
 {
     return _methodSpecifications.GetOrAdd(handle, MapMethodSpecificationImpl);
 }
Example #7
0
 /// <summary>
 /// Encodes <code>call</code> instruction and its operand.
 /// </summary>
 public void Call(MethodSpecificationHandle methodHandle)
 {
     OpCode(ILOpCode.Call);
     Token(methodHandle);
 }
Example #8
0
 internal Handle GetMethod(MethodSpecificationHandle handle)
 {
     int rowOffset = (int)(handle.RowId - 1) * this.RowSize;
     return MethodDefOrRefTag.ConvertToToken(this.Block.PeekTaggedReference(rowOffset + this.MethodOffset, this.IsMethodDefOrRefRefSizeSmall));
 }