Imported Upstream version 4.8.0.489

Former-commit-id: 711682279101ddc89ff7b3b8639a574568fd6a0f
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-02-15 10:05:45 +00:00
parent f38a7b4f5b
commit 702a3ab1af
41 changed files with 68 additions and 94 deletions

View File

@ -14,6 +14,7 @@ namespace Mono.Debugger.Soft
ModuleMirror main_module;
AssemblyName aname;
AssemblyDefinition meta;
AppDomainMirror domain;
Dictionary<string, long> typeCacheIgnoreCase = new Dictionary<string, long> (StringComparer.InvariantCultureIgnoreCase);
Dictionary<string, long> typeCache = new Dictionary<string, long> ();
@ -50,6 +51,17 @@ namespace Mono.Debugger.Soft
}
}
// Since Protocol version 2.45
public AppDomainMirror Domain {
get {
if (domain == null) {
vm.CheckProtocolVersion (2, 45);
domain = vm.GetDomain (vm.conn.Assembly_GetIdDomain (id));
}
return domain;
}
}
public virtual AssemblyName GetName () {
if (aname == null) {
string name = vm.conn.Assembly_GetName (id);

View File

@ -420,7 +420,7 @@ namespace Mono.Debugger.Soft
* with newer runtimes, and vice versa.
*/
internal const int MAJOR_VERSION = 2;
internal const int MINOR_VERSION = 43;
internal const int MINOR_VERSION = 45;
enum WPSuspendPolicy {
NONE = 0,
@ -532,7 +532,8 @@ namespace Mono.Debugger.Soft
GET_MANIFEST_MODULE = 3,
GET_OBJECT = 4,
GET_TYPE = 5,
GET_NAME = 6
GET_NAME = 6,
GET_DOMAIN = 7
}
enum CmdModule {
@ -590,6 +591,7 @@ namespace Mono.Debugger.Soft
GET_THIS = 2,
SET_VALUES = 3,
GET_DOMAIN = 4,
SET_THIS = 5,
}
enum CmdArrayRef {
@ -2113,6 +2115,10 @@ namespace Mono.Debugger.Soft
return SendReceive (CommandSet.ASSEMBLY, (int)CmdAssembly.GET_NAME, new PacketWriter ().WriteId (id)).ReadString ();
}
internal long Assembly_GetIdDomain (long id) {
return SendReceive (CommandSet.ASSEMBLY, (int)CmdAssembly.GET_DOMAIN, new PacketWriter ().WriteId (id)).ReadId ();
}
/*
* TYPE
*/
@ -2410,6 +2416,10 @@ namespace Mono.Debugger.Soft
return SendReceive (CommandSet.STACK_FRAME, (int)CmdStackFrame.GET_DOMAIN, new PacketWriter ().WriteId (thread_id).WriteId (id)).ReadId ();
}
internal void StackFrame_SetThis (long thread_id, long id, ValueImpl value) {
SendReceive (CommandSet.STACK_FRAME, (int)CmdStackFrame.SET_THIS, new PacketWriter ().WriteId (thread_id).WriteId (id).WriteValue (value));
}
/*
* ARRAYS
*/

View File

@ -166,6 +166,15 @@ namespace Mono.Debugger.Soft
return vm.DecodeValue (vm.conn.StackFrame_GetThis (thread.Id, Id));
}
// Since protocol version 2.44
public void SetThis (Value value) {
if (value == null)
throw new ArgumentNullException ("value");
if (Method.IsStatic || !Method.DeclaringType.IsValueType)
throw new InvalidOperationException ("The frame's method needs to be a valuetype instance method.");
vm.conn.StackFrame_SetThis (thread.Id, Id, vm.EncodeValue (value));
}
public void SetValue (LocalVariable var, Value value) {
if (var == null)
throw new ArgumentNullException ("var");

View File

@ -1 +1 @@
10f28bcfc8faf083f7bacd0efadc598a4bbba506
1d8f429b58b595754ddcbc30238a86f4f64a5050

View File

@ -163,7 +163,7 @@ namespace Mono.Security.X509 {
cspParams.KeyContainerName = CryptoConvert.ToHex (certificate.Hash);
// Right now this seems to be the best way to know if we should use LM store.. ;)
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath))
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath) || _storePath.StartsWith(X509StoreManager.NewLocalMachinePath))
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
ImportPrivateKey (certificate, cspParams);
@ -338,7 +338,7 @@ namespace Mono.Security.X509 {
// If privateKey it's available, load it too..
CspParameters cspParams = new CspParameters ();
cspParams.KeyContainerName = CryptoConvert.ToHex (cert.Hash);
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath))
if (_storePath.StartsWith (X509StoreManager.LocalMachinePath) || _storePath.StartsWith(X509StoreManager.NewLocalMachinePath))
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
KeyPairPersistence kpp = new KeyPairPersistence (cspParams);

View File

@ -1 +1 @@
87cdef5c41826c8ad40a46a9f662234769f1a596
3d79e44fa692cf973f2663a7bf559af29f22c161

View File

@ -1 +1 @@
a1437f73aa93b512e6b12d6a52339d1d4d2abd5d
1d5679f4c41950c1ebc6de1e704081e655202973

View File

@ -1 +1 @@
14b978577f098a3656996d0d47ba8f4f5ad2282b
27644619f0798b509db93fcc2c9c9daca7e87fd0

View File

@ -1 +1 @@
4290723c3f54f5143abed47828651d8f424b95f3
149fd98eeb1f80cda33f523a71586c3c56cce23d

View File

@ -1 +1 @@
9ae3f67f2d49337f9132b2676053d84cf34ff5d3
d82e9d9ead46347c5641a66f76035811190e0e5e

View File

@ -1 +1 @@
ab52f34a16be899445ac46f7fa080754b4035145
5e769f86c6e601eeed6a547e159a1e065ec48f06

View File

@ -1 +1 @@
e2132b7cb721bf4a4f23e20d5e295687d21b1ddf
01a4b08d98f10122f957785f3e414ead7d64ad42

View File

@ -1 +1 @@
1f23dd85def924073ad388e7604387b143d0f06b
7941c31777bd9ab2dc0aa8f7c4e6bcc0f5de68fb