Ray Rahke
02/21/2024, 6:42 PMShawn
02/21/2024, 6:43 PMShawn
02/21/2024, 6:43 PMcomponents.asSequence()
.filterIsInstance<SubA>()
.first()Shawn
02/21/2024, 6:43 PMRay Rahke
02/21/2024, 6:44 PMRay Rahke
02/21/2024, 6:44 PMRay Rahke
02/21/2024, 6:44 PMShawn
02/21/2024, 6:45 PMfindFirstInstance() an inline fun and make the type parameter reified T : BaseRay Rahke
02/21/2024, 6:45 PMRay Rahke
02/21/2024, 6:45 PMShawn
02/21/2024, 6:46 PMRay Rahke
02/21/2024, 6:47 PMRay Rahke
02/21/2024, 6:47 PMRay Rahke
02/21/2024, 6:47 PMRay Rahke
02/21/2024, 6:47 PMShawn
02/21/2024, 6:47 PMRay Rahke
02/21/2024, 6:47 PMRay Rahke
02/21/2024, 6:48 PMRay Rahke
02/21/2024, 6:48 PMShawn
02/21/2024, 6:49 PMfindFirstInstance return multiple instances lolRay Rahke
02/21/2024, 6:49 PMRay Rahke
02/21/2024, 6:49 PMShawn
02/21/2024, 6:49 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:50 PMRay Rahke
02/21/2024, 6:51 PMRay Rahke
02/21/2024, 6:51 PMRay Rahke
02/21/2024, 6:51 PMShawn
02/21/2024, 6:51 PMRay Rahke
02/21/2024, 6:53 PMRay Rahke
02/21/2024, 6:53 PMShawn
02/21/2024, 6:53 PMRay Rahke
02/21/2024, 6:54 PMRay Rahke
02/21/2024, 6:54 PMRay Rahke
02/21/2024, 6:55 PMwell, it looks you can overload the method with different `KClass`s without worrying about erasurei actually dont think i need to overload at all
Ray Rahke
02/21/2024, 6:55 PMRay Rahke
02/21/2024, 6:55 PMRay Rahke
02/21/2024, 6:55 PMRay Rahke
02/21/2024, 6:55 PMRay Rahke
02/21/2024, 6:55 PMShawn
02/21/2024, 6:56 PMtype == Stackable::class because you're not working with a class instanceRay Rahke
02/21/2024, 6:56 PMRay Rahke
02/21/2024, 6:56 PMShawn
02/21/2024, 6:56 PMRay Rahke
02/21/2024, 6:56 PMRay Rahke
02/21/2024, 6:57 PMRay Rahke
02/21/2024, 6:57 PMRay Rahke
02/21/2024, 6:59 PMas catRay Rahke
02/21/2024, 6:59 PMShawn
02/21/2024, 7:00 PMShawn
02/21/2024, 7:00 PMRay Rahke
02/21/2024, 7:03 PMRay Rahke
02/21/2024, 7:03 PMRay Rahke
02/21/2024, 7:04 PMRay Rahke
02/21/2024, 7:04 PMRay Rahke
02/21/2024, 7:04 PMif x is Blah condition, then x definitely is Blah?Ray Rahke
02/21/2024, 7:05 PMas Blah should be trivially trustworthyRay Rahke
02/21/2024, 7:05 PMRay Rahke
02/21/2024, 7:05 PMShawn
02/21/2024, 7:06 PMTRay Rahke
02/21/2024, 7:06 PMShawn
02/21/2024, 7:06 PMShawn
02/21/2024, 7:06 PMRay Rahke
02/21/2024, 7:06 PMRay Rahke
02/21/2024, 7:06 PMRay Rahke
02/21/2024, 7:06 PMRay Rahke
02/21/2024, 7:06 PMRay Rahke
02/21/2024, 7:07 PMRay Rahke
02/21/2024, 7:08 PMShawn
02/21/2024, 7:08 PMStackable and an Unstackable type (or named whatever you'd like) in order to differentiateRay Rahke
02/21/2024, 7:09 PMRay Rahke
02/21/2024, 7:09 PMRay Rahke
02/21/2024, 7:09 PMRay Rahke
02/21/2024, 7:09 PMShawn
02/21/2024, 7:10 PMsealedRay Rahke
02/21/2024, 7:10 PMRay Rahke
02/21/2024, 7:10 PMRay Rahke
02/21/2024, 7:11 PMRay Rahke
02/21/2024, 7:11 PMRay Rahke
02/21/2024, 7:11 PMRay Rahke
02/21/2024, 7:13 PMRay Rahke
02/21/2024, 7:13 PMRay Rahke
02/21/2024, 7:15 PMRay Rahke
02/21/2024, 7:15 PMRay Rahke
02/21/2024, 7:15 PMShawn
02/21/2024, 7:17 PMRay Rahke
02/21/2024, 7:18 PMRay Rahke
02/21/2024, 7:18 PMRay Rahke
02/21/2024, 7:18 PMRay Rahke
02/21/2024, 7:19 PMRay Rahke
02/21/2024, 7:19 PMRay Rahke
02/21/2024, 7:20 PMas do a literal runtime cast?Ray Rahke
02/21/2024, 7:20 PMRay Rahke
02/21/2024, 7:20 PMRay Rahke
02/21/2024, 7:22 PMShawn
02/21/2024, 7:26 PMreified, you can smart-cast but you can't use the same name (the overload will be ambiguous and won't resolve). if you accept two different KClass types, you will have to manually cast but you can use the same name