You've already forked linux-packaging-mono
Imported Upstream version 6.6.0.97
Former-commit-id: 36b6262d38adef7275aee46c9258ae34f9e3fb39
This commit is contained in:
parent
95fdb59ea6
commit
15bdb7a527
@@ -307,8 +307,15 @@ namespace Mono.Debugger.Soft
|
||||
public bool Subclasses {
|
||||
get; set;
|
||||
}
|
||||
public bool NotFilteredFeature {
|
||||
get; set;
|
||||
}
|
||||
public bool EverythingElse {
|
||||
get; set;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class AssemblyModifier : Modifier {
|
||||
public long[] Assemblies {
|
||||
get; set;
|
||||
@@ -429,7 +436,7 @@ namespace Mono.Debugger.Soft
|
||||
* with newer runtimes, and vice versa.
|
||||
*/
|
||||
internal const int MAJOR_VERSION = 2;
|
||||
internal const int MINOR_VERSION = 53;
|
||||
internal const int MINOR_VERSION = 54;
|
||||
|
||||
enum WPSuspendPolicy {
|
||||
NONE = 0,
|
||||
@@ -2632,6 +2639,10 @@ namespace Mono.Debugger.Soft
|
||||
} else if (!em.Subclasses) {
|
||||
throw new NotSupportedException ("This request is not supported by the protocol version implemented by the debuggee.");
|
||||
}
|
||||
if (Version.MajorVersion > 2 || Version.MinorVersion >= 54) {
|
||||
w.WriteBool (em.NotFilteredFeature);
|
||||
w.WriteBool (em.EverythingElse);
|
||||
}
|
||||
} else if (mod is AssemblyModifier) {
|
||||
w.WriteByte ((byte)ModifierKind.ASSEMBLY_ONLY);
|
||||
var amod = (mod as AssemblyModifier);
|
||||
|
||||
@@ -6,9 +6,9 @@ namespace Mono.Debugger.Soft
|
||||
public sealed class ExceptionEventRequest : EventRequest {
|
||||
|
||||
TypeMirror exc_type;
|
||||
bool caught, uncaught, subclasses;
|
||||
bool caught, uncaught, subclasses, not_filtered_feature, everything_else;
|
||||
|
||||
internal ExceptionEventRequest (VirtualMachine vm, TypeMirror exc_type, bool caught, bool uncaught) : base (vm, EventType.Exception) {
|
||||
internal ExceptionEventRequest (VirtualMachine vm, TypeMirror exc_type, bool caught, bool uncaught, bool not_filtered_feature = false, bool everything_else = false) : base (vm, EventType.Exception) {
|
||||
if (exc_type != null) {
|
||||
CheckMirror (vm, exc_type);
|
||||
TypeMirror exception_type = vm.RootDomain.Corlib.GetType ("System.Exception", false, false);
|
||||
@@ -19,6 +19,8 @@ namespace Mono.Debugger.Soft
|
||||
this.caught = caught;
|
||||
this.uncaught = uncaught;
|
||||
this.subclasses = true;
|
||||
this.not_filtered_feature = not_filtered_feature;
|
||||
this.everything_else = everything_else;
|
||||
}
|
||||
|
||||
public TypeMirror ExceptionType {
|
||||
@@ -41,7 +43,7 @@ namespace Mono.Debugger.Soft
|
||||
|
||||
public override void Enable () {
|
||||
var mods = new List <Modifier> ();
|
||||
mods.Add (new ExceptionModifier () { Type = exc_type != null ? exc_type.Id : 0, Caught = caught, Uncaught = uncaught, Subclasses = subclasses });
|
||||
mods.Add (new ExceptionModifier () { Type = exc_type != null ? exc_type.Id : 0, Caught = caught, Uncaught = uncaught, Subclasses = subclasses, NotFilteredFeature = not_filtered_feature, EverythingElse = everything_else });
|
||||
SendReq (mods);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,6 +277,13 @@ namespace Mono.Debugger.Soft
|
||||
return new ExceptionEventRequest (this, exc_type, caught, uncaught);
|
||||
}
|
||||
|
||||
public ExceptionEventRequest CreateExceptionRequest (TypeMirror exc_type, bool caught, bool uncaught, bool everything_else) {
|
||||
if (Version.AtLeast (2, 54))
|
||||
return new ExceptionEventRequest (this, exc_type, caught, uncaught, true, everything_else);
|
||||
else
|
||||
return new ExceptionEventRequest (this, exc_type, caught, uncaught);
|
||||
}
|
||||
|
||||
public AssemblyLoadEventRequest CreateAssemblyLoadRequest () {
|
||||
return new AssemblyLoadEventRequest (this);
|
||||
}
|
||||
|
||||
@@ -584,6 +584,7 @@ public class Tests : TestsBase, ITest2
|
||||
inspect_enumerator_in_generic_struct();
|
||||
if_property_stepping();
|
||||
fixed_size_array();
|
||||
test_new_exception_filter();
|
||||
return 3;
|
||||
}
|
||||
|
||||
@@ -595,6 +596,11 @@ public class Tests : TestsBase, ITest2
|
||||
}
|
||||
}
|
||||
|
||||
public class MyException : Exception {
|
||||
public MyException(string message) : base(message) {
|
||||
}
|
||||
}
|
||||
|
||||
public static void if_property_stepping() {
|
||||
var test = new TestClass();
|
||||
if (test.OneLineProperty == "someInvalidValue6049e709-7271-41a1-bc0a-f1f1b80d4125")
|
||||
@@ -827,6 +833,57 @@ public class Tests : TestsBase, ITest2
|
||||
n.Buffer2 = new char4('a', 'b', 'c', 'd');
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void test_new_exception_filter () {
|
||||
test_new_exception_filter1();
|
||||
test_new_exception_filter2();
|
||||
test_new_exception_filter3();
|
||||
test_new_exception_filter4();
|
||||
}
|
||||
|
||||
|
||||
public static void test_new_exception_filter1 () {
|
||||
try {
|
||||
throw new Exception("excp");
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
public static void test_new_exception_filter2 () {
|
||||
try {
|
||||
throw new MyException("excp");
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
public static void test_new_exception_filter3 () {
|
||||
try {
|
||||
throw new ArgumentException();
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
try {
|
||||
throw new Exception("excp");
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
public static void test_new_exception_filter4 () {
|
||||
try {
|
||||
throw new ArgumentException();
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
try {
|
||||
throw new Exception("excp");
|
||||
}
|
||||
catch (Exception e) {
|
||||
}
|
||||
}
|
||||
|
||||
[MethodImplAttribute (MethodImplOptions.NoInlining)]
|
||||
public static void inspect_enumerator_in_generic_struct() {
|
||||
TestEnumeratorInsideGenericStruct<String, String> generic_struct = new TestEnumeratorInsideGenericStruct<String, String>(new KeyValuePair<string, string>("0", "f1"));
|
||||
|
||||
@@ -1 +1 @@
|
||||
75967555e6b2fb9903c055d496b749f56798e897
|
||||
ec003a04c422d9f2b5c359cfde61cd3a6b2f4b9a
|
||||
Reference in New Issue
Block a user