Clean up Class::GetDirectInterface().
Once the `klass` has been resolved, this function should not need to resolve interface types anymore. Drop the type resolution from this function and pass the Class as ObjPtr<> instead of Handle<>. Make callers that expect non-null result DCHECK() that assumption. For the callers that may actually need to resolve these interface classes, introduce a new function ResolveDirectInterface(). Also improve ObjPtr<> constructors and assignment operator to improve overload resolution. For example, if we have foo(ObjPtr<T1>) and foo(ObjPtr<T2>), calling foo(.) with a T1* would have previously been ambiguous even if T1 is not a base of T2. Test: m test-art-host Change-Id: Iff44a7285f68f0af4507fc9ba37343865422fe84
Loading
Please sign in to comment