{"repo":"karmakrafts/Introspekt","free":true,"listed":false,"github":"https://github.com/karmakrafts/Introspekt","clone":"git clone https://github.com/karmakrafts/Introspekt.git","description":"Positional code and compile-time introspection API for Kotlin/Multiplatform.","language":"Kotlin","stars":10,"topics":["compiler-plugin","introspection","kotlin","kotlin-common","kotlin-compiler","kotlin-compiler-plugin","kotlin-js","kotlin-jvm","kotlin-native","trace"],"license":"Apache-2.0","category":"analytics","readme_excerpt":"Introspekt Introspekt is a positional code API and introspection framework for Kotlin Multiplatform. It currently adds the following features: SourceLocation type with access to module name, file path, function name, line and column FunctionInfo type for introspecting current/caller function signature and location ClassInfo type for introspecting current/caller classes including functions AnnotationUsageInfo type for introspecting annotation types and their parameters TypeInfo type for fundamental RTTI integrated with kotlin.reflect to fix gaps on Kotlin/JS and other platforms Default-parameter inlining for intrinsic types listed above (like std::source location in C++) Compile-time evaluation of location hashes to improve runtime performance for positional memoization Tracing API for automatically injecting trace callbacks into code, including manual spans and events How to use it First, add the official Maven Central repository to your settings.gradle.kts : Then add a dependency on the plugin in your root buildscript: Tracing Tracing can be used to automatically inject callbacks into the code to collect certain events. The events can be processed/collected using an implementation of TraceCollector . The following example illustrates a simple use-case for logging:","default_branch":null,"files":null,"tree":[],"storefront":"/r/karmakrafts","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/karmakrafts/Introspekt/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}