create_elaborated_type2 overloads
macOSLinuxWindows
#import "Bindings_Generator";
Procedures#
Model helpers#
(cur: CXCursor) -> *Declaration
(cur: CXCursor) -> *Declaration
(cur: CXCursor, ty: CXType, func: *Function = null, cursor_is_accurate := true, loc := #caller_location) -> *Function_Type
create_enum2 overloads
(cur: CXCursor, parent: CXCursor, is_function_argument := false, parent_function: *Function = null) -> (*Declaration, extra_parent_flags: Declaration_Flags)
create_literal3 overloads
(tokens: [] CXToken) -> int
(cur: CXCursor) -> *Declaration
(visitor: Declaration_Visitor, visitor_with_data: Declaration_Visitor_With_Data, visitor_data: *void) -> (Declaration_Visitor_With_Data, *void)
(ty: *CType) -> bool
(ty: *CType) -> bool
(type: *CType) -> bool
(target_type: *CType = null) -> bool
(target_type: *CType = null) -> bool
(ty: *CType) -> bool
(expression: *Expression) -> bool
(type: CType) -> bool
(decl: *Declaration) -> bool
(char: u8) -> bool
(name: string) -> bool
(name: string) -> bool
(decl: *Declaration) -> bool
() -> bool
(comment: Comment) -> bool
(type: *CType) -> bool
(existing_declarations: [] *Declaration, decl: *Declaration, allow_overloads: bool) -> (found: bool, other: *Declaration)
_create_declaration2 overloads
(name: string) -> *CType
(children: [] CXCursor) -> int
(generator: *Generator, options: Generate_Bindings_Options)
(generator: *Generator)
Naming helpers#
(name: string) -> string
(name: string, avoid_type_names := false) -> string
(_struct: string)
(name: string, keep_operators_allowed_in_jai := false) -> string
(s: *string)
(builder: *String_Builder, ident: string)
(_enum: *Enum, already_stripped := false)
Modifiers#
(decl: *Declaration, cur: CXCursor)
(func: *Function) -> bool
(builder: *String_Builder, type: *Function_Type, assume_foreign := false)
(builder: *String_Builder, decl: *Declaration)
(func: *Function)
(decl: *Declaration) -> bool
Compatibility tokens#
() -> string
Platform helpers#
(name: string) -> *Library_Info
(full_path: string) -> (success: bool, [] string)
(os := OS, cpu := CPU) -> (libc_path: string, libc_platform_path: string, success: bool)
(full_path: string) -> (success: bool, [] string)
(file_content: string, full_path: string) -> (success: bool, [] string)
(paths: [] string, identifier: string, library_path: string, treat_as_system_library: bool, static_library_suffix := "", shared_library_suffix := "") -> *Library_Info
(name: *string)
(func: *Function) -> bool
ensure_local_libclang_exists2 overloads
()
Emission helpers#
(comment: *Comment, text: string)
Reassigned emission helpers; shared records and context remain canonical.
(builder: *String_Builder, comment: Comment)
get_name_alignment2 overloads
(declarations: [] *Declaration) -> int
(builder: *String_Builder)
(cur: CXCursor) -> string
maybe_add_spacing2 overloads
(builder: *String_Builder, last_location: *Location, location: Location, decl_flags: Declaration_Flags, mimic_type: Mimic_Spacing_Flags)
(cur: CXCursor)
Bindings driver#
generate_bindings2 overloads
(_options: Generate_Bindings_Options, log_results := false) -> (generated_result: String_Builder, success: bool)
(identifier: string) -> bool
(os := OS, cpu := CPU) -> [] string
Binding literals#
(c: u32) -> bool
(suffix: string) -> bool
(suffix: string) -> bool
(c_value: string) -> (value: string, success: bool)
(c_value: string) -> (value: string, success: bool, was_string := false)
Binding tree#
visit_declarations2 overloads
(visitor: Declaration_Visitor_With_Data, data: *void, decl: *Declaration, parent: *Declaration = null, depth := 0)
change_type_to_enum2 overloads
(decl: *Declaration, _enum: *Enum)
change_return_type2 overloads
change_return_type_to_enum4 overloads
change_argument_type_to_enum4 overloads
Binding native options#
(fields: *CXIndexOptions, value: bool)
(fields: CXIndexOptions) -> bool
(fields: *CXIndexOptions, value: bool)
(fields: CXIndexOptions) -> bool
(fields: *CXIndexOptions, value: bool)
(fields: CXIndexOptions) -> bool
Cpp fragments#
(builder: *String_Builder, lit: *Literal, target_type: *CType = null, current_scope: *Declaration = null, print_integers_as_hex := false) -> valid: bool
(builder: *String_Builder, expression: *Expression, target_type: *CType = null, current_scope: *Declaration = null) -> valid: bool
Binding type emission#
(builder: *String_Builder, params: [] *Expression, type_params: [] *Declaration, current_scope: *Declaration)
(builder: *String_Builder, def: *Typedef)
(builder: *String_Builder, _enum: *Enum)
(builder: *String_Builder, _enum: *Enum)
(builder: *String_Builder, ty: *CType, current_scope: *Declaration, flags: Print_Decl_Flags = 0, existing_declarations: *[..] *Declaration = null)
(builder: *String_Builder, type: *Function_Type, current_scope: *Declaration, func: *Function = null, flags: Print_Decl_Flags = 0)
Binding bitfields#
(bitfield: *Bitfield, index: int)
(decl: *Declaration) -> *Declaration
(builder: *String_Builder, decl: *Declaration, current_scope: *Declaration, separator := ".") -> bool
The accessors of one bitfield group, for programs that print records themselves. The names are checked against the global declarations of the active generator.
Declaration emission#
(builder: *String_Builder, _decl: *Declaration, current_scope: *Declaration, flags: Print_Decl_Flags = 0, align_declarations := 0, existing_declarations: *[..] *Declaration = null, explicit_alignment := 0)
(builder: *String_Builder, _struct: *Struct, existing_declarations: *[..] *Declaration, explicit_alignment := 0)
(builder: *String_Builder, ns: *Namespace)
The vtable record, then (as the options say) the wrappers that call its slots and the vtable(obj) accessor.
Value emission#
(builder: *String_Builder, value: $T, as_hex: bool)
(builder: *String_Builder, lit: *Literal, target_type: *CType = null, current_scope: *Declaration = null, print_integers_as_hex := false) -> did_print_enum: bool
(builder: *String_Builder, expression: *Expression, target_type: *CType = null, current_scope: *Declaration = null, print_integers_as_hex := false) -> did_print_enum: bool
(builder: *String_Builder, tokens: [] CXToken, start_index: int, _enum: *Enum) -> (bool, end_index: int)
Macro expressions#
(token: CXToken) -> string
(value: Macro_Value) -> string
(cur: CXCursor) -> *Expression
(decl: *Declaration)
Generator run#
Binding cursor source#
(ty: CXType, arguments: *[..] *Expression, children: [] CXCursor, location_cur: CXCursor) -> (bool, int)
as_str2 overloads
(cur: CXCursor, all_info := false) -> string
(location: Location) -> string
log2 overloads
(cur: CXCursor, format_string: string, args: ..Any, loc := #caller_location, flags := Log_Flags.NONE, user_flags: u32 = 0)
log_error2 overloads
(cur: CXCursor, format_string: string, args: ..Any, loc := #caller_location, flags := Log_Flags.NONE, user_flags: u32 = 0)
(cur: CXCursor) -> string
Binding type queries#
(flags: Number_Flags) -> u32
(type: *CType) -> bool
(type: *CType, output_name := true, strip_pointers := false) -> string
Binding expression normalization#
(decl: *Declaration)
Binding declaration visitors#
(existing_declarations: *[..] *Declaration, decl: *Declaration, allow_overloads := true, insert := true, try_parent_prefix := false)
(name: string) -> string
should_unwrap_typedef2 overloads
(name: string) -> bool
(builder: *String_Builder, decl: *Declaration, current_scope: *Declaration, location: Location, separator := ".", skip_flattened_namespaces := true) -> bool
Binding model properties#
(t: *CType) -> bool
(t: *CType) -> bool
Binding native properties#
(ty: CXType) -> s64
() -> *Literal
Types#
:: #type (decl: *Declaration, parent_decl: *Declaration) -> Declaration_Visit_Result
:: #type (decl: *Declaration, parent_decl: *Declaration, user_data: *void) -> Declaration_Visit_Result
:: #type (func: *Function, type: *Function_Type, mode: Arg_Print_Mode) -> [] *Declaration
C_Kindenum
:: enum
Number_Flagsenum flags
:: enum_flags
Declaration_Flagsenum flags
:: enum_flags
Strip_Flagsenum flags
:: enum_flags
Mimic_Spacing_Flagsenum flags
:: enum_flags
Print_Decl_Flagsenum flags
:: enum_flags
Arg_Print_Modeenum
:: enum
:: enum
CXFiletype
:: *void
CXTokenstruct
:: struct
CXTokenKindenum
:: enum
CX_StorageClassenum
:: enum
:: enum
CXStringstruct
:: struct
CXCursorKindenum
:: enum
CXCursorstruct
:: struct
CXTypeKindenum
:: enum
CXTypestruct
:: struct
CXErrorCodeenum
:: enum
CXTranslationUnitImplstruct
:: struct
CXUnsavedFilestruct
:: struct
:: enum
CXSourceLocationstruct
:: struct
CXSourceRangestruct
:: struct
:: enum
CXIndexOptionsstruct
:: struct
CXEvalResultKindenum
:: enum
CXVirtualFileOverlayImplstruct
:: struct
:: struct
:: enum
:: enum
CXCallingConvenum
:: enum
CXChoiceenum
:: enum
CXCodeCompleteResultsstruct
:: struct
CXCodeComplete_Flagsenum flags
:: enum_flags
:: enum
CXCompletionContextenum flags
:: enum_flags
CXCompletionResultstruct
:: struct
:: *void
CXCursorAndRangeVisitorstruct
:: struct
CXCursorSettype
:: *CXCursorSetImpl
CXCursorSetImplstruct
:: struct
:: enum
:: enum
CXDiagnosticSettype
:: *void
CXFieldVisitortype
:: #type (C: CXCursor, client_data: CXClientData) -> CXVisitorResult #c_call
CXFileUniqueIDstruct
:: struct
CXGlobalOptFlagsenum
:: enum
CXIdxAttrInfostruct
:: struct
CXIdxAttrKindenum
:: enum
CXIdxBaseClassInfostruct
:: struct
CXIdxCXXClassDeclInfostruct
:: struct
:: *void
:: *void
:: *void
CXIdxClientFiletype
:: *void
CXIdxContainerInfostruct
:: struct
CXIdxDeclInfostruct
:: struct
:: enum
:: enum
CXIdxEntityInfostruct
:: struct
CXIdxEntityKindenum
:: enum
:: enum
CXIdxEntityRefInfostruct
:: struct
:: enum
:: struct
CXIdxImportedASTFileInfostruct
:: struct
CXIdxIncludedFileInfostruct
:: struct
CXIdxLocstruct
:: struct
:: struct
:: struct
:: enum
:: struct
:: struct
CXIdxObjCProtocolRefInfostruct
:: struct
:: struct
:: #type (included_file: CXFile, inclusion_stack: *CXSourceLocation, include_len: u32, client_data: CXClientData) -> void #c_call
CXIndexActiontype
:: *void
CXIndexOptFlagsenum
:: enum
CXLanguageKindenum
:: enum
CXLinkageKindenum
:: enum
CXLoadDiag_Errorenum
:: enum
CXModuletype
:: *void
CXNameRefFlagsenum
:: enum
:: enum
:: enum
CXPlatformAvailabilitystruct
:: struct
CXPrintingPolicytype
:: *void
:: enum
:: enum
CXRemappingtype
:: *void
CXReparse_Flagsenum flags
:: enum_flags
CXResultenum
:: enum
CXSaveErrorenum
:: enum
CXSaveTranslationUnit_Flagsenum flags
:: enum_flags
CXSourceRangeListstruct
:: struct
CXStringSetstruct
:: struct
CXSymbolRoleenum
:: enum
CXTLSKindenum
:: enum
CXTUResourceUsagestruct
:: struct
CXTUResourceUsageEntrystruct
:: struct
:: enum
CXTargetInfotype
:: *CXTargetInfoImpl
CXTargetInfoImplstruct
:: struct
:: enum
CXTranslationUnit_Flagsenum flags
:: enum_flags
:: enum
:: enum
CXVersionstruct
:: struct
CXVisibilityKindenum
:: enum
CXVisitorResultenum
:: enum
:: enum
:: enum
IndexerCallbacksstruct
:: struct
CTypestruct
:: struct
Function_Typestruct
:: struct
Expressionstruct
:: struct
Type_Referencestruct
:: struct
Literalstruct
:: struct
Macro_Valuestruct
:: struct
Unary_Operatorstruct
:: struct
Binary_Operatorstruct
:: struct
Paren_Expressionstruct
:: struct
Struct_Literalstruct
:: struct
Locationstruct
:: struct
Commentstruct
:: struct
Declarationstruct
:: struct
Blockstruct
:: struct
Namespacestruct
:: struct
Structstruct
:: struct
Declaration_Overlaystruct
:: struct
Struct_Extra_Infostruct
:: struct
Bitfieldstruct
:: struct
Bitfield_Statusstruct
:: struct
Enumstruct
:: struct
Typedefstruct
:: struct
Functionstruct
:: struct
ComUuidstruct
:: struct
Generatorstruct
:: struct
Single canonical storage, from the public type inventory.
Token_Infostruct
:: struct
Library_Symbolsstruct
:: struct
:: struct
Librarystruct
:: struct
Library_Infostruct
:: struct
Bridge_Datastruct
:: struct
:: struct
Constants#
:: false
:: false
:: false
:: 21
:: " "
:: string.["cast", "context", "false", "is_constant", "null", "remove", "true", "type_info", "xx", "interface", "Any", "bool", "float", "float32", "float64", "int" ...
:: string.["Type"]
:: string.["int8_t", "uint8_t", "int16_t", "uint16_t", "int32_t", "uint32_t", "int64_t", "uint64_t", "intptr_t", "size_t", "ssize_t", "__ssize_t", "__size_t", "off ...
:: string.["__darwin_", "__kernel_"]
:: string.["__GCC_HAVE_DWARF2_CFI_ASM", "WIN32_LEAN_AND_MEAN"]
:: #insert #run generate_replacements_array()