diff --git a/src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs b/src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs index 26f7a50692780259f407e1f0a508ea439f5ded7e..96f63f13ec273d444a9261a45d782745c2d2caad 100644 --- a/src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs +++ b/src/Compilers/CSharp/Portable/Symbols/Source/SourceMemberMethodSymbol.cs @@ -95,14 +95,15 @@ internal sealed class SourceMemberMethodSymbol : SourceMethodSymbol this.MakeFlags(methodKind, declarationModifiers, returnsVoid, isExtensionMethod, isMetadataVirtualIgnoringModifiers); - _typeParameters = syntax.Arity == 0 - ? ImmutableArray.Empty - : MakeTypeParameters(syntax, diagnostics); - if (syntax.Arity == 0) { + _typeParameters = ImmutableArray.Empty; ReportErrorIfHasConstraints(syntax.ConstraintClauses, diagnostics); } + else + { + _typeParameters = MakeTypeParameters(syntax, diagnostics); + } bool hasBlockBody = syntax.Body != null; _isExpressionBodied = !hasBlockBody && syntax.ExpressionBody != null;