888 references to unifiedBinaryOps
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (888)
Emit\NumericIntPtrTests.cs (888)
7120unifiedBinaryOps(symbol, "nint", "object"); 7121unifiedBinaryOps(symbol, "nint", "string"); 7122unifiedBinaryOps(symbol, "nint", "void*", null, (symbol == "-") ? $"void* void*.{name}(void* left, long right)" : null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeBadBinaryOps: includeBadBinaryOps, includeVoidError: true)); 7123unifiedBinaryOps(symbol, "nint", "bool"); 7124unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)"); 7125unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)"); 7126unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)"); 7127unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)"); 7128unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)"); 7129unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)"); 7130unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)"); 7131unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)"); 7132unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7133unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)"); 7134unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint")); 7135unifiedBinaryOps(symbol, "nint", "float", $"float float.{name}(float left, float right)"); 7136unifiedBinaryOps(symbol, "nint", "double", $"double double.{name}(double left, double right)"); 7137unifiedBinaryOps(symbol, "nint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7138unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)"); 7139unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7142unifiedBinaryOps(symbol, "nint", "bool?"); 7143unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)"); 7144unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)"); 7145unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)"); 7146unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)"); 7147unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)"); 7148unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)"); 7149unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)"); 7150unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)"); 7151unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7152unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)"); 7153unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint")); 7154unifiedBinaryOps(symbol, "nint", "float?", $"float float.{name}(float left, float right)"); 7155unifiedBinaryOps(symbol, "nint", "double?", $"double double.{name}(double left, double right)"); 7156unifiedBinaryOps(symbol, "nint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7157unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)"); 7158unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7159unifiedBinaryOps(symbol, "nint", "object"); 7162unifiedBinaryOps(symbol, "nint?", "string"); 7163unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true)); 7164unifiedBinaryOps(symbol, "nint?", "bool"); 7165unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)"); 7166unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)"); 7167unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)"); 7168unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)"); 7169unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)"); 7170unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)"); 7171unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)"); 7172unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)"); 7173unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7174unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)"); 7175unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?")); 7176unifiedBinaryOps(symbol, "nint?", "float", $"float float.{name}(float left, float right)"); 7177unifiedBinaryOps(symbol, "nint?", "double", $"double double.{name}(double left, double right)"); 7178unifiedBinaryOps(symbol, "nint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7179unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)"); 7180unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7183unifiedBinaryOps(symbol, "nint?", "bool?"); 7184unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)"); 7185unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)"); 7186unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)"); 7187unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)"); 7188unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)"); 7189unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)"); 7190unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)"); 7191unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)"); 7192unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7193unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)"); 7194unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?")); 7195unifiedBinaryOps(symbol, "nint?", "float?", $"float float.{name}(float left, float right)"); 7196unifiedBinaryOps(symbol, "nint?", "double?", $"double double.{name}(double left, double right)"); 7197unifiedBinaryOps(symbol, "nint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7198unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)"); 7199unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7202unifiedBinaryOps(symbol, "nuint", "object"); 7203unifiedBinaryOps(symbol, "nuint", "string"); 7204unifiedBinaryOps(symbol, "nuint", "void*", null, (symbol == "-") ? $"void* void*.{name}(void* left, ulong right)" : null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeBadBinaryOps: includeBadBinaryOps, includeVoidError: true)); 7205unifiedBinaryOps(symbol, "nuint", "bool"); 7206unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)"); 7207unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint")); 7208unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)"); 7209unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint")); 7210unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)"); 7211unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint")); 7212unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)"); 7213unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7214unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)"); 7215unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint")); 7216unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)"); 7217unifiedBinaryOps(symbol, "nuint", "float", $"float float.{name}(float left, float right)"); 7218unifiedBinaryOps(symbol, "nuint", "double", $"double double.{name}(double left, double right)"); 7219unifiedBinaryOps(symbol, "nuint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7220unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7221unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)"); 7224unifiedBinaryOps(symbol, "nuint", "bool?"); 7225unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)"); 7226unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint")); 7227unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)"); 7228unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint")); 7229unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)"); 7230unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint")); 7231unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7232unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7233unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7234unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint")); 7235unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)"); 7236unifiedBinaryOps(symbol, "nuint", "float?", $"float float.{name}(float left, float right)"); 7237unifiedBinaryOps(symbol, "nuint", "double?", $"double double.{name}(double left, double right)"); 7238unifiedBinaryOps(symbol, "nuint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7239unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7240unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)"); 7243unifiedBinaryOps(symbol, "nuint?", "object"); 7244unifiedBinaryOps(symbol, "nuint?", "string"); 7245unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true)); 7246unifiedBinaryOps(symbol, "nuint?", "bool"); 7247unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)"); 7248unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?")); 7249unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)"); 7250unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?")); 7251unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)"); 7252unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?")); 7253unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)"); 7254unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7255unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)"); 7256unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?")); 7257unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)"); 7258unifiedBinaryOps(symbol, "nuint?", "float", $"float float.{name}(float left, float right)"); 7259unifiedBinaryOps(symbol, "nuint?", "double", $"double double.{name}(double left, double right)"); 7260unifiedBinaryOps(symbol, "nuint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7261unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7262unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)"); 7265unifiedBinaryOps(symbol, "nuint?", "bool?"); 7266unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)"); 7267unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?")); 7268unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)"); 7269unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?")); 7270unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)"); 7271unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?")); 7272unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7273unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7274unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7275unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?")); 7276unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)"); 7277unifiedBinaryOps(symbol, "nuint?", "float?", $"float float.{name}(float left, float right)"); 7278unifiedBinaryOps(symbol, "nuint?", "double?", $"double double.{name}(double left, double right)"); 7279unifiedBinaryOps(symbol, "nuint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7280unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7281unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)"); 7287unifiedBinaryOps(symbol, "nint", "object"); 7288unifiedBinaryOps(symbol, "nint", "string"); 7289unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint")); 7290unifiedBinaryOps(symbol, "nint", "bool"); 7291unifiedBinaryOps(symbol, "nint", "char", $"bool nint.{name}(nint left, nint right)"); 7292unifiedBinaryOps(symbol, "nint", "sbyte", $"bool nint.{name}(nint left, nint right)"); 7293unifiedBinaryOps(symbol, "nint", "byte", $"bool nint.{name}(nint left, nint right)"); 7294unifiedBinaryOps(symbol, "nint", "short", $"bool nint.{name}(nint left, nint right)"); 7295unifiedBinaryOps(symbol, "nint", "ushort", $"bool nint.{name}(nint left, nint right)"); 7296unifiedBinaryOps(symbol, "nint", "int", $"bool nint.{name}(nint left, nint right)"); 7297unifiedBinaryOps(symbol, "nint", "uint", $"bool long.{name}(long left, long right)"); 7298unifiedBinaryOps(symbol, "nint", "nint", $"bool nint.{name}(nint left, nint right)"); 7299unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7300unifiedBinaryOps(symbol, "nint", "long", $"bool long.{name}(long left, long right)"); 7301unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint")); 7302unifiedBinaryOps(symbol, "nint", "float", $"bool float.{name}(float left, float right)"); 7303unifiedBinaryOps(symbol, "nint", "double", $"bool double.{name}(double left, double right)"); 7304unifiedBinaryOps(symbol, "nint", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7305unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"bool nint.{name}(nint left, nint right)"); 7306unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7309unifiedBinaryOps(symbol, "nint", "bool?"); 7310unifiedBinaryOps(symbol, "nint", "char?", $"bool nint.{name}(nint left, nint right)"); 7311unifiedBinaryOps(symbol, "nint", "sbyte?", $"bool nint.{name}(nint left, nint right)"); 7312unifiedBinaryOps(symbol, "nint", "byte?", $"bool nint.{name}(nint left, nint right)"); 7313unifiedBinaryOps(symbol, "nint", "short?", $"bool nint.{name}(nint left, nint right)"); 7314unifiedBinaryOps(symbol, "nint", "ushort?", $"bool nint.{name}(nint left, nint right)"); 7315unifiedBinaryOps(symbol, "nint", "int?", $"bool nint.{name}(nint left, nint right)"); 7316unifiedBinaryOps(symbol, "nint", "uint?", $"bool long.{name}(long left, long right)"); 7317unifiedBinaryOps(symbol, "nint", "nint?", $"bool nint.{name}(nint left, nint right)"); 7318unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7319unifiedBinaryOps(symbol, "nint", "long?", $"bool long.{name}(long left, long right)"); 7320unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint")); 7321unifiedBinaryOps(symbol, "nint", "float?", $"bool float.{name}(float left, float right)"); 7322unifiedBinaryOps(symbol, "nint", "double?", $"bool double.{name}(double left, double right)"); 7323unifiedBinaryOps(symbol, "nint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7324unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)"); 7325unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7326unifiedBinaryOps(symbol, "nint", "object"); 7329unifiedBinaryOps(symbol, "nint?", "string"); 7330unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?")); 7331unifiedBinaryOps(symbol, "nint?", "bool"); 7332unifiedBinaryOps(symbol, "nint?", "char", $"bool nint.{name}(nint left, nint right)"); 7333unifiedBinaryOps(symbol, "nint?", "sbyte", $"bool nint.{name}(nint left, nint right)"); 7334unifiedBinaryOps(symbol, "nint?", "byte", $"bool nint.{name}(nint left, nint right)"); 7335unifiedBinaryOps(symbol, "nint?", "short", $"bool nint.{name}(nint left, nint right)"); 7336unifiedBinaryOps(symbol, "nint?", "ushort", $"bool nint.{name}(nint left, nint right)"); 7337unifiedBinaryOps(symbol, "nint?", "int", $"bool nint.{name}(nint left, nint right)"); 7338unifiedBinaryOps(symbol, "nint?", "uint", $"bool long.{name}(long left, long right)"); 7339unifiedBinaryOps(symbol, "nint?", "nint", $"bool nint.{name}(nint left, nint right)"); 7340unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7341unifiedBinaryOps(symbol, "nint?", "long", $"bool long.{name}(long left, long right)"); 7342unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?")); 7343unifiedBinaryOps(symbol, "nint?", "float", $"bool float.{name}(float left, float right)"); 7344unifiedBinaryOps(symbol, "nint?", "double", $"bool double.{name}(double left, double right)"); 7345unifiedBinaryOps(symbol, "nint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7346unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"bool nint.{name}(nint left, nint right)"); 7347unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7350unifiedBinaryOps(symbol, "nint?", "bool?"); 7351unifiedBinaryOps(symbol, "nint?", "char?", $"bool nint.{name}(nint left, nint right)"); 7352unifiedBinaryOps(symbol, "nint?", "sbyte?", $"bool nint.{name}(nint left, nint right)"); 7353unifiedBinaryOps(symbol, "nint?", "byte?", $"bool nint.{name}(nint left, nint right)"); 7354unifiedBinaryOps(symbol, "nint?", "short?", $"bool nint.{name}(nint left, nint right)"); 7355unifiedBinaryOps(symbol, "nint?", "ushort?", $"bool nint.{name}(nint left, nint right)"); 7356unifiedBinaryOps(symbol, "nint?", "int?", $"bool nint.{name}(nint left, nint right)"); 7357unifiedBinaryOps(symbol, "nint?", "uint?", $"bool long.{name}(long left, long right)"); 7358unifiedBinaryOps(symbol, "nint?", "nint?", $"bool nint.{name}(nint left, nint right)"); 7359unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7360unifiedBinaryOps(symbol, "nint?", "long?", $"bool long.{name}(long left, long right)"); 7361unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?")); 7362unifiedBinaryOps(symbol, "nint?", "float?", $"bool float.{name}(float left, float right)"); 7363unifiedBinaryOps(symbol, "nint?", "double?", $"bool double.{name}(double left, double right)"); 7364unifiedBinaryOps(symbol, "nint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7365unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)"); 7366unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7369unifiedBinaryOps(symbol, "nuint", "object"); 7370unifiedBinaryOps(symbol, "nuint", "string"); 7371unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint")); 7372unifiedBinaryOps(symbol, "nuint", "bool"); 7373unifiedBinaryOps(symbol, "nuint", "char", $"bool nuint.{name}(nuint left, nuint right)"); 7374unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint")); 7375unifiedBinaryOps(symbol, "nuint", "byte", $"bool nuint.{name}(nuint left, nuint right)"); 7376unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint")); 7377unifiedBinaryOps(symbol, "nuint", "ushort", $"bool nuint.{name}(nuint left, nuint right)"); 7378unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint")); 7379unifiedBinaryOps(symbol, "nuint", "uint", $"bool nuint.{name}(nuint left, nuint right)"); 7380unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7381unifiedBinaryOps(symbol, "nuint", "nuint", $"bool nuint.{name}(nuint left, nuint right)"); 7382unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint")); 7383unifiedBinaryOps(symbol, "nuint", "ulong", $"bool ulong.{name}(ulong left, ulong right)"); 7384unifiedBinaryOps(symbol, "nuint", "float", $"bool float.{name}(float left, float right)"); 7385unifiedBinaryOps(symbol, "nuint", "double", $"bool double.{name}(double left, double right)"); 7386unifiedBinaryOps(symbol, "nuint", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7387unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7388unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)"); 7391unifiedBinaryOps(symbol, "nuint", "bool?"); 7392unifiedBinaryOps(symbol, "nuint", "char?", $"bool nuint.{name}(nuint left, nuint right)"); 7393unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint")); 7394unifiedBinaryOps(symbol, "nuint", "byte?", $"bool nuint.{name}(nuint left, nuint right)"); 7395unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint")); 7396unifiedBinaryOps(symbol, "nuint", "ushort?", $"bool nuint.{name}(nuint left, nuint right)"); 7397unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint")); 7398unifiedBinaryOps(symbol, "nuint", "uint?", $"bool nuint.{name}(nuint left, nuint right)"); 7399unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7400unifiedBinaryOps(symbol, "nuint", "nuint?", $"bool nuint.{name}(nuint left, nuint right)"); 7401unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint")); 7402unifiedBinaryOps(symbol, "nuint", "ulong?", $"bool ulong.{name}(ulong left, ulong right)"); 7403unifiedBinaryOps(symbol, "nuint", "float?", $"bool float.{name}(float left, float right)"); 7404unifiedBinaryOps(symbol, "nuint", "double?", $"bool double.{name}(double left, double right)"); 7405unifiedBinaryOps(symbol, "nuint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7406unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7407unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)"); 7410unifiedBinaryOps(symbol, "nuint?", "object"); 7411unifiedBinaryOps(symbol, "nuint?", "string"); 7412unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?")); 7413unifiedBinaryOps(symbol, "nuint?", "bool"); 7414unifiedBinaryOps(symbol, "nuint?", "char", $"bool nuint.{name}(nuint left, nuint right)"); 7415unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?")); 7416unifiedBinaryOps(symbol, "nuint?", "byte", $"bool nuint.{name}(nuint left, nuint right)"); 7417unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?")); 7418unifiedBinaryOps(symbol, "nuint?", "ushort", $"bool nuint.{name}(nuint left, nuint right)"); 7419unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?")); 7420unifiedBinaryOps(symbol, "nuint?", "uint", $"bool nuint.{name}(nuint left, nuint right)"); 7421unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7422unifiedBinaryOps(symbol, "nuint?", "nuint", $"bool nuint.{name}(nuint left, nuint right)"); 7423unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?")); 7424unifiedBinaryOps(symbol, "nuint?", "ulong", $"bool ulong.{name}(ulong left, ulong right)"); 7425unifiedBinaryOps(symbol, "nuint?", "float", $"bool float.{name}(float left, float right)"); 7426unifiedBinaryOps(symbol, "nuint?", "double", $"bool double.{name}(double left, double right)"); 7427unifiedBinaryOps(symbol, "nuint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7428unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7429unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)"); 7432unifiedBinaryOps(symbol, "nuint?", "bool?"); 7433unifiedBinaryOps(symbol, "nuint?", "char?", $"bool nuint.{name}(nuint left, nuint right)"); 7434unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?")); 7435unifiedBinaryOps(symbol, "nuint?", "byte?", $"bool nuint.{name}(nuint left, nuint right)"); 7436unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?")); 7437unifiedBinaryOps(symbol, "nuint?", "ushort?", $"bool nuint.{name}(nuint left, nuint right)"); 7438unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?")); 7439unifiedBinaryOps(symbol, "nuint?", "uint?", $"bool nuint.{name}(nuint left, nuint right)"); 7440unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7441unifiedBinaryOps(symbol, "nuint?", "nuint?", $"bool nuint.{name}(nuint left, nuint right)"); 7442unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?")); 7443unifiedBinaryOps(symbol, "nuint?", "ulong?", $"bool ulong.{name}(ulong left, ulong right)"); 7444unifiedBinaryOps(symbol, "nuint?", "float?", $"bool float.{name}(float left, float right)"); 7445unifiedBinaryOps(symbol, "nuint?", "double?", $"bool double.{name}(double left, double right)"); 7446unifiedBinaryOps(symbol, "nuint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7447unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7448unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)"); 7454unifiedBinaryOps(symbol, "nint", "object"); 7455unifiedBinaryOps(symbol, "nint", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)"); 7456unifiedBinaryOps(symbol, "nint", "void*", $"void* void*.{name}(long left, void* right)", $"void* void*.{name}(void* left, long right)", new[] { Diagnostic(ErrorCode.ERR_VoidError, "x + y") }); 7457unifiedBinaryOps(symbol, "nint", "bool"); 7458unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)"); 7459unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)"); 7460unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)"); 7461unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)"); 7462unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)"); 7463unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)"); 7464unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)"); 7465unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)"); 7466unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7467unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)"); 7468unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint")); 7469unifiedBinaryOps(symbol, "nint", "float", $"float float.{name}(float left, float right)"); 7470unifiedBinaryOps(symbol, "nint", "double", $"double double.{name}(double left, double right)"); 7471unifiedBinaryOps(symbol, "nint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7472unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)"); 7473unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7476unifiedBinaryOps(symbol, "nint", "bool?"); 7477unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)"); 7478unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)"); 7479unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)"); 7480unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)"); 7481unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)"); 7482unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)"); 7483unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)"); 7484unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)"); 7485unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7486unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)"); 7487unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint")); 7488unifiedBinaryOps(symbol, "nint", "float?", $"float float.{name}(float left, float right)"); 7489unifiedBinaryOps(symbol, "nint", "double?", $"double double.{name}(double left, double right)"); 7490unifiedBinaryOps(symbol, "nint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7491unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)"); 7492unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7493unifiedBinaryOps(symbol, "nint", "object"); 7496unifiedBinaryOps(symbol, "nint?", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)"); 7497unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true)); 7498unifiedBinaryOps(symbol, "nint?", "bool"); 7499unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)"); 7500unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)"); 7501unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)"); 7502unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)"); 7503unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)"); 7504unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)"); 7505unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)"); 7506unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)"); 7507unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7508unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)"); 7509unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?")); 7510unifiedBinaryOps(symbol, "nint?", "float", $"float float.{name}(float left, float right)"); 7511unifiedBinaryOps(symbol, "nint?", "double", $"double double.{name}(double left, double right)"); 7512unifiedBinaryOps(symbol, "nint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7513unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)"); 7514unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7517unifiedBinaryOps(symbol, "nint?", "bool?"); 7518unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)"); 7519unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)"); 7520unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)"); 7521unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)"); 7522unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)"); 7523unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)"); 7524unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)"); 7525unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)"); 7526unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7527unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)"); 7528unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?")); 7529unifiedBinaryOps(symbol, "nint?", "float?", $"float float.{name}(float left, float right)"); 7530unifiedBinaryOps(symbol, "nint?", "double?", $"double double.{name}(double left, double right)"); 7531unifiedBinaryOps(symbol, "nint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7532unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)"); 7533unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7536unifiedBinaryOps(symbol, "nuint", "object"); 7537unifiedBinaryOps(symbol, "nuint", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)"); 7538unifiedBinaryOps(symbol, "nuint", "void*", $"void* void*.{name}(ulong left, void* right)", $"void* void*.{name}(void* left, ulong right)", new[] { Diagnostic(ErrorCode.ERR_VoidError, "x + y") }); 7539unifiedBinaryOps(symbol, "nuint", "bool"); 7540unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)"); 7541unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint")); 7542unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)"); 7543unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint")); 7544unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)"); 7545unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint")); 7546unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)"); 7547unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7548unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)"); 7549unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint")); 7550unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)"); 7551unifiedBinaryOps(symbol, "nuint", "float", $"float float.{name}(float left, float right)"); 7552unifiedBinaryOps(symbol, "nuint", "double", $"double double.{name}(double left, double right)"); 7553unifiedBinaryOps(symbol, "nuint", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7554unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7555unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)"); 7558unifiedBinaryOps(symbol, "nuint", "bool?"); 7559unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)"); 7560unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint")); 7561unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)"); 7562unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint")); 7563unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)"); 7564unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint")); 7565unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7566unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7567unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7568unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint")); 7569unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)"); 7570unifiedBinaryOps(symbol, "nuint", "float?", $"float float.{name}(float left, float right)"); 7571unifiedBinaryOps(symbol, "nuint", "double?", $"double double.{name}(double left, double right)"); 7572unifiedBinaryOps(symbol, "nuint", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7573unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7574unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)"); 7577unifiedBinaryOps(symbol, "nuint?", "object"); 7578unifiedBinaryOps(symbol, "nuint?", "string", $"string string.{name}(object left, string right)", $"string string.{name}(string left, object right)"); 7579unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true)); 7580unifiedBinaryOps(symbol, "nuint?", "bool"); 7581unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)"); 7582unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?")); 7583unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)"); 7584unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?")); 7585unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)"); 7586unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?")); 7587unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)"); 7588unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7589unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)"); 7590unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?")); 7591unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)"); 7592unifiedBinaryOps(symbol, "nuint?", "float", $"float float.{name}(float left, float right)"); 7593unifiedBinaryOps(symbol, "nuint?", "double", $"double double.{name}(double left, double right)"); 7594unifiedBinaryOps(symbol, "nuint?", "decimal", $"decimal decimal.{name}(decimal left, decimal right)"); 7595unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7596unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)"); 7599unifiedBinaryOps(symbol, "nuint?", "bool?"); 7600unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)"); 7601unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?")); 7602unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)"); 7603unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?")); 7604unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)"); 7605unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?")); 7606unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7607unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7608unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)"); 7609unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?")); 7610unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)"); 7611unifiedBinaryOps(symbol, "nuint?", "float?", $"float float.{name}(float left, float right)"); 7612unifiedBinaryOps(symbol, "nuint?", "double?", $"double double.{name}(double left, double right)"); 7613unifiedBinaryOps(symbol, "nuint?", "decimal?", $"decimal decimal.{name}(decimal left, decimal right)"); 7614unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7615unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)"); 7621unifiedBinaryOps(symbol, "nint", "object"); 7622unifiedBinaryOps(symbol, "nint", "string"); 7623unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeVoidError: true)); 7624unifiedBinaryOps(symbol, "nint", "bool"); 7625unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, int right)", null); 7626unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, int right)", null); 7627unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, int right)", null); 7628unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, int right)", null); 7629unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, int right)", null); 7630unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, int right)", null); 7631unifiedBinaryOps(symbol, "nint", "uint"); 7632unifiedBinaryOps(symbol, "nint", "nint"); 7633unifiedBinaryOps(symbol, "nint", "nuint"); 7634unifiedBinaryOps(symbol, "nint", "long"); 7635unifiedBinaryOps(symbol, "nint", "ulong"); 7636unifiedBinaryOps(symbol, "nint", "float"); 7637unifiedBinaryOps(symbol, "nint", "double"); 7638unifiedBinaryOps(symbol, "nint", "decimal"); 7639unifiedBinaryOps(symbol, "nint", "System.IntPtr"); 7640unifiedBinaryOps(symbol, "nint", "System.UIntPtr"); 7643unifiedBinaryOps(symbol, "nint", "bool?"); 7644unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, int right)", null); 7645unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, int right)", null); 7646unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, int right)", null); 7647unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, int right)", null); 7648unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, int right)", null); 7649unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, int right)", null); 7650unifiedBinaryOps(symbol, "nint", "uint?"); 7651unifiedBinaryOps(symbol, "nint", "nint?"); 7652unifiedBinaryOps(symbol, "nint", "nuint?"); 7653unifiedBinaryOps(symbol, "nint", "long?"); 7654unifiedBinaryOps(symbol, "nint", "ulong?"); 7655unifiedBinaryOps(symbol, "nint", "float?"); 7656unifiedBinaryOps(symbol, "nint", "double?"); 7657unifiedBinaryOps(symbol, "nint", "decimal?"); 7658unifiedBinaryOps(symbol, "nint", "System.IntPtr?"); 7659unifiedBinaryOps(symbol, "nint", "System.UIntPtr?"); 7660unifiedBinaryOps(symbol, "nint", "object"); 7663unifiedBinaryOps(symbol, "nint?", "string"); 7664unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true)); 7665unifiedBinaryOps(symbol, "nint?", "bool"); 7666unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, int right)", null); 7667unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, int right)", null); 7668unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, int right)", null); 7669unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, int right)", null); 7670unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, int right)", null); 7671unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, int right)", null); 7672unifiedBinaryOps(symbol, "nint?", "uint"); 7673unifiedBinaryOps(symbol, "nint?", "nint"); 7674unifiedBinaryOps(symbol, "nint?", "nuint"); 7675unifiedBinaryOps(symbol, "nint?", "long"); 7676unifiedBinaryOps(symbol, "nint?", "ulong"); 7677unifiedBinaryOps(symbol, "nint?", "float"); 7678unifiedBinaryOps(symbol, "nint?", "double"); 7679unifiedBinaryOps(symbol, "nint?", "decimal"); 7680unifiedBinaryOps(symbol, "nint?", "System.IntPtr"); 7681unifiedBinaryOps(symbol, "nint?", "System.UIntPtr"); 7684unifiedBinaryOps(symbol, "nint?", "bool?"); 7685unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, int right)", null); 7686unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, int right)", null); 7687unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, int right)", null); 7688unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, int right)", null); 7689unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, int right)", null); 7690unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, int right)", null); 7691unifiedBinaryOps(symbol, "nint?", "uint?"); 7692unifiedBinaryOps(symbol, "nint?", "nint?"); 7693unifiedBinaryOps(symbol, "nint?", "nuint?"); 7694unifiedBinaryOps(symbol, "nint?", "long?"); 7695unifiedBinaryOps(symbol, "nint?", "ulong?"); 7696unifiedBinaryOps(symbol, "nint?", "float?"); 7697unifiedBinaryOps(symbol, "nint?", "double?"); 7698unifiedBinaryOps(symbol, "nint?", "decimal?"); 7699unifiedBinaryOps(symbol, "nint?", "System.IntPtr?"); 7700unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?"); 7703unifiedBinaryOps(symbol, "nuint", "object"); 7704unifiedBinaryOps(symbol, "nuint", "string"); 7705unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeVoidError: true)); 7706unifiedBinaryOps(symbol, "nuint", "bool"); 7707unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, int right)", null); 7708unifiedBinaryOps(symbol, "nuint", "sbyte", $"nuint nuint.{name}(nuint left, int right)", null); 7709unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, int right)", null); 7710unifiedBinaryOps(symbol, "nuint", "short", $"nuint nuint.{name}(nuint left, int right)", null); 7711unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, int right)", null); 7712unifiedBinaryOps(symbol, "nuint", "int", $"nuint nuint.{name}(nuint left, int right)", null); 7713unifiedBinaryOps(symbol, "nuint", "uint"); 7714unifiedBinaryOps(symbol, "nuint", "nint"); 7715unifiedBinaryOps(symbol, "nuint", "nuint"); 7716unifiedBinaryOps(symbol, "nuint", "long"); 7717unifiedBinaryOps(symbol, "nuint", "ulong"); 7718unifiedBinaryOps(symbol, "nuint", "float"); 7719unifiedBinaryOps(symbol, "nuint", "double"); 7720unifiedBinaryOps(symbol, "nuint", "decimal"); 7721unifiedBinaryOps(symbol, "nuint", "System.IntPtr"); 7722unifiedBinaryOps(symbol, "nuint", "System.UIntPtr"); 7725unifiedBinaryOps(symbol, "nuint", "bool?"); 7726unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, int right)", null); 7727unifiedBinaryOps(symbol, "nuint", "sbyte?", $"nuint nuint.{name}(nuint left, int right)", null); 7728unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, int right)", null); 7729unifiedBinaryOps(symbol, "nuint", "short?", $"nuint nuint.{name}(nuint left, int right)", null); 7730unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, int right)", null); 7731unifiedBinaryOps(symbol, "nuint", "int?", $"nuint nuint.{name}(nuint left, int right)", null); 7732unifiedBinaryOps(symbol, "nuint", "uint?"); 7733unifiedBinaryOps(symbol, "nuint", "nint?"); 7734unifiedBinaryOps(symbol, "nuint", "nuint?"); 7735unifiedBinaryOps(symbol, "nuint", "long?"); 7736unifiedBinaryOps(symbol, "nuint", "ulong?"); 7737unifiedBinaryOps(symbol, "nuint", "float?"); 7738unifiedBinaryOps(symbol, "nuint", "double?"); 7739unifiedBinaryOps(symbol, "nuint", "decimal?"); 7740unifiedBinaryOps(symbol, "nuint", "System.IntPtr?"); 7741unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?"); 7744unifiedBinaryOps(symbol, "nuint?", "object"); 7745unifiedBinaryOps(symbol, "nuint?", "string"); 7746unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true)); 7747unifiedBinaryOps(symbol, "nuint?", "bool"); 7748unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, int right)", null); 7749unifiedBinaryOps(symbol, "nuint?", "sbyte", $"nuint nuint.{name}(nuint left, int right)", null); 7750unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, int right)", null); 7751unifiedBinaryOps(symbol, "nuint?", "short", $"nuint nuint.{name}(nuint left, int right)", null); 7752unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, int right)", null); 7753unifiedBinaryOps(symbol, "nuint?", "int", $"nuint nuint.{name}(nuint left, int right)", null); 7754unifiedBinaryOps(symbol, "nuint?", "uint"); 7755unifiedBinaryOps(symbol, "nuint?", "nint"); 7756unifiedBinaryOps(symbol, "nuint?", "nuint"); 7757unifiedBinaryOps(symbol, "nuint?", "long"); 7758unifiedBinaryOps(symbol, "nuint?", "ulong"); 7759unifiedBinaryOps(symbol, "nuint?", "float"); 7760unifiedBinaryOps(symbol, "nuint?", "double"); 7761unifiedBinaryOps(symbol, "nuint?", "decimal"); 7762unifiedBinaryOps(symbol, "nuint?", "System.IntPtr"); 7763unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr"); 7766unifiedBinaryOps(symbol, "nuint?", "bool?"); 7767unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, int right)", null); 7768unifiedBinaryOps(symbol, "nuint?", "sbyte?", $"nuint nuint.{name}(nuint left, int right)", null); 7769unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, int right)", null); 7770unifiedBinaryOps(symbol, "nuint?", "short?", $"nuint nuint.{name}(nuint left, int right)", null); 7771unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, int right)", null); 7772unifiedBinaryOps(symbol, "nuint?", "int?", $"nuint nuint.{name}(nuint left, int right)", null); 7773unifiedBinaryOps(symbol, "nuint?", "uint?"); 7774unifiedBinaryOps(symbol, "nuint?", "nint?"); 7775unifiedBinaryOps(symbol, "nuint?", "nuint?"); 7776unifiedBinaryOps(symbol, "nuint?", "long?"); 7777unifiedBinaryOps(symbol, "nuint?", "ulong?"); 7778unifiedBinaryOps(symbol, "nuint?", "float?"); 7779unifiedBinaryOps(symbol, "nuint?", "double?"); 7780unifiedBinaryOps(symbol, "nuint?", "decimal?"); 7781unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?"); 7782unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?"); 7788unifiedBinaryOps(symbol, "nint", "object"); 7789unifiedBinaryOps(symbol, "nint", "string"); 7790unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint")); 7791unifiedBinaryOps(symbol, "nint", "bool"); 7792unifiedBinaryOps(symbol, "nint", "char", $"bool nint.{name}(nint left, nint right)"); 7793unifiedBinaryOps(symbol, "nint", "sbyte", $"bool nint.{name}(nint left, nint right)"); 7794unifiedBinaryOps(symbol, "nint", "byte", $"bool nint.{name}(nint left, nint right)"); 7795unifiedBinaryOps(symbol, "nint", "short", $"bool nint.{name}(nint left, nint right)"); 7796unifiedBinaryOps(symbol, "nint", "ushort", $"bool nint.{name}(nint left, nint right)"); 7797unifiedBinaryOps(symbol, "nint", "int", $"bool nint.{name}(nint left, nint right)"); 7798unifiedBinaryOps(symbol, "nint", "uint", $"bool long.{name}(long left, long right)"); 7799unifiedBinaryOps(symbol, "nint", "nint", $"bool nint.{name}(nint left, nint right)"); 7800unifiedBinaryOps(symbol, "nint", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7801unifiedBinaryOps(symbol, "nint", "long", $"bool long.{name}(long left, long right)"); 7802unifiedBinaryOps(symbol, "nint", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint")); 7803unifiedBinaryOps(symbol, "nint", "float", $"bool float.{name}(float left, float right)"); 7804unifiedBinaryOps(symbol, "nint", "double", $"bool double.{name}(double left, double right)"); 7805unifiedBinaryOps(symbol, "nint", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7806unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"bool nint.{name}(nint left, nint right)"); 7807unifiedBinaryOps(symbol, "nint", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint")); 7810unifiedBinaryOps(symbol, "nint", "bool?"); 7811unifiedBinaryOps(symbol, "nint", "char?", $"bool nint.{name}(nint left, nint right)"); 7812unifiedBinaryOps(symbol, "nint", "sbyte?", $"bool nint.{name}(nint left, nint right)"); 7813unifiedBinaryOps(symbol, "nint", "byte?", $"bool nint.{name}(nint left, nint right)"); 7814unifiedBinaryOps(symbol, "nint", "short?", $"bool nint.{name}(nint left, nint right)"); 7815unifiedBinaryOps(symbol, "nint", "ushort?", $"bool nint.{name}(nint left, nint right)"); 7816unifiedBinaryOps(symbol, "nint", "int?", $"bool nint.{name}(nint left, nint right)"); 7817unifiedBinaryOps(symbol, "nint", "uint?", $"bool long.{name}(long left, long right)"); 7818unifiedBinaryOps(symbol, "nint", "nint?", $"bool nint.{name}(nint left, nint right)"); 7819unifiedBinaryOps(symbol, "nint", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7820unifiedBinaryOps(symbol, "nint", "long?", $"bool long.{name}(long left, long right)"); 7821unifiedBinaryOps(symbol, "nint", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint")); 7822unifiedBinaryOps(symbol, "nint", "float?", $"bool float.{name}(float left, float right)"); 7823unifiedBinaryOps(symbol, "nint", "double?", $"bool double.{name}(double left, double right)"); 7824unifiedBinaryOps(symbol, "nint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7825unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)"); 7826unifiedBinaryOps(symbol, "nint", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint")); 7827unifiedBinaryOps(symbol, "nint", "object"); 7830unifiedBinaryOps(symbol, "nint?", "string"); 7831unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?")); 7832unifiedBinaryOps(symbol, "nint?", "bool"); 7833unifiedBinaryOps(symbol, "nint?", "char", $"bool nint.{name}(nint left, nint right)"); 7834unifiedBinaryOps(symbol, "nint?", "sbyte", $"bool nint.{name}(nint left, nint right)"); 7835unifiedBinaryOps(symbol, "nint?", "byte", $"bool nint.{name}(nint left, nint right)"); 7836unifiedBinaryOps(symbol, "nint?", "short", $"bool nint.{name}(nint left, nint right)"); 7837unifiedBinaryOps(symbol, "nint?", "ushort", $"bool nint.{name}(nint left, nint right)"); 7838unifiedBinaryOps(symbol, "nint?", "int", $"bool nint.{name}(nint left, nint right)"); 7839unifiedBinaryOps(symbol, "nint?", "uint", $"bool long.{name}(long left, long right)"); 7840unifiedBinaryOps(symbol, "nint?", "nint", $"bool nint.{name}(nint left, nint right)"); 7841unifiedBinaryOps(symbol, "nint?", "nuint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7842unifiedBinaryOps(symbol, "nint?", "long", $"bool long.{name}(long left, long right)"); 7843unifiedBinaryOps(symbol, "nint?", "ulong", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong", "nint?")); 7844unifiedBinaryOps(symbol, "nint?", "float", $"bool float.{name}(float left, float right)"); 7845unifiedBinaryOps(symbol, "nint?", "double", $"bool double.{name}(double left, double right)"); 7846unifiedBinaryOps(symbol, "nint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7847unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"bool nint.{name}(nint left, nint right)"); 7848unifiedBinaryOps(symbol, "nint?", "System.UIntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?")); 7851unifiedBinaryOps(symbol, "nint?", "bool?"); 7852unifiedBinaryOps(symbol, "nint?", "char?", $"bool nint.{name}(nint left, nint right)"); 7853unifiedBinaryOps(symbol, "nint?", "sbyte?", $"bool nint.{name}(nint left, nint right)"); 7854unifiedBinaryOps(symbol, "nint?", "byte?", $"bool nint.{name}(nint left, nint right)"); 7855unifiedBinaryOps(symbol, "nint?", "short?", $"bool nint.{name}(nint left, nint right)"); 7856unifiedBinaryOps(symbol, "nint?", "ushort?", $"bool nint.{name}(nint left, nint right)"); 7857unifiedBinaryOps(symbol, "nint?", "int?", $"bool nint.{name}(nint left, nint right)"); 7858unifiedBinaryOps(symbol, "nint?", "uint?", $"bool long.{name}(long left, long right)"); 7859unifiedBinaryOps(symbol, "nint?", "nint?", $"bool nint.{name}(nint left, nint right)"); 7860unifiedBinaryOps(symbol, "nint?", "nuint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7861unifiedBinaryOps(symbol, "nint?", "long?", $"bool long.{name}(long left, long right)"); 7862unifiedBinaryOps(symbol, "nint?", "ulong?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "ulong?"), getAmbiguousBinaryOpsDiagnostics(symbol, "ulong?", "nint?")); 7863unifiedBinaryOps(symbol, "nint?", "float?", $"bool float.{name}(float left, float right)"); 7864unifiedBinaryOps(symbol, "nint?", "double?", $"bool double.{name}(double left, double right)"); 7865unifiedBinaryOps(symbol, "nint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7866unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"bool nint.{name}(nint left, nint right)"); 7867unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?")); 7870unifiedBinaryOps(symbol, "nuint", "object"); 7871unifiedBinaryOps(symbol, "nuint", "string"); 7872unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint")); 7873unifiedBinaryOps(symbol, "nuint", "bool"); 7874unifiedBinaryOps(symbol, "nuint", "char", $"bool nuint.{name}(nuint left, nuint right)"); 7875unifiedBinaryOps(symbol, "nuint", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint")); 7876unifiedBinaryOps(symbol, "nuint", "byte", $"bool nuint.{name}(nuint left, nuint right)"); 7877unifiedBinaryOps(symbol, "nuint", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint")); 7878unifiedBinaryOps(symbol, "nuint", "ushort", $"bool nuint.{name}(nuint left, nuint right)"); 7879unifiedBinaryOps(symbol, "nuint", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint")); 7880unifiedBinaryOps(symbol, "nuint", "uint", $"bool nuint.{name}(nuint left, nuint right)"); 7881unifiedBinaryOps(symbol, "nuint", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7882unifiedBinaryOps(symbol, "nuint", "nuint", $"bool nuint.{name}(nuint left, nuint right)"); 7883unifiedBinaryOps(symbol, "nuint", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint")); 7884unifiedBinaryOps(symbol, "nuint", "ulong", $"bool ulong.{name}(ulong left, ulong right)"); 7885unifiedBinaryOps(symbol, "nuint", "float", $"bool float.{name}(float left, float right)"); 7886unifiedBinaryOps(symbol, "nuint", "double", $"bool double.{name}(double left, double right)"); 7887unifiedBinaryOps(symbol, "nuint", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7888unifiedBinaryOps(symbol, "nuint", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint")); 7889unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)"); 7892unifiedBinaryOps(symbol, "nuint", "bool?"); 7893unifiedBinaryOps(symbol, "nuint", "char?", $"bool nuint.{name}(nuint left, nuint right)"); 7894unifiedBinaryOps(symbol, "nuint", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint")); 7895unifiedBinaryOps(symbol, "nuint", "byte?", $"bool nuint.{name}(nuint left, nuint right)"); 7896unifiedBinaryOps(symbol, "nuint", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint")); 7897unifiedBinaryOps(symbol, "nuint", "ushort?", $"bool nuint.{name}(nuint left, nuint right)"); 7898unifiedBinaryOps(symbol, "nuint", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint")); 7899unifiedBinaryOps(symbol, "nuint", "uint?", $"bool nuint.{name}(nuint left, nuint right)"); 7900unifiedBinaryOps(symbol, "nuint", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7901unifiedBinaryOps(symbol, "nuint", "nuint?", $"bool nuint.{name}(nuint left, nuint right)"); 7902unifiedBinaryOps(symbol, "nuint", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint")); 7903unifiedBinaryOps(symbol, "nuint", "ulong?", $"bool ulong.{name}(ulong left, ulong right)"); 7904unifiedBinaryOps(symbol, "nuint", "float?", $"bool float.{name}(float left, float right)"); 7905unifiedBinaryOps(symbol, "nuint", "double?", $"bool double.{name}(double left, double right)"); 7906unifiedBinaryOps(symbol, "nuint", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7907unifiedBinaryOps(symbol, "nuint", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint")); 7908unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)"); 7911unifiedBinaryOps(symbol, "nuint?", "object"); 7912unifiedBinaryOps(symbol, "nuint?", "string"); 7913unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*"), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?")); 7914unifiedBinaryOps(symbol, "nuint?", "bool"); 7915unifiedBinaryOps(symbol, "nuint?", "char", $"bool nuint.{name}(nuint left, nuint right)"); 7916unifiedBinaryOps(symbol, "nuint?", "sbyte", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte", "nuint?")); 7917unifiedBinaryOps(symbol, "nuint?", "byte", $"bool nuint.{name}(nuint left, nuint right)"); 7918unifiedBinaryOps(symbol, "nuint?", "short", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short"), getAmbiguousBinaryOpsDiagnostics(symbol, "short", "nuint?")); 7919unifiedBinaryOps(symbol, "nuint?", "ushort", $"bool nuint.{name}(nuint left, nuint right)"); 7920unifiedBinaryOps(symbol, "nuint?", "int", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int"), getAmbiguousBinaryOpsDiagnostics(symbol, "int", "nuint?")); 7921unifiedBinaryOps(symbol, "nuint?", "uint", $"bool nuint.{name}(nuint left, nuint right)"); 7922unifiedBinaryOps(symbol, "nuint?", "nint", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7923unifiedBinaryOps(symbol, "nuint?", "nuint", $"bool nuint.{name}(nuint left, nuint right)"); 7924unifiedBinaryOps(symbol, "nuint?", "long", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long"), getAmbiguousBinaryOpsDiagnostics(symbol, "long", "nuint?")); 7925unifiedBinaryOps(symbol, "nuint?", "ulong", $"bool ulong.{name}(ulong left, ulong right)"); 7926unifiedBinaryOps(symbol, "nuint?", "float", $"bool float.{name}(float left, float right)"); 7927unifiedBinaryOps(symbol, "nuint?", "double", $"bool double.{name}(double left, double right)"); 7928unifiedBinaryOps(symbol, "nuint?", "decimal", $"bool decimal.{name}(decimal left, decimal right)"); 7929unifiedBinaryOps(symbol, "nuint?", "System.IntPtr", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint", "nuint?")); 7930unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"bool nuint.{name}(nuint left, nuint right)"); 7933unifiedBinaryOps(symbol, "nuint?", "bool?"); 7934unifiedBinaryOps(symbol, "nuint?", "char?", $"bool nuint.{name}(nuint left, nuint right)"); 7935unifiedBinaryOps(symbol, "nuint?", "sbyte?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "sbyte?"), getAmbiguousBinaryOpsDiagnostics(symbol, "sbyte?", "nuint?")); 7936unifiedBinaryOps(symbol, "nuint?", "byte?", $"bool nuint.{name}(nuint left, nuint right)"); 7937unifiedBinaryOps(symbol, "nuint?", "short?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "short?"), getAmbiguousBinaryOpsDiagnostics(symbol, "short?", "nuint?")); 7938unifiedBinaryOps(symbol, "nuint?", "ushort?", $"bool nuint.{name}(nuint left, nuint right)"); 7939unifiedBinaryOps(symbol, "nuint?", "int?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "int?"), getAmbiguousBinaryOpsDiagnostics(symbol, "int?", "nuint?")); 7940unifiedBinaryOps(symbol, "nuint?", "uint?", $"bool nuint.{name}(nuint left, nuint right)"); 7941unifiedBinaryOps(symbol, "nuint?", "nint?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7942unifiedBinaryOps(symbol, "nuint?", "nuint?", $"bool nuint.{name}(nuint left, nuint right)"); 7943unifiedBinaryOps(symbol, "nuint?", "long?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "long?"), getAmbiguousBinaryOpsDiagnostics(symbol, "long?", "nuint?")); 7944unifiedBinaryOps(symbol, "nuint?", "ulong?", $"bool ulong.{name}(ulong left, ulong right)"); 7945unifiedBinaryOps(symbol, "nuint?", "float?", $"bool float.{name}(float left, float right)"); 7946unifiedBinaryOps(symbol, "nuint?", "double?", $"bool double.{name}(double left, double right)"); 7947unifiedBinaryOps(symbol, "nuint?", "decimal?", $"bool decimal.{name}(decimal left, decimal right)"); 7948unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?", null, null, getAmbiguousBinaryOpsDiagnostics(symbol, "nuint?", "nint?"), getAmbiguousBinaryOpsDiagnostics(symbol, "nint?", "nuint?")); 7949unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"bool nuint.{name}(nuint left, nuint right)"); 7955unifiedBinaryOps(symbol, "nint", "object"); 7956unifiedBinaryOps(symbol, "nint", "string"); 7957unifiedBinaryOps(symbol, "nint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint", includeVoidError: true)); 7958unifiedBinaryOps(symbol, "nint", "bool"); 7959unifiedBinaryOps(symbol, "nint", "char", $"nint nint.{name}(nint left, nint right)"); 7960unifiedBinaryOps(symbol, "nint", "sbyte", $"nint nint.{name}(nint left, nint right)"); 7961unifiedBinaryOps(symbol, "nint", "byte", $"nint nint.{name}(nint left, nint right)"); 7962unifiedBinaryOps(symbol, "nint", "short", $"nint nint.{name}(nint left, nint right)"); 7963unifiedBinaryOps(symbol, "nint", "ushort", $"nint nint.{name}(nint left, nint right)"); 7964unifiedBinaryOps(symbol, "nint", "int", $"nint nint.{name}(nint left, nint right)"); 7965unifiedBinaryOps(symbol, "nint", "uint", $"long long.{name}(long left, long right)"); 7966unifiedBinaryOps(symbol, "nint", "nint", $"nint nint.{name}(nint left, nint right)"); 7967unifiedBinaryOps(symbol, "nint", "nuint"); 7968unifiedBinaryOps(symbol, "nint", "long", $"long long.{name}(long left, long right)"); 7969unifiedBinaryOps(symbol, "nint", "ulong"); 7970unifiedBinaryOps(symbol, "nint", "float"); 7971unifiedBinaryOps(symbol, "nint", "double"); 7972unifiedBinaryOps(symbol, "nint", "decimal"); 7973unifiedBinaryOps(symbol, "nint", "System.IntPtr", $"nint nint.{name}(nint left, nint right)"); 7974unifiedBinaryOps(symbol, "nint", "System.UIntPtr"); 7977unifiedBinaryOps(symbol, "nint", "bool?"); 7978unifiedBinaryOps(symbol, "nint", "char?", $"nint nint.{name}(nint left, nint right)"); 7979unifiedBinaryOps(symbol, "nint", "sbyte?", $"nint nint.{name}(nint left, nint right)"); 7980unifiedBinaryOps(symbol, "nint", "byte?", $"nint nint.{name}(nint left, nint right)"); 7981unifiedBinaryOps(symbol, "nint", "short?", $"nint nint.{name}(nint left, nint right)"); 7982unifiedBinaryOps(symbol, "nint", "ushort?", $"nint nint.{name}(nint left, nint right)"); 7983unifiedBinaryOps(symbol, "nint", "int?", $"nint nint.{name}(nint left, nint right)"); 7984unifiedBinaryOps(symbol, "nint", "uint?", $"long long.{name}(long left, long right)"); 7985unifiedBinaryOps(symbol, "nint", "nint?", $"nint nint.{name}(nint left, nint right)"); 7986unifiedBinaryOps(symbol, "nint", "nuint?"); 7987unifiedBinaryOps(symbol, "nint", "long?", $"long long.{name}(long left, long right)"); 7988unifiedBinaryOps(symbol, "nint", "ulong?"); 7989unifiedBinaryOps(symbol, "nint", "float?"); 7990unifiedBinaryOps(symbol, "nint", "double?"); 7991unifiedBinaryOps(symbol, "nint", "decimal?"); 7992unifiedBinaryOps(symbol, "nint", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)"); 7993unifiedBinaryOps(symbol, "nint", "System.UIntPtr?"); 7994unifiedBinaryOps(symbol, "nint", "object"); 7997unifiedBinaryOps(symbol, "nint?", "string"); 7998unifiedBinaryOps(symbol, "nint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nint?", includeVoidError: true)); 7999unifiedBinaryOps(symbol, "nint?", "bool"); 8000unifiedBinaryOps(symbol, "nint?", "char", $"nint nint.{name}(nint left, nint right)"); 8001unifiedBinaryOps(symbol, "nint?", "sbyte", $"nint nint.{name}(nint left, nint right)"); 8002unifiedBinaryOps(symbol, "nint?", "byte", $"nint nint.{name}(nint left, nint right)"); 8003unifiedBinaryOps(symbol, "nint?", "short", $"nint nint.{name}(nint left, nint right)"); 8004unifiedBinaryOps(symbol, "nint?", "ushort", $"nint nint.{name}(nint left, nint right)"); 8005unifiedBinaryOps(symbol, "nint?", "int", $"nint nint.{name}(nint left, nint right)"); 8006unifiedBinaryOps(symbol, "nint?", "uint", $"long long.{name}(long left, long right)"); 8007unifiedBinaryOps(symbol, "nint?", "nint", $"nint nint.{name}(nint left, nint right)"); 8008unifiedBinaryOps(symbol, "nint?", "nuint"); 8009unifiedBinaryOps(symbol, "nint?", "long", $"long long.{name}(long left, long right)"); 8010unifiedBinaryOps(symbol, "nint?", "ulong"); 8011unifiedBinaryOps(symbol, "nint?", "float"); 8012unifiedBinaryOps(symbol, "nint?", "double"); 8013unifiedBinaryOps(symbol, "nint?", "decimal"); 8014unifiedBinaryOps(symbol, "nint?", "System.IntPtr", $"nint nint.{name}(nint left, nint right)"); 8015unifiedBinaryOps(symbol, "nint?", "System.UIntPtr"); 8018unifiedBinaryOps(symbol, "nint?", "bool?"); 8019unifiedBinaryOps(symbol, "nint?", "char?", $"nint nint.{name}(nint left, nint right)"); 8020unifiedBinaryOps(symbol, "nint?", "sbyte?", $"nint nint.{name}(nint left, nint right)"); 8021unifiedBinaryOps(symbol, "nint?", "byte?", $"nint nint.{name}(nint left, nint right)"); 8022unifiedBinaryOps(symbol, "nint?", "short?", $"nint nint.{name}(nint left, nint right)"); 8023unifiedBinaryOps(symbol, "nint?", "ushort?", $"nint nint.{name}(nint left, nint right)"); 8024unifiedBinaryOps(symbol, "nint?", "int?", $"nint nint.{name}(nint left, nint right)"); 8025unifiedBinaryOps(symbol, "nint?", "uint?", $"long long.{name}(long left, long right)"); 8026unifiedBinaryOps(symbol, "nint?", "nint?", $"nint nint.{name}(nint left, nint right)"); 8027unifiedBinaryOps(symbol, "nint?", "nuint?"); 8028unifiedBinaryOps(symbol, "nint?", "long?", $"long long.{name}(long left, long right)"); 8029unifiedBinaryOps(symbol, "nint?", "ulong?"); 8030unifiedBinaryOps(symbol, "nint?", "float?"); 8031unifiedBinaryOps(symbol, "nint?", "double?"); 8032unifiedBinaryOps(symbol, "nint?", "decimal?"); 8033unifiedBinaryOps(symbol, "nint?", "System.IntPtr?", $"nint nint.{name}(nint left, nint right)"); 8034unifiedBinaryOps(symbol, "nint?", "System.UIntPtr?"); 8037unifiedBinaryOps(symbol, "nuint", "object"); 8038unifiedBinaryOps(symbol, "nuint", "string"); 8039unifiedBinaryOps(symbol, "nuint", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint", includeVoidError: true)); 8040unifiedBinaryOps(symbol, "nuint", "bool"); 8041unifiedBinaryOps(symbol, "nuint", "char", $"nuint nuint.{name}(nuint left, nuint right)"); 8042unifiedBinaryOps(symbol, "nuint", "sbyte"); 8043unifiedBinaryOps(symbol, "nuint", "byte", $"nuint nuint.{name}(nuint left, nuint right)"); 8044unifiedBinaryOps(symbol, "nuint", "short"); 8045unifiedBinaryOps(symbol, "nuint", "ushort", $"nuint nuint.{name}(nuint left, nuint right)"); 8046unifiedBinaryOps(symbol, "nuint", "int"); 8047unifiedBinaryOps(symbol, "nuint", "uint", $"nuint nuint.{name}(nuint left, nuint right)"); 8048unifiedBinaryOps(symbol, "nuint", "nint"); 8049unifiedBinaryOps(symbol, "nuint", "nuint", $"nuint nuint.{name}(nuint left, nuint right)"); 8050unifiedBinaryOps(symbol, "nuint", "long"); 8051unifiedBinaryOps(symbol, "nuint", "ulong", $"ulong ulong.{name}(ulong left, ulong right)"); 8052unifiedBinaryOps(symbol, "nuint", "float"); 8053unifiedBinaryOps(symbol, "nuint", "double"); 8054unifiedBinaryOps(symbol, "nuint", "decimal"); 8055unifiedBinaryOps(symbol, "nuint", "System.IntPtr"); 8056unifiedBinaryOps(symbol, "nuint", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)"); 8059unifiedBinaryOps(symbol, "nuint", "bool?"); 8060unifiedBinaryOps(symbol, "nuint", "char?", $"nuint nuint.{name}(nuint left, nuint right)"); 8061unifiedBinaryOps(symbol, "nuint", "sbyte?"); 8062unifiedBinaryOps(symbol, "nuint", "byte?", $"nuint nuint.{name}(nuint left, nuint right)"); 8063unifiedBinaryOps(symbol, "nuint", "short?"); 8064unifiedBinaryOps(symbol, "nuint", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)"); 8065unifiedBinaryOps(symbol, "nuint", "int?"); 8066unifiedBinaryOps(symbol, "nuint", "uint?", $"nuint nuint.{name}(nuint left, nuint right)"); 8067unifiedBinaryOps(symbol, "nuint", "nint?"); 8068unifiedBinaryOps(symbol, "nuint", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)"); 8069unifiedBinaryOps(symbol, "nuint", "long?"); 8070unifiedBinaryOps(symbol, "nuint", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)"); 8071unifiedBinaryOps(symbol, "nuint", "float?"); 8072unifiedBinaryOps(symbol, "nuint", "double?"); 8073unifiedBinaryOps(symbol, "nuint", "decimal?"); 8074unifiedBinaryOps(symbol, "nuint", "System.IntPtr?"); 8075unifiedBinaryOps(symbol, "nuint", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)"); 8078unifiedBinaryOps(symbol, "nuint?", "object"); 8079unifiedBinaryOps(symbol, "nuint?", "string"); 8080unifiedBinaryOps(symbol, "nuint?", "void*", null, null, getBadBinaryOpsDiagnostics(symbol, "nuint?", "void*", includeVoidError: true), getBadBinaryOpsDiagnostics(symbol, "void*", "nuint?", includeVoidError: true)); 8081unifiedBinaryOps(symbol, "nuint?", "bool"); 8082unifiedBinaryOps(symbol, "nuint?", "char", $"nuint nuint.{name}(nuint left, nuint right)"); 8083unifiedBinaryOps(symbol, "nuint?", "sbyte"); 8084unifiedBinaryOps(symbol, "nuint?", "byte", $"nuint nuint.{name}(nuint left, nuint right)"); 8085unifiedBinaryOps(symbol, "nuint?", "short"); 8086unifiedBinaryOps(symbol, "nuint?", "ushort", $"nuint nuint.{name}(nuint left, nuint right)"); 8087unifiedBinaryOps(symbol, "nuint?", "int"); 8088unifiedBinaryOps(symbol, "nuint?", "uint", $"nuint nuint.{name}(nuint left, nuint right)"); 8089unifiedBinaryOps(symbol, "nuint?", "nint"); 8090unifiedBinaryOps(symbol, "nuint?", "nuint", $"nuint nuint.{name}(nuint left, nuint right)"); 8091unifiedBinaryOps(symbol, "nuint?", "long"); 8092unifiedBinaryOps(symbol, "nuint?", "ulong", $"ulong ulong.{name}(ulong left, ulong right)"); 8093unifiedBinaryOps(symbol, "nuint?", "float"); 8094unifiedBinaryOps(symbol, "nuint?", "double"); 8095unifiedBinaryOps(symbol, "nuint?", "decimal"); 8096unifiedBinaryOps(symbol, "nuint?", "System.IntPtr"); 8097unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr", $"nuint nuint.{name}(nuint left, nuint right)"); 8100unifiedBinaryOps(symbol, "nuint?", "bool?"); 8101unifiedBinaryOps(symbol, "nuint?", "char?", $"nuint nuint.{name}(nuint left, nuint right)"); 8102unifiedBinaryOps(symbol, "nuint?", "sbyte?"); 8103unifiedBinaryOps(symbol, "nuint?", "byte?", $"nuint nuint.{name}(nuint left, nuint right)"); 8104unifiedBinaryOps(symbol, "nuint?", "short?"); 8105unifiedBinaryOps(symbol, "nuint?", "ushort?", $"nuint nuint.{name}(nuint left, nuint right)"); 8106unifiedBinaryOps(symbol, "nuint?", "int?"); 8107unifiedBinaryOps(symbol, "nuint?", "uint?", $"nuint nuint.{name}(nuint left, nuint right)"); 8108unifiedBinaryOps(symbol, "nuint?", "nint?"); 8109unifiedBinaryOps(symbol, "nuint?", "nuint?", $"nuint nuint.{name}(nuint left, nuint right)"); 8110unifiedBinaryOps(symbol, "nuint?", "long?"); 8111unifiedBinaryOps(symbol, "nuint?", "ulong?", $"ulong ulong.{name}(ulong left, ulong right)"); 8112unifiedBinaryOps(symbol, "nuint?", "float?"); 8113unifiedBinaryOps(symbol, "nuint?", "double?"); 8114unifiedBinaryOps(symbol, "nuint?", "decimal?"); 8115unifiedBinaryOps(symbol, "nuint?", "System.IntPtr?"); 8116unifiedBinaryOps(symbol, "nuint?", "System.UIntPtr?", $"nuint nuint.{name}(nuint left, nuint right)");