Lines Matching refs:throw_location
46 static void ThrowException(const ThrowLocation* throw_location, const char* exception_descriptor,
59 if (throw_location == NULL) {
63 self->ThrowNewException(*throw_location, exception_descriptor, msg.str().c_str());
67 static void ThrowWrappedException(const ThrowLocation* throw_location,
81 if (throw_location == NULL) {
85 self->ThrowNewWrappedException(*throw_location, exception_descriptor, msg.str().c_str());
128 void ThrowClassCastException(const ThrowLocation* throw_location, const char* msg) {
129 ThrowException(throw_location, "Ljava/lang/ClassCastException;", NULL, msg);
200 void ThrowIllegalAccessException(const ThrowLocation* throw_location, const char* msg) {
201 ThrowException(throw_location, "Ljava/lang/IllegalAccessException;", NULL, msg);
206 void ThrowIllegalArgumentException(const ThrowLocation* throw_location, const char* msg) {
207 ThrowException(throw_location, "Ljava/lang/IllegalArgumentException;", NULL, msg);
318 ThrowLocation throw_location = self->GetCurrentLocationForThrow();
319 mirror::DexCache* dex_cache = throw_location.GetMethod()->GetDeclaringClass()->GetDexCache();
323 ThrowException(&throw_location, "Ljava/lang/NoSuchMethodError;",
324 throw_location.GetMethod()->GetDeclaringClass(), msg.str().c_str());
329 void ThrowNullPointerExceptionForFieldAccess(const ThrowLocation& throw_location,
334 ThrowException(&throw_location, "Ljava/lang/NullPointerException;", NULL, msg.str().c_str());
337 static void ThrowNullPointerExceptionForMethodAccessImpl(const ThrowLocation& throw_location,
345 ThrowException(&throw_location, "Ljava/lang/NullPointerException;", NULL, msg.str().c_str());
348 void ThrowNullPointerExceptionForMethodAccess(const ThrowLocation& throw_location,
351 mirror::DexCache* dex_cache = throw_location.GetMethod()->GetDeclaringClass()->GetDexCache();
353 ThrowNullPointerExceptionForMethodAccessImpl(throw_location, method_idx,
357 void ThrowNullPointerExceptionForMethodAccess(const ThrowLocation& throw_location,
362 ThrowNullPointerExceptionForMethodAccessImpl(throw_location, method->GetDexMethodIndex(),
366 void ThrowNullPointerExceptionFromDexPC(const ThrowLocation& throw_location) {
367 const DexFile::CodeItem* code = throw_location.GetMethod()->GetCodeItem();
368 uint32_t throw_dex_pc = throw_location.GetDexPc();
373 ThrowNullPointerExceptionForMethodAccess(throw_location, instr->VRegB_35c(), kDirect);
376 ThrowNullPointerExceptionForMethodAccess(throw_location, instr->VRegB_3rc(), kDirect);
379 ThrowNullPointerExceptionForMethodAccess(throw_location, instr->VRegB_35c(), kVirtual);
382 ThrowNullPointerExceptionForMethodAccess(throw_location, instr->VRegB_3rc(), kVirtual);
385 ThrowNullPointerExceptionForMethodAccess(throw_location, instr->VRegB_35c(), kInterface);
388 ThrowNullPointerExceptionForMethodAccess(throw_location, instr->VRegB_3rc(), kInterface);
395 verifier::MethodVerifier::FindInvokedMethodAtDexPc(throw_location.GetMethod(),
396 throw_location.GetDexPc());
399 throw_location, method, kVirtual);
402 ThrowNullPointerException(&throw_location,
416 throw_location.GetMethod(), false);
417 ThrowNullPointerExceptionForFieldAccess(throw_location, field, true /* read */);
426 verifier::MethodVerifier::FindAccessedFieldAtDexPc(throw_location.GetMethod(),
427 throw_location.GetDexPc());
430 ThrowNullPointerExceptionForFieldAccess(throw_location, field, true /* read */);
433 ThrowNullPointerException(&throw_location,
447 throw_location.GetMethod(), false);
448 ThrowNullPointerExceptionForFieldAccess(throw_location, field, false /* write */);
457 verifier::MethodVerifier::FindAccessedFieldAtDexPc(throw_location.GetMethod(),
458 throw_location.GetDexPc());
461 ThrowNullPointerExceptionForFieldAccess(throw_location, field, false /* write */);
464 ThrowNullPointerException(&throw_location,
476 ThrowException(&throw_location, "Ljava/lang/NullPointerException;", NULL,
486 ThrowException(&throw_location, "Ljava/lang/NullPointerException;", NULL,
490 ThrowException(&throw_location, "Ljava/lang/NullPointerException;", NULL,
497 *throw_location.GetMethod()->GetDeclaringClass()->GetDexCache()->GetDexFile();
498 ThrowException(&throw_location, "Ljava/lang/NullPointerException;", NULL,
506 void ThrowNullPointerException(const ThrowLocation* throw_location, const char* msg) {
507 ThrowException(throw_location, "Ljava/lang/NullPointerException;", NULL, msg);