Add qualified name to Node

Summary:
Our descriptors currently have a method to return the name as it will be displayed on the elements hierarchy.

However, it doesn't provide enough context if the name is to be used to discover the type in our code base.

This change adds a qualified name method that can provide a more complete name which can indeed be used by the Open In IDE functionality, for example.

Reviewed By: passy

Differential Revision: D40936785

fbshipit-source-id: 790ae02b9ebf37501765c52a24307fcaaaf9c14d
This commit is contained in:
Lorenzo Blasa
2022-11-11 03:22:39 -08:00
committed by Facebook GitHub Bot
parent 51ca3a6cd7
commit f33e3fc78b
9 changed files with 32 additions and 4 deletions

View File

@@ -18,9 +18,10 @@ import com.facebook.litho.DebugComponent
class DebugComponentDescriptor(val register: DescriptorRegister) : NodeDescriptor<DebugComponent> {
private val NAMESPACE = "DebugComponent"
override fun getName(node: DebugComponent): String {
return node.component.simpleName
}
override fun getName(node: DebugComponent): String = node.component.simpleName
override fun getQualifiedName(node: com.facebook.litho.DebugComponent): String =
node.component::class.qualifiedName ?: ""
override fun getChildren(node: DebugComponent): List<Any> {
val result = mutableListOf<Any>()

View File

@@ -34,6 +34,9 @@ object MountedObjectDescriptor : NodeDescriptor<MountedObject> {
override fun getName(node: MountedObject): String = node.descriptor.getName(node.obj)
override fun getQualifiedName(node: MountedObject): String =
node.descriptor.getQualifiedName(node.obj)
override fun getChildren(node: MountedObject): List<Any> = node.descriptor.getChildren(node.obj)
override fun getActiveChild(node: MountedObject): Any? = node.descriptor.getActiveChild(node.obj)