ffi-clang 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - checksums.yaml.gz.sig +0 -0
 - data/ext/rakefile.rb +2 -2
 - data/lib/ffi/clang/clang_version.rb +7 -3
 - data/lib/ffi/clang/code_completion.rb +121 -44
 - data/lib/ffi/clang/comment.rb +164 -57
 - data/lib/ffi/clang/compilation_database.rb +79 -25
 - data/lib/ffi/clang/cursor.rb +395 -149
 - data/lib/ffi/clang/diagnostic.rb +57 -23
 - data/lib/ffi/clang/error.rb +12 -0
 - data/lib/ffi/clang/file.rb +30 -11
 - data/lib/ffi/clang/index.rb +37 -13
 - data/lib/ffi/clang/lib/clang_version.rb +2 -2
 - data/lib/ffi/clang/lib/code_completion.rb +15 -11
 - data/lib/ffi/clang/lib/comment.rb +16 -14
 - data/lib/ffi/clang/lib/compilation_database.rb +5 -5
 - data/lib/ffi/clang/lib/cursor.rb +74 -56
 - data/lib/ffi/clang/lib/diagnostic.rb +14 -14
 - data/lib/ffi/clang/lib/file.rb +10 -6
 - data/lib/ffi/clang/lib/inclusions.rb +3 -3
 - data/lib/ffi/clang/lib/index.rb +7 -5
 - data/lib/ffi/clang/lib/printing_policy.rb +36 -36
 - data/lib/ffi/clang/lib/source_location.rb +9 -7
 - data/lib/ffi/clang/lib/source_range.rb +5 -3
 - data/lib/ffi/clang/lib/string.rb +9 -4
 - data/lib/ffi/clang/lib/token.rb +17 -4
 - data/lib/ffi/clang/lib/translation_unit.rb +17 -13
 - data/lib/ffi/clang/lib/type.rb +20 -17
 - data/lib/ffi/clang/lib.rb +35 -19
 - data/lib/ffi/clang/platform.rb +25 -0
 - data/lib/ffi/clang/printing_policy.rb +31 -18
 - data/lib/ffi/clang/source_location.rb +119 -36
 - data/lib/ffi/clang/source_range.rb +30 -12
 - data/lib/ffi/clang/token.rb +48 -23
 - data/lib/ffi/clang/translation_unit.rb +97 -33
 - data/lib/ffi/clang/types/array.rb +15 -1
 - data/lib/ffi/clang/types/elaborated.rb +21 -6
 - data/lib/ffi/clang/types/function.rb +35 -10
 - data/lib/ffi/clang/types/pointer.rb +23 -7
 - data/lib/ffi/clang/types/record.rb +23 -8
 - data/lib/ffi/clang/types/type.rb +83 -35
 - data/lib/ffi/clang/types/type_def.rb +14 -2
 - data/lib/ffi/clang/types/vector.rb +13 -1
 - data/lib/ffi/clang/unsaved_file.rb +18 -8
 - data/lib/ffi/clang/version.rb +4 -2
 - data/lib/ffi/clang.rb +23 -45
 - data/license.md +3 -2
 - data/readme.md +12 -13
 - data/releases.md +5 -0
 - data.tar.gz.sig +0 -0
 - metadata +10 -10
 - metadata.gz.sig +0 -0
 
    
        data/lib/ffi/clang/types/type.rb
    CHANGED
    
    | 
         @@ -2,97 +2,145 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            # Released under the MIT License.
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Copyright, 2013, by Carlos Martín Nieto.
         
     | 
| 
       5 
     | 
    
         
            -
            # Copyright, 2013- 
     | 
| 
      
 5 
     | 
    
         
            +
            # Copyright, 2013-2025, by Samuel Williams.
         
     | 
| 
       6 
6 
     | 
    
         
             
            # Copyright, 2013, by Takeshi Watanabe.
         
     | 
| 
       7 
7 
     | 
    
         
             
            # Copyright, 2014, by Masahiro Sano.
         
     | 
| 
       8 
8 
     | 
    
         
             
            # Copyright, 2014, by Niklas Therning.
         
     | 
| 
       9 
     | 
    
         
            -
            # Copyright, 2024, by Charlie Savage.
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Copyright, 2024-2025, by Charlie Savage.
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            module FFI
         
     | 
| 
       12 
12 
     | 
    
         
             
            	module Clang
         
     | 
| 
       13 
13 
     | 
    
         
             
            		module Types
         
     | 
| 
      
 14 
     | 
    
         
            +
            			# Represents a type in the C/C++ type system.
         
     | 
| 
      
 15 
     | 
    
         
            +
            			# This class wraps libclang's type representation and provides methods to query type properties.
         
     | 
| 
       14 
16 
     | 
    
         
             
            			class Type
         
     | 
| 
      
 17 
     | 
    
         
            +
            				# @attribute [r] type
         
     | 
| 
      
 18 
     | 
    
         
            +
            				# 	@returns [FFI::Struct] The underlying CXType structure.
         
     | 
| 
      
 19 
     | 
    
         
            +
            				# @attribute [r] translation_unit
         
     | 
| 
      
 20 
     | 
    
         
            +
            				# 	@returns [TranslationUnit] The translation unit this type belongs to.
         
     | 
| 
       15 
21 
     | 
    
         
             
            				attr_reader :type, :translation_unit
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            				#  
     | 
| 
      
 22 
     | 
    
         
            +
            				
         
     | 
| 
      
 23 
     | 
    
         
            +
            				# Create a type instance of the appropriate subclass based on the type kind.
         
     | 
| 
      
 24 
     | 
    
         
            +
            				# @parameter cxtype [FFI::Struct] The low-level CXType structure.
         
     | 
