Imported Upstream version 4.2.2.10

Former-commit-id: 925376e1db46149d14f7949fcd7b08805ea8aba9
This commit is contained in:
Xamarin Public Jenkins 2015-12-18 19:40:30 -05:00
parent d11e8b35fd
commit 8cb7d04924
45 changed files with 399 additions and 122 deletions

View File

@ -1 +1 @@
1895650fb1b5a365ada5bcdf3fef86a448da51d2 08afe9df2791baac02e8201b01cce1aca3beb124

View File

@ -1 +1 @@
2317c4f2abf300ae9f452f4dbfd8b9d63c944e1c 4fa615ca8fe030cfede44041b86cf5bfc38aceaf

View File

@ -1 +1 @@
530bd396504a300e1f44e8bb369913299172f01f 3db9a4bafdb7398647430f25ef9f145d369259ca

View File

@ -34,7 +34,7 @@ static class Consts
// Use these assembly version constants to make code more maintainable. // Use these assembly version constants to make code more maintainable.
// //
public const string MonoVersion = "4.2.1.0"; public const string MonoVersion = "4.2.2.0";
public const string MonoCompany = "Mono development team"; public const string MonoCompany = "Mono development team";
public const string MonoProduct = "Mono Common Language Infrastructure"; public const string MonoProduct = "Mono Common Language Infrastructure";
public const string MonoCopyright = "(c) Various Mono authors"; public const string MonoCopyright = "(c) Various Mono authors";

View File

@ -1263,20 +1263,29 @@ namespace System.Data.SqlClient
throw new ArgumentNullException ("values"); throw new ArgumentNullException ("values");
int len = values.Length; int len = values.Length;
int bigDecimalIndex = command.Tds.ColumnValues.BigDecimalIndex; var tds = command.Tds;
int columns = Math.Min (len, tds.Columns.Count);
// If a four-byte decimal is stored, then we can't convert to if ((command.CommandBehavior & CommandBehavior.SequentialAccess) != 0) {
// a native type. Throw an OverflowException. for (int i = 0; i < columns; ++i) {
if (bigDecimalIndex >= 0 && bigDecimalIndex < len) values [i] = tds.GetSequentialColumnValue (i);
throw new OverflowException (); }
try { } else {
command.Tds.ColumnValues.CopyTo (0, values, 0, int bigDecimalIndex = tds.ColumnValues.BigDecimalIndex;
len > command.Tds.ColumnValues.Count ? command.Tds.ColumnValues.Count : len);
} catch (TdsInternalException ex) { // If a four-byte decimal is stored, then we can't convert to
command.Connection.Close (); // a native type. Throw an OverflowException.
throw SqlException.FromTdsInternalException ((TdsInternalException) ex); if (bigDecimalIndex >= 0 && bigDecimalIndex < len)
throw new OverflowException ();
try {
tds.ColumnValues.CopyTo (0, values, 0, columns);
} catch (TdsInternalException ex) {
command.Connection.Close ();
throw SqlException.FromTdsInternalException ((TdsInternalException)ex);
}
} }
return (len < FieldCount ? len : FieldCount);
return columns;
} }

View File

@ -36,7 +36,10 @@ namespace System
return false; return false;
var from = Type.GetTypeCode (source); var from = Type.GetTypeCode (source);
switch (Type.GetTypeCode (target)) { var to = Type.GetTypeCode (target);
if (from == to && source.IsPrimitive)
return true;
switch (to) {
case TypeCode.Char: case TypeCode.Char:
switch (from) { switch (from) {
case TypeCode.Byte: case TypeCode.Byte:
@ -146,4 +149,4 @@ namespace System
return st == type || CanConvertPrimitive ((RuntimeType) st, type); return st == type || CanConvertPrimitive ((RuntimeType) st, type);
} }
} }
} }

View File

@ -102,17 +102,7 @@ namespace System
public MethodInfo Method { public MethodInfo Method {
get { get {
if (method_info != null) { return GetMethodImpl ();
return method_info;
} else {
if (method != IntPtr.Zero) {
if (!method_is_virtual)
method_info = (MethodInfo)MethodBase.GetMethodFromHandleNoGenericCheck (new RuntimeMethodHandle (method));
else
method_info = GetVirtualMethod_internal ();
}
return method_info;
}
} }
} }
@ -511,7 +501,17 @@ namespace System
protected virtual MethodInfo GetMethodImpl () protected virtual MethodInfo GetMethodImpl ()
{ {
return Method; if (method_info != null) {
return method_info;
} else {
if (method != IntPtr.Zero) {
if (!method_is_virtual)
method_info = (MethodInfo)MethodBase.GetMethodFromHandleNoGenericCheck (new RuntimeMethodHandle (method));
else
method_info = GetVirtualMethod_internal ();
}
return method_info;
}
} }
// This is from ISerializable // This is from ISerializable

View File

@ -33,6 +33,7 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection;
using System.Runtime.Serialization; using System.Runtime.Serialization;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
@ -112,6 +113,14 @@ namespace System
return base.GetHashCode (); return base.GetHashCode ();
} }
protected override MethodInfo GetMethodImpl ()
{
if (delegates != null)
return delegates [delegates.Length - 1].Method;
return base.GetMethodImpl ();
}
// <summary> // <summary>
// Return, in order of invocation, the invocation list // Return, in order of invocation, the invocation list
// of a MulticastDelegate // of a MulticastDelegate

View File

