Imported Upstream version 4.2.0.207

Former-commit-id: f90f74cb984aa12eac8e2a357db43169ae7378e5
This commit is contained in:
Xamarin Public Jenkins
2015-09-02 12:36:57 -04:00
committed by Jo Shields
parent 6992685b86
commit afe402035c
53 changed files with 992 additions and 170 deletions

View File

@@ -417,7 +417,7 @@ namespace Mono.Debugger.Soft
* with newer runtimes, and vice versa.
*/
internal const int MAJOR_VERSION = 2;
internal const int MINOR_VERSION = 40;
internal const int MINOR_VERSION = 41;
enum WPSuspendPolicy {
NONE = 0,
@@ -801,6 +801,13 @@ namespace Mono.Debugger.Soft
return res;
}
public string ReadUTF16String () {
int len = decode_int (packet, ref offset);
string res = new String (Encoding.Unicode.GetChars (packet, offset, len));
offset += len;
return res;
}
public ValueImpl ReadValue () {
ElementType etype = (ElementType)ReadByte ();
@@ -2418,7 +2425,16 @@ namespace Mono.Debugger.Soft
* STRINGS
*/
internal string String_GetValue (long id) {
return SendReceive (CommandSet.STRING_REF, (int)CmdStringRef.GET_VALUE, new PacketWriter ().WriteId (id)).ReadString ();
var r = SendReceive (CommandSet.STRING_REF, (int)CmdStringRef.GET_VALUE, new PacketWriter ().WriteId (id));
bool is_utf16 = false;
if (Version.AtLeast (2, 41))
is_utf16 = r.ReadByte () == 1;
if (is_utf16)
return r.ReadUTF16String ();
else
return r.ReadString ();
}
internal int String_GetLength (long id) {

View File

@@ -598,7 +598,7 @@ public class Tests : TestsBase, ITest2
public static void arguments () {
arg1 (SByte.MaxValue - 5, Byte.MaxValue - 5, true, Int16.MaxValue - 5, UInt16.MaxValue - 5, 'F', Int32.MaxValue - 5, UInt32.MaxValue - 5, Int64.MaxValue - 5, UInt64.MaxValue - 5, 1.2345f, 6.78910, new IntPtr (Int32.MaxValue - 5), new UIntPtr (UInt32.MaxValue - 5));
int i = 42;
arg2 ("FOO", null, "BLA", ref i, new GClass <int> { field = 42 }, new object ());
arg2 ("FOO", null, "BLA", ref i, new GClass <int> { field = 42 }, new object (), '\0'.ToString () + "A");
Tests t = new Tests () { field_i = 42, field_s = "S" };
t.arg3 ("BLA");
}
@@ -609,7 +609,7 @@ public class Tests : TestsBase, ITest2
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static string arg2 (string s, string s3, object o, ref int i, GClass <int> gc, object o2) {
public static string arg2 (string s, string s3, object o, ref int i, GClass <int> gc, object o2, string s4) {
return s + (s3 != null ? "" : "") + o + i + gc.field + o2;
}
@@ -908,6 +908,10 @@ public class Tests : TestsBase, ITest2
public void invoke2 () {
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public void invoke3 () {
}
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public void invoke_ex () {
invoke_ex_inner ();

View File

@@ -1 +1 @@
641fefd2afe9c647385e3ad22f0e18a355ee6f2e
3c62a78ee4f20b1751753ce79842028dd874ffad