Exemple #1
0
 public override void AppendMangledName(NameMangler nameMangler, Utf8StringBuilder sb)
 {
     sb.Append(nameMangler.CompilationUnitPrefix);
     sb.Append("GenericLookupSignature(");
     sb.Append(_runtimeLookupKind.ToString());
     sb.Append(" / ");
     sb.Append(_fixupKind.ToString());
     sb.Append(": ");
     if (_methodArgument != null)
     {
         sb.Append(nameMangler.GetMangledMethodName(_methodArgument.Method));
         if (!_methodArgument.Token.IsNull)
         {
             sb.Append(" [");
             sb.Append(_methodArgument.Token.MetadataReader.GetString(_methodArgument.Token.MetadataReader.GetAssemblyDefinition().Name));
             sb.Append(":");;
             sb.Append(((uint)_methodArgument.Token.Token).ToString("X8"));
             sb.Append("]");
         }
     }
     if (_typeArgument != null)
     {
         sb.Append(nameMangler.GetMangledTypeName(_typeArgument));
     }
     if (_fieldArgument != null)
     {
         sb.Append(nameMangler.GetMangledFieldName(_fieldArgument));
     }
     sb.Append(" (");
     _methodContext.AppendMangledName(nameMangler, sb);
     sb.Append(")");
 }