@ -855,6 +855,32 @@ namespace MonoTests.System.Threading
Assert.AreSame (Thread.GetNamedDataSlot ("te#st"), Thread.GetNamedDataSlot ("te#st"), "#2"); Assert.AreSame (Thread.GetNamedDataSlot ("te#st"), Thread.GetNamedDataSlot ("te#st"), "#2");
} }
class DomainClass : MarshalByRefObject {
Thread m_thread;
bool success;
public bool Run () {
m_thread = new Thread(ThreadProc);
m_thread.Start(Thread.CurrentThread);
m_thread.Join();
return success;
}
public void ThreadProc (object arg) {
success = m_thread == Thread.CurrentThread;
}
}
[Test]
public void CurrentThread_Domains ()
{
AppDomain ad = AppDomain.CreateDomain ("foo");
ad.Load (typeof (DomainClass).Assembly.GetName ());
var o = (DomainClass)ad.CreateInstanceAndUnwrap (typeof (DomainClass).Assembly.FullName, typeof (DomainClass).FullName);
Assert.IsTrue (o.Run ());
AppDomain.Unload (ad);
}
void CheckIsRunning (string s, Thread t) void CheckIsRunning (string s, Thread t)
{ {
int c = counter; int c = counter;

View File

@ -1 +1 @@
9f87bcd74d19a29f1b4e41b2d7171f2c1af2835c bc4d15d32cfe0aba953847153e27ae46f18e35c1

View File

@ -1 +1 @@
06f7fdab7429fe3c9ed22771dfe9380d208f037d b937698af090202f18c31201001eb77a3e464dc5

View File

@ -1 +1 @@
f41bbb4a396f59eec461720dfc065f676523d1c1 3fa77ec9258a44fd81c7433c3534093f2984d1cf

View File

@ -1 +1 @@
ff03cd74a2624bd0a4a51658bb41e7d90f3144c9 b656909fcd7c7447aa1b8639357c6c089a918a74

View File

@ -1 +1 @@
d8009a94148589526c8dc39f0e1c0ca9e77217e8 ec8668e105a38b35bf91110fe79e06e0dca1ead6

View File

@ -1 +1 @@
22fc25a9bdf68807d3d57dc73d711bbd3bc8bc79 47b95db8a26f7b940063993c07b77a5ee36746fe

View File

@ -1 +1 @@
f815830cd5626bb85f053420b1d6fcf19e0aeb2a 3c2d3fbe2cac6adc7835cf53aa766fffd4381e86

View File

@ -0,0 +1,13 @@
class M
{
public static void Main ()
{
string s = null;
s?.CompareTo ("xx").CompareTo(s?.EndsWith ("x")).GetHashCode ();
string s1 = "abcd";
string s2 = null;
var idx = s1.Substring(1)[s2?.GetHashCode () ?? 0].GetHashCode ();
}
}

View File

@ -1 +1 @@
08b0ee8ce9da391ffa51e1cc3eb0a3611adf5b5e 7e6d08d8664395f0f877e388bd40276cefe0c2e9

View File

@ -2339,6 +2339,8 @@ sgen_client_scan_thread_data (void *start_nursery, void *end_nursery, gboolean p
FOREACH_THREAD (info) { FOREACH_THREAD (info) {
int skip_reason = 0; int skip_reason = 0;
void *aligned_stack_start = (void*)(mword) ALIGN_TO ((mword)info->client_info.stack_start, SIZEOF_VOID_P);
if (info->client_info.skip) { if (info->client_info.skip) {
SGEN_LOG (3, "Skipping dead thread %p, range: %p-%p, size: %zd", info, info->client_info.stack_start, info->client_info.stack_end, (char*)info->client_info.stack_end - (char*)info->client_info.stack_start); SGEN_LOG (3, "Skipping dead thread %p, range: %p-%p, size: %zd", info, info->client_info.stack_start, info->client_info.stack_end, (char*)info->client_info.stack_end - (char*)info->client_info.stack_start);
skip_reason = 1; skip_reason = 1;
@ -2358,13 +2360,13 @@ sgen_client_scan_thread_data (void *start_nursery, void *end_nursery, gboolean p
g_assert (info->client_info.suspend_done); g_assert (info->client_info.suspend_done);
SGEN_LOG (3, "Scanning thread %p, range: %p-%p, size: %zd, pinned=%zd", info, info->client_info.stack_start, info->client_info.stack_end, (char*)info->client_info.stack_end - (char*)info->client_info.stack_start, sgen_get_pinned_count ()); SGEN_LOG (3, "Scanning thread %p, range: %p-%p, size: %zd, pinned=%zd", info, info->client_info.stack_start, info->client_info.stack_end, (char*)info->client_info.stack_end - (char*)info->client_info.stack_start, sgen_get_pinned_count ());
if (mono_gc_get_gc_callbacks ()->thread_mark_func && !conservative_stack_mark) { if (mono_gc_get_gc_callbacks ()->thread_mark_func && !conservative_stack_mark) {
mono_gc_get_gc_callbacks ()->thread_mark_func (info->client_info.runtime_data, info->client_info.stack_start, info->client_info.stack_end, precise, &ctx); mono_gc_get_gc_callbacks ()->thread_mark_func (info->client_info.runtime_data, aligned_stack_start, info->client_info.stack_end, precise, &ctx);
} else if (!precise) { } else if (!precise) {
if (!conservative_stack_mark) { if (!conservative_stack_mark) {
fprintf (stderr, "Precise stack mark not supported - disabling.\n"); fprintf (stderr, "Precise stack mark not supported - disabling.\n");
conservative_stack_mark = TRUE; conservative_stack_mark = TRUE;
} }
sgen_conservatively_pin_objects_from (info->client_info.stack_start, info->client_info.stack_end, start_nursery, end_nursery, PIN_TYPE_STACK); sgen_conservatively_pin_objects_from (aligned_stack_start, info->client_info.stack_end, start_nursery, end_nursery, PIN_TYPE_STACK);
} }
if (!precise) { if (!precise) {

View File

@ -480,11 +480,13 @@ domain_get_next (ThreadPoolDomain *current)
return tpdomain; return tpdomain;
} }
static void /* return TRUE if timeout, FALSE otherwise (worker unpark or interrupt) */
static gboolean
worker_park (void) worker_park (void)
{ {
mono_cond_t cond; mono_cond_t cond;
MonoInternalThread *thread = mono_thread_internal_current (); MonoInternalThread *thread = mono_thread_internal_current ();
gboolean timeout = FALSE;
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker parking", GetCurrentThreadId ()); mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker parking", GetCurrentThreadId ());
@ -495,10 +497,17 @@ worker_park (void)
mono_mutex_lock (&threadpool->active_threads_lock); mono_mutex_lock (&threadpool->active_threads_lock);
if (!mono_runtime_is_shutting_down ()) { if (!mono_runtime_is_shutting_down ()) {
static gpointer rand_handle = NULL;
if (!rand_handle)
rand_handle = rand_create ();
g_assert (rand_handle);
g_ptr_array_add (threadpool->parked_threads, &cond); g_ptr_array_add (threadpool->parked_threads, &cond);
g_ptr_array_remove_fast (threadpool->working_threads, thread); g_ptr_array_remove_fast (threadpool->working_threads, thread);
mono_cond_wait (&cond, &threadpool->active_threads_lock); if (mono_cond_timedwait_ms (&cond, &threadpool->active_threads_lock, rand_next (rand_handle, 5 * 1000, 60 * 1000)) != 0)
timeout = TRUE;
g_ptr_array_add (threadpool->working_threads, thread); g_ptr_array_add (threadpool->working_threads, thread);
g_ptr_array_remove (threadpool->parked_threads, &cond); g_ptr_array_remove (threadpool->parked_threads, &cond);
@ -511,6 +520,8 @@ worker_park (void)
mono_cond_destroy (&cond); mono_cond_destroy (&cond);
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker unparking", GetCurrentThreadId ()); mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker unparking", GetCurrentThreadId ());
return timeout;
} }
static gboolean static gboolean
@ -585,13 +596,15 @@ worker_thread (gpointer data)
} }
if (retire || !(tpdomain = domain_get_next (previous_tpdomain))) { if (retire || !(tpdomain = domain_get_next (previous_tpdomain))) {
gboolean timeout;
COUNTER_ATOMIC (counter, { COUNTER_ATOMIC (counter, {
counter._.working --; counter._.working --;
counter._.parked ++; counter._.parked ++;
}); });
mono_mutex_unlock (&threadpool->domains_lock); mono_mutex_unlock (&threadpool->domains_lock);
worker_park (); timeout = worker_park ();
mono_mutex_lock (&threadpool->domains_lock); mono_mutex_lock (&threadpool->domains_lock);
COUNTER_ATOMIC (counter, { COUNTER_ATOMIC (counter, {
@ -599,6 +612,9 @@ worker_thread (gpointer data)
counter._.parked --; counter._.parked --;
}); });
if (timeout)
break;
if (retire) if (retire)
retire = FALSE; retire = FALSE;

View File

@ -1 +1 @@
4b6a091a05719bcaeae9c139036b3b64e47d3685 6a8f7210854722081b142d053b3a793f67637e5e

View File

@ -749,7 +749,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in Makefile.am.in
version.h: Makefile version.h: Makefile
echo "#define FULL_VERSION \"Stable 4.2.1.124/39edf24\"" > version.h echo "#define FULL_VERSION \"Stable 4.2.2.10/7b87787\"" > version.h
# Utility target for patching libtool to speed up linking # Utility target for patching libtool to speed up linking
patch-libtool: patch-libtool:

View File

@ -749,7 +749,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in Makefile.am.in
version.h: Makefile version.h: Makefile
echo "#define FULL_VERSION \"Stable 4.2.1.124/39edf24\"" > version.h echo "#define FULL_VERSION \"Stable 4.2.2.10/7b87787\"" > version.h
# Utility target for patching libtool to speed up linking # Utility target for patching libtool to speed up linking
patch-libtool: patch-libtool:

View File

@ -1 +1 @@
3cfd458f71bd744fd88bb6d83cb1577e532349ed 4b2d84dd6668bd0561add9df9659b3a3dbe4586b

View File

@ -291,4 +291,112 @@ class Tests
return 1; return 1;
return 0; return 0;
} }
enum LongEnum : ulong {
A = 1
}
public static int test_0_long_enum_eq_comparer () {
var c = EqualityComparer<LongEnum>.Default;
c.GetHashCode (LongEnum.A);
return 0;
}
enum UInt32Enum : uint {
A = 1
}
enum Int32Enum : int {
A = 1
}
enum Int16Enum : short {
A = 1
}
enum UInt16Enum : ushort {
A = 1
}
enum Int8Enum : sbyte {
A = 1
}
enum UInt8Enum : byte {
A = 1
}
public static int test_0_int_enum_eq_comparer () {
var t1 = new Dictionary<Int32Enum, object> ();
t1 [Int32Enum.A] = "foo";
var t2 = new Dictionary<UInt32Enum, object> ();
t2 [UInt32Enum.A] = "foo";
var t3 = new Dictionary<UInt16Enum, object> ();
t3 [UInt16Enum.A] = "foo";
var t4 = new Dictionary<Int16Enum, object> ();
t4 [Int16Enum.A] = "foo";
var t5 = new Dictionary<Int8Enum, object> ();
t5 [Int8Enum.A] = "foo";
var t6 = new Dictionary<UInt8Enum, object> ();
t6 [UInt8Enum.A] = "foo";
return 0;
}
public static int test_0_array_accessor_runtime_invoke_ref () {
var t = typeof (string[]);
var arr = Array.CreateInstance (typeof (string), 1);
arr.GetType ().GetMethod ("Set").Invoke (arr, new object [] { 0, "A" });
var res = (string)arr.GetType ().GetMethod ("Get").Invoke (arr, new object [] { 0 });
if (res != "A")
return 1;
return 0;
}
public static void SetArrayValue_<T> (T[] values) {
values.Select (x => x).ToArray ();
}
public static int test_0_delegate_invoke_wrappers_gsharedvt () {
var enums = new LongEnum [] { LongEnum.A };
SetArrayValue_ (enums);
return 0;
}
struct LargeStruct {
public int a, b, c, d;
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static bool GetHasValue<T>(T? value) where T : struct
{
return value.HasValue;
}
[Category ("DYNCALL")]
public static int test_0_large_nullable_invoke () {
var s = new LargeStruct () { a = 1, b = 2, c = 3, d = 4 };
GetHasValue<LargeStruct> (s);
#if __MOBILE__
var m = typeof(AotTests).GetMethod("GetHasValue", BindingFlags.Static | BindingFlags.Public);
#else
var m = typeof(Tests).GetMethod("GetHasValue", BindingFlags.Static | BindingFlags.Public);
#endif
Type type = typeof (LargeStruct?).GetGenericArguments () [0];
bool b1 = (bool)m.MakeGenericMethod (new Type[] {type}).Invoke (null, new object[] { s });
if (!b1)
return 1;
bool b2 = (bool)m.MakeGenericMethod (new Type[] {type}).Invoke (null, new object[] { null });
if (b2)
return 2;
return 0;
}
} }

View File

@ -58,6 +58,9 @@
#include <locale.h> #include <locale.h>
#include "version.h" #include "version.h"
#include "debugger-agent.h" #include "debugger-agent.h"
#if TARGET_OSX
# include <sys/resource.h>
#endif
static FILE *mini_stats_fd; static FILE *mini_stats_fd;
@ -1462,6 +1465,26 @@ switch_gc (char* argv[], const char* target_gc)
#endif #endif
} }
#ifdef TARGET_OSX
/*
* tries to increase the minimum number of files, if the number is below 1024
*/
static void
darwin_change_default_file_handles ()
{
struct rlimit limit;
if (getrlimit (RLIMIT_NOFILE, &limit) == 0){
if (limit.rlim_cur < 1024){
limit.rlim_cur = MAX(1024,limit.rlim_cur);
setrlimit (RLIMIT_NOFILE, &limit);
}
}
}
#endif
/** /**
* mono_main: * mono_main:
* @argc: number of arguments in the argv array * @argc: number of arguments in the argv array
@ -1514,6 +1537,10 @@ mono_main (int argc, char* argv[])
setlocale (LC_ALL, ""); setlocale (LC_ALL, "");
#if TARGET_OSX
darwin_change_default_file_handles ();
#endif
if (g_getenv ("MONO_NO_SMP")) if (g_getenv ("MONO_NO_SMP"))
mono_set_use_smp (FALSE); mono_set_use_smp (FALSE);

View File

@ -1 +1 @@
b4605733bb4bb4fa16d13db526cb439680307bba 4ebbe548d71b7a3556b34b718274beb4d108c38a

View File

@ -1 +1 @@
#define FULL_VERSION "Stable 4.2.1.124/39edf24" #define FULL_VERSION "Stable 4.2.2.10/7b87787"

View File

@ -19,7 +19,7 @@ if HAVE_VTUNE
vtune_lib = libmono-profiler-vtune.la vtune_lib = libmono-profiler-vtune.la
endif endif
lib_LTLIBRARIES = libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la $(vtune_lib) lib_LTLIBRARIES = libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la libmono-profiler-log-static.la $(vtune_lib)
if PLATFORM_DARWIN if PLATFORM_DARWIN
libmono_profiler_log_la_LDFLAGS = -Wl,-undefined -Wl,suppress -Wl,-flat_namespace libmono_profiler_log_la_LDFLAGS = -Wl,-undefined -Wl,suppress -Wl,-flat_namespace
@ -68,6 +68,14 @@ libmono_profiler_vtune_la_CFLAGS = $(VTUNE_CFLAGS)
libmono_profiler_vtune_la_LIBADD = $(VTUNE_LIBS) $(LIBMONO) $(GLIB_LIBS) $(LIBICONV) libmono_profiler_vtune_la_LIBADD = $(VTUNE_LIBS) $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
endif endif
# The log profile uses eglib functions, so it needs to be linked against
# libeglib in shared mode, but not in static mode, since that would
# leads to duplicate symbols when it is linked into an app which
# also uses eglib (e.g. the runtime). Automake doesn't support this
# functionality, so create a separate static version of the library.
libmono_profiler_log_static_la_SOURCES = proflog.c
libmono_profiler_log_static_la_LDFLAGS = -static
mprof_report_SOURCES = decode.c mprof_report_SOURCES = decode.c
mprof_report_LDADD = $(Z_LIBS) $(GLIB_LIBS) $(LIBICONV) mprof_report_LDADD = $(Z_LIBS) $(GLIB_LIBS) $(LIBICONV)

View File

@ -160,6 +160,16 @@ libmono_profiler_iomap_la_OBJECTS = \
$(am_libmono_profiler_iomap_la_OBJECTS) $(am_libmono_profiler_iomap_la_OBJECTS)
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@am_libmono_profiler_iomap_la_rpath = -rpath \ @DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@am_libmono_profiler_iomap_la_rpath = -rpath \
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@ $(libdir) @DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@ $(libdir)
libmono_profiler_log_static_la_LIBADD =
am_libmono_profiler_log_static_la_OBJECTS = proflog.lo
libmono_profiler_log_static_la_OBJECTS = \
$(am_libmono_profiler_log_static_la_OBJECTS)
libmono_profiler_log_static_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) \
$(libmono_profiler_log_static_la_LDFLAGS) $(LDFLAGS) -o $@
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@am_libmono_profiler_log_static_la_rpath = -rpath \
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@ $(libdir)
libmono_profiler_log_la_DEPENDENCIES = $(am__DEPENDENCIES_3) \ libmono_profiler_log_la_DEPENDENCIES = $(am__DEPENDENCIES_3) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libmono_profiler_log_la_OBJECTS = proflog.lo am_libmono_profiler_log_la_OBJECTS = proflog.lo
@ -221,10 +231,12 @@ am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 = am__v_CCLD_1 =
SOURCES = $(libmono_profiler_aot_la_SOURCES) \ SOURCES = $(libmono_profiler_aot_la_SOURCES) \
$(libmono_profiler_iomap_la_SOURCES) \ $(libmono_profiler_iomap_la_SOURCES) \
$(libmono_profiler_log_static_la_SOURCES) \
$(libmono_profiler_log_la_SOURCES) \ $(libmono_profiler_log_la_SOURCES) \
$(libmono_profiler_vtune_la_SOURCES) $(mprof_report_SOURCES) $(libmono_profiler_vtune_la_SOURCES) $(mprof_report_SOURCES)
DIST_SOURCES = $(libmono_profiler_aot_la_SOURCES) \ DIST_SOURCES = $(libmono_profiler_aot_la_SOURCES) \
$(libmono_profiler_iomap_la_SOURCES) \ $(libmono_profiler_iomap_la_SOURCES) \
$(libmono_profiler_log_static_la_SOURCES) \
$(libmono_profiler_log_la_SOURCES) \ $(libmono_profiler_log_la_SOURCES) \
$(am__libmono_profiler_vtune_la_SOURCES_DIST) \ $(am__libmono_profiler_vtune_la_SOURCES_DIST) \
$(mprof_report_SOURCES) $(mprof_report_SOURCES)
@ -471,7 +483,7 @@ AM_CPPFLAGS = \
$(GLIB_CFLAGS) $(GLIB_CFLAGS)
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HAVE_VTUNE_TRUE@@HOST_WIN32_FALSE@vtune_lib = libmono-profiler-vtune.la @DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HAVE_VTUNE_TRUE@@HOST_WIN32_FALSE@vtune_lib = libmono-profiler-vtune.la
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@lib_LTLIBRARIES = libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la $(vtune_lib) @DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@lib_LTLIBRARIES = libmono-profiler-aot.la libmono-profiler-iomap.la libmono-profiler-log.la libmono-profiler-log-static.la $(vtune_lib)
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@@PLATFORM_ANDROID_TRUE@libmono_profiler_log_la_LDFLAGS = -avoid-version @DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@@PLATFORM_ANDROID_TRUE@libmono_profiler_log_la_LDFLAGS = -avoid-version
@DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@@PLATFORM_DARWIN_TRUE@libmono_profiler_log_la_LDFLAGS = -Wl,-undefined -Wl,suppress -Wl,-flat_namespace @DISABLE_LIBRARIES_FALSE@@DISABLE_PROFILER_FALSE@@HOST_WIN32_FALSE@@PLATFORM_DARWIN_TRUE@libmono_profiler_log_la_LDFLAGS = -Wl,-undefined -Wl,suppress -Wl,-flat_namespace
@DISABLE_EXECUTABLES_FALSE@@SHARED_MONO_FALSE@@SUPPORT_BOEHM_TRUE@LIBMONO = $(top_builddir)/mono/mini/$(LIBMONO_LA) $(static_libs) @DISABLE_EXECUTABLES_FALSE@@SHARED_MONO_FALSE@@SUPPORT_BOEHM_TRUE@LIBMONO = $(top_builddir)/mono/mini/$(LIBMONO_LA) $(static_libs)
@ -496,6 +508,14 @@ libmono_profiler_log_la_LIBADD = $(LIBMONO) $(GLIB_LIBS) $(Z_LIBS)
@HAVE_VTUNE_TRUE@libmono_profiler_vtune_la_SOURCES = mono-profiler-vtune.c @HAVE_VTUNE_TRUE@libmono_profiler_vtune_la_SOURCES = mono-profiler-vtune.c
@HAVE_VTUNE_TRUE@libmono_profiler_vtune_la_CFLAGS = $(VTUNE_CFLAGS) @HAVE_VTUNE_TRUE@libmono_profiler_vtune_la_CFLAGS = $(VTUNE_CFLAGS)
@HAVE_VTUNE_TRUE@libmono_profiler_vtune_la_LIBADD = $(VTUNE_LIBS) $(LIBMONO) $(GLIB_LIBS) $(LIBICONV) @HAVE_VTUNE_TRUE@libmono_profiler_vtune_la_LIBADD = $(VTUNE_LIBS) $(LIBMONO) $(GLIB_LIBS) $(LIBICONV)
# The log profile uses eglib functions, so it needs to be linked against
# libeglib in shared mode, but not in static mode, since that would
# leads to duplicate symbols when it is linked into an app which
# also uses eglib (e.g. the runtime). Automake doesn't support this
# functionality, so create a separate static version of the library.
libmono_profiler_log_static_la_SOURCES = proflog.c
libmono_profiler_log_static_la_LDFLAGS = -static
mprof_report_SOURCES = decode.c mprof_report_SOURCES = decode.c
mprof_report_LDADD = $(Z_LIBS) $(GLIB_LIBS) $(LIBICONV) mprof_report_LDADD = $(Z_LIBS) $(GLIB_LIBS) $(LIBICONV)
PLOG_TESTS_SRC = test-alloc.cs test-busy.cs test-monitor.cs test-excleave.cs \ PLOG_TESTS_SRC = test-alloc.cs test-busy.cs test-monitor.cs test-excleave.cs \
@ -587,6 +607,9 @@ libmono-profiler-aot.la: $(libmono_profiler_aot_la_OBJECTS) $(libmono_profiler_a
libmono-profiler-iomap.la: $(libmono_profiler_iomap_la_OBJECTS) $(libmono_profiler_iomap_la_DEPENDENCIES) $(EXTRA_libmono_profiler_iomap_la_DEPENDENCIES) libmono-profiler-iomap.la: $(libmono_profiler_iomap_la_OBJECTS) $(libmono_profiler_iomap_la_DEPENDENCIES) $(EXTRA_libmono_profiler_iomap_la_DEPENDENCIES)
$(AM_V_CCLD)$(LINK) $(am_libmono_profiler_iomap_la_rpath) $(libmono_profiler_iomap_la_OBJECTS) $(libmono_profiler_iomap_la_LIBADD) $(LIBS) $(AM_V_CCLD)$(LINK) $(am_libmono_profiler_iomap_la_rpath) $(libmono_profiler_iomap_la_OBJECTS) $(libmono_profiler_iomap_la_LIBADD) $(LIBS)
libmono-profiler-log-static.la: $(libmono_profiler_log_static_la_OBJECTS) $(libmono_profiler_log_static_la_DEPENDENCIES) $(EXTRA_libmono_profiler_log_static_la_DEPENDENCIES)
$(AM_V_CCLD)$(libmono_profiler_log_static_la_LINK) $(am_libmono_profiler_log_static_la_rpath) $(libmono_profiler_log_static_la_OBJECTS) $(libmono_profiler_log_static_la_LIBADD) $(LIBS)
libmono-profiler-log.la: $(libmono_profiler_log_la_OBJECTS) $(libmono_profiler_log_la_DEPENDENCIES) $(EXTRA_libmono_profiler_log_la_DEPENDENCIES) libmono-profiler-log.la: $(libmono_profiler_log_la_OBJECTS) $(libmono_profiler_log_la_DEPENDENCIES) $(EXTRA_libmono_profiler_log_la_DEPENDENCIES)
$(AM_V_CCLD)$(libmono_profiler_log_la_LINK) $(am_libmono_profiler_log_la_rpath) $(libmono_profiler_log_la_OBJECTS) $(libmono_profiler_log_la_LIBADD) $(LIBS) $(AM_V_CCLD)$(libmono_profiler_log_la_LINK) $(am_libmono_profiler_log_la_rpath) $(libmono_profiler_log_la_OBJECTS) $(libmono_profiler_log_la_LIBADD) $(LIBS)

View File

@ -1 +1 @@
f72a4476c3a46011d9e92c33d1ed3a6034ee3647 d019b1cf2962cfa266f0b7e6f75396789273ef1c

View File

@ -247,7 +247,7 @@ sgen_card_table_mark_range (mword address, mword size)
SGEN_ASSERT (0, num_cards <= CARD_COUNT_IN_BYTES, "How did we get an object larger than the card table?"); SGEN_ASSERT (0, num_cards <= CARD_COUNT_IN_BYTES, "How did we get an object larger than the card table?");
if (end > SGEN_CARDTABLE_END) { if (end > SGEN_CARDTABLE_END) {
memset (start, 1, SGEN_CARDTABLE_END - start); memset (start, 1, SGEN_CARDTABLE_END - start);
memset (sgen_cardtable, 1, end - sgen_cardtable); memset (sgen_cardtable, 1, end - SGEN_CARDTABLE_END);
return; return;
} }
#endif #endif

View File

@ -1 +1 @@
21fd9dab9e70d3456026645e195f183d4ffb2739 2fc21552caddc04ff91dd8a266149ea98d4f0dc0

View File

@ -182,6 +182,7 @@ BASE_TEST_CS_SRC= \
delegate10.cs \ delegate10.cs \
delegate11.cs \ delegate11.cs \
delegate12.cs \ delegate12.cs \
delegate13.cs \
remoting1.cs \ remoting1.cs \
remoting2.cs \ remoting2.cs \
remoting3.cs \ remoting3.cs \

View File

@ -601,6 +601,7 @@ BASE_TEST_CS_SRC = \
delegate10.cs \ delegate10.cs \
delegate11.cs \ delegate11.cs \
delegate12.cs \ delegate12.cs \
delegate13.cs \
remoting1.cs \ remoting1.cs \
remoting2.cs \ remoting2.cs \
remoting3.cs \ remoting3.cs \

31
mono/tests/delegate13.cs Normal file
View File

@ -0,0 +1,31 @@
using System;
public static class Program
{
public static int Main ()
{
Action d1 = new Action (Method1);
Action d2 = new Action (Method2);
Action d12 = d1 + d2;
Action d21 = d2 + d1;
if (d1.Method.Name != "Method1")
return 1;
if (d2.Method.Name != "Method2")
return 2;
if (d12.Method.Name != "Method2")
return 3;
if (d21.Method.Name != "Method1")
return 4;
return 0;
}
public static void Method1 ()
{
}
public static void Method2 ()
{
}
}

Binary file not shown.

View File

@ -1 +1 @@
3e835f3bc1a499969b1ba8432073eaf96cfe1005 1d929b1ba2d06509548b3aa70c1fb24d06087c0e

Binary file not shown.

View File

@ -1 +1 @@
28b44b354af0dba167d05874ae1a09d29417eda7 a87738a936bb99fc19aec669debef384ab553bdb

Binary file not shown.

View File

@ -1 +1 @@
c6e4de5919e4185763e2cde8f71db3c462da5e53 2d540bc9e9610e2115706b4863b3faf6be94ae02

View File

@ -6,9 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mono 4.2.1\n" "Project-Id-Version: mono 4.2.2\n"
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n" "Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
"POT-Creation-Date: 2015-12-08 12:30-0500\n" "POT-Creation-Date: 2015-12-18 19:12-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -1359,8 +1359,8 @@ msgstr ""
msgid "Internal compiler error: {0}" msgid "Internal compiler error: {0}"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:581 mcs/mcs/expression.cs:1874 mcs/mcs/expression.cs:7940 #: mcs/mcs/ecore.cs:581 mcs/mcs/expression.cs:1874 mcs/mcs/expression.cs:7943
#: mcs/mcs/expression.cs:7948 #: mcs/mcs/expression.cs:7951
msgid "A constant value is expected" msgid "A constant value is expected"
msgstr "" msgstr ""
@ -1978,160 +1978,160 @@ msgstr ""
msgid "Use of unassigned out parameter `{0}'" msgid "Use of unassigned out parameter `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7119 #: mcs/mcs/expression.cs:7122
#, csharp-format #, csharp-format
msgid "Cannot invoke a non-delegate type `{0}'" msgid "Cannot invoke a non-delegate type `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7130 #: mcs/mcs/expression.cs:7133
#, csharp-format #, csharp-format
msgid "The member `{0}' cannot be used as method or delegate" msgid "The member `{0}' cannot be used as method or delegate"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7152 #: mcs/mcs/expression.cs:7155
msgid "" msgid ""
"Do not directly call your base class Finalize method. It is called " "Do not directly call your base class Finalize method. It is called "
"automatically from your destructor" "automatically from your destructor"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7154 #: mcs/mcs/expression.cs:7157
msgid "" msgid ""
"Destructors and object.Finalize cannot be called directly. Consider calling " "Destructors and object.Finalize cannot be called directly. Consider calling "
"IDisposable.Dispose if available" "IDisposable.Dispose if available"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7183 #: mcs/mcs/expression.cs:7186
#, csharp-format #, csharp-format
msgid "" msgid ""
"The base call to method `{0}' cannot be dynamically dispatched. Consider " "The base call to method `{0}' cannot be dynamically dispatched. Consider "
"casting the dynamic arguments or eliminating the base access" "casting the dynamic arguments or eliminating the base access"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7278 #: mcs/mcs/expression.cs:7281
#, csharp-format #, csharp-format
msgid "`{0}': cannot explicitly call operator or accessor" msgid "`{0}': cannot explicitly call operator or accessor"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7468 #: mcs/mcs/expression.cs:7471
#, csharp-format #, csharp-format
msgid "Unsafe type `{0}' cannot be used in an object creation expression" msgid "Unsafe type `{0}' cannot be used in an object creation expression"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7491 #: mcs/mcs/expression.cs:7494
#, csharp-format #, csharp-format
msgid "" msgid ""
"Cannot create an instance of the variable type `{0}' because it does not " "Cannot create an instance of the variable type `{0}' because it does not "
"have the new() constraint" "have the new() constraint"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7497 #: mcs/mcs/expression.cs:7500
#, csharp-format #, csharp-format
msgid "" msgid ""
"`{0}': cannot provide arguments when creating an instance of a variable type" "`{0}': cannot provide arguments when creating an instance of a variable type"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7506 #: mcs/mcs/expression.cs:7509
#, csharp-format #, csharp-format
msgid "Cannot create an instance of the static class `{0}'" msgid "Cannot create an instance of the static class `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7518 #: mcs/mcs/expression.cs:7521
#, csharp-format #, csharp-format
msgid "Cannot create an instance of the abstract class or interface `{0}'" msgid "Cannot create an instance of the abstract class or interface `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7791 #: mcs/mcs/expression.cs:7794
msgid "" msgid ""
"An implicitly typed local variable declarator cannot use an array initializer" "An implicitly typed local variable declarator cannot use an array initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7954 mcs/mcs/expression.cs:7979 #: mcs/mcs/expression.cs:7957 mcs/mcs/expression.cs:7982
#, csharp-format #, csharp-format
msgid "An array initializer of length `{0}' was expected" msgid "An array initializer of length `{0}' was expected"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7970 #: mcs/mcs/expression.cs:7973
msgid "" msgid ""
"Array initializers can only be used in a variable or field initializer. Try " "Array initializers can only be used in a variable or field initializer. Try "
"using a new expression instead" "using a new expression instead"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:7987 #: mcs/mcs/expression.cs:7990
msgid "A nested array initializer was expected" msgid "A nested array initializer was expected"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8034 #: mcs/mcs/expression.cs:8037
msgid "An expression tree cannot contain a multidimensional array initializer" msgid "An expression tree cannot contain a multidimensional array initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8070 #: mcs/mcs/expression.cs:8073
msgid "Cannot create an array with a negative size" msgid "Cannot create an array with a negative size"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8162 #: mcs/mcs/expression.cs:8165
msgid "" msgid ""
"Can only use array initializer expressions to assign to array types. Try " "Can only use array initializer expressions to assign to array types. Try "
"using a new expression instead" "using a new expression instead"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8586 #: mcs/mcs/expression.cs:8589
msgid "" msgid ""
"The type of an implicitly typed array cannot be inferred from the " "The type of an implicitly typed array cannot be inferred from the "
"initializer. Try specifying array type explicitly" "initializer. Try specifying array type explicitly"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8741 #: mcs/mcs/expression.cs:8744
msgid "" msgid ""
"The `this' object cannot be used before all of its fields are assigned to" "The `this' object cannot be used before all of its fields are assigned to"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8747 #: mcs/mcs/expression.cs:8750
msgid "" msgid ""
"Keyword `this' is not valid in a static property, static method, or static " "Keyword `this' is not valid in a static property, static method, or static "
"field initializer" "field initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8750 #: mcs/mcs/expression.cs:8753
msgid "" msgid ""
"Anonymous methods inside structs cannot access instance members of `this'. " "Anonymous methods inside structs cannot access instance members of `this'. "
"Consider copying `this' to a local variable outside the anonymous method and " "Consider copying `this' to a local variable outside the anonymous method and "
"using the local instead" "using the local instead"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8753 #: mcs/mcs/expression.cs:8756
msgid "Keyword `this' is not available in the current context" msgid "Keyword `this' is not available in the current context"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8829 #: mcs/mcs/expression.cs:8832
msgid "Cannot take the address of `this' because it is read-only" msgid "Cannot take the address of `this' because it is read-only"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8831 #: mcs/mcs/expression.cs:8834
msgid "Cannot pass `this' as a ref or out argument because it is read-only" msgid "Cannot pass `this' as a ref or out argument because it is read-only"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8833 #: mcs/mcs/expression.cs:8836
msgid "Cannot assign to `this' because it is read-only" msgid "Cannot assign to `this' because it is read-only"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8901 #: mcs/mcs/expression.cs:8904
msgid "The __arglist construct is valid only within a variable argument method" msgid "The __arglist construct is valid only within a variable argument method"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:8962 #: mcs/mcs/expression.cs:8965
msgid "An expression tree cannot contain a method with variable arguments" msgid "An expression tree cannot contain a method with variable arguments"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9236 #: mcs/mcs/expression.cs:9239
msgid "The typeof operator cannot be used on the dynamic type" msgid "The typeof operator cannot be used on the dynamic type"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9277 #: mcs/mcs/expression.cs:9280
#, csharp-format #, csharp-format
msgid "`{0}': an attribute argument cannot use type parameters" msgid "`{0}': an attribute argument cannot use type parameters"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9492 #: mcs/mcs/expression.cs:9495
#, csharp-format #, csharp-format
msgid "" msgid ""
"`{0}' does not have a predefined size, therefore sizeof can only be used in " "`{0}' does not have a predefined size, therefore sizeof can only be used in "
@ -2139,154 +2139,154 @@ msgid ""
"SizeOf)" "SizeOf)"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9557 #: mcs/mcs/expression.cs:9560
#, csharp-format #, csharp-format
msgid "Alias `{0}' not found" msgid "Alias `{0}' not found"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9598 #: mcs/mcs/expression.cs:9601
msgid "" msgid ""
"The namespace alias qualifier `::' cannot be used to invoke a method. " "The namespace alias qualifier `::' cannot be used to invoke a method. "
"Consider using `.' instead" "Consider using `.' instead"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9688 #: mcs/mcs/expression.cs:9691
msgid "Cannot perform member binding on `null' value" msgid "Cannot perform member binding on `null' value"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9850 #: mcs/mcs/expression.cs:9853
#, csharp-format #, csharp-format
msgid "" msgid ""
"`{0}': cannot reference a type through an expression. Consider using `{1}' " "`{0}': cannot reference a type through an expression. Consider using `{1}' "
"instead" "instead"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9929 #: mcs/mcs/expression.cs:9932
#, csharp-format #, csharp-format
msgid "A nested type cannot be specified through a type parameter `{0}'" msgid "A nested type cannot be specified through a type parameter `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:9937 #: mcs/mcs/expression.cs:9940
#, csharp-format #, csharp-format
msgid "" msgid ""
"Alias `{0}' cannot be used with `::' since it denotes a type. Consider " "Alias `{0}' cannot be used with `::' since it denotes a type. Consider "
"replacing `::' with `.'" "replacing `::' with `.'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:10006 #: mcs/mcs/expression.cs:10009
#, csharp-format #, csharp-format
msgid "The nested type `{0}' does not exist in the type `{1}'" msgid "The nested type `{0}' does not exist in the type `{1}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:10030 #: mcs/mcs/expression.cs:10033
#, csharp-format #, csharp-format
msgid "" msgid ""
"Type `{0}' does not contain a definition for `{1}' and no extension method " "Type `{0}' does not contain a definition for `{1}' and no extension method "
"`{1}' of type `{0}' could be found. Are you missing {2}?" "`{1}' of type `{0}' could be found. Are you missing {2}?"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:10322 #: mcs/mcs/expression.cs:10325
#, csharp-format #, csharp-format
msgid "Cannot apply indexing with [] to an expression of type `{0}'" msgid "Cannot apply indexing with [] to an expression of type `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:10459 #: mcs/mcs/expression.cs:10462
#, csharp-format #, csharp-format
msgid "Wrong number of indexes `{0}' inside [], expected `{1}'" msgid "Wrong number of indexes `{0}' inside [], expected `{1}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:10899 #: mcs/mcs/expression.cs:10904
msgid "" msgid ""
"The indexer base access cannot be dynamically dispatched. Consider casting " "The indexer base access cannot be dynamically dispatched. Consider casting "
"the dynamic arguments or eliminating the base access" "the dynamic arguments or eliminating the base access"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:10989 #: mcs/mcs/expression.cs:10994
msgid "An expression tree may not contain a base access" msgid "An expression tree may not contain a base access"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11007 #: mcs/mcs/expression.cs:11012
msgid "Keyword `base' is not available in a static method" msgid "Keyword `base' is not available in a static method"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11009 #: mcs/mcs/expression.cs:11014
msgid "Keyword `base' is not available in the current context" msgid "Keyword `base' is not available in the current context"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11047 #: mcs/mcs/expression.cs:11052
msgid "" msgid ""
"A property, indexer or dynamic member access may not be passed as `ref' or " "A property, indexer or dynamic member access may not be passed as `ref' or "
"`out' parameter" "`out' parameter"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11392 #: mcs/mcs/expression.cs:11397
#, csharp-format #, csharp-format
msgid "Array elements cannot be of type `{0}'" msgid "Array elements cannot be of type `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11395 #: mcs/mcs/expression.cs:11400
#, csharp-format #, csharp-format
msgid "Array elements cannot be of static type `{0}'" msgid "Array elements cannot be of static type `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11571 #: mcs/mcs/expression.cs:11576
msgid "Cannot use a negative size with stackalloc" msgid "Cannot use a negative size with stackalloc"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11575 #: mcs/mcs/expression.cs:11580
msgid "Cannot use stackalloc in finally or catch" msgid "Cannot use stackalloc in finally or catch"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11735 #: mcs/mcs/expression.cs:11740
#, csharp-format #, csharp-format
msgid "" msgid ""
"Member `{0}' cannot be initialized. An object initializer may only be used " "Member `{0}' cannot be initialized. An object initializer may only be used "
"for fields, or properties" "for fields, or properties"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11743 #: mcs/mcs/expression.cs:11748
#, csharp-format #, csharp-format
msgid "" msgid ""
"Static field or property `{0}' cannot be assigned in an object initializer" "Static field or property `{0}' cannot be assigned in an object initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11847 #: mcs/mcs/expression.cs:11852
msgid "Expression tree cannot contain a dictionary initializer" msgid "Expression tree cannot contain a dictionary initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11972 #: mcs/mcs/expression.cs:11977
#, csharp-format #, csharp-format
msgid "" msgid ""
"A field or property `{0}' cannot be initialized with a collection object " "A field or property `{0}' cannot be initialized with a collection object "
"initializer because type `{1}' does not implement `{2}' interface" "initializer because type `{1}' does not implement `{2}' interface"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11983 #: mcs/mcs/expression.cs:11988
#, csharp-format #, csharp-format
msgid "Inconsistent `{0}' member declaration" msgid "Inconsistent `{0}' member declaration"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11991 #: mcs/mcs/expression.cs:11996
#, csharp-format #, csharp-format
msgid "" msgid ""
"An object initializer includes more than one member `{0}' initialization" "An object initializer includes more than one member `{0}' initialization"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:12009 #: mcs/mcs/expression.cs:12014
#, csharp-format #, csharp-format
msgid "Cannot initialize object of type `{0}' with a collection initializer" msgid "Cannot initialize object of type `{0}' with a collection initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:12154 #: mcs/mcs/expression.cs:12159
msgid "" msgid ""
"Object and collection initializers cannot be used to instantiate a delegate" "Object and collection initializers cannot be used to instantiate a delegate"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:12362 #: mcs/mcs/expression.cs:12367
msgid "Anonymous types cannot be used in this expression" msgid "Anonymous types cannot be used in this expression"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:12456 #: mcs/mcs/expression.cs:12461
#, csharp-format #, csharp-format
msgid "An anonymous type property `{0}' cannot be initialized with `{1}'" msgid "An anonymous type property `{0}' cannot be initialized with `{1}'"
msgstr "" msgstr ""

Binary file not shown.

View File

@ -1 +1 @@
64d8a39b13e9397974c8baea2aa9b3cad380c1b4 87b1481e5fb0387bb972cc8ff65492ccec2a8ba3