| 
      
 25 
     | 
    
         
            +
            				# @parameter translation_unit [TranslationUnit] The translation unit this type belongs to.
         
     | 
| 
      
 26 
     | 
    
         
            +
            				# @returns [Type] A Type instance of the appropriate subclass.
         
     | 
| 
       18 
27 
     | 
    
         
             
            				def self.create(cxtype, translation_unit)
         
     | 
| 
       19 
28 
     | 
    
         
             
            					case cxtype[:kind]
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
            					when :type_pointer, :type_block_pointer, :type_obj_c_object_pointer, :type_member_pointer
         
     | 
| 
      
 30 
     | 
    
         
            +
            						Pointer.new(cxtype, translation_unit)
         
     | 
| 
      
 31 
     | 
    
         
            +
            					when :type_constant_array, :type_incomplete_array, :type_variable_array, :type_dependent_sized_array
         
     | 
| 
      
 32 
     | 
    
         
            +
            						Array.new(cxtype, translation_unit)
         
     | 
| 
      
 33 
     | 
    
         
            +
            					when :type_vector
         
     | 
| 
      
 34 
     | 
    
         
            +
            						Vector.new(cxtype, translation_unit)
         
     | 
| 
      
 35 
     | 
    
         
            +
            					when :type_function_no_proto, :type_function_proto
         
     | 
| 
      
 36 
     | 
    
         
            +
            						Function.new(cxtype, translation_unit)
         
     | 
| 
      
 37 
     | 
    
         
            +
            					when :type_elaborated
         
     | 
| 
      
 38 
     | 
    
         
            +
            						Elaborated.new(cxtype, translation_unit)
         
     | 
| 
      
 39 
     | 
    
         
            +
            					when :type_typedef
         
     | 
| 
      
 40 
     | 
    
         
            +
            						TypeDef.new(cxtype, translation_unit)
         
     | 
| 
      
 41 
     | 
    
         
            +
            					when :type_record
         
     | 
| 
      
 42 
     | 
    
         
            +
            						Record.new(cxtype, translation_unit)
         
     | 
| 
      
 43 
     | 
    
         
            +
            					else
         
     | 
| 
      
 44 
     | 
    
         
            +
            						Type.new(cxtype, translation_unit)
         
     | 
| 
       36 
45 
     | 
    
         
             
            					end
         
     | 
| 
       37 
46 
     | 
    
         
             
            				end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
            				
         
     | 
| 
      
 48 
     | 
    
         
            +
            				# Create a new type instance.
         
     | 
| 
      
 49 
     | 
    
         
            +
            				# @parameter type [FFI::Struct] The low-level CXType structure.
         
     | 
| 
      
 50 
     | 
    
         
            +
            				# @parameter translation_unit [TranslationUnit] The translation unit this type belongs to.
         
     | 
| 
       39 
51 
     | 
    
         
             
            				def initialize(type, translation_unit)
         
     | 
| 
       40 
52 
     | 
    
         
             
            					@type = type
         
     | 
| 
       41 
53 
     | 
    
         
             
            					@translation_unit = translation_unit
         
     | 
| 
       42 
54 
     | 
    
         
             
            				end
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 55 
     | 
    
         
            +
            				
         
     | 
| 
      
 56 
     | 
    
         
            +
            				# Get the kind of this type.
         
     | 
| 
      
 57 
     | 
    
         
            +
            				# @returns [Symbol] The type kind (e.g., :type_int, :type_pointer).
         
     | 
| 
       44 
58 
     | 
    
         
             
            				def kind
         
     | 
| 
       45 
59 
     | 
    
         
             
            					@type[:kind]
         
     | 
| 
       46 
60 
     | 
    
         
             
            				end
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 61 
     | 
    
         
            +
            				
         
     | 
| 
      
 62 
     | 
    
         
            +
            				# Get the spelling of this type's kind.
         
     | 
| 
      
 63 
     | 
    
         
            +
            				# @returns [String] A human-readable string describing the type kind.
         
     | 
| 
       48 
64 
     | 
    
         
             
            				def kind_spelling
         
     | 
| 
       49 
65 
     | 
    
         
             
            					Lib.extract_string Lib.get_type_kind_spelling @type[:kind]
         
     | 
| 
       50 
66 
     | 
    
         
             
            				end
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
      
 67 
     | 
    
         
            +
            				
         
     | 
| 
      
 68 
     | 
    
         
            +
            				# Get the spelling of this type.
         
     | 
| 
      
 69 
     | 
    
         
            +
            				# @returns [String] The type as it would appear in source code.
         
     | 
| 
       52 
70 
     | 
    
         
             
            				def spelling
         
     | 
| 
       53 
71 
     | 
    
         
             
            					Lib.extract_string Lib.get_type_spelling(@type)
         
     | 
| 
       54 
72 
     | 
    
         
             
            				end
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
      
 73 
     | 
    
         
            +
            				
         
     | 
| 
      
 74 
     | 
    
         
            +
            				# Get the canonical type.
         
     | 
| 
      
 75 
     | 
    
         
            +
            				# @returns [Type] The canonical (unqualified, unaliased) form of this type.
         
     | 
| 
      
 76 
     | 
    
         
            +
            				def canonical
         
     | 
| 
      
 77 
     | 
    
         
            +
            					Type.create Lib.get_canonical_type(@type), @translation_unit
         
     | 
| 
      
 78 
     | 
    
         
            +
            				end
         
     | 
| 
      
 79 
     | 
    
         
            +
            				
         
     | 
| 
      
 80 
     | 
    
         
            +
            				# Check if this is a Plain Old Data (POD) type.
         
     | 
