1 package com.google.devtools.ksp.processing.impl 2 3 import com.google.devtools.ksp.KSObjectCache 4 import com.google.devtools.ksp.symbol.KSName 5 6 class KSNameImpl private constructor(val name: String) : KSName { 7 companion object : KSObjectCache<String, KSNameImpl>() { <lambda>null8 fun getCached(name: String) = cache.getOrPut(name) { KSNameImpl(name) } 9 } 10 asStringnull11 override fun asString(): String { 12 return name 13 } 14 getQualifiernull15 override fun getQualifier(): String { 16 return name.split(".").dropLast(1).joinToString(".") 17 } 18 getShortNamenull19 override fun getShortName(): String { 20 return name.split(".").last() 21 } 22 } 23