class · System.Bindings

BindingSettings

public class System.Bindings.BindingSettings : System.Any

The binding's settings: what is read, where it goes, and the rules every name follows unless a hook says otherwise. Configure fills them; what the command line names (libraries, headers, -I, -o) comes on top.

Kind
class
Namespace
System.Bindings
Assembly
System.Bindings
Access
public, final
Source file
Model.ant

Inheritance

Base classes
Any BindingSettings

Fields

field Libraries: System.List<System.String<u8>>
#

The native libraries (paths from the profile's folder, or names in the system's folder: kernel32.dll). The first is the one the functions are imported from.

field Headers: System.List<System.String<u8>>
#

The C headers read (through clang when it is installed).

field Includes: System.List<System.String<u8>>
#

Folders the headers' #includes are found in; their #defines become constants.

field Namespace: System.String<u8>
#

The root namespace of the binding.

field Class: System.String<u8>
#

The static class of the functions and constants (by default: the library's name).

field Assembly: System.String<u8>
#

The assembly's name (by default: the class + Bindings).

field Output: System.String<u8>
#

The Larva library written (by default: the assembly's name, .dll, next to the profile).

field Source: System.String<u8>
#

The folder the source of the binding is written to ("": none, unless the command line says --source).

field Split: System.Bindings.SplitBy
#

How the source is split into files.

Functions the library does not export.

field LongBits: i32
#

The size of C's long in bits: 32 (Windows) or 64 (Linux, macOS).

field AllHeaders: bool
#

Every declaration read, or (false) only what the headers and include folders declare and the system types they use.

field EnumsFromC: bool
#

C enums become enums (else their values are constants).

field AutoFlags: bool
#

An enum whose values are distinct bits (three or more) is a bitflag enum.

field NamespaceByHeader: bool
#

Each header's declarations go to a sub-namespace named after it (SDL3.Video).

field ClassByHeader: bool
#

Each header's functions and constants go to a class named after it (Video).

field HeaderStrip: System.List<System.String<u8>>
#

Prefixes stripped from the stem of a header where it names a namespace, class or file (lib_ of lib_core.h; none: Strip).

field Strip: System.List<System.String<u8>>
#

Prefixes stripped from every C name (the longest that fits first), and from each kind's.

field StripTypes: System.List<System.String<u8>>
#
field StripFunctions: System.List<System.String<u8>>
#
field StripConstants: System.List<System.String<u8>>
#
field TypeCase: System.Bindings.NameCase
#

The case of each kind of name.

field FunctionCase: System.Bindings.NameCase
#
field ConstantCase: System.Bindings.NameCase
#
field FieldCase: System.Bindings.NameCase
#
field ParameterCase: System.Bindings.NameCase
#
field MemberCase: System.Bindings.NameCase
#
field StripMemberPrefix: bool
#

Enum members lose the prefix they share (SDL_INIT_VIDEO → Video in InitFlags).

Inherited members (5)

Source

BindingSettings as Larva HIR, decompiled from its Larva HIR.

System.Bindings.BindingSettings.hir
// The binding's settings: what is read, where it goes, and the rules every name follows unless a hook says otherwise.
// `Configure` fills them; what the command line names (libraries, headers, -I, -o) comes on top.
public class System.Bindings.BindingSettings : System.Any
{
    // The native libraries (paths from the profile's folder, or names in the system's folder: `kernel32.dll`).
    // The first is the one the functions are imported from.
    field Libraries: System.List<System.String<u8>>
    // The C headers read (through clang when it is installed).
    field Headers: System.List<System.String<u8>>
    // Folders the headers' `#include`s are found in; their `#define`s become constants.
    field Includes: System.List<System.String<u8>>
    // The root namespace of the binding.
    field Namespace: System.String<u8>
    // The static class of the functions and constants (by default: the library's name).
    field Class: System.String<u8>
    // The assembly's name (by default: the class + `Bindings`).
    field Assembly: System.String<u8>
    // The Larva library written (by default: the assembly's name, `.dll`, next to the profile).
    field Output: System.String<u8>
    // The folder the source of the binding is written to ("": none, unless the command line says `--source`).
    field Source: System.String<u8>
    // How the source is split into files.
    field Split: System.Bindings.SplitBy
    // Functions the library does not export.
    field Exports: System.Bindings.ExportCheck
    // The size of C's `long` in bits: 32 (Windows) or 64 (Linux, macOS).
    field LongBits: i32
    // Every declaration read, or (false) only what the headers and include folders declare and the system types they use.
    field AllHeaders: bool
    // C enums become enums (else their values are constants).
    field EnumsFromC: bool
    // An enum whose values are distinct bits (three or more) is a bitflag enum.
    field AutoFlags: bool
    // Each header's declarations go to a sub-namespace named after it (`SDL3.Video`).
    field NamespaceByHeader: bool
    // Each header's functions and constants go to a class named after it (`Video`).
    field ClassByHeader: bool
    // Prefixes stripped from the stem of a header where it names a namespace, class or file (`lib_` of `lib_core.h`; none: `Strip`).
    field HeaderStrip: System.List<System.String<u8>>
    // Prefixes stripped from every C name (the longest that fits first), and from each kind's.
    field Strip: System.List<System.String<u8>>
    field StripTypes: System.List<System.String<u8>>
    field StripFunctions: System.List<System.String<u8>>
    field StripConstants: System.List<System.String<u8>>
    // The case of each kind of name.
    field TypeCase: System.Bindings.NameCase
    field FunctionCase: System.Bindings.NameCase
    field ConstantCase: System.Bindings.NameCase
    field FieldCase: System.Bindings.NameCase
    field ParameterCase: System.Bindings.NameCase
    field MemberCase: System.Bindings.NameCase
    // Enum members lose the prefix they share (`SDL_INIT_VIDEO` → `Video` in `InitFlags`).
    field StripMemberPrefix: bool
}
Esc