Lines Matching refs:res_method
3761 ArtMethod* res_method = dex_cache_->GetResolvedMethod(dex_method_idx, pointer_size); in ResolveMethodAndCheckAccess() local
3763 if (res_method == nullptr) { in ResolveMethodAndCheckAccess()
3768 res_method = klass->FindDirectMethod(name, signature, pointer_size); in ResolveMethodAndCheckAccess()
3770 res_method = klass->FindInterfaceMethod(name, signature, pointer_size); in ResolveMethodAndCheckAccess()
3772 res_method = klass->FindInterfaceMethod(name, signature, pointer_size); in ResolveMethodAndCheckAccess()
3775 res_method = klass->FindVirtualMethod(name, signature, pointer_size); in ResolveMethodAndCheckAccess()
3777 if (res_method != nullptr) { in ResolveMethodAndCheckAccess()
3786 res_method = klass->FindDirectMethod(name, signature, pointer_size); in ResolveMethodAndCheckAccess()
3788 if (res_method == nullptr) { in ResolveMethodAndCheckAccess()
3798 if (res_method->IsConstructor() && method_type != METHOD_DIRECT) { in ResolveMethodAndCheckAccess()
3800 << PrettyMethod(res_method); in ResolveMethodAndCheckAccess()
3804 if (res_method->IsClassInitializer()) { in ResolveMethodAndCheckAccess()
3806 << PrettyMethod(res_method); in ResolveMethodAndCheckAccess()
3839 dex_cache_->SetResolvedMethod(dex_method_idx, res_method, pointer_size); in ResolveMethodAndCheckAccess()
3843 if (!referrer.CanAccessMember(res_method->GetDeclaringClass(), res_method->GetAccessFlags())) { in ResolveMethodAndCheckAccess()
3844 Fail(VERIFY_ERROR_ACCESS_METHOD) << "illegal method access (call " << PrettyMethod(res_method) in ResolveMethodAndCheckAccess()
3846 return res_method; in ResolveMethodAndCheckAccess()
3849 if (res_method->IsPrivate() && (method_type == METHOD_VIRTUAL || method_type == METHOD_SUPER)) { in ResolveMethodAndCheckAccess()
3851 << PrettyMethod(res_method); in ResolveMethodAndCheckAccess()
3856 if ((method_type == METHOD_DIRECT && (!res_method->IsDirect() || res_method->IsStatic())) || in ResolveMethodAndCheckAccess()
3857 (method_type == METHOD_STATIC && !res_method->IsStatic()) || in ResolveMethodAndCheckAccess()
3860 method_type == METHOD_INTERFACE) && res_method->IsDirect()) in ResolveMethodAndCheckAccess()
3863 " type of " << PrettyMethod(res_method); in ResolveMethodAndCheckAccess()
3866 return res_method; in ResolveMethodAndCheckAccess()
3871 T* it, const Instruction* inst, MethodType method_type, bool is_range, ArtMethod* res_method) { in VerifyInvocationArgsFromIterator() argument
3903 if (res_method) { in VerifyInvocationArgsFromIterator()
3904 if (!res_method->IsConstructor()) { in VerifyInvocationArgsFromIterator()
3926 if (res_method != nullptr && !res_method->IsMiranda()) { in VerifyInvocationArgsFromIterator()
3927 mirror::Class* klass = res_method->GetDeclaringClass(); in VerifyInvocationArgsFromIterator()
4010 return res_method; in VerifyInvocationArgsFromIterator()
4028 explicit MethodParamListDescriptorIterator(ArtMethod* res_method) : in MethodParamListDescriptorIterator() argument
4029 res_method_(res_method), pos_(0), params_(res_method->GetParameterTypeList()), in MethodParamListDescriptorIterator()
4058 ArtMethod* res_method = ResolveMethodAndCheckAccess(method_idx, method_type); in VerifyInvocationArgs() local
4059 if (res_method == nullptr) { // error or class is unresolved in VerifyInvocationArgs()
4101 << " to super " << PrettyMethod(res_method); in VerifyInvocationArgs()
4105 (res_method->GetMethodIndex() >= super.GetClass()->GetVTableLength())) { in VerifyInvocationArgs()
4109 << "." << res_method->GetName() in VerifyInvocationArgs()
4110 << res_method->GetSignature(); in VerifyInvocationArgs()
4117 MethodParamListDescriptorIterator it(res_method); in VerifyInvocationArgs()
4119 is_range, res_method); in VerifyInvocationArgs()
4161 ArtMethod* res_method = dispatch_class->GetVTableEntry(vtable_index, pointer_size); in GetQuickInvokedMethod() local
4167 return res_method; in GetQuickInvokedMethod()
4174 ArtMethod* res_method = GetQuickInvokedMethod(inst, work_line_.get(), is_range, false); in VerifyInvokeVirtualQuickArgs() local
4175 if (res_method == nullptr) { in VerifyInvokeVirtualQuickArgs()
4179 if (FailOrAbort(this, !res_method->IsDirect(), "Quick-invoked method is direct at ", in VerifyInvokeVirtualQuickArgs()
4183 if (FailOrAbort(this, !res_method->IsStatic(), "Quick-invoked method is static at ", in VerifyInvokeVirtualQuickArgs()
4210 if (actual_arg_type.IsUninitializedTypes() && !res_method->IsConstructor()) { in VerifyInvokeVirtualQuickArgs()
4215 mirror::Class* klass = res_method->GetDeclaringClass(); in VerifyInvokeVirtualQuickArgs()
4233 const DexFile::TypeList* params = res_method->GetParameterTypeList(); in VerifyInvokeVirtualQuickArgs()
4242 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Rejecting invalid call to '" << PrettyMethod(res_method) in VerifyInvokeVirtualQuickArgs()
4249 res_method->GetTypeDescriptorFromTypeIdx(params->GetTypeItem(param_index).type_idx_); in VerifyInvokeVirtualQuickArgs()
4251 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Rejecting invocation of " << PrettyMethod(res_method) in VerifyInvokeVirtualQuickArgs()
4258 return res_method; in VerifyInvokeVirtualQuickArgs()
4263 Fail(VERIFY_ERROR_BAD_CLASS_HARD) << "Rejecting invocation of " << PrettyMethod(res_method) in VerifyInvokeVirtualQuickArgs()
4267 return res_method; in VerifyInvokeVirtualQuickArgs()