public string GetHashValueString() { if (!HasHashValue) { return(string.Empty); } return(CilDecoder.CreateByteArrayString(HashValue)); }
public string GetPublicKeyOrTokenString() { if (!HasPublicKeyOrToken) { return(string.Empty); } return(CilDecoder.CreateByteArrayString(PublicKeyOrToken)); }
private CilEntity GetTypeEntity() { BlobReader blobReader = _readers.MdReader.GetBlobReader(_typeSpecification.Signature); SignatureTypeCode typeCode = blobReader.ReadSignatureTypeCode(); while (typeCode == SignatureTypeCode.GenericTypeInstance) { typeCode = blobReader.ReadSignatureTypeCode(); } if (typeCode == SignatureTypeCode.TypeHandle) { Handle handle = blobReader.ReadTypeHandle(); return(CilDecoder.DecodeEntityHandle((EntityHandle)handle, ref _readers)); } return(new CilEntity(null, EntityKind.TypeSpecification)); }
public string ToString(CilTypeProvider provider) { switch (Kind) { case HandlerKind.Try: return(".try"); case HandlerKind.Finally: return("finally"); case HandlerKind.Filter: return("filter"); case HandlerKind.Fault: return("fault"); case HandlerKind.Catch: return(string.Format("catch {0}", CilDecoder.DecodeType(CatchType, provider).ToString(false))); default: throw new InvalidOperationException("Handler Kind doesn't exist."); } }
private void WriteOverridenMethod(CilMethodDefinition methodDefinition) { WriteIndentation(); _writer.Write(".override "); int token = methodDefinition.MethodDeclarationToken; if (CilDecoder.IsMemberReference(token)) { _writer.Write("method "); _writer.Write(CilDecoder.SolveMethodName(methodDefinition._readers.MdReader, token, methodDefinition.Provider)); if (_options.ShowBytes) { _writer.Write(string.Format(" /* {0:X8} */", token)); } _writer.WriteLine(); return; } _writer.Write(CilDecoder.DecodeOverridenMethodName(methodDefinition._readers.MdReader, token, methodDefinition.Provider)); if (_options.ShowBytes) { _writer.Write(string.Format(" /* {0:X8} */", token)); } _writer.WriteLine(); }
public string GetFormattedVersion() { return(CilDecoder.CreateVersionString(Version)); }
private void WritePropertyOrEventAccessor(CilMethodDefinition accessor) { int i = 0; StringBuilder genericParameters = new StringBuilder(); foreach (var genericParameter in accessor.GenericParameters) { if (i == 0) { genericParameters.Append('<'); } genericParameters.Append(genericParameter); genericParameters.Append(','); i++; } if (i > 0) { genericParameters.Length -= 1; //Delete trailing , genericParameters.Append('>'); } if (accessor.Signature.Header.IsInstance) { _writer.Write("instance "); } _writer.Write(string.Format("{0} {1}::{2}{3}{4}", accessor.Signature.ReturnType, accessor.DeclaringType.FullName, accessor.Name, genericParameters.ToString(), CilDecoder.DecodeSignatureParamerTypes(accessor.Signature))); _writer.WriteLine(); }
public string GetDecodedSignature() { string attributes = GetAttributesForSignature(); StringBuilder signature = new StringBuilder(); if (Signature.Header.IsInstance) { signature.Append("instance "); } signature.Append(Signature.ReturnType); return(string.Format("{0}{1} {2}{3}", attributes, signature.ToString(), Name, CilDecoder.DecodeSignatureParamerTypes(Signature))); }
public string GetValueString() { return(CilDecoder.CreateByteArrayString(Value)); }
private CilEntity GetEntity() { var handle = _eventDefinition.Type; return(CilDecoder.DecodeEntityHandle(handle, ref _readers)); }