Exemple #1
0
        private static int Compare(BaseTypeDeclarationSyntax x, BaseTypeDeclarationSyntax y)
        {
            int result;

            if (EqualStaticness(x.Modifiers, y.Modifiers, out result) &&
                EqualAccessibility(x, x.Modifiers, y, y.Modifiers, out result) &&
                EqualIdentifierName(x.Identifier, y.Identifier, out result))
            {
                if (x.CSharpKind() == SyntaxKind.ClassDeclaration)
                {
                    EqualTypeParameterCount(
                        ((ClassDeclarationSyntax)x).TypeParameterList,
                        ((ClassDeclarationSyntax)y).TypeParameterList,
                        out result);
                }
                else if (x.CSharpKind() == SyntaxKind.StructDeclaration)
                {
                    EqualTypeParameterCount(
                        ((StructDeclarationSyntax)x).TypeParameterList,
                        ((StructDeclarationSyntax)y).TypeParameterList,
                        out result);
                }
                else
                {
                    EqualTypeParameterCount(
                        ((InterfaceDeclarationSyntax)x).TypeParameterList,
                        ((InterfaceDeclarationSyntax)y).TypeParameterList,
                        out result);
                }
            }

            return(result);
        }