pub struct KotlinConfig {
pub package: Option<String>,
pub features: Option<Vec<String>>,
pub serde_rename_all: Option<String>,
pub rename_fields: HashMap<String, String>,
pub exclude_functions: Vec<String>,
pub exclude_types: Vec<String>,
pub run_wrapper: Option<String>,
pub extra_lint_paths: Vec<String>,
pub target: KotlinTarget,
pub mode: Option<String>,
pub ffi_style: KotlinFfiStyle,
}Fields§
§package: Option<String>§features: Option<Vec<String>>§serde_rename_all: Option<String>Override the serde rename_all strategy for JSON field names (e.g. “camelCase”, “snake_case”). When set, this takes priority over the IR type-level serde_rename_all.
rename_fields: HashMap<String, String>Per-field name remapping for this language. Key is TypeName.field_name, value is the
desired binding field name. Applied after automatic keyword escaping.
exclude_functions: Vec<String>Functions to exclude from Kotlin binding generation.
exclude_types: Vec<String>Types to exclude from Kotlin binding generation.
run_wrapper: Option<String>Prefix wrapper for default tool invocations. When set, prepends this string to default commands across all pipelines (lint, test, build, etc.).
extra_lint_paths: Vec<String>Extra paths to append to default lint commands (format, check, typecheck).
target: KotlinTargetTarget platform for Kotlin output. "jvm" (default) emits source consuming
the Java/Panama FFM facade; "native" emits Kotlin/Native source consuming
the cbindgen C FFI library. "multiplatform" emits KMP scaffolding.
mode: Option<String>Emission mode controlling which Kotlin project layout is generated.
Accepted values:
"jvm"(default) — standard JVM-only project underpackages/kotlin/"kmp"— Kotlin Multiplatform project underpackages/kotlin-mpp/"android"— Android library project underpackages/kotlin-android/
When None, defaults to "jvm".
ffi_style: KotlinFfiStyleFFI strategy. "panama" (default) consumes the Java/Panama FFM facade.
"jni" emits a Kotlin Bridge object with external fun declarations
and a DefaultClient class holding a Long handle. Android backend
forces "jni" regardless of this setting.
Trait Implementations§
Source§impl Clone for KotlinConfig
impl Clone for KotlinConfig
Source§fn clone(&self) -> KotlinConfig
fn clone(&self) -> KotlinConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KotlinConfig
impl Debug for KotlinConfig
Source§impl Default for KotlinConfig
impl Default for KotlinConfig
Source§fn default() -> KotlinConfig
fn default() -> KotlinConfig
Source§impl<'de> Deserialize<'de> for KotlinConfig
impl<'de> Deserialize<'de> for KotlinConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for KotlinConfig
impl JsonSchema for KotlinConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for KotlinConfig
impl RefUnwindSafe for KotlinConfig
impl Send for KotlinConfig
impl Sync for KotlinConfig
impl Unpin for KotlinConfig
impl UnsafeUnpin for KotlinConfig
impl UnwindSafe for KotlinConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more