arrow-meta-examples icon indicating copy to clipboard operation
arrow-meta-examples copied to clipboard

get complete qualifier for class

Open henry1986 opened this issue 4 years ago • 1 comments

I'm using an annotation to detect a class where code creation should happen.

Now I did not find any possibility to detect the whole qualifier name.

The only thing I could find was:

fun KtAnnotationEntry.toName() = typeReference?.typeElement?.safeAs<KtUserType>()?.referencedName

But this what only give me the simple name.

Assuming, I have two annotations like: org.my.annotation.example1.FilterAnnotation and org.my.annotation.example2.FilterAnnotation.

How can be distinguished between this two?

Is there at least a possibility to get the imports of the file?

Would be thankful for some help.

Best regards

henry1986 avatar May 11 '21 14:05 henry1986

Hi @henry1986 , you may want to look into implementors of TypedQuote. You can then intercept a class and get the typed information through the descriptor API. We don't advertise this API because it's about to change with FIR and we are all waiting to adapt it to that. We have not yet adopted all quotes to be typed quotes but if you are interested in contributing one for annotated elements we can look into that. for now type alias, class, object, property, and named function are named quotes. Thanks!

raulraja avatar May 11 '21 15:05 raulraja