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 more