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()
310 Handle<mirror::Class> klass, in CheckVirtualMethodSingleImplementationInfo() argument
325 virtual_method->GetDeclaringClass() == klass.Get()); in CheckVirtualMethodSingleImplementationInfo()
349 VerifyNonSingleImplementation(klass->GetSuperClass()->GetSuperClass(), in CheckVirtualMethodSingleImplementationInfo()
359 VerifyNonSingleImplementation(klass->GetSuperClass()->GetSuperClass(), in CheckVirtualMethodSingleImplementationInfo()
366 DCHECK(klass->IsInstantiable()); in CheckVirtualMethodSingleImplementationInfo()
421 ObjPtr<mirror::Class> super_super = klass->GetSuperClass()->GetSuperClass(); in CheckVirtualMethodSingleImplementationInfo()
457 Handle<mirror::Class> klass, in CheckInterfaceMethodSingleImplementationInfo() argument
462 DCHECK(klass->IsInstantiable()); in CheckInterfaceMethodSingleImplementationInfo()
507 void ClassHierarchyAnalysis::InitSingleImplementationFlag(Handle<mirror::Class> klass, in InitSingleImplementationFlag() argument
510 DCHECK(method->IsCopied() || method->GetDeclaringClass() == klass.Get()); in InitSingleImplementationFlag()
511 if (klass->IsFinal() || method->IsFinal()) { in InitSingleImplementationFlag()
545 void ClassHierarchyAnalysis::UpdateAfterLoadingOf(Handle<mirror::Class> klass) { in UpdateAfterLoadingOf() argument
547 if (klass->IsInterface()) { in UpdateAfterLoadingOf()
548 for (ArtMethod& method : klass->GetDeclaredVirtualMethods(image_pointer_size)) { in UpdateAfterLoadingOf()
550 InitSingleImplementationFlag(klass, &method, image_pointer_size); in UpdateAfterLoadingOf()
555 ObjPtr<mirror::Class> super_class = klass->GetSuperClass(); in UpdateAfterLoadingOf()
566 ArtMethod* method = klass->GetVTableEntry(i, image_pointer_size); in UpdateAfterLoadingOf()
570 if (method->IsAbstract() && klass->IsInstantiable()) { in UpdateAfterLoadingOf()
573 CheckVirtualMethodSingleImplementationInfo(klass, in UpdateAfterLoadingOf()
581 InitSingleImplementationFlag(klass, method, image_pointer_size); in UpdateAfterLoadingOf()
582 CheckVirtualMethodSingleImplementationInfo(klass, in UpdateAfterLoadingOf()
589 for (int32_t i = super_class->GetVTableLength(); i < klass->GetVTableLength(); ++i) { in UpdateAfterLoadingOf()
590 ArtMethod* method = klass->GetVTableEntry(i, image_pointer_size); in UpdateAfterLoadingOf()
591 InitSingleImplementationFlag(klass, method, image_pointer_size); in UpdateAfterLoadingOf()
594 if (klass->IsInstantiable()) { in UpdateAfterLoadingOf()
595 ObjPtr<mirror::IfTable> iftable = klass->GetIfTable(); in UpdateAfterLoadingOf()
596 const size_t ifcount = klass->GetIfTableCount(); in UpdateAfterLoadingOf()
604 DCHECK(implementation_method != nullptr) << klass->PrettyClass(); in UpdateAfterLoadingOf()
605 CheckInterfaceMethodSingleImplementationInfo(klass, in UpdateAfterLoadingOf()