| 
      
 81 
     | 
    
         
            +
            				# @returns [Boolean] True if this is a POD type.
         
     | 
| 
       56 
82 
     | 
    
         
             
            				def pod?
         
     | 
| 
       57 
83 
     | 
    
         
             
            					Lib.is_pod_type(@type) != 0
         
     | 
| 
       58 
84 
     | 
    
         
             
            				end
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
      
 85 
     | 
    
         
            +
            				
         
     | 
| 
      
 86 
     | 
    
         
            +
            				# Check if this type is const-qualified.
         
     | 
| 
      
 87 
     | 
    
         
            +
            				# @returns [Boolean] True if the type has a const qualifier.
         
     | 
| 
       60 
88 
     | 
    
         
             
            				def const_qualified?
         
     | 
| 
       61 
89 
     | 
    
         
             
            					Lib.is_const_qualified_type(@type) != 0
         
     | 
| 
       62 
90 
     | 
    
         
             
            				end
         
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
      
 91 
     | 
    
         
            +
            				
         
     | 
| 
      
 92 
     | 
    
         
            +
            				# Check if this type is volatile-qualified.
         
     | 
| 
      
 93 
     | 
    
         
            +
            				# @returns [Boolean] True if the type has a volatile qualifier.
         
     | 
| 
       64 
94 
     | 
    
         
             
            				def volatile_qualified?
         
     | 
| 
       65 
95 
     | 
    
         
             
            					Lib.is_volatile_qualified_type(@type) != 0
         
     | 
| 
       66 
96 
     | 
    
         
             
            				end
         
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
      
 97 
     | 
    
         
            +
            				
         
     | 
| 
      
 98 
     | 
    
         
            +
            				# Check if this type is restrict-qualified.
         
     | 
| 
      
 99 
     | 
    
         
            +
            				# @returns [Boolean] True if the type has a restrict qualifier.
         
     | 
| 
       68 
100 
     | 
    
         
             
            				def restrict_qualified?
         
     | 
| 
       69 
101 
     | 
    
         
             
            					Lib.is_restrict_qualified_type(@type) != 0
         
     | 
| 
       70 
102 
     | 
    
         
             
            				end
         
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
      
 103 
     | 
    
         
            +
            				
         
     | 
| 
      
 104 
     | 
    
         
            +
            				# Get the alignment of this type in bytes.
         
     | 
| 
      
 105 
     | 
    
         
            +
            				# @returns [Integer] The alignment requirement in bytes.
         
     | 
| 
       72 
106 
     | 
    
         
             
            				def alignof
         
     | 
| 
       73 
107 
     | 
    
         
             
            					Lib.type_get_align_of(@type)
         
     | 
| 
       74 
108 
     | 
    
         
             
            				end
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
      
 109 
     | 
    
         
            +
            				
         
     | 
| 
      
 110 
     | 
    
         
            +
            				# Get the size of this type in bytes.
         
     | 
| 
      
 111 
     | 
    
         
            +
            				# @returns [Integer] The size in bytes, or -1 if the size cannot be determined.
         
     | 
| 
       76 
112 
     | 
    
         
             
            				def sizeof
         
     | 
| 
       77 
113 
     | 
    
         
             
            					Lib.type_get_size_of(@type)
         
     | 
| 
       78 
114 
     | 
    
         
             
            				end
         
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
      
 115 
     | 
    
         
            +
            				
         
     | 
| 
      
 116 
     | 
    
         
            +
            				# Get the ref-qualifier for this type (C++ only).
         
     | 
| 
      
 117 
     | 
    
         
            +
            				# @returns [Symbol] The ref-qualifier (:ref_qualifier_none, :ref_qualifier_lvalue, :ref_qualifier_rvalue).
         
     | 
| 
       80 
118 
     | 
    
         
             
            				def ref_qualifier
         
     | 
| 
       81 
119 
     | 
    
         
             
            					Lib.type_get_cxx_ref_qualifier(@type)
         
     | 
| 
       82 
120 
     | 
    
         
             
            				end
         
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
      
 121 
     | 
    
         
            +
            				
         
     | 
| 
      
 122 
     | 
    
         
            +
            				# Get the cursor for the declaration of this type.
         
     | 
| 
      
 123 
     | 
    
         
            +
            				# @returns [Cursor] The cursor representing the type declaration.
         
     | 
| 
       84 
124 
     | 
    
         
             
            				def declaration
         
     | 
| 
       85 
125 
     | 
    
         
             
            					Cursor.new Lib.get_type_declaration(@type), @translation_unit
         
     | 
| 
       86 
126 
     | 
    
         
             
            				end
         
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
      
 127 
     | 
    
         
            +
            				
         
     | 
| 
      
 128 
     | 
    
         
            +
            				# Get the non-reference type.
         
     | 
| 
      
 129 
     | 
    
         
            +
            				# For reference types, returns the type that is being referenced.
         
     | 
| 
      
 130 
     | 
    
         
            +
            				# @returns [Type] The non-reference type.
         
     | 
| 
       88 
131 
     | 
    
         
             
            				def non_reference_type
         
     | 
| 
       89 
132 
     | 
    
         
             
            					Type.create Lib.get_non_reference_type(@type),@translation_unit
         
     | 
| 
       90 
133 
     | 
    
         
             
            				end
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
      
 134 
     | 
    
         
            +
            				
         
     | 
| 
      
 135 
     | 
    
         
            +
            				# Compare this type with another for equality.
         
     | 
| 
      
 136 
     | 
    
         
            +
            				# @parameter other [Type] The other type to compare.
         
     | 
