Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jb@evain.net>2018-10-22 00:51:46 +0300
committerMarek Safar <marek.safar@gmail.com>2018-11-02 10:30:11 +0300
commitc41cd66598eee4db1acdc9d8aa6452e58cd30f60 (patch)
tree32180b28a912b8cd7ee9e1c5a521b7234fc40a3b /mcs/class/Mono.Debugger.Soft
parent0e392596cf7b260887866cbee6e1dac36cb954d8 (diff)
Make all invokable mirrors share an interface
Diffstat (limited to 'mcs/class/Mono.Debugger.Soft')
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs12
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StructMirror.cs2
-rw-r--r--mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs2
3 files changed, 13 insertions, 3 deletions
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs
index 40015eb9671..826615d3187 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs
@@ -22,7 +22,17 @@ namespace Mono.Debugger.Soft
public Value[] OutArgs { get; set; }
}
- public class ObjectMirror : Value {
+ public interface IInvokable {
+ Value InvokeMethod (ThreadMirror thread, MethodMirror method, IList<Value> arguments);
+ Value InvokeMethod (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options);
+ IAsyncResult BeginInvokeMethod (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options, AsyncCallback callback, object state);
+ Value EndInvokeMethod (IAsyncResult asyncResult);
+ InvokeResult EndInvokeMethodWithResult (IAsyncResult asyncResult);
+ Task<Value> InvokeMethodAsync (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options = InvokeOptions.None);
+ Task<InvokeResult> InvokeMethodAsyncWithResult (ThreadMirror thread, MethodMirror method, IList<Value> arguments, InvokeOptions options = InvokeOptions.None);
+ }
+
+ public class ObjectMirror : Value, IInvokable {
TypeMirror type;
AppDomainMirror domain;
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StructMirror.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StructMirror.cs
index 1744d20f20b..a72c15b5d27 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StructMirror.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/StructMirror.cs
@@ -7,7 +7,7 @@ namespace Mono.Debugger.Soft
/*
* Represents a valuetype value in the debuggee
*/
- public class StructMirror : Value {
+ public class StructMirror : Value, IInvokable {
TypeMirror type;
Value[] fields;
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
index d59643a501a..33eebf5421c 100644
--- a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
+++ b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/TypeMirror.cs
@@ -12,7 +12,7 @@ namespace Mono.Debugger.Soft
* It might be better to make this a subclass of Type, but that could be
* difficult as some of our methods like GetMethods () return Mirror objects.
*/
- public class TypeMirror : Mirror
+ public class TypeMirror : Mirror, IInvokable
{
MethodMirror[] methods;
AssemblyMirror ass;