Bob: you were supposed to review+commit a fix for this a week ago. :)

http://gwt-code-reviews.appspot.com/102808/show

On Thu, Nov 19, 2009 at 4:57 AM, Matt Mastracci <[email protected]>wrote:

> Hey all,
>
> I'm in the process of upgrading our really old trunk snapshot to 2.0-
> RC1 and I'm getting a NPE in JsniChecker.
>
> Apparently, jsniMethods.get(meth) is returning null from here:
>
>         JsniMethod jsniMethod = jsniMethods.get(meth);
>         new JsniRefChecker(meth,
> hasUnsafeLongsAnnotation).check(jsniMethod.function());
>
> The file is one of the ones we auto-generate for XPCOM bindings. Any
> ideas what might cause the compiler to choke here?  I can send the jar
> full of bindings if needed or trace through if needed.
>
> Matt.
>
> ==========
>
> /*
>  * DO NOT EDIT.  THIS FILE IS GENERATED FROM /Users/matthew/Documents/
> dotspots/trunk/build/output/client/idl/nsIServiceManager.idl
>  */
>
> package org.mozilla.xpconnect.gecko;
>
> import org.mozilla.xpconnect.*;
>
> /**
>  * The nsIServiceManager manager interface provides a means to obtain
>  * global services in an application. The service manager depends on
> the
>  * repository to find and instantiate factories to obtain services.
>  *
>  * Users of the service manager must first obtain a pointer to the
> global
>  * service manager by calling NS_GetServiceManager. After that,
>  * they can request specific services by calling GetService. When
> they are
>  * finished they can NS_RELEASE() the service as usual.
>  *
>  * A user of a service may keep references to particular services
> indefinitely
>  * and only must call Release when it shuts down.
>  *
>  * @status FROZEN
>  */
> public class /* NS_NO_VTABLE */ /* NS_SCRIPTABLE */ nsIServiceManager
> extends nsISupports {
>   /**
>     * IID for interface nsIServiceManager.
>     */
>   public static final String NS_ISERVICEMANAGER_IID = "8bb35ed9-
> e332-462d-9155-4a002ab5c958";
>
>   /**
>    * Protected JSNI constructor.
>    */
>   protected nsIServiceManager() {
>   }
>
>   public static native nsIServiceManager createInstance(String
> className) /*-{
>     return
> Components
> .classes
> [className].createInstance(Components.interfaces.nsIServiceManager);
>   }-*/;
>
>   public static native nsIServiceManager getService(String
> className) /*-{
>     return
> Components
> .classes[className].getService(Components.interfaces.nsIServiceManager);
>   }-*/;
>
>   public static native XPConnectIID<? extends nsIServiceManager>
> iid() /*-{
>     return Components.interfaces.nsIServiceManager;
>   }-*/;
>
>   /**
>    * Callback interface for {...@link nsIServiceManager}.
>    */
>   public interface Callback extends nsISupports.Callback {
>     /**
>      * getServiceByContractID
>      *
>      * Returns the instance that implements aClass or aContractID and
> the
>      * interface aIID.  This may result in the instance being created.
>      *
>      * @param aClass or aContractID : aClass or aContractID of object
>      *                                instance requested
>      * @param aIID : IID of interface requested
>      * @param result : resulting service
>      */
>     /* void getService (in nsCIDRef aClass, in nsIIDRef aIID, [iid_is
> (aIID), retval] out nsQIResult result); */
>     public <T_aIID extends nsISupports> T_aIID
> getService(com.google.gwt.core.client.JavaScriptObject aClass,
> XPConnectIID<T_aIID> aIID);
>
>     /* void getServiceByContractID (in string aContractID, in
> nsIIDRef aIID, [iid_is (aIID), retval] out nsQIResult result); */
>     public <T_aIID extends nsISupports> T_aIID
> getServiceByContractID(String aContractID, XPConnectIID<T_aIID> aIID);
>
>     /**
>      * isServiceInstantiated
>      *
>      * isServiceInstantiated will return a true if the service has
> already
>      * been created, otherwise false
>      *
>      * @param aClass or aContractID : aClass or aContractID of object
>      *                                instance requested
>      * @param aIID : IID of interface requested
>      * @param aIID : IID of interface requested
>      */
>     /* boolean isServiceInstantiated (in nsCIDRef aClass, in nsIIDRef
> aIID); */
>     public <T_aIID extends nsISupports> boolean
> isServiceInstantiated(com.google.gwt.core.client.JavaScriptObject
> aClass, XPConnectIID<T_aIID> aIID);
>
>     /* boolean isServiceInstantiatedByContractID (in string
> aContractID, in nsIIDRef aIID); */
>     public <T_aIID extends nsISupports> boolean
> isServiceInstantiatedByContractID(String aContractID,
> XPConnectIID<T_aIID> aIID);
>
>   }
>
>   public static native nsIServiceManager wrap(Callback callback) /*-{
>     var wrapped = @org.mozilla.xpconnect.gecko.nsISupports::wrap(Lorg/
> mozilla/xpconnect/gecko/nsISupports$Callback;)(callback);
>     wrapped.getService = function getService(aClass, aIID) { return
> [email protected]
> $Callback::getService(Lorg/mozilla/xpconnect/gecko/
> com.google.gwt.core.client.JavaScriptObject;Lorg/mozilla/xpconnect/
> XPConnectIID;)(aClass, aIID); }
>     wrapped.getServiceByContractID = function
> getServiceByContractID(aContractID, aIID) { return
> [email protected]
> $Callback::getServiceByContractID(Ljava/lang/String;Lorg/mozilla/
> xpconnect/XPConnectIID;)(aContractID, aIID); }
>     wrapped.isServiceInstantiated = function
> isServiceInstantiated(aClass, aIID) { return
> [email protected]
> $Callback::isServiceInstantiated(Lorg/mozilla/xpconnect/gecko/
> com.google.gwt.core.client.JavaScriptObject;Lorg/mozilla/xpconnect/
> XPConnectIID;)(aClass, aIID); }
>     wrapped.isServiceInstantiatedByContractID = function
> isServiceInstantiatedByContractID(aContractID, aIID) { return
> [email protected]
> $Callback::isServiceInstantiatedByContractID(Ljava/lang/String;Lorg/
> mozilla/xpconnect/XPConnectIID;)(aContractID, aIID); }
>     return wrapped;
>   }-*/;
>
>   /**
>      * getServiceByContractID
>      *
>      * Returns the instance that implements aClass or aContractID and
> the
>      * interface aIID.  This may result in the instance being created.
>      *
>      * @param aClass or aContractID : aClass or aContractID of object
>      *                                instance requested
>      * @param aIID : IID of interface requested
>      * @param result : resulting service
>      */
>   /* void getService (in nsCIDRef aClass, in nsIIDRef aIID, [iid_is
> (aIID), retval] out nsQIResult result); */
>   public final native <T_aIID extends nsISupports> T_aIID
> getService(com.google.gwt.core.client.JavaScriptObject aClass,
> XPConnectIID<T_aIID> aIID) /*-{
>     return this.getService(aClass, aIID);
>   }-*/;
>
>   /* void getServiceByContractID (in string aContractID, in nsIIDRef
> aIID, [iid_is (aIID), retval] out nsQIResult result); */
>   public final native <T_aIID extends nsISupports> T_aIID
> getServiceByContractID(String aContractID, XPConnectIID<T_aIID> aIID) /
> *-{
>     return this.getServiceByContractID(aContractID, aIID);
>   }-*/;
>
>   /**
>      * isServiceInstantiated
>      *
>      * isServiceInstantiated will return a true if the service has
> already
>      * been created, otherwise false
>      *
>      * @param aClass or aContractID : aClass or aContractID of object
>      *                                instance requested
>      * @param aIID : IID of interface requested
>      * @param aIID : IID of interface requested
>      */
>   /* boolean isServiceInstantiated (in nsCIDRef aClass, in nsIIDRef
> aIID); */
>   public final native <T_aIID extends nsISupports> boolean
> isServiceInstantiated(com.google.gwt.core.client.JavaScriptObject
> aClass, XPConnectIID<T_aIID> aIID) /*-{
>     return this.isServiceInstantiated(aClass, aIID);
>   }-*/;
>
>   /* boolean isServiceInstantiatedByContractID (in string
> aContractID, in nsIIDRef aIID); */
>   public final native <T_aIID extends nsISupports> boolean
> isServiceInstantiatedByContractID(String aContractID,
> XPConnectIID<T_aIID> aIID) /*-{
>     return this.isServiceInstantiatedByContractID(aContractID, aIID);
>   }-*/;
>
> }
> /* End of class */
>
> --
> http://groups.google.com/group/Google-Web-Toolkit-Contributors
>

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to