| 
      
 137 
     | 
    
         
            +
            				# @returns [Boolean] True if the types are equal.
         
     | 
| 
       92 
138 
     | 
    
         
             
            				def ==(other)
         
     | 
| 
       93 
139 
     | 
    
         
             
            					Lib.equal_types(@type, other.type) != 0
         
     | 
| 
       94 
140 
     | 
    
         
             
            				end
         
     | 
| 
       95 
     | 
    
         
            -
             
     | 
| 
      
 141 
     | 
    
         
            +
            				
         
     | 
| 
      
 142 
     | 
    
         
            +
            				# Get a string representation of this type.
         
     | 
| 
      
 143 
     | 
    
         
            +
            				# @returns [String] A string describing this type.
         
     | 
| 
       96 
144 
     | 
    
         
             
            				def to_s
         
     | 
| 
       97 
145 
     | 
    
         
             
            					"#{self.class.name} <#{self.kind}: #{self.spelling}>"
         
     | 
| 
       98 
146 
     | 
    
         
             
            				end
         
     | 
| 
         @@ -1,15 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # Released under the MIT License.
         
     | 
| 
      
 4 
     | 
    
         
            +
            # Copyright, 2024, by Charlie Savage.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # Copyright, 2025, by Samuel Williams.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
       1 
7 
     | 
    
         
             
            module FFI
         
     | 
| 
       2 
8 
     | 
    
         
             
            	module Clang
         
     | 
| 
       3 
9 
     | 
    
         
             
            		module Types
         
     | 
| 
      
 10 
     | 
    
         
            +
            			# Represents a typedef type.
         
     | 
| 
      
 11 
     | 
    
         
            +
            			# A typedef provides an alias for another type.
         
     | 
| 
       4 
12 
     | 
    
         
             
            			class TypeDef < Type
         
     | 
| 
      
 13 
     | 
    
         
            +
            				# Get the canonical (underlying) type.
         
     | 
| 
      
 14 
     | 
    
         
            +
            				# @returns [Type] The canonical type that this typedef aliases.
         
     | 
| 
       5 
15 
     | 
    
         
             
            				def canonical
         
     | 
| 
       6 
16 
     | 
    
         
             
            					Type.create Lib.get_canonical_type(@type), @translation_unit
         
     | 
| 
       7 
17 
     | 
    
         
             
            				end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 18 
     | 
    
         
            +
            				
         
     | 
| 
      
 19 
     | 
    
         
            +
            				# Check if this typedef aliases an anonymous type.
         
     | 
| 
      
 20 
     | 
    
         
            +
            				# @returns [Boolean] True if the canonical type is an anonymous record.
         
     | 
| 
       9 
21 
     | 
    
         
             
            				def anonymous?
         
     | 
| 
       10 
22 
     | 
    
         
             
            					self.canonical.kind == :type_record && self.canonical.anonymous?
         
     | 
| 
       11 
23 
     | 
    
         
             
            				end
         
     | 
| 
       12 
24 
     | 
    
         
             
            			end
         
     | 
| 
       13 
25 
     | 
    
         
             
            		end
         
     | 
| 
       14 
26 
     | 
    
         
             
            	end
         
     | 
| 
       15 
     | 
    
         
            -
            end
         
     | 
| 
      
 27 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,11 +1,23 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # Released under the MIT License.
         
     | 
| 
      
 4 
     | 
    
         
            +
            # Copyright, 2024, by Charlie Savage.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # Copyright, 2025, by Samuel Williams.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
       1 
7 
     | 
    
         
             
            module FFI
         
     | 
| 
       2 
8 
     | 
    
         
             
            	module Clang
         
     | 
| 
       3 
9 
     | 
    
         
             
            		module Types
         
     | 
| 
      
 10 
     | 
    
         
            +
            			# Represents a vector type (SIMD vector).
         
     | 
| 
      
 11 
     | 
    
         
            +
            			# Vector types are used for SIMD operations and have a fixed number of elements of the same type.
         
     | 
| 
       4 
12 
     | 
    
         
             
            			class Vector < Type
         
     | 
| 
      
 13 
     | 
    
         
            +
            				# Get the element type of this vector.
         
     | 
| 
      
 14 
     | 
    
         
            +
            				# @returns [Type] The type of elements in this vector.
         
     | 
| 
       5 
15 
     | 
    
         
             
            				def element_type
         
     | 
| 
       6 
16 
     | 
    
         
             
            					Type.create Lib.get_element_type(@type), @translation_unit
         
     | 
| 
       7 
17 
     | 
    
         
             
            				end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 18 
     | 
    
         
            +
            				
         
     | 
| 
      
 19 
     | 
    
         
            +
            				# Get the number of elements in this vector.
         
     | 
| 
      
 20 
     | 
    
         
            +
            				# @returns [Integer] The number of elements.
         
     | 
| 
       9 
21 
     | 
    
         
             
            				def size
         
     | 
| 
       10 
22 
     | 
    
         
             
            					Lib.get_num_elements(@type)
         
     | 
| 
       11 
23 
     | 
    
         
             
            				end
         
     | 
| 
         @@ -2,32 +2,42 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            # Released under the MIT License.
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Copyright, 2013, by Carlos Martín Nieto.
         
     | 
| 
       5 
     | 
    
         
            -
            # Copyright, 2013- 
     | 
| 
      
 5 
     | 
    
         
            +
            # Copyright, 2013-2025, by Samuel Williams.
         
     | 
| 
       6 
6 
     | 
    
         
             
            # Copyright, 2014, by Masahiro Sano.
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            module FFI
         
     | 
| 
       9 
9 
     | 
    
         
             
            	module Clang
         
     | 
