summaryrefslogtreecommitdiffstats
path: root/java/jdk15/files/patch-plugin_MethodDispatcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/jdk15/files/patch-plugin_MethodDispatcher.java')
-rw-r--r--java/jdk15/files/patch-plugin_MethodDispatcher.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/java/jdk15/files/patch-plugin_MethodDispatcher.java b/java/jdk15/files/patch-plugin_MethodDispatcher.java
new file mode 100644
index 0000000..57e6d22
--- /dev/null
+++ b/java/jdk15/files/patch-plugin_MethodDispatcher.java
@@ -0,0 +1,41 @@
+$FreeBSD$
+
+--- ../../deploy/src/plugin/src/share/classes/sun/plugin/com/MethodDispatcher.java 22 Oct 2003 23:04:20 -0000 1.1
++++ ../../deploy/src/plugin/src/share/classes/sun/plugin/com/MethodDispatcher.java 3 Dec 2004 03:56:58 -0000 1.2
+@@ -1,7 +1,7 @@
+ /*
+- * @(#)MethodDispatcher.java 1.5 03/01/23
++ * @(#)MethodDispatcher.java 1.10 04/06/20
+ *
+- * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
++ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ */
+
+@@ -9,6 +9,7 @@
+
+ import java.lang.reflect.Method;
+ import sun.plugin.util.Trace;
++import sun.plugin.javascript.JSClassLoader;
+
+ /**
+ * A <code>MethodDispatcher</code> provides information about,
+@@ -47,11 +48,16 @@
+ Object retObj = null;
+ if(method != null && obj != null) {
+ Trace.msgLiveConnectPrintln("com.method.invoke", new Object[] {method});
++ Class theClass = obj.getClass();
+ Object[] params = TypeConverter.convertObjectArray(
+ method.getParameterTypes(), args);
+- retObj = Utils.convertReturn( method.getReturnType(),
+- method.invoke(obj, params ));
++ // check if the class is private and the method is public
++ retObj = JSClassLoader.invoke(method, obj, params);
+ }
+ return retObj;
++ }
++
++ public Class getReturnType() {
++ return method.getReturnType();
+ }
+ }
OpenPOWER on IntegriCloud