Package com.google.gwt.core.ext.debug
Class JsoEval
- java.lang.Object
-
- com.google.gwt.core.ext.debug.JsoEval
-
public class JsoEval extends java.lang.Object
Provides facilities for debuggers to call methods onJavaScriptObjects
. Because devmode does extensive rewriting of JSO bytecode, debuggers can't figure out how to evaluate JSO method calls. This class can be used directly by users to evaluate JSO methods in their debuggers. Additionally, debuggers with GWT support use this class to transparently evaluate JSO expressions in breakpoints, watch windows, etc.Example uses:
JsoEval.call(Element.class, myElement, "getAbsoluteTop"); JsoEval.call(Node.class, myNode, "cloneNode", Boolean.TRUE); JsoEval.call(Element.class, element.getFirstChildElement(), "setPropertyString", "phase", "gamma");
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Object
call(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args)
Reflectively invokes a method on a JavaScriptObject.static java.lang.Object
call(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Object... args)
A convenience form ofcall(Class, Object, String, Class[], Object...)
for use directly by users in a debugger.static java.lang.Object
callEx(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args)
Reflectively invokes a method on a JavaScriptObject.static java.lang.Object
callEx(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Object... args)
A convenience form ofcall(Class, Object, String, Class[], Object...)
for use directly by users in a debugger.static java.lang.Object
callStatic(java.lang.Class klass, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args)
Reflectively invokes a static method on a JavaScriptObject.static java.lang.Object
callStaticEx(java.lang.Class klass, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args)
Reflectively invokes a static method on a JavaScriptObject.
-
-
-
Method Detail
-
call
public static java.lang.Object call(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args)
Reflectively invokes a method on a JavaScriptObject.- Parameters:
klass
- Either a class of type JavaScriptObject or an interface implemented by a JavaScriptObject. The class must contain the method to be invoked.obj
- The JavaScriptObject to invoke the method on. Must be null if the method is static. Must be not-null if the method is not staticmethodName
- The name of the methodtypes
- The types of the argumentsargs
- The values of the arguments- Returns:
- The result of the method invocation or the failure as a String
-
call
public static java.lang.Object call(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Object... args)
A convenience form ofcall(Class, Object, String, Class[], Object...)
for use directly by users in a debugger. This method guesses at the types of the method based on the values ofargs
.- Returns:
- The result of the method invocation or the failure as a String
-
callEx
public static java.lang.Object callEx(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException
Reflectively invokes a method on a JavaScriptObject.- Parameters:
klass
- Either a class of type JavaScriptObject or an interface implemented by a JavaScriptObject. The class must contain the method to be invoked.obj
- The JavaScriptObject to invoke the method on. Must be null if the method is static. Must be not-null if the method is not staticmethodName
- The name of the methodtypes
- The types of the argumentsargs
- The values of the arguments- Returns:
- The result of the method invocation
- Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
-
callEx
public static java.lang.Object callEx(java.lang.Class klass, java.lang.Object obj, java.lang.String methodName, java.lang.Object... args) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException
A convenience form ofcall(Class, Object, String, Class[], Object...)
for use directly by users in a debugger. This method guesses at the types of the method based on the values ofargs
.- Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
-
callStatic
public static java.lang.Object callStatic(java.lang.Class klass, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args)
Reflectively invokes a static method on a JavaScriptObject. Has the same effect as callingcall(klass, null, methodName, types, args)
- Returns:
- The result of the method invocation or the failure as a String
-
callStaticEx
public static java.lang.Object callStaticEx(java.lang.Class klass, java.lang.String methodName, java.lang.Class[] types, java.lang.Object... args) throws java.lang.ClassNotFoundException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException
Reflectively invokes a static method on a JavaScriptObject. Has the same effect as callingcall(klass, null, methodName, types, args)
- Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
java.lang.reflect.InvocationTargetException
java.lang.IllegalAccessException
-
-