| 
      
 10 
     | 
    
         
            +
            		# Represents an unsaved file with in-memory contents for parsing.
         
     | 
| 
       10 
11 
     | 
    
         
             
            		class UnsavedFile
         
     | 
| 
      
 12 
     | 
    
         
            +
            			# Initialize an unsaved file with filename and contents.
         
     | 
| 
      
 13 
     | 
    
         
            +
            			# @parameter filename [String] The path to the unsaved file.
         
     | 
| 
      
 14 
     | 
    
         
            +
            			# @parameter contents [String] The in-memory contents of the file.
         
     | 
| 
       11 
15 
     | 
    
         
             
            			def initialize(filename, contents)
         
     | 
| 
       12 
16 
     | 
    
         
             
            				@filename = filename
         
     | 
| 
       13 
17 
     | 
    
         
             
            				@contents = contents
         
     | 
| 
       14 
18 
     | 
    
         
             
            			end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
            			 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
            			
         
     | 
| 
      
 20 
     | 
    
         
            +
            			# @attribute [String] The path to the unsaved file.
         
     | 
| 
      
 21 
     | 
    
         
            +
            			attr_accessor :filename
         
     | 
| 
      
 22 
     | 
    
         
            +
            			
         
     | 
| 
      
 23 
     | 
    
         
            +
            			# @attribute [String] The in-memory contents of the file.
         
     | 
| 
      
 24 
     | 
    
         
            +
            			attr_accessor :contents
         
     | 
| 
      
 25 
     | 
    
         
            +
            			
         
     | 
| 
      
 26 
     | 
    
         
            +
            			# Convert an array of unsaved files to a libclang pointer structure.
         
     | 
| 
      
 27 
     | 
    
         
            +
            			# @parameter unsaved [Array(UnsavedFile)] The array of unsaved files.
         
     | 
| 
      
 28 
     | 
    
         
            +
            			# @returns [FFI::MemoryPointer | Nil] A pointer to the unsaved file structures, or `nil` if empty.
         
     | 
| 
       19 
29 
     | 
    
         
             
            			def self.unsaved_pointer_from(unsaved)
         
     | 
| 
       20 
30 
     | 
    
         
             
            				return nil if unsaved.length == 0
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
      
 31 
     | 
    
         
            +
            				
         
     | 
| 
       22 
32 
     | 
    
         
             
            				vec = MemoryPointer.new(Lib::CXUnsavedFile, unsaved.length)
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 33 
     | 
    
         
            +
            				
         
     | 
| 
       24 
34 
     | 
    
         
             
            				unsaved.each_with_index do |file, i|
         
     | 
| 
       25 
35 
     | 
    
         
             
            					uf = Lib::CXUnsavedFile.new(vec + i * Lib::CXUnsavedFile.size)
         
     | 
| 
       26 
36 
     | 
    
         
             
            					uf[:filename] = MemoryPointer.from_string(file.filename)
         
     | 
| 
       27 
37 
     | 
    
         
             
            					uf[:contents] = MemoryPointer.from_string(file.contents)
         
     | 
| 
       28 
38 
     | 
    
         
             
            					uf[:length] = file.contents.length
         
     | 
| 
       29 
39 
     | 
    
         
             
            				end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
      
 40 
     | 
    
         
            +
            				
         
     | 
| 
       31 
41 
     | 
    
         
             
            				vec
         
     | 
| 
       32 
42 
     | 
    
         
             
            			end
         
     | 
| 
       33 
43 
     | 
    
         
             
            		end
         
     | 
    
        data/lib/ffi/clang/version.rb
    CHANGED
    
    | 
         @@ -3,10 +3,12 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            # Released under the MIT License.
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Copyright, 2010, by Jari Bakken.
         
     | 
| 
       5 
5 
     | 
    
         
             
            # Copyright, 2012, by Hal Brodigan.
         
     | 
| 
       6 
     | 
    
         
            -
            # Copyright, 2013- 
     | 
| 
      
 6 
     | 
    
         
            +
            # Copyright, 2013-2025, by Samuel Williams.
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
      
 8 
     | 
    
         
            +
            # @namespace
         
     | 
| 
       8 
9 
     | 
    
         
             
            module FFI
         
     | 
| 
      
 10 
     | 
    
         
            +
            	# @namespace
         
     | 
| 
       9 
11 
     | 
    
         
             
            	module Clang
         
     | 
| 
       10 
     | 
    
         
            -
            		VERSION = "0. 
     | 
| 
      
 12 
     | 
    
         
            +
            		VERSION = "0.14.0"
         
     | 
| 
       11 
13 
     | 
    
         
             
            	end
         
     | 
| 
       12 
14 
     | 
    
         
             
            end
         
     | 
    
        data/lib/ffi/clang.rb
    CHANGED
    
    | 
         @@ -3,55 +3,33 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            # Released under the MIT License.
         
     | 
| 
       4 
4 
     | 
    
         
             
            # Copyright, 2010-2011, by Jari Bakken.
         
     | 
| 
       5 
5 
     | 
    
         
             
            # Copyright, 2012, by Hal Brodigan.
         
     | 
| 
       6 
     | 
    
         
            -
            # Copyright, 2013- 
     | 
| 
      
 6 
     | 
    
         
            +
            # Copyright, 2013-2025, by Samuel Williams.
         
     | 
| 
       7 
7 
     | 
    
         
             
            # Copyright, 2013, by Garry Marshall.
         
     | 
| 
       8 
8 
     | 
    
         
             
            # Copyright, 2013, by Carlos Martín Nieto.
         
     | 
| 
       9 
