﻿[
  {/*
SpacetimeDB.Internal.Module.RegisterTable<global::TestUniqueNotEquatable, SpacetimeDB.Internal.TableHandles.TestUniqueNotEquatable>();
        SpacetimeDB.Internal.Module.RegisterClientVisibilityFilter(global::Module.MY_FILTER);
                                                                                  ^^^^^^^^^
SpacetimeDB.Internal.Module.RegisterClientVisibilityFilter(global::Module.MY_FOURTH_FILTER);
*/
    Message: 'Module.MY_FILTER' is inaccessible due to its protection level,
    Severity: Error,
    Descriptor: {
      Id: CS0122,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS0122),
      MessageFormat: '{0}' is inaccessible due to its protection level,
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*
    // Valid Filter, but [ClientVisibilityFilter] is disabled
    [SpacetimeDB.ClientVisibilityFilter]
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    public static readonly Filter MY_FOURTH_FILTER = new Filter.Sql(
*/
    Message: 'SpacetimeDB.ClientVisibilityFilterAttribute' is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.,
    Severity: Error,
    Descriptor: {
      Id: STDB_UNSTABLE,
      Title: Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS9204),
      MessageFormat: '{0}' is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.,
      Category: Compiler,
      DefaultSeverity: Warning,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        CustomObsolete
      ]
    }
  },
  {/*

partial struct TestTypeParams<T>  : System.IEquatable<TestTypeParams>, SpacetimeDB.BSATN.IStructuralReadWrite {
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

*/
    Message: 'TestTypeParams<T>' does not implement interface member 'IEquatable<TestTypeParams>.Equals(TestTypeParams?)',
    Severity: Error,
    Descriptor: {
      Id: CS0535,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS0535),
      MessageFormat: '{0}' does not implement interface member '{1}',
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*
var ___hashUnsupportedSystemType = UnsupportedSystemType == null ? 0 : UnsupportedSystemType.GetHashCode();
var ___hashUnresolvedType = UnresolvedType == null ? 0 : UnresolvedType.GetHashCode();
                                                                        ^^^^^^^^^^^
var ___hashUnsupportedEnum = UnsupportedEnum.GetHashCode();
*/
    Message: 'UnresolvedType' does not contain a definition for 'GetHashCode' and no accessible extension method 'GetHashCode' accepting a first argument of type 'UnresolvedType' could be found (are you missing a using directive or an assembly reference?),
    Severity: Error,
    Descriptor: {
      Id: CS1061,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS1061),
      MessageFormat: '{0}' does not contain a definition for '{1}' and no accessible extension method '{1}' accepting a first argument of type '{0}' could be found (are you missing a using directive or an assembly reference?),
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*
[SpacetimeDB.Table]
public partial struct TestDefaultFieldValues
                      ^^^^^^^^^^^^^^^^^^^^^^
{
*/
    Message: A 'struct' with field initializers must include an explicitly declared constructor.,
    Severity: Error,
    Descriptor: {
      Id: CS8983,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS8983),
      MessageFormat: A 'struct' with field initializers must include an explicitly declared constructor.,
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*
SpacetimeDB.Internal.Module.RegisterClientVisibilityFilter(global::Module.MY_SECOND_FILTER);
SpacetimeDB.Internal.Module.RegisterClientVisibilityFilter(global::Module.MY_THIRD_FILTER);
                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        {
*/
    Message: Argument 1: cannot convert from 'string' to 'SpacetimeDB.Filter',
    Severity: Error,
    Descriptor: {
      Id: CS1503,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS1503),
      MessageFormat: Argument {0}: cannot convert from '{1}' to '{2}',
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*
    {
        internal static readonly TRW FieldRW = new();
                                 ^^^

*/
    Message: The type or namespace name 'TRW' could not be found (are you missing a using directive or an assembly reference?),
    Severity: Error,
    Descriptor: {
      Id: CS0246,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS0246),
      MessageFormat: The type or namespace name '{0}' could not be found (are you missing a using directive or an assembly reference?),
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*
    public Exception UnsupportedSystemType;
    public UnresolvedType UnresolvedType;
           ^^^^^^^^^^^^^^
    public LocalEnum UnsupportedEnum;
*/
    Message: The type or namespace name 'UnresolvedType' could not be found (are you missing a using directive or an assembly reference?),
    Severity: Error,
    Descriptor: {
      Id: CS0246,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS0246),
      MessageFormat: The type or namespace name '{0}' could not be found (are you missing a using directive or an assembly reference?),
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  },
  {/*

partial struct TestTypeParams<T>  : System.IEquatable<TestTypeParams>, SpacetimeDB.BSATN.IStructuralReadWrite {
                                                      ^^^^^^^^^^^^^^

*/
    Message: Using the generic type 'TestTypeParams<T>' requires 1 type arguments,
    Severity: Error,
    Descriptor: {
      Id: CS0305,
      Title: ,
      HelpLink: https://msdn.microsoft.com/query/roslyn.query?appId=roslyn&k=k(CS0305),
      MessageFormat: Using the generic {1} '{0}' requires {2} type arguments,
      Category: Compiler,
      DefaultSeverity: Error,
      IsEnabledByDefault: true,
      CustomTags: [
        Compiler,
        Telemetry,
        NotConfigurable
      ]
    }
  }
]