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.ObjectProvides 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.Objectcall(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.Objectcall(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.ObjectcallEx(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.ObjectcallEx(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.ObjectcallStatic(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.ObjectcallStaticEx(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.IllegalAccessExceptionReflectively 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.ClassNotFoundExceptionjava.lang.NoSuchMethodExceptionjava.lang.reflect.InvocationTargetExceptionjava.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.IllegalAccessExceptionA 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.ClassNotFoundExceptionjava.lang.NoSuchMethodExceptionjava.lang.reflect.InvocationTargetExceptionjava.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.IllegalAccessExceptionReflectively invokes a static method on a JavaScriptObject. Has the same effect as callingcall(klass, null, methodName, types, args)- Throws:
java.lang.ClassNotFoundExceptionjava.lang.NoSuchMethodExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.IllegalAccessException
-
-