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