Merge duplicate code.

Original committer: pedemont%us.ibm.com
Original revision: 1.22
Original date: 2005/01/20 22:07:26


git-svn-id: svn://10.0.0.236/trunk@212594 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2006-09-27 15:17:18 +00:00
parent d57d286867
commit b115ab4e22

View File

@@ -821,36 +821,17 @@ nsJavaXPTCStub::SetupJavaParams(const nsXPTParamInfo &aParamInfo,
jobject java_stub = nsnull;
if (xpcom_obj) {
java_stub = gBindings->GetJavaObject(mJavaEnv, xpcom_obj);
nsID iid;
rv = GetIIDForMethodParam(mIInfo, aMethodInfo, aParamInfo, aMethodIndex,
aDispatchParams, PR_FALSE, iid);
if (NS_FAILED(rv))
break;
if (java_stub == nsnull) {
// wrap xpcom instance
nsID iid;
rv = GetIIDForMethodParam(mIInfo, aMethodInfo, aParamInfo,
aMethodIndex, aDispatchParams,
PR_FALSE, iid);
if (NS_FAILED(rv))
break;
JavaXPCOMInstance* inst;
rv = CreateJavaXPCOMInstance((nsISupports*) xpcom_obj, &iid, &inst);
if (NS_FAILED(rv))
break;
// create java stub
char* iface_name;
rv = inst->InterfaceInfo()->GetName(&iface_name);
if (NS_FAILED(rv))
break;
java_stub = CreateJavaWrapper(mJavaEnv, iface_name);
if (java_stub) {
// Associate XPCOM object w/ Java stub
rv = gBindings->AddBinding(mJavaEnv, java_stub, inst);
if (NS_FAILED(rv))
break;
}
}
// Get matching Java object for given xpcom object
rv = gBindings->GetJavaObject(mJavaEnv, xpcom_obj, iid, PR_FALSE,
&java_stub);
if (NS_FAILED(rv))
break;
}
if (!aParamInfo.IsOut()) { // 'in'