diff --git a/src/Compilers/CSharp/Portable/CSharpResources.resx b/src/Compilers/CSharp/Portable/CSharpResources.resx
index 7b62be7fff4c2..46dd147185689 100644
--- a/src/Compilers/CSharp/Portable/CSharpResources.resx
+++ b/src/Compilers/CSharp/Portable/CSharpResources.resx
@@ -6091,4 +6091,7 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
Module initializer method '{0}' must return void
+
+ A module initializer must be an ordinary method
+
\ No newline at end of file
diff --git a/src/Compilers/CSharp/Portable/Errors/ErrorCode.cs b/src/Compilers/CSharp/Portable/Errors/ErrorCode.cs
index eaa1cf4e421ca..19d0e8e343f13 100644
--- a/src/Compilers/CSharp/Portable/Errors/ErrorCode.cs
+++ b/src/Compilers/CSharp/Portable/Errors/ErrorCode.cs
@@ -1777,12 +1777,13 @@ internal enum ErrorCode
ERR_ExpressionTreeContainsFromEndIndexExpression = 8791,
ERR_ExpressionTreeContainsRangeExpression = 8792,
- ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType = 8793,
- ERR_ModuleInitializerMethodMustBeStatic = 8794,
- ERR_ModuleInitializerMethodMustNotHaveParameters = 8795,
- ERR_ModuleInitializerMethodMustReturnVoid = 8796,
- ERR_ModuleInitializerMethodMustNotBeGeneric = 8797,
- ERR_ModuleInitializerMethodMustNotBeContainedInGenericType = 8798,
+ ERR_ModuleInitializerMethodMustBeOrdinary = 8793,
+ ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType = 8794,
+ ERR_ModuleInitializerMethodMustBeStatic = 8795,
+ ERR_ModuleInitializerMethodMustNotHaveParameters = 8796,
+ ERR_ModuleInitializerMethodMustReturnVoid = 8797,
+ ERR_ModuleInitializerMethodMustNotBeGeneric = 8798,
+ ERR_ModuleInitializerMethodMustNotBeContainedInGenericType = 8799,
// Note: you will need to re-generate compiler code after adding warnings (eng\generate-compiler-code.cmd)
}
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf
index e84a98d432b1e..41d62413778e3 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf
index c74368669ef99..26fe59f368cd4 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf
index ee3174833d6a8..7e77b08dbef5a 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf
index aec20901723d3..7415b8d5c93a2 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf
index ab59a561ba07c..84b2b31c43916 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf
index 7c61feacb59c3..ada6a7f816cf0 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf
index 86d2392527d57..11f0bf2c953ac 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf
index 5f149de6a7a7e..afbe60e014ac1 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf
index ec3655b069639..8820d3a259e29 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf
index 94f6fe1d13a2e..ee071dd5fc2c5 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf
index 71b49b334e966..3cb970c35ea91 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf
index ef964491c2c77..8cd2d4c2992f1 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf
index 11f9625edc55b..d762f8d0b0f85 100644
--- a/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf
+++ b/src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf
@@ -332,6 +332,11 @@
Module initializer method '{0}' must be accessible outside top-level type '{1}'
+
+
+ A module initializer must be an ordinary method
+
+
Module initializer method '{0}' must be static
diff --git a/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Accessibility.cs b/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Accessibility.cs
index bdcd35157edd5..11d01bc0317b3 100644
--- a/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Accessibility.cs
+++ b/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Accessibility.cs
@@ -24,7 +24,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8793: Module initializer method 'M' must be accessible outside top-level type 'C'
+ // (6,6): error CS8794: Module initializer method 'M' must be accessible outside top-level type 'C'
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType, "ModuleInitializer").WithArguments("M", "C").WithLocation(6, 6)
);
@@ -46,7 +46,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8793: Module initializer method 'M' must be accessible outside top-level type 'C'
+ // (6,6): error CS8794: Module initializer method 'M' must be accessible outside top-level type 'C'
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType, "ModuleInitializer").WithArguments("M", "C").WithLocation(6, 6)
);
@@ -68,7 +68,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8793: Module initializer method 'M' must be accessible outside top-level type 'C'
+ // (6,6): error CS8794: Module initializer method 'M' must be accessible outside top-level type 'C'
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType, "ModuleInitializer").WithArguments("M", "C").WithLocation(6, 6)
);
@@ -183,7 +183,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (8,10): error CS8793: Module initializer method 'M' must be accessible outside top-level type 'C'
+ // (8,10): error CS8794: Module initializer method 'M' must be accessible outside top-level type 'C'
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType, "ModuleInitializer").WithArguments("M", "C").WithLocation(8, 10)
);
@@ -208,7 +208,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (8,10): error CS8793: Module initializer method 'M' must be accessible outside top-level type 'C'
+ // (8,10): error CS8794: Module initializer method 'M' must be accessible outside top-level type 'C'
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType, "ModuleInitializer").WithArguments("M", "C").WithLocation(8, 10)
);
@@ -233,7 +233,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (8,10): error CS8793: Module initializer method 'M' must be accessible outside top-level type 'C'
+ // (8,10): error CS8794: Module initializer method 'M' must be accessible outside top-level type 'C'
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeAccessibleOutsideTopLevelType, "ModuleInitializer").WithArguments("M", "C").WithLocation(8, 10)
);
diff --git a/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Generics.cs b/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Generics.cs
index 5d29a5b2610a3..9ae63b710e85b 100644
--- a/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Generics.cs
+++ b/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Generics.cs
@@ -24,7 +24,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8797: Module initializer method 'M' must not have generic parameters
+ // (6,6): error CS8798: Module initializer method 'M' must not have generic parameters
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustNotBeGeneric, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -46,7 +46,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8797: Module initializer method 'M' must not be contained in a generic type
+ // (6,6): error CS8798: Module initializer method 'M' must not be contained in a generic type
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustNotBeContainedInGenericType, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -71,7 +71,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (8,10): error CS8798: Module initializer method 'M' must not be contained in a generic type
+ // (8,10): error CS8799: Module initializer method 'M' must not be contained in a generic type
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustNotBeContainedInGenericType, "ModuleInitializer").WithArguments("M").WithLocation(8, 10)
);
diff --git a/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Signature.cs b/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Signature.cs
index 49a27bae97a7b..71913d276366f 100644
--- a/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Signature.cs
+++ b/src/Compilers/CSharp/Test/Symbol/Symbols/ModuleInitializersTests.Signature.cs
@@ -24,7 +24,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8794: Module initializer method 'M' must be static
+ // (6,6): error CS8795: Module initializer method 'M' must be static
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustBeStatic, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -46,7 +46,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8795: Module initializer method 'M' must not have parameters
+ // (6,6): error CS8796: Module initializer method 'M' must not have parameters
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustNotHaveParameters, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -68,7 +68,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8795: Module initializer method 'M' must not have parameters
+ // (6,6): error CS8796: Module initializer method 'M' must not have parameters
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustNotHaveParameters, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -90,7 +90,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8795: Module initializer method 'M' must not have parameters
+ // (6,6): error CS8796: Module initializer method 'M' must not have parameters
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustNotHaveParameters, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -112,7 +112,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (6,6): error CS8796: Module initializer method 'M' must return void
+ // (6,6): error CS8797: Module initializer method 'M' must return void
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustReturnVoid, "ModuleInitializer").WithArguments("M").WithLocation(6, 6)
);
@@ -157,7 +157,7 @@ namespace System.Runtime.CompilerServices { class ModuleInitializerAttribute : S
";
var compilation = CreateCompilation(source, parseOptions: s_parseOptions);
compilation.VerifyDiagnostics(
- // (7,6): error CS8796: Module initializer method 'M' must return void
+ // (7,6): error CS8797: Module initializer method 'M' must return void
// [ModuleInitializer]
Diagnostic(ErrorCode.ERR_ModuleInitializerMethodMustReturnVoid, "ModuleInitializer").WithArguments("M").WithLocation(7, 6),
// (8,32): warning CS1998: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.