9 
     | 
    
         
             
            # Copyright, 2014, by Masahiro Sano.
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            require 'ffi'
         
     | 
| 
       12 
     | 
    
         
            -
            require 'rbconfig'
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            module FFI::Clang
         
     | 
| 
       15 
     | 
    
         
            -
            	class Error < StandardError
         
     | 
| 
       16 
     | 
    
         
            -
            	end
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            	def self.platform
         
     | 
| 
       19 
     | 
    
         
            -
            		os = RbConfig::CONFIG["host_os"]
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
            		case os
         
     | 
| 
       22 
     | 
    
         
            -
            		when /darwin/
         
     | 
| 
       23 
     | 
    
         
            -
            			:darwin
         
     | 
| 
       24 
     | 
    
         
            -
            		when /linux/
         
     | 
| 
       25 
     | 
    
         
            -
            			:linux
         
     | 
| 
       26 
     | 
    
         
            -
            		when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
         
     | 
| 
       27 
     | 
    
         
            -
            			:windows
         
     | 
| 
       28 
     | 
    
         
            -
            		else
         
     | 
| 
       29 
     | 
    
         
            -
            			os
         
     | 
| 
       30 
     | 
    
         
            -
            		end
         
     | 
| 
       31 
     | 
    
         
            -
            	end
         
     | 
| 
       32 
     | 
    
         
            -
            end
         
     | 
| 
      
 10 
     | 
    
         
            +
            # Copyright, 2024, by Charlie Savage.
         
     | 
| 
       33 
11 
     | 
    
         | 
| 
       34 
12 
     | 
    
         
             
            # Load the shared object:
         
     | 
| 
       35 
     | 
    
         
            -
            require_relative  
     | 
| 
      
 13 
     | 
    
         
            +
            require_relative "clang/lib"
         
     | 
| 
       36 
14 
     | 
    
         | 
| 
       37 
15 
     | 
    
         
             
            # Wrappers around C functionality:
         
     | 
| 
       38 
     | 
    
         
            -
            require_relative  
     | 
| 
       39 
     | 
    
         
            -
            require_relative  
     | 
| 
       40 
     | 
    
         
            -
            require_relative  
     | 
| 
       41 
     | 
    
         
            -
            require_relative  
     | 
| 
       42 
     | 
    
         
            -
            require_relative  
     | 
| 
       43 
     | 
    
         
            -
            require_relative  
     | 
| 
       44 
     | 
    
         
            -
            require_relative  
     | 
| 
       45 
     | 
    
         
            -
            require_relative  
     | 
| 
       46 
     | 
    
         
            -
            require_relative  
     | 
| 
       47 
     | 
    
         
            -
            require_relative  
     | 
| 
       48 
     | 
    
         
            -
            require_relative  
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
            require_relative  
     | 
| 
       51 
     | 
    
         
            -
            require_relative  
     | 
| 
       52 
     | 
    
         
            -
            require_relative  
     | 
| 
       53 
     | 
    
         
            -
            require_relative  
     | 
| 
       54 
     | 
    
         
            -
            require_relative  
     | 
| 
       55 
     | 
    
         
            -
            require_relative  
     | 
| 
       56 
     | 
    
         
            -
            require_relative  
     | 
| 
       57 
     | 
    
         
            -
            require_relative  
     | 
| 
      
 16 
     | 
    
         
            +
            require_relative "clang/clang_version"
         
     | 
| 
      
 17 
     | 
    
         
            +
            require_relative "clang/index"
         
     | 
| 
      
 18 
     | 
    
         
            +
            require_relative "clang/translation_unit"
         
     | 
| 
      
 19 
     | 
    
         
            +
            require_relative "clang/diagnostic"
         
     | 
| 
      
 20 
     | 
    
         
            +
            require_relative "clang/cursor"
         
     | 
| 
      
 21 
     | 
    
         
            +
            require_relative "clang/source_location"
         
     | 
| 
      
 22 
     | 
    
         
            +
            require_relative "clang/source_range"
         
     | 
| 
      
 23 
     | 
    
         
            +
            require_relative "clang/unsaved_file"
         
     | 
| 
      
 24 
     | 
    
         
            +
            require_relative "clang/token"
         
     | 
| 
      
 25 
     | 
    
         
            +
            require_relative "clang/code_completion"
         
     | 
| 
      
 26 
     | 
    
         
            +
            require_relative "clang/compilation_database"
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
            require_relative "clang/types/type"
         
     | 
| 
      
 29 
     | 
    
         
            +
            require_relative "clang/types/array"
         
     | 
| 
      
 30 
     | 
    
         
            +
            require_relative "clang/types/elaborated"
         
     | 
| 
      
 31 
     | 
    
         
            +
            require_relative "clang/types/function"
         
     | 
| 
      
 32 
     | 
    
         
            +
            require_relative "clang/types/pointer"
         
     | 
| 
      
 33 
     | 
    
         
            +
            require_relative "clang/types/record"
         
     | 
| 
      
 34 
     | 
    
         
            +
            require_relative "clang/types/type_def"
         
     | 
| 
      
 35 
     | 
    
         
            +
            require_relative "clang/types/vector"
         
     | 
    
        data/license.md
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            Copyright, 2010-2012, by Jari Bakken.  
         
     | 
| 
       4 
4 
     | 
    
         
             
            Copyright, 2012, by Hal Brodigan.  
         
     | 
| 
       5 
     | 
    
         
            -
            Copyright, 2013- 
     | 
| 
      
 5 
     | 
    
         
            +
            Copyright, 2013-2025, by Samuel Williams.  
         
     | 
| 
       6 
6 
     | 
    
         
             
            Copyright, 2013, by Garry Marshall.  
         
     | 
