From 6db692b74b5f42ada3a68b808bf4ddecb727015c Mon Sep 17 00:00:00 2001 From: "Xamarin Public Jenkins (auto-signing)" Date: Wed, 31 Jan 2018 19:21:06 +0000 Subject: [PATCH] Imported Upstream version 5.10.0.78 Former-commit-id: 46737382176d7b811604042c613d5df6eef74f33 --- configure.REMOVED.git-id | 2 +- configure.ac.REMOVED.git-id | 2 +- mcs/build/common/Consts.cs | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../1051000001/System.Xml.dll.REMOVED.git-id | 2 +- .../1051000001/mcs.exe.REMOVED.git-id | 2 +- .../1051000001/mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../1051000001/System.Xml.dll.REMOVED.git-id | 2 +- .../1051000001/mcs.exe.REMOVED.git-id | 2 +- .../1051000001/mscorlib.dll.REMOVED.git-id | 2 +- .../Mono.Security.dll.REMOVED.git-id | 2 +- .../System.Configuration.dll.REMOVED.git-id | 2 +- .../System.Numerics.dll.REMOVED.git-id | 2 +- .../System.Security.dll.REMOVED.git-id | 2 +- .../1051000001/System.Xml.dll.REMOVED.git-id | 2 +- .../1051000001/mcs.exe.REMOVED.git-id | 2 +- .../1051000001/mscorlib.dll.REMOVED.git-id | 2 +- mcs/errors/cs1983.cs | 2 +- mcs/errors/cs8346.cs | 13 + mcs/mcs/assign.cs | 16 +- mcs/mcs/async.cs | 192 +++++-- mcs/mcs/attribute.cs | 13 + mcs/mcs/class.cs.REMOVED.git-id | 2 +- mcs/mcs/ecore.cs.REMOVED.git-id | 2 +- mcs/mcs/expression.cs.REMOVED.git-id | 2 +- mcs/mcs/generic.cs | 5 + mcs/mcs/import.cs | 37 +- mcs/mcs/method.cs | 5 +- mcs/mcs/statement.cs.REMOVED.git-id | 2 +- mcs/mcs/typemanager.cs | 11 +- mcs/mcs/typespec.cs | 11 + mcs/tests/test-948.cs | 16 + mcs/tests/test-async-94.cs | 127 +++++ mcs/tests/test-readonly-03.cs | 16 + mcs/tests/test-ref-10.cs | 24 + mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id | 2 +- mcs/tools/mkbundle/mkbundle.cs | 5 + mono/mini/mini-exceptions.c.REMOVED.git-id | 2 +- mono/mini/version.h | 2 +- po/mcs/de.gmo | Bin 5406 -> 5406 bytes po/mcs/de.po.REMOVED.git-id | 2 +- po/mcs/es.gmo | Bin 16329 -> 16329 bytes po/mcs/es.po.REMOVED.git-id | 2 +- po/mcs/ja.gmo | Bin 20863 -> 20863 bytes po/mcs/ja.po.REMOVED.git-id | 2 +- po/mcs/mcs.pot | 539 +++++++++--------- po/mcs/pt_BR.gmo | Bin 72806 -> 72806 bytes po/mcs/pt_BR.po.REMOVED.git-id | 2 +- 55 files changed, 740 insertions(+), 362 deletions(-) create mode 100644 mcs/errors/cs8346.cs create mode 100644 mcs/tests/test-948.cs create mode 100644 mcs/tests/test-async-94.cs create mode 100644 mcs/tests/test-readonly-03.cs create mode 100644 mcs/tests/test-ref-10.cs diff --git a/configure.REMOVED.git-id b/configure.REMOVED.git-id index 80d6c39221..1664b73a96 100644 --- a/configure.REMOVED.git-id +++ b/configure.REMOVED.git-id @@ -1 +1 @@ -f3cdec28bfd3d14c4e51f3f8697b1c542f26bcfa \ No newline at end of file +dad97840452a2f832fc1323d67be2b04d45fc712 \ No newline at end of file diff --git a/configure.ac.REMOVED.git-id b/configure.ac.REMOVED.git-id index e23dd8ee83..3f9f4cd592 100644 --- a/configure.ac.REMOVED.git-id +++ b/configure.ac.REMOVED.git-id @@ -1 +1 @@ -34b930d40a1798a2e6cf86e9dc5b5aef795412f2 \ No newline at end of file +1b855480ca426b8d704fef63adf86f09b2b33da2 \ No newline at end of file diff --git a/mcs/build/common/Consts.cs b/mcs/build/common/Consts.cs index 8567a66161..973fd131b5 100644 --- a/mcs/build/common/Consts.cs +++ b/mcs/build/common/Consts.cs @@ -34,7 +34,7 @@ static class Consts // Use these assembly version constants to make code more maintainable. // - public const string MonoVersion = "5.10.0.71"; + public const string MonoVersion = "5.10.0.78"; public const string MonoCompany = "Mono development team"; public const string MonoProduct = "Mono Common Language Infrastructure"; public const string MonoCopyright = "(c) Various Mono authors"; diff --git a/mcs/class/lib/monolite-darwin/1051000001/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/Mono.Security.dll.REMOVED.git-id index 8c03f2c6a2..d21fe9964e 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -f46637fe7b50026e71c6ce268ea9f06072f1427c \ No newline at end of file +cf7fd8b1f52fa69a3f0c94971b492a2e3ad201bd \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000001/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/System.Configuration.dll.REMOVED.git-id index 9bad1b0204..1107cb4872 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -09a0bbd139544d6660f459487cd7b64444fa0110 \ No newline at end of file +622d2ec0823ad7bd945fc203628e4a1290ba8528 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000001/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/System.Numerics.dll.REMOVED.git-id index a6948a1980..5d0204d2ea 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -9dbd62725d59ac2b05fb7b233c7392fc2701c97c \ No newline at end of file +bd7bcec7d9505215a55dda1ebc8154522a62f70d \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000001/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/System.Security.dll.REMOVED.git-id index cd8eb5648b..d99cfb5643 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -155d65127d43b1f2e787e1c95de7098297585a65 \ No newline at end of file +e87333586392ab866201d6ba269f3d8855e6d0a9 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000001/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/System.Xml.dll.REMOVED.git-id index 784dca5eaf..3b843cc6e5 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -7934a0f5c354efc029c3deca559be7d379278ae7 \ No newline at end of file +d718c10f264ce127870f830fde9359d0d2106b88 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000001/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/mcs.exe.REMOVED.git-id index 9ad25097c0..eb44e2b8d9 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -a2d6f567f1c826b06f814cdc88138a155050fb50 \ No newline at end of file +11fa18ea6714274085a830b743543b03862fed53 \ No newline at end of file diff --git a/mcs/class/lib/monolite-darwin/1051000001/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-darwin/1051000001/mscorlib.dll.REMOVED.git-id index 794ec7774a..792256b2b9 100644 --- a/mcs/class/lib/monolite-darwin/1051000001/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-darwin/1051000001/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -e66da28062c88338d362b64caa5b9844cceac6c6 \ No newline at end of file +29c3b6cb6acbee9ec9a2bcf01e8dcc796eaa4696 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/Mono.Security.dll.REMOVED.git-id index 8c03f2c6a2..d21fe9964e 100644 --- a/mcs/class/lib/monolite-linux/1051000001/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -f46637fe7b50026e71c6ce268ea9f06072f1427c \ No newline at end of file +cf7fd8b1f52fa69a3f0c94971b492a2e3ad201bd \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/System.Configuration.dll.REMOVED.git-id index 9bad1b0204..1107cb4872 100644 --- a/mcs/class/lib/monolite-linux/1051000001/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -09a0bbd139544d6660f459487cd7b64444fa0110 \ No newline at end of file +622d2ec0823ad7bd945fc203628e4a1290ba8528 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/System.Numerics.dll.REMOVED.git-id index a6948a1980..5d0204d2ea 100644 --- a/mcs/class/lib/monolite-linux/1051000001/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -9dbd62725d59ac2b05fb7b233c7392fc2701c97c \ No newline at end of file +bd7bcec7d9505215a55dda1ebc8154522a62f70d \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/System.Security.dll.REMOVED.git-id index cd8eb5648b..d99cfb5643 100644 --- a/mcs/class/lib/monolite-linux/1051000001/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -155d65127d43b1f2e787e1c95de7098297585a65 \ No newline at end of file +e87333586392ab866201d6ba269f3d8855e6d0a9 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/System.Xml.dll.REMOVED.git-id index 784dca5eaf..3b843cc6e5 100644 --- a/mcs/class/lib/monolite-linux/1051000001/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -7934a0f5c354efc029c3deca559be7d379278ae7 \ No newline at end of file +d718c10f264ce127870f830fde9359d0d2106b88 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/mcs.exe.REMOVED.git-id index 9ad25097c0..eb44e2b8d9 100644 --- a/mcs/class/lib/monolite-linux/1051000001/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -a2d6f567f1c826b06f814cdc88138a155050fb50 \ No newline at end of file +11fa18ea6714274085a830b743543b03862fed53 \ No newline at end of file diff --git a/mcs/class/lib/monolite-linux/1051000001/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-linux/1051000001/mscorlib.dll.REMOVED.git-id index 794ec7774a..792256b2b9 100644 --- a/mcs/class/lib/monolite-linux/1051000001/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-linux/1051000001/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -e66da28062c88338d362b64caa5b9844cceac6c6 \ No newline at end of file +29c3b6cb6acbee9ec9a2bcf01e8dcc796eaa4696 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/Mono.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/Mono.Security.dll.REMOVED.git-id index 8c03f2c6a2..d21fe9964e 100644 --- a/mcs/class/lib/monolite-win32/1051000001/Mono.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/Mono.Security.dll.REMOVED.git-id @@ -1 +1 @@ -f46637fe7b50026e71c6ce268ea9f06072f1427c \ No newline at end of file +cf7fd8b1f52fa69a3f0c94971b492a2e3ad201bd \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/System.Configuration.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/System.Configuration.dll.REMOVED.git-id index 9bad1b0204..1107cb4872 100644 --- a/mcs/class/lib/monolite-win32/1051000001/System.Configuration.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/System.Configuration.dll.REMOVED.git-id @@ -1 +1 @@ -09a0bbd139544d6660f459487cd7b64444fa0110 \ No newline at end of file +622d2ec0823ad7bd945fc203628e4a1290ba8528 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/System.Numerics.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/System.Numerics.dll.REMOVED.git-id index a6948a1980..5d0204d2ea 100644 --- a/mcs/class/lib/monolite-win32/1051000001/System.Numerics.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/System.Numerics.dll.REMOVED.git-id @@ -1 +1 @@ -9dbd62725d59ac2b05fb7b233c7392fc2701c97c \ No newline at end of file +bd7bcec7d9505215a55dda1ebc8154522a62f70d \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/System.Security.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/System.Security.dll.REMOVED.git-id index cd8eb5648b..d99cfb5643 100644 --- a/mcs/class/lib/monolite-win32/1051000001/System.Security.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/System.Security.dll.REMOVED.git-id @@ -1 +1 @@ -155d65127d43b1f2e787e1c95de7098297585a65 \ No newline at end of file +e87333586392ab866201d6ba269f3d8855e6d0a9 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/System.Xml.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/System.Xml.dll.REMOVED.git-id index 784dca5eaf..3b843cc6e5 100644 --- a/mcs/class/lib/monolite-win32/1051000001/System.Xml.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/System.Xml.dll.REMOVED.git-id @@ -1 +1 @@ -7934a0f5c354efc029c3deca559be7d379278ae7 \ No newline at end of file +d718c10f264ce127870f830fde9359d0d2106b88 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/mcs.exe.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/mcs.exe.REMOVED.git-id index 9ad25097c0..eb44e2b8d9 100644 --- a/mcs/class/lib/monolite-win32/1051000001/mcs.exe.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/mcs.exe.REMOVED.git-id @@ -1 +1 @@ -a2d6f567f1c826b06f814cdc88138a155050fb50 \ No newline at end of file +11fa18ea6714274085a830b743543b03862fed53 \ No newline at end of file diff --git a/mcs/class/lib/monolite-win32/1051000001/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite-win32/1051000001/mscorlib.dll.REMOVED.git-id index 794ec7774a..792256b2b9 100644 --- a/mcs/class/lib/monolite-win32/1051000001/mscorlib.dll.REMOVED.git-id +++ b/mcs/class/lib/monolite-win32/1051000001/mscorlib.dll.REMOVED.git-id @@ -1 +1 @@ -e66da28062c88338d362b64caa5b9844cceac6c6 \ No newline at end of file +29c3b6cb6acbee9ec9a2bcf01e8dcc796eaa4696 \ No newline at end of file diff --git a/mcs/errors/cs1983.cs b/mcs/errors/cs1983.cs index a2ef6c150d..76d2db4e67 100644 --- a/mcs/errors/cs1983.cs +++ b/mcs/errors/cs1983.cs @@ -1,4 +1,4 @@ -// CS1983: The return type of an async method must be void, Task, or Task +// CS1983: The return type of an async method must be void or task type // Line: 6 class C diff --git a/mcs/errors/cs8346.cs b/mcs/errors/cs8346.cs new file mode 100644 index 0000000000..58e22a2ae7 --- /dev/null +++ b/mcs/errors/cs8346.cs @@ -0,0 +1,13 @@ +// CS8346: Cannot convert a stackalloc expression of type `byte' to type `System.Span' +// Line: 11 +// Compiler options: -langversion:7.2 + +using System; + +class X +{ + public static void Main () + { + Span stackSpan = stackalloc byte[1]; + } +} \ No newline at end of file diff --git a/mcs/mcs/assign.cs b/mcs/mcs/assign.cs index a07c8c0ef3..596623feae 100644 --- a/mcs/mcs/assign.cs +++ b/mcs/mcs/assign.cs @@ -391,9 +391,21 @@ namespace Mono.CSharp { return System.Linq.Expressions.Expression.Assign (target_object, source_object); } - protected virtual Expression ResolveConversions (ResolveContext ec) + protected virtual Expression ResolveConversions (ResolveContext rc) { - source = Convert.ImplicitConversionRequired (ec, source, target.Type, source.Location); + var ttype = target.Type; + var stackAlloc = source as StackAlloc; + if (stackAlloc != null && ttype.Arity == 1 && ttype.GetDefinition () == rc.Module.PredefinedTypes.SpanGeneric.TypeSpec && + rc.Module.Compiler.Settings.Version >= LanguageVersion.V_7_2) { + + var etype = ttype.TypeArguments [0]; + var stype = ((PointerContainer)source.Type).Element; + if (etype == stype && stackAlloc.ResolveSpanConversion (rc, ttype)) { + return this; + } + } + + source = Convert.ImplicitConversionRequired (rc, source, ttype, source.Location); if (source == null) return null; diff --git a/mcs/mcs/async.cs b/mcs/mcs/async.cs index fd6499346e..643aed5e56 100644 --- a/mcs/mcs/async.cs +++ b/mcs/mcs/async.cs @@ -628,59 +628,113 @@ namespace Mono.CSharp protected override bool DoDefineMembers () { - PredefinedType builder_type; - PredefinedMember bf; - PredefinedMember bs; - PredefinedMember sr; - PredefinedMember se; - PredefinedMember sm; + TypeSpec bt; bool has_task_return_type = false; - var pred_members = Module.PredefinedMembers; - - if (return_type.Kind == MemberKind.Void) { - builder_type = Module.PredefinedTypes.AsyncVoidMethodBuilder; - bf = pred_members.AsyncVoidMethodBuilderCreate; - bs = pred_members.AsyncVoidMethodBuilderStart; - sr = pred_members.AsyncVoidMethodBuilderSetResult; - se = pred_members.AsyncVoidMethodBuilderSetException; - sm = pred_members.AsyncVoidMethodBuilderSetStateMachine; - } else if (return_type == Module.PredefinedTypes.Task.TypeSpec) { - builder_type = Module.PredefinedTypes.AsyncTaskMethodBuilder; - bf = pred_members.AsyncTaskMethodBuilderCreate; - bs = pred_members.AsyncTaskMethodBuilderStart; - sr = pred_members.AsyncTaskMethodBuilderSetResult; - se = pred_members.AsyncTaskMethodBuilderSetException; - sm = pred_members.AsyncTaskMethodBuilderSetStateMachine; - task = pred_members.AsyncTaskMethodBuilderTask.Get (); - } else { - builder_type = Module.PredefinedTypes.AsyncTaskMethodBuilderGeneric; - bf = pred_members.AsyncTaskMethodBuilderGenericCreate; - bs = pred_members.AsyncTaskMethodBuilderGenericStart; - sr = pred_members.AsyncTaskMethodBuilderGenericSetResult; - se = pred_members.AsyncTaskMethodBuilderGenericSetException; - sm = pred_members.AsyncTaskMethodBuilderGenericSetStateMachine; - task = pred_members.AsyncTaskMethodBuilderGenericTask.Get (); - has_task_return_type = true; - } - - set_result = sr.Get (); - set_exception = se.Get (); - builder_factory = bf.Get (); - builder_start = bs.Get (); - var istate_machine = Module.PredefinedTypes.IAsyncStateMachine; - var set_statemachine = sm.Get (); + MethodSpec set_statemachine; - if (!builder_type.Define () || !istate_machine.Define () || set_result == null || builder_factory == null || - set_exception == null || set_statemachine == null || builder_start == null || - !Module.PredefinedTypes.INotifyCompletion.Define ()) { - Report.Error (1993, Location, - "Cannot find compiler required types for asynchronous functions support. Are you targeting the wrong framework version?"); - return base.DoDefineMembers (); + if (return_type.IsCustomTaskType ()) { + // + // TODO: Would be nice to cache all this on per-type basis + // + var btypes = Compiler.BuiltinTypes; + bt = return_type.MemberDefinition.GetAsyncMethodBuilder (); + TypeSpec bt_inflated; + if (return_type.IsGeneric) { + bt_inflated = bt.MakeGenericType (Module, bt.MemberDefinition.TypeParameters); + } else { + bt_inflated = bt; + } + + var set_result_sign = MemberFilter.Method ("SetResult", 0, ParametersCompiled.CreateFullyResolved (bt.MemberDefinition.TypeParameters), btypes.Void); + set_result = new PredefinedMember (Module, bt, set_result_sign).Resolve (Location); + + var set_exception_sign = MemberFilter.Method ("SetException", 0, ParametersCompiled.CreateFullyResolved (btypes.Exception), btypes.Void); + set_exception = new PredefinedMember (Module, bt, set_exception_sign).Resolve (Location); + + var builder_factory_sign = MemberFilter.Method ("Create", 0, ParametersCompiled.EmptyReadOnlyParameters, bt_inflated); + builder_factory = new PredefinedMember (Module, bt, builder_factory_sign).Resolve (Location); + if (builder_factory?.IsStatic == false) + throw new NotImplementedException ("report better error message"); + + var builder_start_sign = MemberFilter.Method ("Start", 1, new ParametersImported ( + new [] { + new ParameterData (null, Parameter.Modifier.REF), + }, + new [] { + new TypeParameterSpec (0, null, SpecialConstraint.None, Variance.None, null), + }, false), + btypes.Void); + builder_start = new PredefinedMember (Module, bt, builder_start_sign).Resolve (Location); + + if (!istate_machine.Define ()) + return false; + + var set_statemachine_sign = MemberFilter.Method ("SetStateMachine", 0, ParametersCompiled.CreateFullyResolved (istate_machine.TypeSpec), btypes.Void); + set_statemachine = new PredefinedMember (Module, bt, set_statemachine_sign).Resolve (Location); ; + + var task_sign = MemberFilter.Property ("Task", return_type.MemberDefinition as TypeSpec); + task = new PredefinedMember (Module, bt, task_sign).Resolve (Location); + + if (set_result == null || set_exception == null || builder_factory == null || builder_start == null || set_statemachine == null || task == null || + !Module.PredefinedTypes.INotifyCompletion.Define ()) { + return false; + } + + has_task_return_type = return_type.IsGeneric; + } else { + PredefinedType builder_type; + PredefinedMember bf; + PredefinedMember bs; + PredefinedMember sr; + PredefinedMember se; + PredefinedMember sm; + var pred_members = Module.PredefinedMembers; + + if (return_type.Kind == MemberKind.Void) { + builder_type = Module.PredefinedTypes.AsyncVoidMethodBuilder; + bf = pred_members.AsyncVoidMethodBuilderCreate; + bs = pred_members.AsyncVoidMethodBuilderStart; + sr = pred_members.AsyncVoidMethodBuilderSetResult; + se = pred_members.AsyncVoidMethodBuilderSetException; + sm = pred_members.AsyncVoidMethodBuilderSetStateMachine; + } else if (return_type == Module.PredefinedTypes.Task.TypeSpec) { + builder_type = Module.PredefinedTypes.AsyncTaskMethodBuilder; + bf = pred_members.AsyncTaskMethodBuilderCreate; + bs = pred_members.AsyncTaskMethodBuilderStart; + sr = pred_members.AsyncTaskMethodBuilderSetResult; + se = pred_members.AsyncTaskMethodBuilderSetException; + sm = pred_members.AsyncTaskMethodBuilderSetStateMachine; + task = pred_members.AsyncTaskMethodBuilderTask.Get (); + } else { + builder_type = Module.PredefinedTypes.AsyncTaskMethodBuilderGeneric; + bf = pred_members.AsyncTaskMethodBuilderGenericCreate; + bs = pred_members.AsyncTaskMethodBuilderGenericStart; + sr = pred_members.AsyncTaskMethodBuilderGenericSetResult; + se = pred_members.AsyncTaskMethodBuilderGenericSetException; + sm = pred_members.AsyncTaskMethodBuilderGenericSetStateMachine; + task = pred_members.AsyncTaskMethodBuilderGenericTask.Get (); + has_task_return_type = true; + } + + set_result = sr.Get (); + set_exception = se.Get (); + builder_factory = bf.Get (); + builder_start = bs.Get (); + + set_statemachine = sm.Get (); + + if (!builder_type.Define () || !istate_machine.Define () || set_result == null || builder_factory == null || + set_exception == null || set_statemachine == null || builder_start == null || + !Module.PredefinedTypes.INotifyCompletion.Define ()) { + Report.Error (1993, Location, + "Cannot find compiler required types for asynchronous functions support. Are you targeting the wrong framework version?"); + return base.DoDefineMembers (); + } + + bt = builder_type.TypeSpec; } - var bt = builder_type.TypeSpec; - // // Inflate generic Task types // @@ -825,9 +879,26 @@ namespace Mono.CSharp predefined = unsafeVersion ? pm.AsyncVoidMethodBuilderOnCompletedUnsafe : pm.AsyncVoidMethodBuilderOnCompleted; } else if (return_type == Module.PredefinedTypes.Task.TypeSpec) { predefined = unsafeVersion ? pm.AsyncTaskMethodBuilderOnCompletedUnsafe : pm.AsyncTaskMethodBuilderOnCompleted; - } else { + } else if (return_type.IsGenericTask) { predefined = unsafeVersion ? pm.AsyncTaskMethodBuilderGenericOnCompletedUnsafe : pm.AsyncTaskMethodBuilderGenericOnCompleted; has_task_return_type = true; + } else { + var parameters = new ParametersImported ( + new [] { + new ParameterData (null, Parameter.Modifier.REF), + new ParameterData (null, Parameter.Modifier.REF) + }, + new [] { + new TypeParameterSpec (0, null, SpecialConstraint.None, Variance.None, null), + new TypeParameterSpec (1, null, SpecialConstraint.None, Variance.None, null) + }, false); + + var on_completed_sign = unsafeVersion ? + MemberFilter.Method ("AwaitUnsafeOnCompleted", 2, parameters, Compiler.BuiltinTypes.Void) : + MemberFilter.Method ("AwaitOnCompleted", 2, parameters, Compiler.BuiltinTypes.Void); + + predefined = new PredefinedMember (Module, return_type.MemberDefinition.GetAsyncMethodBuilder (), on_completed_sign); + has_task_return_type = return_type.IsGeneric; } var on_completed = predefined.Resolve (Location); @@ -887,11 +958,14 @@ namespace Mono.CSharp // stateMachine.$builder.Start<{storey-type}>(ref stateMachine); // instance.AddressOf (ec, AddressOp.Store); - ec.Emit (OpCodes.Ldflda, builder_field); + + bool struct_builder = builder.MemberType.IsStruct; + + ec.Emit (struct_builder ? OpCodes.Ldflda : OpCodes.Ldfld, builder_field); if (Task != null) ec.Emit (OpCodes.Dup); instance.AddressOf (ec, AddressOp.Store); - ec.Emit (OpCodes.Call, builder_start.MakeGenericMethod (Module, instance.Type)); + ec.Emit (struct_builder ? OpCodes.Call : OpCodes.Callvirt, builder_start.MakeGenericMethod (Module, instance.Type)); // // Emits return stateMachine.$builder.Task; @@ -1029,4 +1103,20 @@ namespace Mono.CSharp EmitAssign (ec, new NullConstant (type, loc), false, false); } } + + static class TypeSpecAsyncExtensions + { + public static bool IsCustomTaskType (this TypeSpec type) + { + // LAMESPEC: Arity is not mentioned + if (type.Arity > 1) + return false; + + var amb = type.MemberDefinition.GetAsyncMethodBuilder (); + if (amb == null) + return false; + + return amb.Arity == type.Arity; + } + } } diff --git a/mcs/mcs/attribute.cs b/mcs/mcs/attribute.cs index 4f520b7487..83d403118a 100644 --- a/mcs/mcs/attribute.cs +++ b/mcs/mcs/attribute.cs @@ -789,6 +789,17 @@ namespace Mono.CSharp { return ((BoolConstant) pos_args[0].Expr).Value; } + public TypeSpec GetAsyncMethodBuilderValue () + { + if (!arg_resolved) + Resolve (); + + if (resolve_error) + return null; + + return GetArgumentType (); + } + public TypeSpec GetCoClassAttributeValue () { if (!arg_resolved) @@ -1754,6 +1765,7 @@ namespace Mono.CSharp { // New in .NET 4.7 public readonly PredefinedTupleElementNamesAttribute TupleElementNames; + public readonly PredefinedAttribute AsyncMethodBuilder; // New in .NET 4.7.1 public readonly PredefinedAttribute IsReadOnly; @@ -1838,6 +1850,7 @@ namespace Mono.CSharp { CallerLineNumberAttribute = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "CallerLineNumberAttribute"); CallerFilePathAttribute = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "CallerFilePathAttribute"); + AsyncMethodBuilder = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "AsyncMethodBuilderAttribute"); TupleElementNames = new PredefinedTupleElementNamesAttribute (module, "System.Runtime.CompilerServices", "TupleElementNamesAttribute"); IsReadOnly = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "IsReadOnlyAttribute"); IsByRefLike = new PredefinedAttribute (module, "System.Runtime.CompilerServices", "IsByRefLikeAttribute"); diff --git a/mcs/mcs/class.cs.REMOVED.git-id b/mcs/mcs/class.cs.REMOVED.git-id index 1e113c74dc..7f62b59ab1 100644 --- a/mcs/mcs/class.cs.REMOVED.git-id +++ b/mcs/mcs/class.cs.REMOVED.git-id @@ -1 +1 @@ -da3ec32d6fb042738c08224ca2367f0262506c27 \ No newline at end of file +6b1adc297a3831c9f1efbe0d0eb0b1af7230f911 \ No newline at end of file diff --git a/mcs/mcs/ecore.cs.REMOVED.git-id b/mcs/mcs/ecore.cs.REMOVED.git-id index a622fef689..612714b122 100644 --- a/mcs/mcs/ecore.cs.REMOVED.git-id +++ b/mcs/mcs/ecore.cs.REMOVED.git-id @@ -1 +1 @@ -b6a508cffc61cadc2e4ab73e7cc62af1fc2793d6 \ No newline at end of file +20ee9e73b19c3cf415315fbd67fcaeb787ac8ef6 \ No newline at end of file diff --git a/mcs/mcs/expression.cs.REMOVED.git-id b/mcs/mcs/expression.cs.REMOVED.git-id index e25fd53186..2bd3500fe9 100644 --- a/mcs/mcs/expression.cs.REMOVED.git-id +++ b/mcs/mcs/expression.cs.REMOVED.git-id @@ -1 +1 @@ -51f268737c01310008f6ef3be4705ffc0373b7ed \ No newline at end of file +518ccc8ef43fb3e1a0902069579690ac6875696a \ No newline at end of file diff --git a/mcs/mcs/generic.cs b/mcs/mcs/generic.cs index 82b2d6775e..ec2965df63 100644 --- a/mcs/mcs/generic.cs +++ b/mcs/mcs/generic.cs @@ -693,6 +693,11 @@ namespace Mono.CSharp { GetSignatureForError (), mc.GetSignatureForError (), input_variance, gtype_variance, parameters); } + public TypeSpec GetAsyncMethodBuilder () + { + return null; + } + public TypeSpec GetAttributeCoClass () { return null; diff --git a/mcs/mcs/import.cs b/mcs/mcs/import.cs index 81cb469171..cff47f06b8 100644 --- a/mcs/mcs/import.cs +++ b/mcs/mcs/import.cs @@ -1405,6 +1405,7 @@ namespace Mono.CSharp public string DefaultIndexerName; public bool? CLSAttributeValue; public TypeSpec CoClass; + public TypeSpec AsyncMethodBuilder; static bool HasMissingType (ConstructorInfo ctor) { @@ -1446,7 +1447,14 @@ namespace Mono.CSharp if (args.Count == 1) { bag.Obsolete = new ObsoleteAttribute ((string) args[0].Value); } else if (args.Count == 2) { - bag.Obsolete = new ObsoleteAttribute ((string) args[0].Value, (bool) args[1].Value); + const string ByRefLikeMarker = "Types with embedded references are not supported in this version of your compiler."; + + var msg = (string)args[0].Value; + + if (msg == ByRefLikeMarker) + continue; + + bag.Obsolete = new ObsoleteAttribute (msg, (bool) args[1].Value); } else { bag.Obsolete = new ObsoleteAttribute (); } @@ -1526,6 +1534,20 @@ namespace Mono.CSharp bag.CoClass = importer.ImportType ((MetaType) a.ConstructorArguments[0].Value); continue; } + + if (name == "AsyncMethodBuilderAttribute") { + if (dt.Namespace != "System.Runtime.CompilerServices") + continue; + + if (HasMissingType (a.Constructor)) + continue; + + if (bag == null) + bag = new AttributesBag (); + + bag.AsyncMethodBuilder = importer.ImportType ((MetaType)a.ConstructorArguments [0].Value); + continue; + } } } @@ -2133,6 +2155,14 @@ namespace Mono.CSharp } } + public TypeSpec GetAsyncMethodBuilder () + { + if (cattrs == null) + ReadAttributes (); + + return cattrs.AsyncMethodBuilder; + } + public TypeSpec GetAttributeCoClass () { if (cattrs == null) @@ -2449,6 +2479,11 @@ namespace Mono.CSharp #endregion + public TypeSpec GetAsyncMethodBuilder () + { + return null; + } + public TypeSpec GetAttributeCoClass () { return null; diff --git a/mcs/mcs/method.cs b/mcs/mcs/method.cs index 7a10191ba7..1fca10dd6d 100644 --- a/mcs/mcs/method.cs +++ b/mcs/mcs/method.cs @@ -1267,8 +1267,9 @@ namespace Mono.CSharp { if ((ModFlags & Modifiers.ASYNC) != 0) { if (ReturnType.Kind != MemberKind.Void && ReturnType != Module.PredefinedTypes.Task.TypeSpec && - !ReturnType.IsGenericTask) { - Report.Error (1983, Location, "The return type of an async method must be void, Task, or Task"); + !ReturnType.IsGenericTask && + !ReturnType.IsCustomTaskType ()) { + Report.Error (1983, Location, "The return type of an async method must be void or task type"); } block = (ToplevelBlock) block.ConvertToAsyncTask (this, Parent.PartialContainer, parameters, ReturnType, null, Location); diff --git a/mcs/mcs/statement.cs.REMOVED.git-id b/mcs/mcs/statement.cs.REMOVED.git-id index 95a3f2795f..b2740701fc 100644 --- a/mcs/mcs/statement.cs.REMOVED.git-id +++ b/mcs/mcs/statement.cs.REMOVED.git-id @@ -1 +1 @@ -6f86db260bf6516fe48fce41e5197b299a5cfc88 \ No newline at end of file +9c51128548f7bf24c42648a23fef1bf5dbc67fa8 \ No newline at end of file diff --git a/mcs/mcs/typemanager.cs b/mcs/mcs/typemanager.cs index b6aff14e1c..7a16cda277 100644 --- a/mcs/mcs/typemanager.cs +++ b/mcs/mcs/typemanager.cs @@ -242,6 +242,7 @@ namespace Mono.CSharp // C# 7.0 public readonly PredefinedType[] Tuples; + public readonly PredefinedType SpanGeneric; public PredefinedTypes (ModuleContainer module) { @@ -301,6 +302,8 @@ namespace Mono.CSharp FormattableString = new PredefinedType (module, MemberKind.Class, "System", "FormattableString"); FormattableStringFactory = new PredefinedType (module, MemberKind.Class, "System.Runtime.CompilerServices", "FormattableStringFactory"); + SpanGeneric = new PredefinedType (module, MemberKind.Struct, "System", "Span", 1); + // // Define types which are used for comparison. It does not matter // if they don't exist as no error report is needed @@ -348,6 +351,8 @@ namespace Mono.CSharp if (pt.Define ()) pt.TypeSpec.IsTupleType = true; } + + SpanGeneric.Define (); } } @@ -430,6 +435,7 @@ namespace Mono.CSharp ArrayEmpty = new PredefinedMember (module, types.Array, MemberFilter.Method ("Empty", 1, ParametersCompiled.EmptyReadOnlyParameters, null)); + // TODO: Must me static AsyncTaskMethodBuilderCreate = new PredefinedMember (module, types.AsyncTaskMethodBuilder, MemberFilter.Method ("Create", 0, ParametersCompiled.EmptyReadOnlyParameters, types.AsyncTaskMethodBuilder.TypeSpec)); @@ -485,6 +491,7 @@ namespace Mono.CSharp AsyncTaskMethodBuilderTask = new PredefinedMember (module, types.AsyncTaskMethodBuilder, MemberFilter.Property ("Task", null)); + // TODO: Must me static AsyncTaskMethodBuilderGenericCreate = new PredefinedMember (module, types.AsyncTaskMethodBuilderGeneric, MemberFilter.Method ("Create", 0, ParametersCompiled.EmptyReadOnlyParameters, types.AsyncVoidMethodBuilder.TypeSpec)); @@ -542,6 +549,7 @@ namespace Mono.CSharp AsyncTaskMethodBuilderGenericTask = new PredefinedMember (module, types.AsyncTaskMethodBuilderGeneric, MemberFilter.Property ("Task", null)); + // TODO: Must me static AsyncVoidMethodBuilderCreate = new PredefinedMember (module, types.AsyncVoidMethodBuilder, MemberFilter.Method ("Create", 0, ParametersCompiled.EmptyReadOnlyParameters, types.AsyncVoidMethodBuilder.TypeSpec)); @@ -1006,9 +1014,6 @@ namespace Mono.CSharp public T Resolve (Location loc) { - if (member != null) - return member; - if (Get () != null) return member; diff --git a/mcs/mcs/typespec.cs b/mcs/mcs/typespec.cs index b01ad6ebcd..a58a0fe517 100644 --- a/mcs/mcs/typespec.cs +++ b/mcs/mcs/typespec.cs @@ -1454,6 +1454,7 @@ namespace Mono.CSharp int TypeParametersCount { get; } TypeParameterSpec[] TypeParameters { get; } + TypeSpec GetAsyncMethodBuilder (); TypeSpec GetAttributeCoClass (); string GetAttributeDefaultMember (); AttributeUsageAttribute GetAttributeUsage (PredefinedAttribute pa); @@ -1588,6 +1589,11 @@ namespace Mono.CSharp #region ITypeDefinition Members + TypeSpec ITypeDefinition.GetAsyncMethodBuilder () + { + return null; + } + TypeSpec ITypeDefinition.GetAttributeCoClass () { return null; @@ -1776,6 +1782,11 @@ namespace Mono.CSharp } } + public TypeSpec GetAsyncMethodBuilder () + { + return null; + } + public TypeSpec GetAttributeCoClass () { return Element.MemberDefinition.GetAttributeCoClass (); diff --git a/mcs/tests/test-948.cs b/mcs/tests/test-948.cs new file mode 100644 index 0000000000..34b3ab9a0c --- /dev/null +++ b/mcs/tests/test-948.cs @@ -0,0 +1,16 @@ +// Compiler options: -langversion:7.2 -unsafe + +using System; + +class X +{ + public static void Main () + { + Span stackSpan = stackalloc int[100]; + } + + unsafe void Foo () + { + + } +} \ No newline at end of file diff --git a/mcs/tests/test-async-94.cs b/mcs/tests/test-async-94.cs new file mode 100644 index 0000000000..ce9a30409b --- /dev/null +++ b/mcs/tests/test-async-94.cs @@ -0,0 +1,127 @@ +using System; +using System.Threading.Tasks; +using System.Runtime.CompilerServices; + +[AsyncMethodBuilder (typeof(MyTaskMethodBuilder<>))] +class MyTask +{ +} + +[AsyncMethodBuilder (typeof(MyTaskMethodBuilder))] +class MyTask +{ +} + +class MyTaskMethodBuilder +{ + public static MyTaskMethodBuilder Create() + { + return null; + } + + public MyTask Task { + get { + return null; + } + } + + public void SetException (Exception exception) + { + + } + + public void SetResult () + { + + } + + public void AwaitOnCompleted (ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine + { + + } + + public void AwaitUnsafeOnCompleted (ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine + { + + } + + public void Start (ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine + { + + } + + public void SetStateMachine (IAsyncStateMachine stateMachine) + { + + } +} + +class MyTaskMethodBuilder +{ + public static MyTaskMethodBuilder Create() + { + return null; + } + + public MyTask Task { + get { + return null; + } + } + + public void SetException (Exception exception) + { + + } + + public void SetResult (T result) + { + + } + + public void AwaitOnCompleted (ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine + { + + } + + public void AwaitUnsafeOnCompleted (ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : ICriticalNotifyCompletion where TStateMachine : IAsyncStateMachine + { + + } + + public void Start (ref TStateMachine stateMachine) where TStateMachine : IAsyncStateMachine + { + + } + + public void SetStateMachine (IAsyncStateMachine stateMachine) + { + + } +} + +class X +{ + public async MyTask Test () + { + await Task.Delay (1); + } + + public async MyTask Test2 () + { + await Task.Delay (1); + return 2; + } + + public async ValueTask Test3 () + { + await Task.Delay (1); + return "as"; + } + + public static void Main () + { + var x = new X (); + var r1 = x.Test3 ().Result; + } +} \ No newline at end of file diff --git a/mcs/tests/test-readonly-03.cs b/mcs/tests/test-readonly-03.cs new file mode 100644 index 0000000000..14cb958b41 --- /dev/null +++ b/mcs/tests/test-readonly-03.cs @@ -0,0 +1,16 @@ +// Compiler options: -langversion:latest +using System; + +readonly struct S +{ + static S shared = new S (); + + public S (int arg) + { + this = shared; + } + + public static void Main () + { + } +} \ No newline at end of file diff --git a/mcs/tests/test-ref-10.cs b/mcs/tests/test-ref-10.cs new file mode 100644 index 0000000000..88e201d317 --- /dev/null +++ b/mcs/tests/test-ref-10.cs @@ -0,0 +1,24 @@ +// Compiler options: -langversion:latest + +using System; + +ref struct ValueStringBuilder +{ + public override string ToString () + { + return "aaa"; + } +} + + +class X +{ + public static int Main () + { + var s = new ValueStringBuilder (); + if (s.ToString () != "aaa") + return 1; + + return 0; + } +} \ No newline at end of file diff --git a/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id b/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id index 048ecf456f..29a9cd22b4 100644 --- a/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id +++ b/mcs/tests/ver-il-net_4_x.xml.REMOVED.git-id @@ -1 +1 @@ -4e488c37bc46fed416be09476a01fed86a94ba5e \ No newline at end of file +4dbc7042a8a8252f26b40788a5460fbf138e5b46 \ No newline at end of file diff --git a/mcs/tools/mkbundle/mkbundle.cs b/mcs/tools/mkbundle/mkbundle.cs index 093bab3420..79d9306d51 100755 --- a/mcs/tools/mkbundle/mkbundle.cs +++ b/mcs/tools/mkbundle/mkbundle.cs @@ -821,6 +821,11 @@ typedef struct { void mono_register_bundled_assemblies (const MonoBundledAssembly **assemblies); void mono_register_config_for_assembly (const char* assembly_name, const char* config_xml); "); + + // These values are part of the public API, so they are expected not to change + tc.WriteLine("#define MONO_AOT_MODE_NORMAL 1"); + tc.WriteLine("#define MONO_AOT_MODE_FULL 3"); + tc.WriteLine("#define MONO_AOT_MODE_LLVMONLY 4"); } else { tc.WriteLine ("#include "); tc.WriteLine ("#include \n"); diff --git a/mono/mini/mini-exceptions.c.REMOVED.git-id b/mono/mini/mini-exceptions.c.REMOVED.git-id index 35e5d21f8a..3a6851dfa2 100644 --- a/mono/mini/mini-exceptions.c.REMOVED.git-id +++ b/mono/mini/mini-exceptions.c.REMOVED.git-id @@ -1 +1 @@ -fa050c7d79f62e040d8997246d7e2dc715f9d05b \ No newline at end of file +d6a633d3b240e5bd794a91bd7e48897acaa7fc64 \ No newline at end of file diff --git a/mono/mini/version.h b/mono/mini/version.h index f2c30586e5..8c461b5128 100644 --- a/mono/mini/version.h +++ b/mono/mini/version.h @@ -1 +1 @@ -#define FULL_VERSION "explicit/94fa6e5" +#define FULL_VERSION "explicit/e87f9d7" diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo index ad6891d713797c680eb6aa040d2c3dfc0f78dcb1..20b8bb659af7fc2b77f45f71179632d32ca6015c 100644 GIT binary patch delta 20 bcmbQIHBW29Q!aKx1w#ufQ`60FxQw^}N{j}2 delta 20 bcmbQIHBW29Q!aJ`1w#ufQ}fMlxQw^}N{j}3 diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id index 6c5225c39b..6e1d45279f 100644 --- a/po/mcs/de.po.REMOVED.git-id +++ b/po/mcs/de.po.REMOVED.git-id @@ -1 +1 @@ -bedee19c69662447845648dc66e8e47a43644128 \ No newline at end of file +da8f1364e436f162752907da2e26c20ea9ac161c \ No newline at end of file diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo index 7f48963bd4d22cb53b2ae72c481a7032989a542c..a52265537b6078e1c9c9232910fb5e2d4511b359 100644 GIT binary patch delta 20 bcmX?Ef3kjqo+7)Uf}w?#sp)1@#VK+CQLF~A delta 20 bcmX?Ef3kjqo+7(}f}w?#srhD8#VK+CQLF~B diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id index 21a9fb2eaf..b3d6e5df57 100644 --- a/po/mcs/es.po.REMOVED.git-id +++ b/po/mcs/es.po.REMOVED.git-id @@ -1 +1 @@ -7155f3bc3eed5336428e7599a3950cdeece8507f \ No newline at end of file +c6396bb9a350263cb5f35de2bbf5bcdf7f6a7407 \ No newline at end of file diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo index 2aa5024ef5ae6fcfbde16d64c126d784fbd180f8..d167fbd066a6dbca511fc59fe489c94b1bcc2747 100644 GIT binary patch delta 22 dcmeyri1Gg-#tj_m?1l=47FMRFoB7oXv;biK2MhoJ delta 22 dcmeyri1Gg-#tj_m>;?*k7FMR_oB7oXv;biK2MquK diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id index 432f6096f3..a88120a63c 100644 --- a/po/mcs/ja.po.REMOVED.git-id +++ b/po/mcs/ja.po.REMOVED.git-id @@ -1 +1 @@ -a7da8cdcf0efaa86d5b0e16899cfc2c52dd06560 \ No newline at end of file +89e4e228d152cb3572b8074df47cbf593ae4b73f \ No newline at end of file diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot index 69649bc92f..b545d905d2 100644 --- a/po/mcs/mcs.pot +++ b/po/mcs/mcs.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: mono 5.10.0.71\n" +"Project-Id-Version: mono 5.10.0.78\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" -"POT-Creation-Date: 2018-01-30 18:57+0000\n" +"POT-Creation-Date: 2018-01-31 18:55+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -34,7 +34,7 @@ msgid "" "mismatch" msgstr "" -#: mcs/mcs/anonymous.cs:1059 mcs/mcs/ecore.cs:5948 +#: mcs/mcs/anonymous.cs:1059 mcs/mcs/ecore.cs:5964 #, csharp-format msgid "Delegate `{0}' does not take `{1}' arguments" msgstr "" @@ -137,7 +137,7 @@ msgstr "" msgid "An expression tree cannot contain an assignment operator" msgstr "" -#: mcs/mcs/assign.cs:797 +#: mcs/mcs/assign.cs:809 #, csharp-format msgid "Cannot assign to `{0}' because it is a `{1}'" msgstr "" @@ -348,7 +348,7 @@ msgstr "" msgid "The awaiter type `{0}' must implement interface `{1}'" msgstr "" -#: mcs/mcs/async.cs:678 +#: mcs/mcs/async.cs:731 msgid "" "Cannot find compiler required types for asynchronous functions support. Are " "you targeting the wrong framework version?" @@ -431,53 +431,53 @@ msgstr "" msgid "Duplicate named attribute `{0}' argument" msgstr "" -#: mcs/mcs/attribute.cs:865 +#: mcs/mcs/attribute.cs:876 #, csharp-format msgid "" "First argument of a security attribute `{0}' must be a valid SecurityAction" msgstr "" -#: mcs/mcs/attribute.cs:870 +#: mcs/mcs/attribute.cs:881 #, csharp-format msgid "Security attribute `{0}' has an invalid SecurityAction value `{1}'" msgstr "" -#: mcs/mcs/attribute.cs:877 +#: mcs/mcs/attribute.cs:888 #, csharp-format msgid "" "SecurityAction value `{0}' is invalid for security attributes applied to an " "assembly" msgstr "" -#: mcs/mcs/attribute.cs:881 +#: mcs/mcs/attribute.cs:892 #, csharp-format msgid "" "SecurityAction value `{0}' is invalid for security attributes applied to a " "type or a method" msgstr "" -#: mcs/mcs/attribute.cs:1049 +#: mcs/mcs/attribute.cs:1060 #, csharp-format msgid "" "The attribute `{0}' is not valid on this declaration type. It is valid on " "`{1}' declarations only" msgstr "" -#: mcs/mcs/attribute.cs:1071 +#: mcs/mcs/attribute.cs:1082 #, csharp-format msgid "The argument to the `{0}' attribute must be a valid identifier" msgstr "" -#: mcs/mcs/attribute.cs:1090 +#: mcs/mcs/attribute.cs:1101 msgid "Unmanaged type `ByValArray' is only valid for fields" msgstr "" -#: mcs/mcs/attribute.cs:1381 +#: mcs/mcs/attribute.cs:1392 #, csharp-format msgid "The attribute `{0}' cannot be applied multiple times" msgstr "" -#: mcs/mcs/attribute.cs:1687 +#: mcs/mcs/attribute.cs:1698 #, csharp-format msgid "`{0}' is obsolete: `{1}'" msgstr "" @@ -704,445 +704,445 @@ msgstr "" msgid "'{0}': Structs cannot have instance property or field initializers" msgstr "" -#: mcs/mcs/class.cs:1202 +#: mcs/mcs/class.cs:1214 #, csharp-format msgid "Class `{0}' cannot derive from the dynamic type" msgstr "" -#: mcs/mcs/class.cs:1219 +#: mcs/mcs/class.cs:1231 #, csharp-format msgid "`{0}' is already listed in interface list" msgstr "" -#: mcs/mcs/class.cs:1227 +#: mcs/mcs/class.cs:1239 #, csharp-format msgid "" "Inconsistent accessibility: base interface `{0}' is less accessible than " "interface `{1}'" msgstr "" -#: mcs/mcs/class.cs:1233 +#: mcs/mcs/class.cs:1245 #, csharp-format msgid "Type `{0}' in interface list is not an interface" msgstr "" -#: mcs/mcs/class.cs:1235 +#: mcs/mcs/class.cs:1247 #, csharp-format msgid "`{0}': Classes cannot have multiple base classes (`{1}' and `{2}')" msgstr "" -#: mcs/mcs/class.cs:1238 +#: mcs/mcs/class.cs:1250 #, csharp-format msgid "`{0}': Base class `{1}' must be specified as first" msgstr "" -#: mcs/mcs/class.cs:1299 +#: mcs/mcs/class.cs:1311 #, csharp-format msgid "" "The operator `{0}' requires a matching operator `{1}' to also be defined" msgstr "" -#: mcs/mcs/class.cs:1576 +#: mcs/mcs/class.cs:1588 #, csharp-format msgid "Partial declarations of `{0}' must not specify different base classes" msgstr "" -#: mcs/mcs/class.cs:1611 +#: mcs/mcs/class.cs:1623 msgid "" "Only one part of a partial type can declare primary constructor parameters" msgstr "" -#: mcs/mcs/class.cs:1628 +#: mcs/mcs/class.cs:1640 #, csharp-format msgid "" "Inherited interface `{0}' causes a cycle in the interface hierarchy of `{1}'" msgstr "" -#: mcs/mcs/class.cs:1635 +#: mcs/mcs/class.cs:1647 #, csharp-format msgid "Circular base class dependency involving `{0}' and `{1}'" msgstr "" -#: mcs/mcs/class.cs:1645 +#: mcs/mcs/class.cs:1657 msgid "Implemented interfaces cannot have arguments" msgstr "" -#: mcs/mcs/class.cs:1959 +#: mcs/mcs/class.cs:1971 #, csharp-format msgid "`{0}': cannot implement a dynamic interface `{1}'" msgstr "" -#: mcs/mcs/class.cs:1974 +#: mcs/mcs/class.cs:1986 #, csharp-format msgid "" "`{0}' cannot implement both `{1}' and `{2}' because they may unify for some " "type parameter substitutions" msgstr "" -#: mcs/mcs/class.cs:1996 +#: mcs/mcs/class.cs:2008 #, csharp-format msgid "" "A generic type cannot derive from `{0}' because it is an attribute class" msgstr "" -#: mcs/mcs/class.cs:2091 +#: mcs/mcs/class.cs:2103 msgid "" "Two indexers have different names; the IndexerName attribute must be used " "with the same name on every indexer within a type" msgstr "" -#: mcs/mcs/class.cs:2361 +#: mcs/mcs/class.cs:2373 #, csharp-format msgid "A static member `{0}' cannot be marked as override, virtual or abstract" msgstr "" -#: mcs/mcs/class.cs:2368 +#: mcs/mcs/class.cs:2380 #, csharp-format msgid "A member `{0}' marked as override cannot be marked as new or virtual" msgstr "" -#: mcs/mcs/class.cs:2380 +#: mcs/mcs/class.cs:2392 #, csharp-format msgid "`{0}' cannot be both extern and abstract" msgstr "" -#: mcs/mcs/class.cs:2385 +#: mcs/mcs/class.cs:2397 #, csharp-format msgid "`{0}' cannot be both abstract and sealed" msgstr "" -#: mcs/mcs/class.cs:2390 +#: mcs/mcs/class.cs:2402 #, csharp-format msgid "The abstract method `{0}' cannot be marked virtual" msgstr "" -#: mcs/mcs/class.cs:2396 +#: mcs/mcs/class.cs:2408 #, csharp-format msgid "`{0}' is abstract but it is declared in the non-abstract class `{1}'" msgstr "" -#: mcs/mcs/class.cs:2404 +#: mcs/mcs/class.cs:2416 #, csharp-format msgid "`{0}': virtual or abstract members cannot be private" msgstr "" -#: mcs/mcs/class.cs:2411 +#: mcs/mcs/class.cs:2423 #, csharp-format msgid "`{0}' cannot be sealed because it is not an override" msgstr "" -#: mcs/mcs/class.cs:2460 +#: mcs/mcs/class.cs:2472 #, csharp-format msgid "`{0}': containing type does not implement interface `{1}'" msgstr "" -#: mcs/mcs/class.cs:2657 +#: mcs/mcs/class.cs:2669 #, csharp-format msgid "Type parameter `{0}' has same name as containing type, or method" msgstr "" -#: mcs/mcs/class.cs:2665 +#: mcs/mcs/class.cs:2677 #, csharp-format msgid "`{0}': member names cannot be the same as their enclosing type" msgstr "" -#: mcs/mcs/class.cs:2743 +#: mcs/mcs/class.cs:2755 #, csharp-format msgid "" "Primary constructor of type `{0}' has parameter of same name as containing " "type" msgstr "" -#: mcs/mcs/class.cs:2751 +#: mcs/mcs/class.cs:2763 #, csharp-format msgid "" "Primary constructor of type `{0}' has parameter of same name as type " "parameter `{1}'" msgstr "" -#: mcs/mcs/class.cs:2833 +#: mcs/mcs/class.cs:2845 msgid "" "The class System.Object cannot have a base class or implement an interface." msgstr "" -#: mcs/mcs/class.cs:2842 +#: mcs/mcs/class.cs:2854 #, csharp-format msgid "Attribute `{0}' is only valid on classes derived from System.Attribute" msgstr "" -#: mcs/mcs/class.cs:2847 +#: mcs/mcs/class.cs:2859 msgid "" "Attribute `System.Diagnostics.ConditionalAttribute' is only valid on methods " "or attribute classes" msgstr "" -#: mcs/mcs/class.cs:2876 +#: mcs/mcs/class.cs:2888 #, csharp-format msgid "`{0}': an abstract class cannot be sealed or static" msgstr "" -#: mcs/mcs/class.cs:2880 +#: mcs/mcs/class.cs:2892 #, csharp-format msgid "`{0}': a class cannot be both static and sealed" msgstr "" -#: mcs/mcs/class.cs:2885 +#: mcs/mcs/class.cs:2897 #, csharp-format msgid "`{0}': Static classes cannot have primary constructor" msgstr "" -#: mcs/mcs/class.cs:2891 +#: mcs/mcs/class.cs:2903 #, csharp-format msgid "`{0}': Static classes cannot contain user-defined operators" msgstr "" -#: mcs/mcs/class.cs:2896 +#: mcs/mcs/class.cs:2908 #, csharp-format msgid "`{0}': Static classes cannot contain destructor" msgstr "" -#: mcs/mcs/class.cs:2901 +#: mcs/mcs/class.cs:2913 #, csharp-format msgid "`{0}': cannot declare indexers in a static class" msgstr "" -#: mcs/mcs/class.cs:2909 +#: mcs/mcs/class.cs:2921 #, csharp-format msgid "`{0}': Static classes cannot have instance constructors" msgstr "" -#: mcs/mcs/class.cs:2913 +#: mcs/mcs/class.cs:2925 #, csharp-format msgid "`{0}': cannot declare instance members in a static class" msgstr "" -#: mcs/mcs/class.cs:2958 +#: mcs/mcs/class.cs:2970 #, csharp-format msgid "`{0}': Cannot derive from type parameter `{1}'" msgstr "" -#: mcs/mcs/class.cs:2962 +#: mcs/mcs/class.cs:2974 #, csharp-format msgid "`{0}': Cannot derive from static class `{1}'" msgstr "" -#: mcs/mcs/class.cs:2966 +#: mcs/mcs/class.cs:2978 #, csharp-format msgid "`{0}': cannot derive from sealed type `{1}'" msgstr "" -#: mcs/mcs/class.cs:2969 +#: mcs/mcs/class.cs:2981 #, csharp-format msgid "" "Static class `{0}' cannot derive from type `{1}'. Static classes must derive " "from object" msgstr "" -#: mcs/mcs/class.cs:2980 +#: mcs/mcs/class.cs:2992 #, csharp-format msgid "`{0}' cannot derive from special class `{1}'" msgstr "" -#: mcs/mcs/class.cs:2990 +#: mcs/mcs/class.cs:3002 #, csharp-format msgid "" "Inconsistent accessibility: base class `{0}' is less accessible than class " "`{1}'" msgstr "" -#: mcs/mcs/class.cs:2998 +#: mcs/mcs/class.cs:3010 #, csharp-format msgid "Static class `{0}' cannot implement interfaces" msgstr "" -#: mcs/mcs/class.cs:3111 mcs/mcs/class.cs:3125 +#: mcs/mcs/class.cs:3123 mcs/mcs/class.cs:3137 #, csharp-format msgid "Struct member `{0}' of type `{1}' causes a cycle in the struct layout" msgstr "" -#: mcs/mcs/class.cs:3239 +#: mcs/mcs/class.cs:3251 #, csharp-format msgid "`{0}': ref structs cannot implement interfaces" msgstr "" -#: mcs/mcs/class.cs:3426 +#: mcs/mcs/class.cs:3438 #, csharp-format msgid "Do not override `{0}'. Use destructor syntax instead" msgstr "" -#: mcs/mcs/class.cs:3429 +#: mcs/mcs/class.cs:3441 #, csharp-format msgid "`{0}' is marked as an override but no suitable {1} found to override" msgstr "" -#: mcs/mcs/class.cs:3435 +#: mcs/mcs/class.cs:3447 #, csharp-format msgid "`{0}': cannot override because `{1}' is not an event" msgstr "" -#: mcs/mcs/class.cs:3438 +#: mcs/mcs/class.cs:3450 #, csharp-format msgid "`{0}': cannot override because `{1}' is not a property" msgstr "" -#: mcs/mcs/class.cs:3441 +#: mcs/mcs/class.cs:3453 #, csharp-format msgid "`{0}': cannot override because `{1}' is not a method" msgstr "" -#: mcs/mcs/class.cs:3460 +#: mcs/mcs/class.cs:3472 #, csharp-format msgid "" "`{0}' cannot override inherited members `{1}' and `{2}' because they have " "the same signature when used in type `{3}'" msgstr "" -#: mcs/mcs/class.cs:3518 mcs/mcs/field.cs:203 +#: mcs/mcs/class.cs:3530 mcs/mcs/field.cs:203 #, csharp-format msgid "`{0}' hides inherited abstract member `{1}'" msgstr "" -#: mcs/mcs/class.cs:3544 +#: mcs/mcs/class.cs:3556 #, csharp-format msgid "" "`{0}': cannot override inherited member `{1}' because it is not marked " "virtual, abstract or override" msgstr "" -#: mcs/mcs/class.cs:3552 +#: mcs/mcs/class.cs:3564 #, csharp-format msgid "`{0}': cannot override inherited member `{1}' because it is sealed" msgstr "" -#: mcs/mcs/class.cs:3561 +#: mcs/mcs/class.cs:3573 #, csharp-format msgid "`{0}': must {2}return by reference to match overridden member `{1}'" msgstr "" -#: mcs/mcs/class.cs:3564 +#: mcs/mcs/class.cs:3576 #, csharp-format msgid "`{0}': type must be `{1}' to match overridden member `{2}'" msgstr "" -#: mcs/mcs/class.cs:3567 +#: mcs/mcs/class.cs:3579 #, csharp-format msgid "`{0}': return type must be `{1}' to match overridden member `{2}'" msgstr "" -#: mcs/mcs/class.cs:3573 +#: mcs/mcs/class.cs:3585 #, csharp-format msgid "" "`{0}': cannot change return type tuple element names when overriding " "inherited member `{1}'" msgstr "" -#: mcs/mcs/class.cs:3581 +#: mcs/mcs/class.cs:3593 #, csharp-format msgid "" "`{0}': cannot change tuple element names when overriding inherited member " "`{1}'" msgstr "" -#: mcs/mcs/class.cs:3649 +#: mcs/mcs/class.cs:3661 #, csharp-format msgid "A partial method `{0}' cannot explicitly implement an interface" msgstr "" -#: mcs/mcs/class.cs:3655 +#: mcs/mcs/class.cs:3667 #, csharp-format msgid "The type `{0}' in explicit interface declaration is not an interface" msgstr "" -#: mcs/mcs/class.cs:3690 +#: mcs/mcs/class.cs:3702 #, csharp-format msgid "" "Inconsistent accessibility: parameter type `{0}' is less accessible than " "indexer `{1}'" msgstr "" -#: mcs/mcs/class.cs:3694 +#: mcs/mcs/class.cs:3706 #, csharp-format msgid "" "Inconsistent accessibility: parameter type `{0}' is less accessible than " "operator `{1}'" msgstr "" -#: mcs/mcs/class.cs:3698 +#: mcs/mcs/class.cs:3710 #, csharp-format msgid "" "Inconsistent accessibility: parameter type `{0}' is less accessible than " "method `{1}'" msgstr "" -#: mcs/mcs/class.cs:3758 +#: mcs/mcs/class.cs:3770 #, csharp-format msgid "" "`{0}': cannot change access modifiers when overriding `{1}' inherited member " "`{2}'" msgstr "" -#: mcs/mcs/class.cs:3767 +#: mcs/mcs/class.cs:3779 #, csharp-format msgid "`{0}': static types cannot be used as return types" msgstr "" -#: mcs/mcs/class.cs:3828 +#: mcs/mcs/class.cs:3840 #, csharp-format msgid "" "`{0}': Cannot specify constraints for overrides and explicit interface " "implementation methods" msgstr "" -#: mcs/mcs/class.cs:3895 +#: mcs/mcs/class.cs:3907 #, csharp-format msgid "New virtual member `{0}' is declared in a sealed class `{1}'" msgstr "" -#: mcs/mcs/class.cs:3910 +#: mcs/mcs/class.cs:3922 msgid "Inconsistent accessibility: property type `" msgstr "" -#: mcs/mcs/class.cs:3915 +#: mcs/mcs/class.cs:3927 msgid "Inconsistent accessibility: indexer return type `" msgstr "" -#: mcs/mcs/class.cs:3921 mcs/mcs/class.cs:3926 mcs/mcs/delegate.cs:183 +#: mcs/mcs/class.cs:3933 mcs/mcs/class.cs:3938 mcs/mcs/delegate.cs:183 msgid "Inconsistent accessibility: return type `" msgstr "" -#: mcs/mcs/class.cs:3931 +#: mcs/mcs/class.cs:3943 #, csharp-format msgid "" "Inconsistent accessibility: event type `{0}' is less accessible than event " "`{1}'" msgstr "" -#: mcs/mcs/class.cs:3935 +#: mcs/mcs/class.cs:3947 msgid "Inconsistent accessibility: field type `" msgstr "" -#: mcs/mcs/class.cs:3947 +#: mcs/mcs/class.cs:3959 #, csharp-format msgid "" "Parameters or local variables of type `{0}' cannot be declared in async " "methods or iterators" msgstr "" -#: mcs/mcs/class.cs:3951 +#: mcs/mcs/class.cs:3963 #, csharp-format msgid "" "Local variables of type `{0}' cannot be used inside anonymous methods, " "lambda expressions or query expressions" msgstr "" -#: mcs/mcs/class.cs:3964 +#: mcs/mcs/class.cs:3976 #, csharp-format msgid "" "Field or auto-implemented property cannot be of type `{0}' unless it is an " "instance member of a ref struct" msgstr "" -#: mcs/mcs/class.cs:3968 +#: mcs/mcs/class.cs:3980 #, csharp-format msgid "Field or property cannot be of type `{0}'" msgstr "" @@ -1394,7 +1394,7 @@ msgid "" "(are you missing a cast?)" msgstr "" -#: mcs/mcs/ecore.cs:332 mcs/mcs/ecore.cs:4191 +#: mcs/mcs/ecore.cs:332 mcs/mcs/ecore.cs:4204 #, csharp-format msgid "Cannot implicitly convert type `{0}' to `{1}'" msgstr "" @@ -1423,7 +1423,7 @@ msgstr "" msgid "The operation in question is undefined on void pointers" msgstr "" -#: mcs/mcs/ecore.cs:543 mcs/mcs/statement.cs:4093 mcs/mcs/statement.cs:4095 +#: mcs/mcs/ecore.cs:543 mcs/mcs/statement.cs:4094 mcs/mcs/statement.cs:4096 #, csharp-format msgid "Internal compiler error: {0}" msgstr "" @@ -1636,35 +1636,35 @@ msgid "" "overload `{2}' has some invalid arguments" msgstr "" -#: mcs/mcs/ecore.cs:4042 +#: mcs/mcs/ecore.cs:4049 msgid "An expression tree cannot contain an expression with method group" msgstr "" -#: mcs/mcs/ecore.cs:4048 +#: mcs/mcs/ecore.cs:4055 msgid "" "Partial methods with only a defining declaration or removed conditional " "methods cannot be used in an expression tree" msgstr "" -#: mcs/mcs/ecore.cs:4107 +#: mcs/mcs/ecore.cs:4114 #, csharp-format msgid "" "Cannot convert method group `{0}' to non-delegate type `{1}'. Consider using " "parentheses to invoke the method" msgstr "" -#: mcs/mcs/ecore.cs:4252 +#: mcs/mcs/ecore.cs:4268 msgid "" "An argument to nameof operator cannot be method group with type arguments" msgstr "" -#: mcs/mcs/ecore.cs:5011 +#: mcs/mcs/ecore.cs:5027 #, csharp-format msgid "" "The type `{0}' does not contain a constructor that takes `{1}' arguments" msgstr "" -#: mcs/mcs/ecore.cs:5732 +#: mcs/mcs/ecore.cs:5748 #, csharp-format msgid "" "Type `{0}' does not contain a member `{1}' and the best extension method " @@ -1672,212 +1672,212 @@ msgid "" "without the extension method syntax" msgstr "" -#: mcs/mcs/ecore.cs:5771 +#: mcs/mcs/ecore.cs:5787 #, csharp-format msgid "" "The call is ambiguous between the following methods or properties: `{0}' and " "`{1}'" msgstr "" -#: mcs/mcs/ecore.cs:5832 +#: mcs/mcs/ecore.cs:5848 #, csharp-format msgid "" "The best overloaded collection initalizer method `{0}' cannot have `ref' or " "`out' modifier" msgstr "" -#: mcs/mcs/ecore.cs:5836 +#: mcs/mcs/ecore.cs:5852 #, csharp-format msgid "" "The best overloaded collection initalizer method `{0}' has some invalid " "arguments" msgstr "" -#: mcs/mcs/ecore.cs:5839 +#: mcs/mcs/ecore.cs:5855 #, csharp-format msgid "Delegate `{0}' has some invalid arguments" msgstr "" -#: mcs/mcs/ecore.cs:5843 +#: mcs/mcs/ecore.cs:5859 #, csharp-format msgid "The best overloaded method match for `{0}' has some invalid arguments" msgstr "" -#: mcs/mcs/ecore.cs:5852 +#: mcs/mcs/ecore.cs:5868 #, csharp-format msgid "" "Argument `#{0}' does not require `{1}' modifier. Consider removing `{1}' " "modifier" msgstr "" -#: mcs/mcs/ecore.cs:5855 +#: mcs/mcs/ecore.cs:5871 #, csharp-format msgid "Argument `#{0}' is missing `{1}' modifier" msgstr "" -#: mcs/mcs/ecore.cs:5872 +#: mcs/mcs/ecore.cs:5888 #, csharp-format msgid "Argument `#{0}' cannot convert `{1}' expression to type `{2}'" msgstr "" -#: mcs/mcs/ecore.cs:5924 +#: mcs/mcs/ecore.cs:5940 #, csharp-format msgid "" "The type arguments for method `{0}' cannot be inferred from the usage. Try " "specifying the type arguments explicitly" msgstr "" -#: mcs/mcs/ecore.cs:5953 +#: mcs/mcs/ecore.cs:5969 #, csharp-format msgid "No overload for method `{0}' takes `{1}' arguments" msgstr "" -#: mcs/mcs/ecore.cs:6069 +#: mcs/mcs/ecore.cs:6085 #, csharp-format msgid "The delegate `{0}' does not contain a parameter named `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:6074 +#: mcs/mcs/ecore.cs:6090 #, csharp-format msgid "" "The best overloaded method match for `{0}' does not contain a parameter " "named `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:6085 +#: mcs/mcs/ecore.cs:6101 #, csharp-format msgid "" "Named argument `{0}' is used out of position but is followed by positional " "argument" msgstr "" -#: mcs/mcs/ecore.cs:6089 +#: mcs/mcs/ecore.cs:6105 #, csharp-format msgid "" "Named argument `{0}' cannot be used for a parameter which has positional " "argument specified" msgstr "" -#: mcs/mcs/ecore.cs:6474 +#: mcs/mcs/ecore.cs:6490 msgid "" "You cannot use fixed size buffers contained in unfixed expressions. Try " "using the fixed statement" msgstr "" -#: mcs/mcs/ecore.cs:6479 +#: mcs/mcs/ecore.cs:6495 #, csharp-format msgid "`{0}': Fixed size buffers can only be accessed through locals or fields" msgstr "" -#: mcs/mcs/ecore.cs:6564 +#: mcs/mcs/ecore.cs:6580 #, csharp-format msgid "" "A static readonly field `{0}' cannot be passed ref or out (except in a " "static constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6567 +#: mcs/mcs/ecore.cs:6583 #, csharp-format msgid "" "A readonly field `{0}' cannot be passed ref or out (except in a constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6581 +#: mcs/mcs/ecore.cs:6597 #, csharp-format msgid "" "Fields of static readonly field `{0}' cannot be passed ref or out (except in " "a static constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6584 +#: mcs/mcs/ecore.cs:6600 #, csharp-format msgid "" "Members of readonly field `{0}' cannot be passed ref or out (except in a " "constructor)" msgstr "" -#: mcs/mcs/ecore.cs:6591 +#: mcs/mcs/ecore.cs:6607 #, csharp-format msgid "" "A static readonly field `{0}' cannot be assigned to (except in a static " "constructor or a variable initializer)" msgstr "" -#: mcs/mcs/ecore.cs:6594 +#: mcs/mcs/ecore.cs:6610 #, csharp-format msgid "" "A readonly field `{0}' cannot be assigned to (except in a constructor or a " "variable initializer)" msgstr "" -#: mcs/mcs/ecore.cs:6661 +#: mcs/mcs/ecore.cs:6677 #, csharp-format msgid "Use of possibly unassigned field `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7077 +#: mcs/mcs/ecore.cs:7093 #, csharp-format msgid "Property or event `{0}' is not supported by the C# language" msgstr "" -#: mcs/mcs/ecore.cs:7197 +#: mcs/mcs/ecore.cs:7213 #, csharp-format msgid "Use of possibly unassigned auto-implemented property `{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7401 +#: mcs/mcs/ecore.cs:7417 #, csharp-format msgid "A range variable `{0}' may not be passes as `ref' or `out' parameter" msgstr "" -#: mcs/mcs/ecore.cs:7429 +#: mcs/mcs/ecore.cs:7445 #, csharp-format msgid "Property or indexer `{0}' cannot be assigned to (it is read-only)" msgstr "" -#: mcs/mcs/ecore.cs:7437 +#: mcs/mcs/ecore.cs:7453 #, csharp-format msgid "" "The property or indexer `{0}' cannot be used in this context because the set " "accessor is inaccessible" msgstr "" -#: mcs/mcs/ecore.cs:7517 +#: mcs/mcs/ecore.cs:7533 #, csharp-format msgid "" "The property or indexer `{0}' cannot be used in this context because it " "lacks the `get' accessor" msgstr "" -#: mcs/mcs/ecore.cs:7524 +#: mcs/mcs/ecore.cs:7540 #, csharp-format msgid "" "The property or indexer `{0}' cannot be used in this context because the get " "accessor is inaccessible" msgstr "" -#: mcs/mcs/ecore.cs:7706 +#: mcs/mcs/ecore.cs:7722 #, csharp-format msgid "" "The event `{0}' can only appear on the left hand side of `+=' or `-=' " "operator" msgstr "" -#: mcs/mcs/ecore.cs:7710 +#: mcs/mcs/ecore.cs:7726 #, csharp-format msgid "" "The event `{0}' can only appear on the left hand side of += or -= when used " "outside of the type `{1}'" msgstr "" -#: mcs/mcs/ecore.cs:7888 +#: mcs/mcs/ecore.cs:7904 #, csharp-format msgid "" "An implicitly typed local variable declaration cannot be initialized with " "`{0}'" msgstr "" -#: mcs/mcs/ecore.cs:7903 +#: mcs/mcs/ecore.cs:7919 msgid "" "The contextual keyword `var' may only appear within a local variable " "declaration" @@ -2363,113 +2363,118 @@ msgstr "" msgid "Array elements cannot be of static type `{0}'" msgstr "" -#: mcs/mcs/expression.cs:11865 +#: mcs/mcs/expression.cs:11866 msgid "Cannot use a negative size with stackalloc" msgstr "" -#: mcs/mcs/expression.cs:11869 +#: mcs/mcs/expression.cs:11870 msgid "Cannot use stackalloc in finally or catch" msgstr "" -#: mcs/mcs/expression.cs:12028 +#: mcs/mcs/expression.cs:11915 +#, csharp-format +msgid "Cannot convert a stackalloc expression of type `{0}' to type `{1}'" +msgstr "" + +#: mcs/mcs/expression.cs:12057 #, csharp-format msgid "" "Member `{0}' cannot be initialized. An object initializer may only be used " "for fields, or properties" msgstr "" -#: mcs/mcs/expression.cs:12036 +#: mcs/mcs/expression.cs:12065 #, csharp-format msgid "" "Static field or property `{0}' cannot be assigned in an object initializer" msgstr "" -#: mcs/mcs/expression.cs:12107 +#: mcs/mcs/expression.cs:12136 msgid "" "An expression tree cannot contain a collection initializer with extension " "method" msgstr "" -#: mcs/mcs/expression.cs:12145 +#: mcs/mcs/expression.cs:12174 msgid "Expression tree cannot contain a dictionary initializer" msgstr "" -#: mcs/mcs/expression.cs:12270 +#: mcs/mcs/expression.cs:12299 #, csharp-format msgid "" "A field or property `{0}' cannot be initialized with a collection object " "initializer because type `{1}' does not implement `{2}' interface" msgstr "" -#: mcs/mcs/expression.cs:12281 +#: mcs/mcs/expression.cs:12310 #, csharp-format msgid "Inconsistent `{0}' member declaration" msgstr "" -#: mcs/mcs/expression.cs:12289 +#: mcs/mcs/expression.cs:12318 #, csharp-format msgid "" "An object initializer includes more than one member `{0}' initialization" msgstr "" -#: mcs/mcs/expression.cs:12307 +#: mcs/mcs/expression.cs:12336 #, csharp-format msgid "Cannot initialize object of type `{0}' with a collection initializer" msgstr "" -#: mcs/mcs/expression.cs:12452 +#: mcs/mcs/expression.cs:12481 msgid "" "Object and collection initializers cannot be used to instantiate a delegate" msgstr "" -#: mcs/mcs/expression.cs:12671 +#: mcs/mcs/expression.cs:12700 msgid "Anonymous types cannot be used in this expression" msgstr "" -#: mcs/mcs/expression.cs:12765 +#: mcs/mcs/expression.cs:12794 #, csharp-format msgid "An anonymous type property `{0}' cannot be initialized with `{1}'" msgstr "" -#: mcs/mcs/expression.cs:13005 +#: mcs/mcs/expression.cs:13034 msgid "An expression tree cannot not contain a throw expression" msgstr "" -#: mcs/mcs/expression.cs:13076 +#: mcs/mcs/expression.cs:13105 msgid "" "An expression cannot be used in this context because it may not be returned " "by reference" msgstr "" -#: mcs/mcs/expression.cs:13101 +#: mcs/mcs/expression.cs:13130 #, csharp-format msgid "" "The expression must be of type `{0}' because it is being assigned by " "reference" msgstr "" -#: mcs/mcs/expression.cs:13133 +#: mcs/mcs/expression.cs:13162 msgid "" "An expression tree lambda cannot contain a call to a method, property, or " "indexer that returns by reference" msgstr "" -#: mcs/mcs/expression.cs:13178 +#: mcs/mcs/expression.cs:13207 #, csharp-format msgid "" "`await' cannot be used in an expression containing a call to `{0}' because " "it returns by reference" msgstr "" -#: mcs/mcs/expression.cs:13233 +#: mcs/mcs/expression.cs:13262 msgid "An expression tree cannot contain a discard" msgstr "" -#: mcs/mcs/expression.cs:13247 +#: mcs/mcs/expression.cs:13276 msgid "Cannot infer the type of implicitly-typed discard" msgstr "" -#: mcs/mcs/expression.cs:13253 +#: mcs/mcs/expression.cs:13282 msgid "Cannot assign void to a discard" msgstr "" @@ -2633,60 +2638,60 @@ msgstr "" msgid "The {2} type parameter `{0}' must be {3} valid on `{1}{4}'" msgstr "" -#: mcs/mcs/generic.cs:2290 +#: mcs/mcs/generic.cs:2295 #, csharp-format msgid "`{0}': static classes cannot be used as generic arguments" msgstr "" -#: mcs/mcs/generic.cs:2297 +#: mcs/mcs/generic.cs:2302 #, csharp-format msgid "The type `{0}' may not be used as a type argument" msgstr "" -#: mcs/mcs/generic.cs:2338 +#: mcs/mcs/generic.cs:2343 msgid "Unbound generic name is not valid in this context" msgstr "" -#: mcs/mcs/generic.cs:2398 +#: mcs/mcs/generic.cs:2403 msgid "Variant type parameters can only be used with interfaces and delegates" msgstr "" -#: mcs/mcs/generic.cs:2467 +#: mcs/mcs/generic.cs:2472 #, csharp-format msgid "" "Partial method declarations of `{0}' have inconsistent constraints for type " "parameter `{1}'" msgstr "" -#: mcs/mcs/generic.cs:2483 +#: mcs/mcs/generic.cs:2488 #, csharp-format msgid "" "Partial declarations of `{0}' have inconsistent constraints for type " "parameter `{1}'" msgstr "" -#: mcs/mcs/generic.cs:2670 +#: mcs/mcs/generic.cs:2675 #, csharp-format msgid "" "The type `{0}' must be a reference type in order to use it as type parameter " "`{1}' in the generic type or method `{2}'" msgstr "" -#: mcs/mcs/generic.cs:2680 +#: mcs/mcs/generic.cs:2685 #, csharp-format msgid "" "The type `{0}' must be a non-nullable value type in order to use it as type " "parameter `{1}' in the generic type or method `{2}'" msgstr "" -#: mcs/mcs/generic.cs:2741 +#: mcs/mcs/generic.cs:2746 #, csharp-format msgid "" "The type `{0}' must have a public parameterless constructor in order to use " "it as parameter `{1}' in the generic type or method `{2}'" msgstr "" -#: mcs/mcs/generic.cs:2797 +#: mcs/mcs/generic.cs:2802 #, csharp-format msgid "" "The type `{0}' cannot be used as type parameter `{1}' in the generic type or " @@ -2694,7 +2699,7 @@ msgid "" "`{3}'" msgstr "" -#: mcs/mcs/generic.cs:2803 +#: mcs/mcs/generic.cs:2808 #, csharp-format msgid "" "The type `{0}' cannot be used as type parameter `{1}' in the generic type or " @@ -2702,21 +2707,21 @@ msgid "" "`{3}'" msgstr "" -#: mcs/mcs/generic.cs:2807 +#: mcs/mcs/generic.cs:2812 #, csharp-format msgid "" "The type `{0}' cannot be used as type parameter `{1}' in the generic type or " "method `{2}'. The nullable type `{0}' does not satisfy constraint `{3}'" msgstr "" -#: mcs/mcs/generic.cs:2812 +#: mcs/mcs/generic.cs:2817 #, csharp-format msgid "" "The type `{0}' cannot be used as type parameter `{1}' in the generic type or " "method `{2}'. There is no boxing conversion from `{0}' to `{3}'" msgstr "" -#: mcs/mcs/generic.cs:2817 +#: mcs/mcs/generic.cs:2822 #, csharp-format msgid "" "The type `{0}' cannot be used as type parameter `{1}' in the generic type or " @@ -3043,16 +3048,16 @@ msgid "" "using an explicit interface implementation instead" msgstr "" -#: mcs/mcs/method.cs:1271 -msgid "The return type of an async method must be void, Task, or Task" +#: mcs/mcs/method.cs:1272 +msgid "The return type of an async method must be void or task type" msgstr "" -#: mcs/mcs/method.cs:1288 +#: mcs/mcs/method.cs:1289 #, csharp-format msgid "`{0}': Extension methods cannot be defined in a nested class" msgstr "" -#: mcs/mcs/method.cs:1294 +#: mcs/mcs/method.cs:1295 #, csharp-format msgid "" "`{0}': Extension methods require `System.Runtime.CompilerServices." @@ -3060,183 +3065,183 @@ msgid "" "reference?" msgstr "" -#: mcs/mcs/method.cs:1303 +#: mcs/mcs/method.cs:1304 #, csharp-format msgid "`{0}': Extension methods must be defined in a non-generic static class" msgstr "" -#: mcs/mcs/method.cs:1319 +#: mcs/mcs/method.cs:1320 #, csharp-format msgid "`{0}': an entry point cannot be async method" msgstr "" -#: mcs/mcs/method.cs:1375 +#: mcs/mcs/method.cs:1376 #, csharp-format msgid "" "A partial method `{0}' implementation is missing a partial method declaration" msgstr "" -#: mcs/mcs/method.cs:1499 +#: mcs/mcs/method.cs:1500 msgid "" "The constructor call cannot be dynamically dispatched within constructor " "initializer" msgstr "" -#: mcs/mcs/method.cs:1513 +#: mcs/mcs/method.cs:1514 #, csharp-format msgid "`{0}': Struct constructors cannot call base constructors" msgstr "" -#: mcs/mcs/method.cs:1522 +#: mcs/mcs/method.cs:1523 #, csharp-format msgid "Constructor `{0}' cannot call itself" msgstr "" -#: mcs/mcs/method.cs:1708 +#: mcs/mcs/method.cs:1709 #, csharp-format msgid "" "`{0}': Structs with primary constructor cannot specify default constructor " "initializer" msgstr "" -#: mcs/mcs/method.cs:1711 +#: mcs/mcs/method.cs:1712 #, csharp-format msgid "" "`{0}': Instance constructor of type with primary constructor must specify " "`this' constructor initializer" msgstr "" -#: mcs/mcs/method.cs:1717 +#: mcs/mcs/method.cs:1718 #, csharp-format msgid "`{0}': Contructors cannot be extern and have a constructor initializer" msgstr "" -#: mcs/mcs/method.cs:1752 +#: mcs/mcs/method.cs:1753 #, csharp-format msgid "" "`{0}': A class with the ComImport attribute cannot have a user-defined " "constructor" msgstr "" -#: mcs/mcs/method.cs:2000 +#: mcs/mcs/method.cs:2001 #, csharp-format msgid "`{0}' is an accessor not found in interface member `{1}{2}'" msgstr "" -#: mcs/mcs/method.cs:2006 +#: mcs/mcs/method.cs:2007 #, csharp-format msgid "" "`{0}.{1}' in explicit interface declaration is not a member of interface" msgstr "" -#: mcs/mcs/method.cs:2014 +#: mcs/mcs/method.cs:2015 #, csharp-format msgid "" "`{0}' explicit method implementation cannot implement `{1}' because it is an " "accessor" msgstr "" -#: mcs/mcs/method.cs:2024 +#: mcs/mcs/method.cs:2025 #, csharp-format msgid "Method `{0}' cannot implement interface accessor `{1}'" msgstr "" -#: mcs/mcs/method.cs:2031 +#: mcs/mcs/method.cs:2032 #, csharp-format msgid "" "Accessor `{0}' cannot implement interface member `{1}' for type `{2}'. Use " "an explicit interface implementation" msgstr "" -#: mcs/mcs/method.cs:2038 +#: mcs/mcs/method.cs:2039 #, csharp-format msgid "" "Accessor `{0}' must be declared public to implement interface member `{1}'" msgstr "" -#: mcs/mcs/method.cs:2046 mcs/mcs/method.cs:2054 +#: mcs/mcs/method.cs:2047 mcs/mcs/method.cs:2055 #, csharp-format msgid "" "The tuple element names in the signature type of member `{0}' must match the " "tuple element names of interface member `{1}''" msgstr "" -#: mcs/mcs/method.cs:2072 +#: mcs/mcs/method.cs:2073 #, csharp-format msgid "" "`{0}': the explicit interface implementation cannot introduce the params " "modifier" msgstr "" -#: mcs/mcs/method.cs:2418 +#: mcs/mcs/method.cs:2419 #, csharp-format msgid "" "Attribute `{0}' is not valid on property or event accessors. It is valid on " "`{1}' declarations only" msgstr "" -#: mcs/mcs/method.cs:2662 +#: mcs/mcs/method.cs:2663 #, csharp-format msgid "User-defined operator `{0}' must be declared static and public" msgstr "" -#: mcs/mcs/method.cs:2706 +#: mcs/mcs/method.cs:2707 msgid "" "User-defined operator cannot take an object of the enclosing type and " "convert to an object of the enclosing type" msgstr "" -#: mcs/mcs/method.cs:2717 +#: mcs/mcs/method.cs:2718 msgid "User-defined conversion must convert to or from the enclosing type" msgstr "" -#: mcs/mcs/method.cs:2723 +#: mcs/mcs/method.cs:2724 #, csharp-format msgid "" "User-defined conversion `{0}' cannot convert to or from the dynamic type" msgstr "" -#: mcs/mcs/method.cs:2730 +#: mcs/mcs/method.cs:2731 #, csharp-format msgid "" "User-defined conversion `{0}' cannot convert to or from an interface type" msgstr "" -#: mcs/mcs/method.cs:2737 +#: mcs/mcs/method.cs:2738 #, csharp-format msgid "User-defined conversion `{0}' cannot convert to or from a base class" msgstr "" -#: mcs/mcs/method.cs:2743 +#: mcs/mcs/method.cs:2744 #, csharp-format msgid "User-defined conversion `{0}' cannot convert to or from a derived class" msgstr "" -#: mcs/mcs/method.cs:2750 +#: mcs/mcs/method.cs:2751 msgid "" "Overloaded shift operator must have the type of the first operand be the " "containing type, and the type of the second operand must be int" msgstr "" -#: mcs/mcs/method.cs:2759 +#: mcs/mcs/method.cs:2760 msgid "" "The return type for ++ or -- operator must be the containing type or derived " "from the containing type" msgstr "" -#: mcs/mcs/method.cs:2764 +#: mcs/mcs/method.cs:2765 msgid "The parameter type for ++ or -- operator must be the containing type" msgstr "" -#: mcs/mcs/method.cs:2771 +#: mcs/mcs/method.cs:2772 msgid "The parameter type of a unary operator must be the containing type" msgstr "" -#: mcs/mcs/method.cs:2779 +#: mcs/mcs/method.cs:2780 msgid "The return type of operator True or False must be bool" msgstr "" -#: mcs/mcs/method.cs:2794 +#: mcs/mcs/method.cs:2795 msgid "One of the parameters of a binary operator must be the containing type" msgstr "" @@ -3630,145 +3635,145 @@ msgstr "" msgid "Control cannot leave the body of a finally clause" msgstr "" -#: mcs/mcs/statement.cs:1179 +#: mcs/mcs/statement.cs:1180 #, csharp-format msgid "" "An object of a type convertible to `{0}' is required for the return statement" msgstr "" -#: mcs/mcs/statement.cs:1192 +#: mcs/mcs/statement.cs:1193 #, csharp-format msgid "" "`{0}': A return keyword must not be followed by any expression when method " "returns void" msgstr "" -#: mcs/mcs/statement.cs:1211 +#: mcs/mcs/statement.cs:1212 msgid "Cannot return an expression of type `void'" msgstr "" -#: mcs/mcs/statement.cs:1219 mcs/mcs/statement.cs:1252 +#: mcs/mcs/statement.cs:1220 mcs/mcs/statement.cs:1253 msgid "" "Anonymous function or lambda expression converted to a void returning " "delegate cannot return a value" msgstr "" -#: mcs/mcs/statement.cs:1229 +#: mcs/mcs/statement.cs:1230 msgid "" "Async lambda expression or anonymous method converted to a `Task' cannot " "return a value. Consider returning `Task'" msgstr "" -#: mcs/mcs/statement.cs:1232 +#: mcs/mcs/statement.cs:1233 #, csharp-format msgid "" "`{0}': A return keyword must not be followed by an expression when async " "method returns `Task'. Consider using `Task' return type" msgstr "" -#: mcs/mcs/statement.cs:1243 +#: mcs/mcs/statement.cs:1244 #, csharp-format msgid "" "`{0}': The return expression type of async method must be `{1}' rather than " "`Task<{1}>'" msgstr "" -#: mcs/mcs/statement.cs:1278 +#: mcs/mcs/statement.cs:1279 msgid "" "By-reference returns can only be used in methods that return by reference" msgstr "" -#: mcs/mcs/statement.cs:1286 +#: mcs/mcs/statement.cs:1287 msgid "By-reference return is required when method returns by reference" msgstr "" -#: mcs/mcs/statement.cs:1293 +#: mcs/mcs/statement.cs:1294 #, csharp-format msgid "" "The return by reference expression must be of type `{0}' because this method " "returns by reference" msgstr "" -#: mcs/mcs/statement.cs:1304 +#: mcs/mcs/statement.cs:1305 #, csharp-format msgid "" "Cannot convert `{0}' to delegate type `{1}' because some of the return types " "in the block are not implicitly convertible to the delegate return type" msgstr "" -#: mcs/mcs/statement.cs:1379 +#: mcs/mcs/statement.cs:1380 msgid "" "Cannot return a value from iterators. Use the yield return statement to " "return a value, or yield break to end the iteration" msgstr "" -#: mcs/mcs/statement.cs:1447 +#: mcs/mcs/statement.cs:1448 #, csharp-format msgid "" "The label `{0}:' could not be found within the scope of the goto statement" msgstr "" -#: mcs/mcs/statement.cs:1787 +#: mcs/mcs/statement.cs:1788 msgid "A goto case is only valid inside a switch statement" msgstr "" -#: mcs/mcs/statement.cs:1812 mcs/mcs/statement.cs:7007 +#: mcs/mcs/statement.cs:1813 mcs/mcs/statement.cs:7008 msgid "The type caught or thrown must be derived from System.Exception" msgstr "" -#: mcs/mcs/statement.cs:1823 +#: mcs/mcs/statement.cs:1824 msgid "" "A throw statement with no arguments is not allowed outside of a catch clause" msgstr "" -#: mcs/mcs/statement.cs:1828 +#: mcs/mcs/statement.cs:1829 msgid "" "A throw statement with no arguments is not allowed inside of a finally " "clause nested inside of the innermost catch clause" msgstr "" -#: mcs/mcs/statement.cs:2009 +#: mcs/mcs/statement.cs:2010 msgid "No enclosing loop out of which to break or continue" msgstr "" -#: mcs/mcs/statement.cs:2178 +#: mcs/mcs/statement.cs:2179 msgid "A fixed statement cannot use an implicitly typed local variable" msgstr "" -#: mcs/mcs/statement.cs:2183 +#: mcs/mcs/statement.cs:2184 msgid "An implicitly typed local variable cannot be a constant" msgstr "" -#: mcs/mcs/statement.cs:2188 +#: mcs/mcs/statement.cs:2189 msgid "" "An implicitly typed local variable declarator must include an initializer" msgstr "" -#: mcs/mcs/statement.cs:2193 +#: mcs/mcs/statement.cs:2194 msgid "" "An implicitly typed local variable declaration cannot include multiple " "declarators" msgstr "" -#: mcs/mcs/statement.cs:2237 +#: mcs/mcs/statement.cs:2238 #, csharp-format msgid "Cannot initialize a by-reference variable `{0}' with a value" msgstr "" -#: mcs/mcs/statement.cs:2242 +#: mcs/mcs/statement.cs:2243 msgid "Async methods cannot use by-reference variables" msgstr "" -#: mcs/mcs/statement.cs:2244 +#: mcs/mcs/statement.cs:2245 msgid "Iterators cannot use by-reference variables" msgstr "" -#: mcs/mcs/statement.cs:2249 +#: mcs/mcs/statement.cs:2250 #, csharp-format msgid "Cannot initialize a by-value variable `{0}' with a reference expression" msgstr "" -#: mcs/mcs/statement.cs:2901 +#: mcs/mcs/statement.cs:2902 #, csharp-format msgid "" "A local variable named `{0}' cannot be declared in this scope because it " @@ -3776,124 +3781,124 @@ msgid "" "scope to denote something else" msgstr "" -#: mcs/mcs/statement.cs:2913 +#: mcs/mcs/statement.cs:2914 #, csharp-format msgid "A local variable named `{0}' is already defined in this scope" msgstr "" -#: mcs/mcs/statement.cs:2920 +#: mcs/mcs/statement.cs:2921 #, csharp-format msgid "" "The type parameter name `{0}' is the same as local variable or parameter name" msgstr "" -#: mcs/mcs/statement.cs:3868 +#: mcs/mcs/statement.cs:3869 #, csharp-format msgid "" "The out parameter `{0}' must be assigned to before control leaves the " "current method" msgstr "" -#: mcs/mcs/statement.cs:4149 +#: mcs/mcs/statement.cs:4150 msgid "Async methods cannot have ref or out parameters" msgstr "" -#: mcs/mcs/statement.cs:4155 +#: mcs/mcs/statement.cs:4156 msgid "__arglist is not allowed in parameter list of async methods" msgstr "" -#: mcs/mcs/statement.cs:4161 +#: mcs/mcs/statement.cs:4162 msgid "Async methods cannot have unsafe parameters" msgstr "" -#: mcs/mcs/statement.cs:4358 +#: mcs/mcs/statement.cs:4359 #, csharp-format msgid "The label `{0}' is a duplicate" msgstr "" -#: mcs/mcs/statement.cs:4367 mcs/mcs/statement.cs:4378 +#: mcs/mcs/statement.cs:4368 mcs/mcs/statement.cs:4379 #, csharp-format msgid "" "The label `{0}' shadows another label by the same name in a contained scope" msgstr "" -#: mcs/mcs/statement.cs:4656 +#: mcs/mcs/statement.cs:4657 #, csharp-format msgid "`{0}': not all code paths return a value" msgstr "" -#: mcs/mcs/statement.cs:4788 +#: mcs/mcs/statement.cs:4789 #, csharp-format msgid "The label `{0}' already occurs in this switch statement" msgstr "" -#: mcs/mcs/statement.cs:4915 +#: mcs/mcs/statement.cs:4916 #, csharp-format msgid "" "Control cannot fall out of switch statement through final case label `{0}'" msgstr "" -#: mcs/mcs/statement.cs:4918 +#: mcs/mcs/statement.cs:4919 #, csharp-format msgid "Control cannot fall through from one case label `{0}' to another" msgstr "" -#: mcs/mcs/statement.cs:5355 +#: mcs/mcs/statement.cs:5356 #, csharp-format msgid "" "A switch expression of type `{0}' cannot be converted to an integral type, " "bool, char, string, enum or nullable type" msgstr "" -#: mcs/mcs/statement.cs:6214 +#: mcs/mcs/statement.cs:6215 #, csharp-format msgid "`{0}' is not a reference type as required by the lock statement" msgstr "" -#: mcs/mcs/statement.cs:6596 +#: mcs/mcs/statement.cs:6597 msgid "The type of locals declared in a fixed statement must be a pointer type" msgstr "" -#: mcs/mcs/statement.cs:6676 +#: mcs/mcs/statement.cs:6677 msgid "" "The right hand side of a fixed statement assignment may not be a cast " "expression" msgstr "" -#: mcs/mcs/statement.cs:6681 +#: mcs/mcs/statement.cs:6682 msgid "" "You cannot use the fixed statement to take the address of an already fixed " "expression" msgstr "" -#: mcs/mcs/statement.cs:6867 +#: mcs/mcs/statement.cs:6868 msgid "" "The `await' operator cannot be used in the filter expression of a catch " "clause" msgstr "" -#: mcs/mcs/statement.cs:7482 +#: mcs/mcs/statement.cs:7483 #, csharp-format msgid "" "A previous catch clause already catches all exceptions of this or a super " "type `{0}'" msgstr "" -#: mcs/mcs/statement.cs:7719 +#: mcs/mcs/statement.cs:7720 #, csharp-format msgid "" "`{0}': type used in a using statement must be implicitly convertible to " "`System.IDisposable'" msgstr "" -#: mcs/mcs/statement.cs:8135 +#: mcs/mcs/statement.cs:8136 #, csharp-format msgid "" "foreach statement requires that the return type `{0}' of `{1}' must have a " "suitable public MoveNext method and public Current property" msgstr "" -#: mcs/mcs/statement.cs:8179 +#: mcs/mcs/statement.cs:8180 #, csharp-format msgid "" "foreach statement cannot operate on variables of type `{0}' because it " @@ -3901,58 +3906,58 @@ msgid "" "implementation" msgstr "" -#: mcs/mcs/statement.cs:8200 +#: mcs/mcs/statement.cs:8201 msgid "Use of default literal is not valid in this context" msgstr "" -#: mcs/mcs/statement.cs:8203 +#: mcs/mcs/statement.cs:8204 #, csharp-format msgid "" "foreach statement cannot operate on variables of type `{0}' because it does " "not contain a definition for `{1}' or is inaccessible" msgstr "" -#: mcs/mcs/statement.cs:8441 +#: mcs/mcs/statement.cs:8442 msgid "Use of null is not valid in this context" msgstr "" -#: mcs/mcs/statement.cs:8453 +#: mcs/mcs/statement.cs:8454 #, csharp-format msgid "Foreach statement cannot operate on a `{0}'" msgstr "" -#: mcs/mcs/typemanager.cs:837 +#: mcs/mcs/typemanager.cs:845 #, csharp-format msgid "The predefined type `{0}.{1}' is not defined or imported" msgstr "" -#: mcs/mcs/typemanager.cs:882 +#: mcs/mcs/typemanager.cs:890 #, csharp-format msgid "" "The predefined type `{0}.{1}' is defined multiple times. Using definition " "from `{2}'" msgstr "" -#: mcs/mcs/typemanager.cs:893 +#: mcs/mcs/typemanager.cs:901 #, csharp-format msgid "" "The predefined type `{0}.{1}' is defined in an assembly that is not " "referenced." msgstr "" -#: mcs/mcs/typemanager.cs:903 +#: mcs/mcs/typemanager.cs:911 #, csharp-format msgid "The predefined type `{0}.{1}' is not declared correctly" msgstr "" -#: mcs/mcs/typemanager.cs:1029 +#: mcs/mcs/typemanager.cs:1034 #, csharp-format msgid "" "The compiler required member `{0}.{1}{2}' could not be found or is " "inaccessible" msgstr "" -#: mcs/mcs/typemanager.cs:1148 +#: mcs/mcs/typemanager.cs:1153 #, csharp-format msgid "" "Cannot take the address of, get the size of, or declare a pointer to a " diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo index 23cba20e9d447bc3bd35610b4ea435e0488c01dd..1f8f0c712c6a84aa8106fd6a5960d44e213236a6 100644 GIT binary patch delta 22 ecmaF1gXP%{mJM-J*$ov8Ev!sUH>XZzYzF{s^$3Ch delta 22 ecmaF1gXP%{mJM-J*$os7Ev!tXZzYzF{s^$3Fi diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id index d71406bfeb..d5719cca62 100644 --- a/po/mcs/pt_BR.po.REMOVED.git-id +++ b/po/mcs/pt_BR.po.REMOVED.git-id @@ -1 +1 @@ -a40a4e7f3a6f233e6afa13e4a33b434134da328f \ No newline at end of file +7fdfb7dd15beb1e0153cff685188a25415de0f86 \ No newline at end of file