From 2fc0529416b98d2d164cfda37d3434b7ff48ebdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C4=81vis=20Mos=C4=81ns?= Date: Mon, 2 Feb 2026 21:39:20 +0200 Subject: [PATCH] Expose properties for types They're not used by `ffi_generator` but other projects can use this library. --- .../generators/from_c_generator/array_type.rb | 3 +++ .../generators/from_c_generator/by_value_type.rb | 2 ++ .../generators/from_c_generator/primitive_type.rb | 2 ++ .../generators/from_c_generator/struct_or_union.rb | 8 ++++++++ 4 files changed, 15 insertions(+) diff --git a/lib/ffi_generator/generators/from_c_generator/array_type.rb b/lib/ffi_generator/generators/from_c_generator/array_type.rb index f4b4955..6e259f8 100644 --- a/lib/ffi_generator/generators/from_c_generator/array_type.rb +++ b/lib/ffi_generator/generators/from_c_generator/array_type.rb @@ -2,6 +2,9 @@ module FFIGenerate class Generator class ArrayType < Type + attr_reader :element_type + attr_reader :constant_size + def initialize(element_type, constant_size) @element_type = element_type @constant_size = constant_size diff --git a/lib/ffi_generator/generators/from_c_generator/by_value_type.rb b/lib/ffi_generator/generators/from_c_generator/by_value_type.rb index 394ee80..4e86918 100644 --- a/lib/ffi_generator/generators/from_c_generator/by_value_type.rb +++ b/lib/ffi_generator/generators/from_c_generator/by_value_type.rb @@ -2,6 +2,8 @@ module FFIGenerate class Generator class ByValueType < Type + attr_reader :inner_type + def initialize(inner_type) @inner_type = inner_type end diff --git a/lib/ffi_generator/generators/from_c_generator/primitive_type.rb b/lib/ffi_generator/generators/from_c_generator/primitive_type.rb index 708769a..0303f3e 100644 --- a/lib/ffi_generator/generators/from_c_generator/primitive_type.rb +++ b/lib/ffi_generator/generators/from_c_generator/primitive_type.rb @@ -2,6 +2,8 @@ module FFIGenerate class Generator class PrimitiveType < Type + attr_reader :clang_type + def initialize(clang_type) @clang_type = clang_type end diff --git a/lib/ffi_generator/generators/from_c_generator/struct_or_union.rb b/lib/ffi_generator/generators/from_c_generator/struct_or_union.rb index 74cc46f..544f526 100644 --- a/lib/ffi_generator/generators/from_c_generator/struct_or_union.rb +++ b/lib/ffi_generator/generators/from_c_generator/struct_or_union.rb @@ -66,6 +66,14 @@ def write_ruby @written = true end + def struct? + !@is_union + end + + def union? + @is_union + end + def ruby_name @ruby_name ||= @name.to_ruby_classname end