Imported Upstream version 4.2.1.91

Former-commit-id: 5bd0f48812d39b3636887951adc772b94ef2f5af
This commit is contained in:
Xamarin Public Jenkins 2015-10-30 12:42:46 -04:00 committed by Jo Shields
parent 2faab2dafa
commit f1bb32afc3
48 changed files with 211 additions and 83 deletions

View File

@ -71,7 +71,7 @@ namespace System.Threading
/// actually run the callbacks. /// actually run the callbacks.
private volatile int m_threadIDExecutingCallbacks = -1; private volatile int m_threadIDExecutingCallbacks = -1;
private bool m_disposed; private int m_disposed;
private CancellationTokenRegistration [] m_linkingRegistrations; //lazily initialized if required. private CancellationTokenRegistration [] m_linkingRegistrations; //lazily initialized if required.
@ -134,7 +134,7 @@ namespace System.Threading
/// </summary> /// </summary>
internal bool IsDisposed internal bool IsDisposed
{ {
get { return m_disposed; } get { return m_disposed == 1; }
} }
/// <summary> /// <summary>
@ -573,7 +573,7 @@ namespace System.Threading
// mutates a sparseArrayFragment and then reads from properties of the CTS that are not // mutates a sparseArrayFragment and then reads from properties of the CTS that are not
// invalidated by cts.Dispose(). // invalidated by cts.Dispose().
if (m_disposed) if (m_disposed != 0 || Interlocked.CompareExchange (ref m_disposed, 1, 0) != 0)
return; return;
if (m_timer != null) m_timer.Dispose(); if (m_timer != null) m_timer.Dispose();
@ -598,8 +598,6 @@ namespace System.Threading
m_kernelEvent.Close(); // the critical cleanup to release an OS handle m_kernelEvent.Close(); // the critical cleanup to release an OS handle
m_kernelEvent = null; // free for GC. m_kernelEvent = null; // free for GC.
} }
m_disposed = true;
} }
} }
@ -613,7 +611,7 @@ namespace System.Threading
#endif #endif
internal void ThrowIfDisposed() internal void ThrowIfDisposed()
{ {
if (m_disposed) if (m_disposed == 1)
ThrowObjectDisposedException(); ThrowObjectDisposedException();
} }

View File

