ffi-clang 0.13.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 +19 -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 +19 -4
- 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 +80 -36
- 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 -5
- metadata.gz.sig +0 -0
data/lib/ffi/clang/types/type.rb
CHANGED
|
@@ -2,101 +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.
|
|
56
76
|
def canonical
|
|
57
77
|
Type.create Lib.get_canonical_type(@type), @translation_unit
|
|
58
78
|
end
|
|
59
|
-
|
|
79
|
+
|
|
80
|
+
# Check if this is a Plain Old Data (POD) type.
|
|
81
|
+
# @returns [Boolean] True if this is a POD type.
|
|
60
82
|
def pod?
|
|
61
83
|
Lib.is_pod_type(@type) != 0
|
|
62
84
|
end
|
|
63
|
-
|
|
85
|
+
|
|
86
|
+
# Check if this type is const-qualified.
|
|
87
|
+
# @returns [Boolean] True if the type has a const qualifier.
|
|
64
88
|
def const_qualified?
|
|
65
89
|
Lib.is_const_qualified_type(@type) != 0
|
|
66
90
|
end
|
|
67
|
-
|
|
91
|
+
|
|
92
|
+
# Check if this type is volatile-qualified.
|
|
93
|
+
# @returns [Boolean] True if the type has a volatile qualifier.
|
|
68
94
|
def volatile_qualified?
|
|
69
95
|
Lib.is_volatile_qualified_type(@type) != 0
|
|
70
96
|
end
|
|
71
|
-
|
|
97
|
+
|
|
98
|
+
# Check if this type is restrict-qualified.
|
|
99
|
+
# @returns [Boolean] True if the type has a restrict qualifier.
|
|
72
100
|
def restrict_qualified?
|
|
73
101
|
Lib.is_restrict_qualified_type(@type) != 0
|
|
74
102
|
end
|
|
75
|
-
|
|
103
|
+
|
|
104
|
+
# Get the alignment of this type in bytes.
|
|
105
|
+
# @returns [Integer] The alignment requirement in bytes.
|
|
76
106
|
def alignof
|
|
77
107
|
Lib.type_get_align_of(@type)
|
|
78
108
|
end
|
|
79
|
-
|
|
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.
|
|
80
112
|
def sizeof
|
|
81
113
|
Lib.type_get_size_of(@type)
|
|
82
114
|
end
|
|
83
|
-
|
|
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).
|
|
84
118
|
def ref_qualifier
|
|
85
119
|
Lib.type_get_cxx_ref_qualifier(@type)
|
|
86
120
|
end
|
|
87
|
-
|
|
121
|
+
|
|
122
|
+
# Get the cursor for the declaration of this type.
|
|
123
|
+
# @returns [Cursor] The cursor representing the type declaration.
|
|
88
124
|
def declaration
|
|
89
125
|
Cursor.new Lib.get_type_declaration(@type), @translation_unit
|
|
90
126
|
end
|
|
91
|
-
|
|
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.
|
|
92
131
|
def non_reference_type
|
|
93
132
|
Type.create Lib.get_non_reference_type(@type),@translation_unit
|
|
94
133
|
end
|
|
95
|
-
|
|
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.
|
|
96
138
|
def ==(other)
|
|
97
139
|
Lib.equal_types(@type, other.type) != 0
|
|
98
140
|
end
|
|
99
|
-
|
|
141
|
+
|
|
142
|
+
# Get a string representation of this type.
|
|
143
|
+
# @returns [String] A string describing this type.
|
|
100
144
|
def to_s
|
|
101
145
|
"#{self.class.name} <#{self.kind}: #{self.spelling}>"
|
|
102
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,6 +23,7 @@ authors:
|
|
|
23
23
|
- Cameron Dutro
|
|
24
24
|
- Dominic Sisnero
|
|
25
25
|
- Hal Brodigan
|
|
26
|
+
- msepga
|
|
26
27
|
bindir: bin
|
|
27
28
|
cert_chain:
|
|
28
29
|
- |
|
|
@@ -54,7 +55,7 @@ cert_chain:
|
|
|
54
55
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
|
55
56
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
|
56
57
|
-----END CERTIFICATE-----
|
|
57
|
-
date:
|
|
58
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
58
59
|
dependencies:
|
|
59
60
|
- !ruby/object:Gem::Dependency
|
|
60
61
|
name: ffi
|
|
@@ -83,6 +84,7 @@ files:
|
|
|
83
84
|
- lib/ffi/clang/compilation_database.rb
|
|
84
85
|
- lib/ffi/clang/cursor.rb
|
|
85
86
|
- lib/ffi/clang/diagnostic.rb
|
|
87
|
+
- lib/ffi/clang/error.rb
|
|
86
88
|
- lib/ffi/clang/file.rb
|
|
87
89
|
- lib/ffi/clang/index.rb
|
|
88
90
|
- lib/ffi/clang/lib.rb
|
|
@@ -102,6 +104,7 @@ files:
|
|
|
102
104
|
- lib/ffi/clang/lib/token.rb
|
|
103
105
|
- lib/ffi/clang/lib/translation_unit.rb
|
|
104
106
|
- lib/ffi/clang/lib/type.rb
|
|
107
|
+
- lib/ffi/clang/platform.rb
|
|
105
108
|
- lib/ffi/clang/printing_policy.rb
|
|
106
109
|
- lib/ffi/clang/source_location.rb
|
|
107
110
|
- lib/ffi/clang/source_range.rb
|
|
@@ -119,10 +122,12 @@ files:
|
|
|
119
122
|
- lib/ffi/clang/version.rb
|
|
120
123
|
- license.md
|
|
121
124
|
- readme.md
|
|
125
|
+
- releases.md
|
|
122
126
|
homepage: https://github.com/ioquatix/ffi-clang
|
|
123
127
|
licenses:
|
|
124
128
|
- MIT
|
|
125
129
|
metadata:
|
|
130
|
+
documentation_uri: https://ioquatix.github.io/ffi-clang/
|
|
126
131
|
funding_uri: https://github.com/sponsors/ioquatix/
|
|
127
132
|
source_code_uri: https://github.com/ioquatix/ffi-clang.git
|
|
128
133
|
rdoc_options: []
|
|
@@ -132,14 +137,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
132
137
|
requirements:
|
|
133
138
|
- - ">="
|
|
134
139
|
- !ruby/object:Gem::Version
|
|
135
|
-
version: '3.
|
|
140
|
+
version: '3.2'
|
|
136
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
142
|
requirements:
|
|
138
143
|
- - ">="
|
|
139
144
|
- !ruby/object:Gem::Version
|
|
140
145
|
version: '0'
|
|
141
146
|
requirements: []
|
|
142
|
-
rubygems_version: 3.
|
|
147
|
+
rubygems_version: 3.7.2
|
|
143
148
|
specification_version: 4
|
|
144
149
|
summary: Ruby FFI bindings for libclang C interface.
|
|
145
150
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|