| 
       7 
7 
     | 
    
         
             
            Copyright, 2013-2014, by Carlos Martín Nieto.  
         
     | 
| 
       8 
8 
     | 
    
         
             
            Copyright, 2013, by Dave Wilkinson.  
         
     | 
| 
         @@ -18,7 +18,8 @@ Copyright, 2019, by Michael Metivier. 
     | 
|
| 
       18 
18 
     | 
    
         
             
            Copyright, 2019, by Dominic Sisnero.  
         
     | 
| 
       19 
19 
     | 
    
         
             
            Copyright, 2020, by Zete Lui.  
         
     | 
| 
       20 
20 
     | 
    
         
             
            Copyright, 2022, by Motonori Iwamuro.  
         
     | 
| 
       21 
     | 
    
         
            -
            Copyright, 2023- 
     | 
| 
      
 21 
     | 
    
         
            +
            Copyright, 2023-2025, by Charlie Savage.  
         
     | 
| 
      
 22 
     | 
    
         
            +
            Copyright, 2024, by msepga.  
         
     | 
| 
       22 
23 
     | 
    
         | 
| 
       23 
24 
     | 
    
         
             
            Permission is hereby granted, free of charge, to any person obtaining a copy
         
     | 
| 
       24 
25 
     | 
    
         
             
            of this software and associated documentation files (the "Software"), to deal
         
     | 
    
        data/readme.md
    CHANGED
    
    | 
         @@ -20,16 +20,7 @@ Or install it yourself as: 
     | 
|
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
            ## Usage
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                index = Index.new
         
     | 
| 
       26 
     | 
    
         
            -
                translation_unit = index.parse_translation_unit("list.c")
         
     | 
| 
       27 
     | 
    
         
            -
                cursor = translation_unit.cursor
         
     | 
| 
       28 
     | 
    
         
            -
                cursor.visit_children do |cursor, parent|
         
     | 
| 
       29 
     | 
    
         
            -
                	puts "#{cursor.kind} #{cursor.spelling.inspect}"
         
     | 
| 
       30 
     | 
    
         
            -
                	
         
     | 
| 
       31 
     | 
    
         
            -
                	next :recurse 
         
     | 
