class · System.Bindings

BindingRunner

public class System.Bindings.BindingRunner : System.Any

Runs a profile for larva bind (larva calls it; a profile does not).

Kind
class
Namespace
System.Bindings
Assembly
System.Bindings
Access
public, static, abstract
Source file
Profile.ant

Inheritance

Base classes
Any BindingRunner

Methods

static method WriteSettings(s: System.Bindings.BindingSettings, output: System.String<u8>) -> void
#

static

The settings Configure gives, written to output for larva (one key=value a line; lists repeat the key).

static method Run(profile: System.Bindings.IBindingProfile, model: System.Bindings.BindingModel, output: System.String<u8>) -> void
#

static

The profile asked about every declaration of model, the names and places settled, and the binding written to output as a description larva reads (library, namespace, class, file, enums, structs, constants, functions).

static method Unique(taken: System.Dictionary<System.String<u8>, System.String<u8>>, place: System.String<u8>, name: System.String<u8>, cName: System.String<u8>, what: System.String<u8>) -> System.String<u8>
#

static

name in place when nothing else has it there, else the C name (and a warning).

static method Line(text: System.StringBuilder, key: System.String<u8>, value: System.String<u8>) -> void
#

static

static method Both(first: System.List<System.String<u8>>, second: System.List<System.String<u8>>) -> System.List<System.String<u8>>
#

static

static method Retype(type: System.Bindings.CType, typedefs: System.Dictionary<System.String<u8>, System.String<u8>>) -> void
#

static

A number type written with typedefs' enum takes it (pointers keep their stars).

static method HeaderName(s: System.Bindings.BindingSettings, header: System.String<u8>) -> System.String<u8>
#

static

The name a header gives its namespace, class or file: its stem without the settings' prefixes, in Pascal case.

static method NamespaceOf(s: System.Bindings.BindingSettings, given: System.String<u8>, header: System.String<u8>) -> System.String<u8>
#

static

static method ClassOf(model: System.Bindings.BindingModel, given: System.String<u8>, ns: System.String<u8>, header: System.String<u8>) -> System.String<u8>
#

static

The class of a function or constant; one with the name of a type of its namespace gets Functions after it.

static method FileOf(s: System.Bindings.BindingSettings, given: System.String<u8>, kind: System.String<u8>, ns: System.String<u8>, cls: System.String<u8>, header: System.String<u8>) -> System.String<u8>
#

static

The file a declaration goes to (its stem: larva adds the language's extension); "" is the class's file.

static method Renamed(text: System.String<u8>, names: System.Dictionary<System.String<u8>, System.String<u8>>) -> System.String<u8>
#

static

text with every name of names replaced (SDL_Rect* → Rect*).

static method Describe(model: System.Bindings.BindingModel, typeNames: System.Dictionary<System.String<u8>, System.String<u8>>) -> System.String<u8>
#

static

The binding as larva's description: the first library, then each declaration after where it goes.

Inherited members (5)

Source

BindingRunner as Larva HIR, decompiled from its Larva HIR.

System.Bindings.BindingRunner.hir
// Runs a profile for `larva bind` (larva calls it; a profile does not).
public class System.Bindings.BindingRunner : System.Any
{
    // The settings `Configure` gives, written to `output` for larva (one `key=value` a line; lists repeat the key).
    static method WriteSettings(s: System.Bindings.BindingSettings, output: System.String<u8>) -> void
    // The profile asked about every declaration of `model`, the names and places settled, and the binding written to
    // `output` as a description larva reads (`library`, `namespace`, `class`, `file`, enums, structs, constants, functions).
    static method Run(profile: System.Bindings.IBindingProfile, model: System.Bindings.BindingModel, output: System.String<u8>) -> void
    // `name` in `place` when nothing else has it there, else the C name (and a warning).
    static method Unique(taken: System.Dictionary<System.String<u8>, System.String<u8>>, place: System.String<u8>, name: System.String<u8>, cName: System.String<u8>, what: System.String<u8>) -> System.String<u8>
    static method Line(text: System.StringBuilder, key: System.String<u8>, value: System.String<u8>) -> void
    static method Both(first: System.List<System.String<u8>>, second: System.List<System.String<u8>>) -> System.List<System.String<u8>>
    // A number type written with `typedefs`' enum takes it (pointers keep their stars).
    static method Retype(type: System.Bindings.CType, typedefs: System.Dictionary<System.String<u8>, System.String<u8>>) -> void
    // The name a header gives its namespace, class or file: its stem without the settings' prefixes, in Pascal case.
    static method HeaderName(s: System.Bindings.BindingSettings, header: System.String<u8>) -> System.String<u8>
    static method NamespaceOf(s: System.Bindings.BindingSettings, given: System.String<u8>, header: System.String<u8>) -> System.String<u8>
    // The class of a function or constant; one with the name of a type of its namespace gets `Functions` after it.
    static method ClassOf(model: System.Bindings.BindingModel, given: System.String<u8>, ns: System.String<u8>, header: System.String<u8>) -> System.String<u8>
    // The file a declaration goes to (its stem: larva adds the language's extension); "" is the class's file.
    static method FileOf(s: System.Bindings.BindingSettings, given: System.String<u8>, kind: System.String<u8>, ns: System.String<u8>, cls: System.String<u8>, header: System.String<u8>) -> System.String<u8>
    // `text` with every name of `names` replaced (`SDL_Rect*` → `Rect*`).
    static method Renamed(text: System.String<u8>, names: System.Dictionary<System.String<u8>, System.String<u8>>) -> System.String<u8>
    // The binding as larva's description: the first library, then each declaration after where it goes.
    static method Describe(model: System.Bindings.BindingModel, typeNames: System.Dictionary<System.String<u8>, System.String<u8>>) -> System.String<u8>
}
Esc