Lines Matching refs:klass

82 void ClassHierarchyAnalysis::ResetSingleImplementationInHierarchy(ObjPtr<mirror::Class> klass,  in ResetSingleImplementationInHierarchy()  argument
87 DCHECK(klass != nullptr); in ResetSingleImplementationInHierarchy()
91 if (klass->IsInterface()) { in ResetSingleImplementationInHierarchy()
99 if (!alloc->ContainsUnsafe(klass->GetMethodsPtr())) { in ResetSingleImplementationInHierarchy()
104 if (!klass->IsResolved()) { in ResetSingleImplementationInHierarchy()
108 ObjPtr<mirror::Class> super = klass->GetSuperClass<kDefaultVerifyFlags, kWithoutReadBarrier>(); in ResetSingleImplementationInHierarchy()
121 klass->GetClassLoader<kDefaultVerifyFlags, kWithoutReadBarrier>(); in ResetSingleImplementationInHierarchy()
124 klass->GetVTableEntry<kDefaultVerifyFlags, kWithoutReadBarrier>(vtbl_index, pointer_size); in ResetSingleImplementationInHierarchy()
161 ObjPtr<mirror::IfTable> iftable = klass->GetIfTable<kDefaultVerifyFlags, kWithoutReadBarrier>(); in ResetSingleImplementationInHierarchy()
162 const size_t ifcount = klass->GetIfTableCount<kDefaultVerifyFlags>(); in ResetSingleImplementationInHierarchy()
326 Handle<mirror::Class> klass, in CheckVirtualMethodSingleImplementationInfo() argument
341 virtual_method->GetDeclaringClass() == klass.Get()); in CheckVirtualMethodSingleImplementationInfo()
365 VerifyNonSingleImplementation(klass->GetSuperClass()->GetSuperClass(), in CheckVirtualMethodSingleImplementationInfo()
375 VerifyNonSingleImplementation(klass->GetSuperClass()->GetSuperClass(), in CheckVirtualMethodSingleImplementationInfo()
382 DCHECK(klass->IsInstantiable()); in CheckVirtualMethodSingleImplementationInfo()
436 ObjPtr<mirror::Class> super_super = klass->GetSuperClass()->GetSuperClass(); in CheckVirtualMethodSingleImplementationInfo()
472 Handle<mirror::Class> klass, in CheckInterfaceMethodSingleImplementationInfo() argument
477 DCHECK(klass->IsInstantiable()); in CheckInterfaceMethodSingleImplementationInfo()
521 void ClassHierarchyAnalysis::InitSingleImplementationFlag(Handle<mirror::Class> klass, in InitSingleImplementationFlag() argument
524 DCHECK(method->IsCopied() || method->GetDeclaringClass() == klass.Get()); in InitSingleImplementationFlag()
525 if (klass->IsFinal() || method->IsFinal()) { in InitSingleImplementationFlag()
559 void ClassHierarchyAnalysis::UpdateAfterLoadingOf(Handle<mirror::Class> klass) { in UpdateAfterLoadingOf() argument
561 if (klass->IsInterface()) { in UpdateAfterLoadingOf()
562 for (ArtMethod& method : klass->GetDeclaredVirtualMethods(image_pointer_size)) { in UpdateAfterLoadingOf()
564 InitSingleImplementationFlag(klass, &method, image_pointer_size); in UpdateAfterLoadingOf()
569 ObjPtr<mirror::Class> super_class = klass->GetSuperClass(); in UpdateAfterLoadingOf()
580 ArtMethod* method = klass->GetVTableEntry(i, image_pointer_size); in UpdateAfterLoadingOf()
584 if (method->IsAbstract() && klass->IsInstantiable()) { in UpdateAfterLoadingOf()
587 CheckVirtualMethodSingleImplementationInfo(klass, in UpdateAfterLoadingOf()
595 InitSingleImplementationFlag(klass, method, image_pointer_size); in UpdateAfterLoadingOf()
596 CheckVirtualMethodSingleImplementationInfo(klass, in UpdateAfterLoadingOf()
603 for (int32_t i = super_class->GetVTableLength(); i < klass->GetVTableLength(); ++i) { in UpdateAfterLoadingOf()
604 ArtMethod* method = klass->GetVTableEntry(i, image_pointer_size); in UpdateAfterLoadingOf()
605 InitSingleImplementationFlag(klass, method, image_pointer_size); in UpdateAfterLoadingOf()
608 if (klass->IsInstantiable()) { in UpdateAfterLoadingOf()
609 ObjPtr<mirror::IfTable> iftable = klass->GetIfTable(); in UpdateAfterLoadingOf()
610 const size_t ifcount = klass->GetIfTableCount(); in UpdateAfterLoadingOf()
618 DCHECK(implementation_method != nullptr) << klass->PrettyClass(); in UpdateAfterLoadingOf()
619 CheckInterfaceMethodSingleImplementationInfo(klass, in UpdateAfterLoadingOf()