@@ -197,67 +197,30 @@ void NativeScriptRuntime::CallJavaMethod(const Handle<Object>& caller, const str
197197 if ((entry != nullptr ) && entry->isResolved )
198198 {
199199 isStatic = entry->isStatic ;
200-
201200 if (entry->memberId == nullptr )
202201 {
203202 entry->clazz = env.FindClass (className);
204203 if (entry->clazz == nullptr )
205204 {
206- MetadataNode* callerNode = MetadataNode::GetNodeFromHandle (caller);
207- const string callerClassName = callerNode->GetName ();
208-
209- DEBUG_WRITE (" Cannot resolve class: %s while calling method: %s callerClassName: %s" , className.c_str (), methodName.c_str (), callerClassName.c_str ());
210- clazz = env.FindClass (callerClassName);
211- if (clazz == nullptr )
212- {
213- ASSERT_FAIL (" Cannot resolve caller's class name: %s" , callerClassName.c_str ());
214- return ;
215- }
216-
217- mid = isStatic ?
218- env.GetStaticMethodID (clazz, methodName, entry->sig ) :
219- env.GetMethodID (clazz, methodName, entry->sig );
220- }
221- else
222- {
223- entry->memberId = isStatic ?
224- env.GetStaticMethodID (entry->clazz , methodName, entry->sig ) :
225- env.GetMethodID (entry->clazz , methodName, entry->sig );
226-
227- if (entry->memberId == nullptr )
228- {
229- ASSERT_FAIL (" Cannot resolve a method %s on class: %s" , methodName.c_str (), className.c_str ());
230- return ;
231- }
205+ DEBUG_WRITE (" Cannot resolve class=%s while calling method %s" , className.c_str (), methodName.c_str ());
232206 }
233- }
234207
235- if (entry->clazz != nullptr )
236- {
237- clazz = entry->clazz ;
238- mid = reinterpret_cast <jmethodID>(entry->memberId );
208+ entry->memberId = isStatic
209+ ? env.GetStaticMethodID (entry->clazz , methodName, entry->sig )
210+ : env.GetMethodID (entry->clazz , methodName, entry->sig );
239211 }
240-
212+ clazz = entry->clazz ;
213+ mid = reinterpret_cast <jmethodID>(entry->memberId );
241214 sig = entry->sig ;
242215 }
243216 else
244217 {
245- DEBUG_WRITE (" Resolving method: %s.%s on className %s" , className.c_str (), methodName.c_str (), className.c_str ());
246218 auto mi = MethodCache::ResolveMethodSignature (className, methodName, args, isStatic);
247219 if (mi.mid == nullptr )
248220 {
249- MetadataNode* callerNode = MetadataNode::GetNodeFromHandle (caller);
250- const string callerClassName = callerNode->GetName ();
251- DEBUG_WRITE (" Resolving method on callers class: %s.%s on className %s" , callerClassName.c_str (), methodName.c_str (), className.c_str ());
252- mi = MethodCache::ResolveMethodSignature (callerClassName, methodName, args, isStatic);
253- if (mi.mid == nullptr )
254- {
255- ASSERT_FAIL (" Cannot resolve class=%s, method=%s, isStatic=%d, isSuper=%d, callerClass=%s" , className.c_str (), methodName.c_str (), isStatic, isSuper, callerClassName.c_str ());
256- APP_FAIL (" Cannot resolve class" );
257- return ;
258- }
221+ DEBUG_WRITE (" Cannot resolve class=%s, method=%s, isStatic=%d, isSuper=%d" , className.c_str (), methodName.c_str (), isStatic, isSuper);
222+ return ;
259223 }
260-
261224 clazz = mi.clazz ;
262225 mid = mi.mid ;
263226 sig = mi.signature ;
0 commit comments