@ -93,7 +93,7 @@ namespace Microsoft.Build.BuildEngine {
{ {
this.binPath = binPath; this.binPath = binPath;
this.buildEnabled = true; this.buildEnabled = true;
this.projects = new Dictionary <string, Project> (); this.projects = new Dictionary <string, Project> (StringComparer.OrdinalIgnoreCase);
this.eventSource = new EventSource (); this.eventSource = new EventSource ();
this.loggers = new List <ILogger> (); this.loggers = new List <ILogger> ();
this.buildStarted = false; this.buildStarted = false;

View File

@ -410,7 +410,6 @@ namespace MonoTests.Mono.Unix {
const int StormCount = 100000; const int StormCount = 100000;
[Test] [Test]
[Category("NotOnMac")] // OSX signal storming will not deliver every one
public void TestRaiseStorm () public void TestRaiseStorm ()
{ {
UnixSignal[] usignals = CreateSignals (signals); UnixSignal[] usignals = CreateSignals (signals);
@ -424,7 +423,7 @@ namespace MonoTests.Mono.Unix {
t.Start (); t.Start ();
foreach (Thread t in threads) foreach (Thread t in threads)
t.Join (); t.Join ();
AssertCount (usignals); AssertCountSet (usignals);
CloseSignals (usignals); CloseSignals (usignals);
} }
@ -436,6 +435,13 @@ namespace MonoTests.Mono.Unix {
Assert.AreEqual (sum, StormCount); Assert.AreEqual (sum, StormCount);
} }
static void AssertCountSet (UnixSignal[] usignals)
{
foreach (UnixSignal s in usignals) {
Assert.IsTrue (s.Count > 0);
}
}
static UnixSignal[] CreateSignals (Signum[] signals) static UnixSignal[] CreateSignals (Signum[] signals)
{ {
UnixSignal[] s = new UnixSignal [signals.Length]; UnixSignal[] s = new UnixSignal [signals.Length];
@ -462,7 +468,6 @@ namespace MonoTests.Mono.Unix {
} }
[Test] [Test]
[Category("NotOnMac")] // OSX signal storming will not deliver every one
public void TestAddRemove () public void TestAddRemove ()
{ {
UnixSignal[] usignals = CreateSignals (signals); UnixSignal[] usignals = CreateSignals (signals);
@ -477,7 +482,7 @@ namespace MonoTests.Mono.Unix {
foreach (Thread t in threads) foreach (Thread t in threads)
t.Join (); t.Join ();
AssertCount (usignals); AssertCountSet (usignals);
CloseSignals (usignals); CloseSignals (usignals);
} }
@ -497,7 +502,6 @@ namespace MonoTests.Mono.Unix {
} }
[Test] [Test]
[Category("NotOnMac")] // OSX signal storming will not deliver every one
public void TestWaitAny () public void TestWaitAny ()
{ {
UnixSignal[] usignals = CreateSignals (signals); UnixSignal[] usignals = CreateSignals (signals);
@ -515,7 +519,7 @@ namespace MonoTests.Mono.Unix {
foreach (Thread t in threads) foreach (Thread t in threads)
t.Join (); t.Join ();
AssertCount (usignals); AssertCountSet (usignals);
CloseSignals (usignals); CloseSignals (usignals);
} }

View File

@ -243,6 +243,17 @@ namespace MonoTests.System.Linq.Expressions {
return 42; return 42;
} }
[Test]
public void CallMethodOnDateTime ()
{
var left = Expression.Call (Expression.Constant (DateTime.Now), typeof(DateTime).GetMethod ("AddDays"), Expression.Constant (-5.0));
var right = Expression.Constant (DateTime.Today);
var expr = Expression.GreaterThan (left, right);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsFalse (eq ());
}
[Test] [Test]
[Category ("NotDotNet")] // http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=339351 [Category ("NotDotNet")] // http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=339351
[ExpectedException (typeof (ArgumentException))] [ExpectedException (typeof (ArgumentException))]
@ -398,7 +409,6 @@ namespace MonoTests.System.Linq.Expressions {
} }
[Test] [Test]
[Category ("NotWorkingInterpreter")]
public void Connect282702 () public void Connect282702 ()
{ {
var lambda = Expression.Lambda<Func<Func<int>>> ( var lambda = Expression.Lambda<Func<Func<int>>> (

View File

@ -93,6 +93,18 @@ namespace MonoTests.System.Linq.Expressions
Assert.IsFalse (eq ()); Assert.IsFalse (eq ());
} }
[Test]
public void StringWithNull ()
{
BinaryExpression expr = Expression.Equal (Expression.Constant ("a"), Expression.Constant (null));
Assert.AreEqual (ExpressionType.Equal, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsFalse (eq ());
}
[Test] [Test]
public void Nullable_LiftToNull_SetToFalse () public void Nullable_LiftToNull_SetToFalse ()
{ {

View File

@ -79,6 +79,30 @@ namespace MonoTests.System.Linq.Expressions
Assert.AreEqual ("(1 != 2)", expr.ToString ()); Assert.AreEqual ("(1 != 2)", expr.ToString ());
} }
[Test]
public void PrimitiveNonNumeric ()
{
BinaryExpression expr = Expression.NotEqual (Expression.Constant ('a'), Expression.Constant ('b'));
Assert.AreEqual (ExpressionType.NotEqual, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsTrue (eq ());
}
[Test]
public void StringWithNull ()
{
BinaryExpression expr = Expression.NotEqual (Expression.Constant ("a"), Expression.Constant (null));
Assert.AreEqual (ExpressionType.NotEqual, expr.NodeType);
Assert.AreEqual (typeof (bool), expr.Type);
Assert.IsNull (expr.Method);
var eq = Expression.Lambda<Func<bool>> (expr).Compile ();
Assert.IsTrue (eq ());
}
[Test] [Test]
public void Nullable_LiftToNull_SetToFalse () public void Nullable_LiftToNull_SetToFalse ()
{ {

View File

@ -1 +1 @@
fbc2bff995e010b1e2e97373f5bd7a86db9b7aba 59e3f322dd87722098b2661868ee3cd268f44676

View File

@ -152,10 +152,7 @@ namespace System
stdin = new CStreamReader (OpenStandardInput (0), inputEncoding); stdin = new CStreamReader (OpenStandardInput (0), inputEncoding);
} else { } else {
#endif #endif
// FULL_AOT_RUNTIME is used (instead of MONOTOUCH) since we only want this code when running on #if MONOTOUCH
// iOS (simulator or devices) and *not* when running tools (e.g. btouch #12179) that needs to use
// the mscorlib.dll shipped with Xamarin.iOS
#if MONOTOUCH && FULL_AOT_RUNTIME
stdout = new NSLogWriter (); stdout = new NSLogWriter ();
#else #else
stdout = new UnexceptionalStreamWriter (OpenStandardOutput (0), outputEncoding); stdout = new UnexceptionalStreamWriter (OpenStandardOutput (0), outputEncoding);
@ -163,7 +160,7 @@ namespace System
#endif #endif
stdout = TextWriter.Synchronized (stdout); stdout = TextWriter.Synchronized (stdout);
#if MONOTOUCH && FULL_AOT_RUNTIME #if MONOTOUCH
stderr = new NSLogWriter (); stderr = new NSLogWriter ();
#else #else
stderr = new UnexceptionalStreamWriter (OpenStandardError (0), outputEncoding); stderr = new UnexceptionalStreamWriter (OpenStandardError (0), outputEncoding);

View File

@ -7,7 +7,7 @@
// Copyright 2012-2014 Xamarin Inc. All rights reserved. // Copyright 2012-2014 Xamarin Inc. All rights reserved.
// //
#if FULL_AOT_RUNTIME #if MONOTOUCH
using System; using System;
using System.IO; using System.IO;

View File

@ -549,8 +549,7 @@ namespace System {
return GetFolderPath (folder, SpecialFolderOption.None); return GetFolderPath (folder, SpecialFolderOption.None);
} }
// for monotouch, not monotouch_runtime #if !MONOTOUCH
#if !(MONOTOUCH && FULL_AOT_RUNTIME)
[MethodImplAttribute (MethodImplOptions.InternalCall)] [MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern static string GetWindowsFolderPath (int folder); private extern static string GetWindowsFolderPath (int folder);

View File

@ -33,7 +33,6 @@ using System;
using System.Threading; using System.Threading;
using NUnit.Framework; using NUnit.Framework;
using System.Threading.Tasks; using System.Threading.Tasks;
using MonoTests.System.Threading.Tasks;
namespace MonoTests.System.Threading namespace MonoTests.System.Threading
{ {
@ -447,10 +446,11 @@ namespace MonoTests.System.Threading
Assert.IsTrue (canceled, "#3"); Assert.IsTrue (canceled, "#3");
} }
[Category ("NotWorking")] // why would linked token be imune to ObjectDisposedException on Cancel?
[Test] [Test]
public void ConcurrentCancelLinkedTokenSourceWhileDisposing () public void ConcurrentCancelLinkedTokenSourceWhileDisposing ()
{ {
ParallelTestHelper.Repeat (delegate { for (int i = 0, total = 500; i < total; ++i) {
var src = new CancellationTokenSource (); var src = new CancellationTokenSource ();
var linked = CancellationTokenSource.CreateLinkedTokenSource (src.Token); var linked = CancellationTokenSource.CreateLinkedTokenSource (src.Token);
var cntd = new CountdownEvent (2); var cntd = new CountdownEvent (2);
@ -470,20 +470,19 @@ namespace MonoTests.System.Threading
t2.Start (); t2.Start ();
t1.Join (500); t1.Join (500);
t2.Join (500); t2.Join (500);
}, 500); }
} }
#if NET_4_5 #if NET_4_5
[Test] [Test]
public void DisposeRace () public void DisposeRace ()
{ {
for (int i = 0; i < 1000; ++i) { for (int i = 0, total = 1000; i < total; ++i) {
var c1 = new CancellationTokenSource (); var c1 = new CancellationTokenSource ();
using (c1) { var wh = c1.Token.WaitHandle;
var wh = c1.Token.WaitHandle; c1.CancelAfter (1);
c1.CancelAfter (1); Thread.Sleep (1);
Thread.Sleep (1); c1.Dispose ();
}
} }
} }
#endif #endif

View File

@ -1 +1 @@
1fdb613e86f18f2b9886f4967a0bdc43f79fef7e 7709d423804e0b435e60e7ca74f198f20d02a535

View File

@ -1 +1 @@
70d97fe10dc6037275080996eac59af0d68e1561 1dcbcac9b7a00d7ca093ca63316c407012521308

View File

@ -1 +1 @@
06bd1619ad328b5c34a59a366c095894e50efd56 c49c24eeb8abb839f5be49574e83c8ad4caaa8e3

View File

@ -1 +1 @@
5b9fdc62b8f41a0b32a323e04f253e4de34cd483 d6ee7490dcb9342db71705f7f6b807f6a85a6cf0

View File

@ -1 +1 @@
a6fc9a5ca70542579710af7ccfbd377501d45c30 37a62e86a907ce0337c9690758f816e78370f82f

View File

@ -10,7 +10,7 @@ struct S
class C class C
{ {
public S Value { public S Value {
set { } set; get;
} }
static void Main () static void Main ()

View File

@ -1 +1 @@
4225b585eea7227c7a3a236f80f3f28a3dd9919b 952a85f9aa45898c3fc21f1c1f92ff5f87a2df6a

View File

@ -1 +1 @@
acdcf32485d622ab24dcb505dba5e58729d82483 f815830cd5626bb85f053420b1d6fcf19e0aeb2a

View File

@ -1 +1 @@
10fc11219613f2b3a69c251bbcc78e4adf6e8605 4890a89176f14b897192c352ad5f41d0077e3047

View File

@ -0,0 +1,6 @@
// Compiler options: -t:library
public abstract class Base
{
public abstract string Value { get; }
}

View File

@ -0,0 +1,16 @@
// Compiler options: -r:gtest-autoproperty-21-lib.dll
public class Subclass : Base
{
public override string Value { get; }
public Subclass ()
{
Value = "test";
}
public static void Main ()
{
new Subclass ();
}
}

View File

@ -0,0 +1,21 @@
using System.Threading.Tasks;
using System;
class X
{
public async Task Test<T, U> (int arg)
{
await Task.Run (async () => {
await Task.Run (async () => {
Console.WriteLine (this);
});
return arg;
}
);
}
public static void Main ()
{
new X().Test<int, long>(1).Wait ();
}
}

View File

@ -0,0 +1,23 @@
using System.Collections.Generic;
class A {
public A ()
{
Info = new Dictionary<string, int>();
}
public Dictionary<string, int> Info { get; set; }
}
class X
{
public static void Main ()
{
var x = new A () {
Info = {
["x"] = 1,
["y"] = 2
}
};
}
}

View File

@ -1 +1 @@
4a970c00528488693bba23a5f9eda9b860437527 08b0ee8ce9da391ffa51e1cc3eb0a3611adf5b5e

View File

@ -328,13 +328,13 @@
<AssignProjectConfiguration <AssignProjectConfiguration
ProjectReferences = "@(ProjectReference)" ProjectReferences = "@(ProjectReference)"
SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)" SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
Condition="'$(BuildingSolutionFile)' == 'true'"> Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
<Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/> <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
</AssignProjectConfiguration> </AssignProjectConfiguration>
<!-- Else, just --> <!-- Else, just -->
<CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'"> <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
<Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/> <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
</CreateItem> </CreateItem>

View File

@ -313,13 +313,13 @@
<AssignProjectConfiguration <AssignProjectConfiguration
ProjectReferences = "@(ProjectReference)" ProjectReferences = "@(ProjectReference)"
SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)" SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
Condition="'$(BuildingSolutionFile)' == 'true'"> Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
<Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/> <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
</AssignProjectConfiguration> </AssignProjectConfiguration>
<!-- Else, just --> <!-- Else, just -->
<CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'"> <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
<Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/> <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
</CreateItem> </CreateItem>

View File

@ -194,13 +194,13 @@
<AssignProjectConfiguration <AssignProjectConfiguration
ProjectReferences = "@(ProjectReference)" ProjectReferences = "@(ProjectReference)"
SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)" SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
Condition="'$(BuildingSolutionFile)' == 'true'"> Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
<Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/> <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
</AssignProjectConfiguration> </AssignProjectConfiguration>
<!-- Else, just --> <!-- Else, just -->
<CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'"> <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
<Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/> <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
</CreateItem> </CreateItem>

View File

@ -224,13 +224,13 @@
<AssignProjectConfiguration <AssignProjectConfiguration
ProjectReferences = "@(ProjectReference)" ProjectReferences = "@(ProjectReference)"
SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)" SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
Condition="'$(BuildingSolutionFile)' == 'true'"> Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
<Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/> <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
</AssignProjectConfiguration> </AssignProjectConfiguration>
<!-- Else, just --> <!-- Else, just -->
<CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'"> <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
<Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/> <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
</CreateItem> </CreateItem>

View File

@ -328,13 +328,13 @@
<AssignProjectConfiguration <AssignProjectConfiguration
ProjectReferences = "@(ProjectReference)" ProjectReferences = "@(ProjectReference)"
SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)" SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
Condition="'$(BuildingSolutionFile)' == 'true'"> Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
<Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/> <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
</AssignProjectConfiguration> </AssignProjectConfiguration>
<!-- Else, just --> <!-- Else, just -->
<CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'"> <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
<Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/> <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
</CreateItem> </CreateItem>

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.60/804ddbc\"" > version.h echo "#define FULL_VERSION \"Stable 4.2.1.91/8862921\"" > 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.60/804ddbc\"" > version.h echo "#define FULL_VERSION \"Stable 4.2.1.91/8862921\"" > 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 @@
080f9cc654f5abb2d7030948dfd47427b8979777 cc5a13de3ef26e6c31e86204057f98f071d1db3b

View File

@ -1 +1 @@
0458c47551638425b42b9b304999eab0ae33938f 9f1ffc219a37d5eeeb79f9ec05eeb38218fe628c

View File

@ -2781,4 +2781,20 @@ END:
IL_001d: ldc.i4.1 IL_001d: ldc.i4.1
IL_001e: ret IL_001e: ret
} // end of method Tests::test_0_fceq_r4 } // end of method Tests::test_0_fceq_r4
.method public static int32 test_0_switch_loop () cil managed
{
.maxstack 16
.locals init (valuetype Tests/TailCallStruct V_0, int32 V_1)
ldc.i4.0
ldloc.0
ldloc.1
brtrue L_1
L_0:
ldc.i4.4
switch (L_0)
L_1:
pop
ret
}
} }

View File

@ -1 +1 @@
24b171b7d02edaa3d317cb6d27de214a3e476267 cb63252e0018b9aefb43fe181130006eafb121b8

View File

@ -1192,6 +1192,7 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti
MonoJumpInfoVirtMethod *info = data; MonoJumpInfoVirtMethod *info = data;
MonoClass *iface_class = info->method->klass; MonoClass *iface_class = info->method->klass;
MonoMethod *method; MonoMethod *method;
MonoError error;
int ioffset, slot; int ioffset, slot;
gpointer addr; gpointer addr;
@ -1208,6 +1209,8 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti
g_assert (info->klass->vtable); g_assert (info->klass->vtable);
method = info->klass->vtable [ioffset + slot]; method = info->klass->vtable [ioffset + slot];
method = mono_class_inflate_generic_method_checked (method, context, &error);
addr = mono_compile_method (method); addr = mono_compile_method (method);
return mini_add_method_trampoline (method, addr, mono_method_needs_static_rgctx_invoke (method, FALSE), FALSE); return mini_add_method_trampoline (method, addr, mono_method_needs_static_rgctx_invoke (method, FALSE), FALSE);
} }

View File

@ -1 +1 @@
a261c17d24d07d1c29cbb197cabc259fe882f1b7 666db656def6f046f9979d20d4a061f7ed66a72d

View File

@ -1 +1 @@
#define FULL_VERSION "Stable 4.2.1.60/804ddbc" #define FULL_VERSION "Stable 4.2.1.91/8862921"

Binary file not shown.

View File

@ -1 +1 @@
b75dfdb860929f1f54efefc462287a9efaa4d642 5e0bd609c38f27a1470489ce576b6e907fdb6889

Binary file not shown.

View File

@ -1 +1 @@
1c98958bcd4cb878860930dc7f4aae05a6f4e48e 31df00aa8d2e7d75a24bd99be34a9ea50ac8bd27

Binary file not shown.

View File

@ -1 +1 @@
c4ca0fdff467e7a69c3da9737d49025f96868a34 c07f515acf23bce96687e1d3109cabfba01e06f5

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mono 4.2.1\n" "Project-Id-Version: mono 4.2.1\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-10-06 05:01-0400\n" "POT-Creation-Date: 2015-10-30 12:23-0400\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"
@ -1744,59 +1744,59 @@ msgstr ""
msgid "Use of possibly unassigned auto-implemented property `{0}'" msgid "Use of possibly unassigned auto-implemented property `{0}'"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7161 #: mcs/mcs/ecore.cs:7158
#, csharp-format #, csharp-format
msgid "A range variable `{0}' may not be passes as `ref' or `out' parameter" msgid "A range variable `{0}' may not be passes as `ref' or `out' parameter"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7184 #: mcs/mcs/ecore.cs:7181
#, csharp-format #, csharp-format
msgid "Property or indexer `{0}' cannot be assigned to (it is read-only)" msgid "Property or indexer `{0}' cannot be assigned to (it is read-only)"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7192 #: mcs/mcs/ecore.cs:7189
#, csharp-format #, csharp-format
msgid "" msgid ""
"The property or indexer `{0}' cannot be used in this context because the set " "The property or indexer `{0}' cannot be used in this context because the set "
"accessor is inaccessible" "accessor is inaccessible"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7272 #: mcs/mcs/ecore.cs:7269
#, csharp-format #, csharp-format
msgid "" msgid ""
"The property or indexer `{0}' cannot be used in this context because it " "The property or indexer `{0}' cannot be used in this context because it "
"lacks the `get' accessor" "lacks the `get' accessor"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7279 #: mcs/mcs/ecore.cs:7276
#, csharp-format #, csharp-format
msgid "" msgid ""
"The property or indexer `{0}' cannot be used in this context because the get " "The property or indexer `{0}' cannot be used in this context because the get "
"accessor is inaccessible" "accessor is inaccessible"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7465 #: mcs/mcs/ecore.cs:7462
#, csharp-format #, csharp-format
msgid "" msgid ""
"The event `{0}' can only appear on the left hand side of `+=' or `-=' " "The event `{0}' can only appear on the left hand side of `+=' or `-=' "
"operator" "operator"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7469 #: mcs/mcs/ecore.cs:7466
#, csharp-format #, csharp-format
msgid "" msgid ""
"The event `{0}' can only appear on the left hand side of += or -= when used " "The event `{0}' can only appear on the left hand side of += or -= when used "
"outside of the type `{1}'" "outside of the type `{1}'"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7641 #: mcs/mcs/ecore.cs:7638
#, csharp-format #, csharp-format
msgid "" msgid ""
"An implicitly typed local variable declaration cannot be initialized with " "An implicitly typed local variable declaration cannot be initialized with "
"`{0}'" "`{0}'"
msgstr "" msgstr ""
#: mcs/mcs/ecore.cs:7656 #: mcs/mcs/ecore.cs:7653
msgid "" msgid ""
"The contextual keyword `var' may only appear within a local variable " "The contextual keyword `var' may only appear within a local variable "
"declaration" "declaration"
@ -2237,56 +2237,56 @@ msgstr ""
msgid "Cannot use stackalloc in finally or catch" msgid "Cannot use stackalloc in finally or catch"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11730 #: mcs/mcs/expression.cs:11735
#, 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:11738 #: mcs/mcs/expression.cs:11743
#, 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:11842 #: mcs/mcs/expression.cs:11847
msgid "Expression tree cannot contain a dictionary initializer" msgid "Expression tree cannot contain a dictionary initializer"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11967 #: mcs/mcs/expression.cs:11972
#, 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:11978 #: mcs/mcs/expression.cs:11983
#, csharp-format #, csharp-format
msgid "Inconsistent `{0}' member declaration" msgid "Inconsistent `{0}' member declaration"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:11986 #: mcs/mcs/expression.cs:11991
#, 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:12004 #: mcs/mcs/expression.cs:12009
#, 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:12149 #: mcs/mcs/expression.cs:12154
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:12357 #: mcs/mcs/expression.cs:12362
msgid "Anonymous types cannot be used in this expression" msgid "Anonymous types cannot be used in this expression"
msgstr "" msgstr ""
#: mcs/mcs/expression.cs:12451 #: mcs/mcs/expression.cs:12456
#, 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 @@
0e40af127109b02fbd5bb5af7859cc05846654b9 7bfc7e72a14e9d8825dcd7cd26dfc111b8f635c3