Files
2026-06-30 19:38:28 +02:00

78 lines
2.8 KiB
Plaintext

native :: import "../include/native.h"
pass_alias func(value native.imported_int_alias) native.imported_int {
return value
}
double_value c_func(value c_int) c_int {
return value + value
}
call_mapper func(mapper native.Imported_Mapper) c_int {
return mapper?(21)
}
enum_identity c_func(value native.Imported_Enum) native.Imported_Enum {
return value
}
main func() void {
_ = native.imported_add(pass_alias(20), 22)
_ = native.imported_scalar(3, 4)
_ = native.child_value(7)
_ = native.imported_read(native.imported_handle()?)
_ = native.imported_string("hello")
_ = native.imported_apply(double_value, 21)
enum_value native.Imported_Enum :: native.IMPORTED_ENUM_NEGATIVE
enum_same native.Imported_Enum :: native.IMPORTED_ENUM_SAME
_ = native.imported_enum_check(enum_value, native.IMPORTED_ENUM_VALUE)
_ = native.imported_enum_variadic(-2, enum_same)
enum_record native.Imported_Enum_Record :: native.Imported_Enum_Record { value = native.IMPORTED_ENUM_BACK }
_ = native.imported_enum_record(enum_record)
_ = native.imported_enum_apply(enum_identity, native.imported_enum_global)
_ = native.IMPORTED_ANON_ENUM
_ = call_mapper(double_value)
_ = native.configured_value(9)
_ = native.IMPORTED_SHADOW_OBJECT
_ = native.IMPORTED_SHADOW_FUNCTION
native.imported_global += native.IMPORTED_MAGIC
native.imported_record_global.value += 2
color native.Imported_Color :: native.IMPORTED_COLOR
_ = native.imported_check_state(
color,
native.IMPORTED_MAGIC,
native.imported_const_global,
native.imported_global,
native.imported_record_global.value,
native.IMPORTED_OCTAL,
native.IMPORTED_UINT,
native.IMPORTED_REDEFINED,
native.IMPORTED_ACTIVE_AFTER_INACTIVE_UNDEF,
native.IMPORTED_REPEAT,
native.IMPORTED_HEX_E,
native.IMPORTED_NEG_DECIMAL,
native.IMPORTED_NEG_HEX,
native.IMPORTED_NEG_UINT,
native.IMPORTED_FLOAT,
native.IMPORTED_DOUBLE,
)
partial native.Imported_Color :: native.IMPORTED_PARTIAL_COLOR
nested native.Imported_Zero_Outer :: native.IMPORTED_ZERO_NESTED
first_union native.Imported_Zero_Union :: native.IMPORTED_FIRST_UNION
_ = native.imported_check_zero_state(partial, nested, first_union)
native.imported_mutable_array_record.values[0] = 42
_ = native.imported_check_array_record()
conversions native.Imported_Conversions :: native.IMPORTED_CONVERSIONS
_ = native.imported_check_conversions(conversions)
signed i8 :: -2
unsigned u16 :: 3
float_value f32 :: 4.0
c_float_value c_float :: 5.0
pointer *u8 :: "ok".ptr
nullable ?*u8 :: pointer
_ = native.imported_variadic(7, signed, unsigned, float_value, c_float_value, pointer, nullable)
inline_scalar c_int :: native.imported_inline(5)
inline_record native.Imported_Value :: native.imported_inline_record(native.Imported_Value { value = 7 })
_ = native.imported_check_inline(inline_scalar, inline_record.value)
}