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 (_typeArgument != null) { RuntimeDeterminedTypeHelper.WriteTo(_typeArgument, sb); } else if (_methodArgument != null) { RuntimeDeterminedTypeHelper.WriteTo(_methodArgument.Method, sb); 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("]"); } } else { throw new NotImplementedException(); } sb.Append(" ("); sb.Append(_methodContext.ToString()); sb.Append(")"); }
public override int GetHashCode() { return(unchecked (((int)LookupKind << 24) + (int)FixupKind + (TypeArgument != null ? 31 * RuntimeDeterminedTypeHelper.GetHashCode(TypeArgument) : 0) + (MethodArgument != null ? 31 * RuntimeDeterminedTypeHelper.GetHashCode(MethodArgument.Method) : 0) + 97 * (ContextType?.GetHashCode() ?? 0))); }
public bool Equals(GenericLookupKey other) { return(LookupKind == other.LookupKind && FixupKind == other.FixupKind && RuntimeDeterminedTypeHelper.Equals(TypeArgument, other.TypeArgument) && RuntimeDeterminedTypeHelper.Equals(MethodArgument?.Method ?? null, other.MethodArgument?.Method ?? null) && ContextType == other.ContextType); }
public bool Equals(GenericLookupKey other) { return(LookupKind == other.LookupKind && FixupKind == other.FixupKind && RuntimeDeterminedTypeHelper.Equals(TypeArgument, other.TypeArgument) && RuntimeDeterminedTypeHelper.Equals(MethodArgument, other.MethodArgument) && RuntimeDeterminedTypeHelper.Equals(FieldArgument, other.FieldArgument) && MethodContext.Equals(other.MethodContext)); }