Package-level declarations

Types

Link copied to clipboard

Marks a method in a SurfProxy as a constructor.

Link copied to clipboard
annotation class Field(val name: String = "", val type: Field.Type, val overrideFinal: Boolean = false)

Marks a method in a SurfProxy as a Field.

Link copied to clipboard

Overrides the reflection name of a method or field. This annotation overrides anything previously set in other annotations.

Link copied to clipboard

Marks a method in a SurfProxy as a static method.

Link copied to clipboard
annotation class SurfProxy(val value: KClass<*> = Unit::class, val qualifiedName: String = "")
Link copied to clipboard
interface SurfReflection

Represents a high-level interface for creating dynamic proxies for classes. The SurfReflection interface enables creation of proxy instances for given classes at runtime, typically for facilitating reflective operations or interception.

Properties

Link copied to clipboard

The singleton instance of the SurfReflection interface.

Functions

Link copied to clipboard
inline fun <T> SurfReflection.createProxy(): T

Creates a dynamic proxy instance for the specified class type using its class loader. This method provides a concise inline approach by leveraging the reified type parameter.