| 
       32 
     | 
    
         
            -
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
            Please see the [project documentation](https://ioquatix.github.io/ffi-clang/) for more details.
         
     | 
| 
       33 
24 
     | 
    
         | 
| 
       34 
25 
     | 
    
         
             
            ### Library Version
         
     | 
| 
       35 
26 
     | 
    
         | 
| 
         @@ -37,6 +28,14 @@ Due to issues figuring out which library to use, we require you to manually spec 
     | 
|
| 
       37 
28 
     | 
    
         | 
| 
       38 
29 
     | 
    
         
             
                LLVM_CONFIG=llvm-config-mp-3.4 rake
         
     | 
| 
       39 
30 
     | 
    
         | 
| 
      
 31 
     | 
    
         
            +
            ## Releases
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            Please see the [project releases](https://ioquatix.github.io/ffi-clang/releases/index) for all releases.
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            ### v0.14.0
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              - Helper method that returns a curors's <code class="language-ruby">FFI::Clang::Cursor\#qualified\_display\_name</code>.
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
       40 
39 
     | 
    
         
             
            ## Contributing
         
     | 
| 
       41 
40 
     | 
    
         | 
| 
       42 
41 
     | 
    
         
             
            We welcome contributions to this project.
         
     | 
| 
         @@ -49,8 +48,8 @@ We welcome contributions to this project. 
     | 
|
| 
       49 
48 
     | 
    
         | 
| 
       50 
49 
     | 
    
         
             
            ### Developer Certificate of Origin
         
     | 
| 
       51 
50 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
      
 51 
     | 
    
         
            +
            In order to protect users of this project, we require all contributors to comply with the [Developer Certificate of Origin](https://developercertificate.org/). This ensures that all contributions are properly licensed and attributed.
         
     | 
| 
       53 
52 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
            ###  
     | 
| 
      
 53 
     | 
    
         
            +
            ### Community Guidelines
         
     | 
| 
       55 
54 
     | 
    
         | 
| 
       56 
     | 
    
         
            -
            This project is  
     | 
| 
      
 55 
     | 
    
         
            +
            This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.
         
     | 
    
        data/releases.md
    ADDED
    
    
    
        data.tar.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: ffi-clang
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.14.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Samuel Williams
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Masahiro Sano
         
     | 
| 
       9 
     | 
    
         
            -
            - Carlos Martín Nieto
         
     | 
| 
       10 
9 
     | 
    
         
             
            - Charlie Savage
         
     | 
| 
      
 10 
     | 
    
         
            +
            - Carlos Martín Nieto
         
     | 
| 
       11 
11 
     | 
    
         
             
            - Jari Bakken
         
     | 
| 
       12 
12 
     | 
    
         
             
            - Takeshi Watanabe
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Garry Marshall
         
     | 
| 
         @@ -23,7 +23,7 @@ authors: 
     | 
|
| 
       23 
23 
     | 
    
         
             
            - Cameron Dutro
         
     | 
| 
       24 
24 
     | 
    
         
             
            - Dominic Sisnero
         
     | 
| 
       25 
25 
     | 
    
         
             
            - Hal Brodigan
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
      
 26 
     | 
    
         
            +
            - msepga
         
     | 
| 
       27 
27 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       28 
28 
     | 
    
         
             
            cert_chain:
         
     | 
| 
       29 
29 
     | 
    
         
             
            - |
         
     | 
| 
         @@ -55,7 +55,7 @@ cert_chain: 
     | 
|
| 
       55 
55 
     | 
    
         
             
              Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
         
     | 
| 
       56 
56 
     | 
    
         
             
              voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
         
     | 
| 
       57 
57 
     | 
    
         
             
              -----END CERTIFICATE-----
         
     | 
| 
       58 
     | 
    
         
            -
            date:  
     | 
| 
      
 58 
     | 
    
         
            +
            date: 1980-01-02 00:00:00.000000000 Z
         
     | 
| 
       59 
59 
     | 
    
         
             
            dependencies:
         
     | 
| 
       60 
60 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       61 
61 
     | 
    
         
             
              name: ffi
         
     | 
| 
         @@ -71,8 +71,6 @@ dependencies: 
     | 
|
| 
       71 
71 
     | 
    
         
             
                - - ">="
         
     | 
| 
       72 
72 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       73 
73 
     | 
    
         
             
                    version: '0'
         
     | 
| 
       74 
     | 
    
         
            -
            description:
         
     | 
| 
       75 
     | 
    
         
            -
            email:
         
     | 
| 
       76 
74 
     | 
    
         
             
            executables: []
         
     | 
| 
       77 
75 
     | 
    
         
             
            extensions: []
         
     | 
| 
       78 
76 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
         @@ -86,6 +84,7 @@ files: 
     | 
|
| 
       86 
84 
     | 
    
         
             
            - lib/ffi/clang/compilation_database.rb
         
     | 
| 
       87 
85 
     | 
    
         
             
            - lib/ffi/clang/cursor.rb
         
     | 
| 
       88 
86 
     | 
    
         
             
            - lib/ffi/clang/diagnostic.rb
         
     | 
| 
      
 87 
     | 
    
         
            +
            - lib/ffi/clang/error.rb
         
     | 
| 
       89 
88 
     | 
    
         
             
            - lib/ffi/clang/file.rb
         
     | 
| 
       90 
89 
     | 
    
         
             
            - lib/ffi/clang/index.rb
         
     | 
| 
       91 
90 
     | 
    
         
             
            - lib/ffi/clang/lib.rb
         
     | 
| 
         @@ -105,6 +104,7 @@ files: 
     | 
|
| 
       105 
104 
     | 
    
         
             
            - lib/ffi/clang/lib/token.rb
         
     | 
| 
       106 
105 
     | 
    
         
             
            - lib/ffi/clang/lib/translation_unit.rb
         
     | 
| 
       107 
106 
     | 
    
         
             
            - lib/ffi/clang/lib/type.rb
         
     | 
| 
      
 107 
     | 
    
         
            +
            - lib/ffi/clang/platform.rb
         
     | 
| 
       108 
108 
     | 
    
         
             
            - lib/ffi/clang/printing_policy.rb
         
     | 
| 
       109 
109 
     | 
    
         
             
            - lib/ffi/clang/source_location.rb
         
     | 
| 
       110 
110 
     | 
    
         
             
            - lib/ffi/clang/source_range.rb
         
     | 
| 
         @@ -122,13 +122,14 @@ files: 
     | 
|
| 
       122 
122 
     | 
    
         
             
            - lib/ffi/clang/version.rb
         
     | 
| 
       123 
123 
     | 
    
         
             
            - license.md
         
     | 
| 
       124 
124 
     | 
    
         
             
            - readme.md
         
     | 
| 
      
 125 
     | 
    
         
            +
            - releases.md
         
     | 
| 
       125 
126 
     | 
    
         
             
            homepage: https://github.com/ioquatix/ffi-clang
         
     | 
| 
       126 
127 
     | 
    
         
             
            licenses:
         
     | 
| 
       127 
128 
     | 
    
         
             
            - MIT
         
     | 
| 
       128 
129 
     | 
    
         
             
            metadata:
         
     | 
| 
      
 130 
     | 
    
         
            +
              documentation_uri: https://ioquatix.github.io/ffi-clang/
         
     | 
| 
       129 
131 
     | 
    
         
             
              funding_uri: https://github.com/sponsors/ioquatix/
         
     | 
| 
       130 
132 
     | 
    
         
             
              source_code_uri: https://github.com/ioquatix/ffi-clang.git
         
     | 
| 
       131 
     | 
    
         
            -
            post_install_message:
         
     | 
| 
       132 
133 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       133 
134 
     | 
    
         
             
            require_paths:
         
     | 
| 
       134 
135 
     | 
    
         
             
            - lib
         
     | 
| 
         @@ -136,15 +137,14 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       136 
137 
     | 
    
         
             
              requirements:
         
     | 
| 
       137 
138 
     | 
    
         
             
              - - ">="
         
     | 
| 
       138 
139 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       139 
     | 
    
         
            -
                  version: '3. 
     | 
| 
      
 140 
     | 
    
         
            +
                  version: '3.2'
         
     | 
| 
       140 
141 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       141 
142 
     | 
    
         
             
              requirements:
         
     | 
| 
       142 
143 
     | 
    
         
             
              - - ">="
         
     | 
| 
       143 
144 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       144 
145 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       145 
146 
     | 
    
         
             
            requirements: []
         
     | 
| 
       146 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
       147 
     | 
    
         
            -
            signing_key:
         
     | 
| 
      
 147 
     | 
    
         
            +
            rubygems_version: 3.7.2
         
     | 
| 
       148 
148 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       149 
149 
     | 
    
         
             
            summary: Ruby FFI bindings for libclang C interface.
         
     | 
| 
       150 
150 
     | 
    
         
             
            test_files: []
         
     | 
    
        metadata.gz.sig
    CHANGED
    
    | 
         Binary file 
     |