rbgccxml 0.9.1 → 1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +8 -10
- data/lib/rbgccxml/node.rb +65 -64
- data/lib/rbgccxml/node_cache.rb +93 -0
- data/lib/rbgccxml/nodes/argument.rb +4 -1
- data/lib/rbgccxml/nodes/base.rb +1 -1
- data/lib/rbgccxml/nodes/class.rb +22 -15
- data/lib/rbgccxml/nodes/enum_value.rb +2 -4
- data/lib/rbgccxml/nodes/enumeration.rb +1 -1
- data/lib/rbgccxml/nodes/field.rb +3 -1
- data/lib/rbgccxml/nodes/function.rb +2 -2
- data/lib/rbgccxml/nodes/method.rb +3 -3
- data/lib/rbgccxml/nodes/namespace.rb +14 -0
- data/lib/rbgccxml/nodes/type.rb +4 -3
- data/lib/rbgccxml/nodes/types/array_type.rb +3 -2
- data/lib/rbgccxml/nodes/types/cv_qualified_type.rb +12 -6
- data/lib/rbgccxml/nodes/types/pointer_type.rb +2 -1
- data/lib/rbgccxml/nodes/types/reference_type.rb +2 -1
- data/lib/rbgccxml/parser.rb +7 -5
- data/lib/rbgccxml/query_result.rb +8 -2
- data/lib/rbgccxml/sax_parser.rb +69 -0
- data/lib/rbgccxml.rb +3 -1
- data/lib/vendor/facets/once.rb +59 -0
- data/test/arguments_test.rb +14 -14
- data/test/classes_test.rb +85 -80
- data/test/enumerations_test.rb +29 -31
- data/test/function_pointers_test.rb +7 -7
- data/test/functions_test.rb +20 -20
- data/test/methods_test.rb +26 -25
- data/test/namespaces_test.rb +6 -6
- data/test/node_test.rb +7 -7
- data/test/parser_test.rb +23 -23
- data/test/query_results_test.rb +81 -81
- data/test/structs_test.rb +19 -20
- data/test/test_helper.rb +5 -18
- data/test/types_test.rb +60 -58
- data/test/variables_test.rb +12 -12
- metadata +58 -63
- data/lib/rbgccxml/xml_parsing.rb +0 -152
data/test/structs_test.rb
CHANGED
@@ -1,58 +1,57 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
describe "Querying for structs" do
|
4
|
+
before(:all) do
|
5
|
+
@structs_source = RbGCCXML.parse(full_dir("headers/structs.h")).namespaces("structs")
|
6
6
|
end
|
7
7
|
|
8
8
|
specify "can find all structs in a given namespace" do
|
9
|
-
structs =
|
9
|
+
structs = @structs_source.structs
|
10
10
|
structs.size.should == 3
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
end
|
12
|
+
@structs_source.structs("Test1").should_not be_nil
|
13
|
+
@structs_source.structs("Test2").should_not be_nil
|
14
|
+
@structs_source.structs("Test3").should_not be_nil
|
16
15
|
end
|
17
16
|
|
18
17
|
specify "can find structs within structs" do
|
19
|
-
test1 =
|
20
|
-
test1.
|
18
|
+
test1 = @structs_source.structs.find(:name => "Test1")
|
19
|
+
test1.should_not be_nil
|
21
20
|
|
22
21
|
inner1 = test1.structs("Inner1")
|
23
|
-
inner1.
|
22
|
+
inner1.should_not be_nil
|
24
23
|
|
25
24
|
inner2 = inner1.structs("Inner1")
|
26
|
-
inner2.
|
25
|
+
inner2.should_not be_nil
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
describe "Querying for struct constructors" do
|
30
|
+
before(:all) do
|
31
|
+
@structs_source = RbGCCXML.parse(full_dir("headers/structs.h")).namespaces("structs")
|
33
32
|
end
|
34
33
|
|
35
34
|
specify "should have a list of constructors" do
|
36
|
-
test1 =
|
35
|
+
test1 = @structs_source.structs.find(:name => "Test1")
|
37
36
|
test1.constructors.size.should == 2
|
38
37
|
|
39
|
-
test2 =
|
38
|
+
test2 = @structs_source.structs.find(:name => "Test2")
|
40
39
|
test2.constructors.size.should == 3
|
41
40
|
end
|
42
41
|
|
43
42
|
specify "constructors should have arguments" do
|
44
|
-
test2 =
|
43
|
+
test2 = @structs_source.structs.find(:name => "Test2")
|
45
44
|
|
46
45
|
# GCC generated copy constructors
|
47
46
|
copy = test2.constructors[0]
|
48
|
-
copy.
|
47
|
+
copy.artificial?.should be_true
|
49
48
|
|
50
49
|
default = test2.constructors[1]
|
51
50
|
default.arguments.size.should == 0
|
52
51
|
|
53
52
|
specific = test2.constructors[2]
|
54
53
|
specific.arguments.size.should == 1
|
55
|
-
specific.arguments[0].cpp_type.name.should
|
54
|
+
specific.arguments[0].cpp_type.name.should == "int"
|
56
55
|
end
|
57
56
|
end
|
58
57
|
|
data/test/test_helper.rb
CHANGED
@@ -1,26 +1,13 @@
|
|
1
|
-
$LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
|
3
1
|
require 'rubygems'
|
4
|
-
|
5
|
-
begin
|
6
|
-
# 1.9 needs this for test/spec to work
|
7
|
-
gem 'test-unit'
|
8
|
-
rescue LoadError
|
9
|
-
# Probably 1.8.x, we're ok
|
10
|
-
end
|
11
|
-
|
12
|
-
require 'test/spec'
|
2
|
+
require 'rspec'
|
13
3
|
require 'rbgccxml'
|
14
4
|
|
15
|
-
|
16
|
-
|
5
|
+
module FileDirectoryHelpers
|
17
6
|
def full_dir(path)
|
18
7
|
File.expand_path(File.join(File.dirname(__FILE__), path))
|
19
8
|
end
|
20
|
-
|
21
|
-
def teardown
|
22
|
-
RbGCCXML::XMLParsing.clear_cache
|
23
|
-
end
|
24
|
-
|
25
9
|
end
|
26
10
|
|
11
|
+
RSpec.configure do |config|
|
12
|
+
config.include(FileDirectoryHelpers)
|
13
|
+
end
|
data/test/types_test.rb
CHANGED
@@ -1,144 +1,146 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
|
-
|
3
|
+
describe "Proper Type handling" do
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
before(:all) do
|
6
|
+
@types_source = RbGCCXML.parse(full_dir("headers/types.h")).namespaces("types")
|
7
7
|
end
|
8
8
|
|
9
9
|
specify "fundamental types" do
|
10
|
-
|
11
|
-
|
12
|
-
end
|
10
|
+
@types_source.functions.find(:returns => "int").length.should == 2
|
11
|
+
@types_source.functions.find(:returns => "float").name.should == "returnsFloat"
|
13
12
|
|
14
|
-
|
13
|
+
@types_source.functions("noReturnWithSizeT").arguments[0].to_cpp.should == "::size_t arg"
|
15
14
|
end
|
16
15
|
|
16
|
+
specify "unsigned fundamental types"
|
17
|
+
|
17
18
|
specify "typedefs" do
|
18
|
-
|
19
|
-
|
19
|
+
@types_source.functions.find(:returns => "myLongType").name.should == "returnsLongType"
|
20
|
+
@types_source.functions.find(:returns => "myShortType").name.should == "returnsShortType"
|
20
21
|
end
|
21
22
|
|
22
23
|
specify "user defined types (classes / structs)" do
|
23
|
-
|
24
|
-
|
24
|
+
@types_source.functions.find(:returns => "user_type").name.should == "returnsUserType"
|
25
|
+
@types_source.functions.find(:returns => "struct_type").length.should == 2
|
25
26
|
end
|
26
27
|
|
27
28
|
specify "pointers to user defined types" do
|
28
|
-
|
29
|
-
|
29
|
+
@types_source.functions.find(:returns => "user_type*").name.should == "returnsUserTypePointer"
|
30
|
+
@types_source.functions.find(:returns => "struct_type*").name.should == "returnsStructTypePointer"
|
30
31
|
end
|
31
32
|
|
32
33
|
specify "pointers to fundamental types" do
|
33
|
-
|
34
|
+
@types_source.functions.find(:returns => "int*").length.should == 2
|
34
35
|
end
|
35
36
|
|
36
37
|
specify "pointers to typedefs" do
|
37
|
-
|
38
|
+
@types_source.functions.find(:returns => "myLongType*").name.should == "returnsLongTypePointer"
|
38
39
|
end
|
39
40
|
|
40
41
|
specify "reference types" do
|
41
|
-
|
42
|
+
@types_source.functions.find(:returns => "struct_type&").name.should == "returnStructReference"
|
42
43
|
end
|
43
44
|
|
44
45
|
specify "const definitions (fundamental types)" do
|
45
|
-
|
46
|
+
@types_source.functions.find(:returns => "const int").name.should == "returnConstInt"
|
46
47
|
end
|
47
48
|
|
48
49
|
specify "const definitions (defined types)" do
|
49
|
-
|
50
|
+
@types_source.functions.find(:returns => "const struct_type").name.should == "returnConstStruct"
|
50
51
|
end
|
51
52
|
|
52
53
|
specify "const references" do
|
53
|
-
|
54
|
+
@types_source.functions.find(:returns => "const user_type&").name.should == "returnConstUserTypeRef"
|
54
55
|
end
|
55
56
|
|
56
57
|
specify "const pointers" do
|
57
|
-
|
58
|
+
@types_source.functions.find(:returns => "const int*").name.should == "returnConstIntPointer"
|
58
59
|
end
|
59
60
|
|
60
61
|
specify "enumerations" do
|
61
|
-
|
62
|
+
@types_source.functions.find(:returns => "myEnum").name.should == "returnMyEnum"
|
62
63
|
end
|
63
64
|
|
64
65
|
specify "arrays" do
|
65
|
-
|
66
|
+
@types_source.functions.find(:arguments => ["int[4]*"]).name.should == "usesIntArray"
|
66
67
|
end
|
67
68
|
|
68
69
|
specify "function pointers" do
|
69
|
-
|
70
|
-
|
70
|
+
@types_source.functions.find(:arguments => ["Callback"]).name.should == "takesCallback"
|
71
|
+
@types_source.functions.find(:arguments => ["CallbackWithReturn"]).name.should == "takesCallbackWithReturn"
|
71
72
|
end
|
72
73
|
|
73
74
|
end
|
74
75
|
|
75
|
-
|
76
|
+
describe "Printing types" do
|
76
77
|
|
77
|
-
|
78
|
-
|
78
|
+
before(:all) do
|
79
|
+
@types_source = RbGCCXML.parse(full_dir("headers/types.h")).namespaces("types")
|
79
80
|
end
|
80
81
|
|
81
82
|
specify "types should print back properly into string format" do
|
82
|
-
|
83
|
-
|
83
|
+
@types_source.functions("returnsInt").return_type.name.should == "int"
|
84
|
+
@types_source.functions("returnsInt").return_type.to_cpp.should == "int"
|
84
85
|
|
85
|
-
|
86
|
+
@types_source.functions("returnsFloat").return_type.name.should == "float"
|
86
87
|
|
87
88
|
# pointers
|
88
|
-
|
89
|
+
@types_source.functions("returnsIntPointer").return_type.to_cpp.should == "int*"
|
89
90
|
|
90
91
|
# references
|
91
|
-
|
92
|
-
|
92
|
+
@types_source.functions("returnStructReference").return_type.to_cpp.should == "types::struct_type&"
|
93
|
+
@types_source.functions("returnStructReference").return_type.to_cpp(false).should == "struct_type&"
|
93
94
|
|
94
95
|
# printout full from the global namespace
|
95
|
-
|
96
|
-
|
96
|
+
@types_source.functions("returnsString").return_type.to_cpp.should == "others::string"
|
97
|
+
@types_source.functions("returnsString").return_type.to_cpp(false).should == "string"
|
97
98
|
|
98
99
|
# const
|
99
|
-
|
100
|
+
@types_source.functions("returnConstInt").return_type.to_cpp.should == "const int"
|
100
101
|
|
101
102
|
# const pointers
|
102
|
-
|
103
|
+
@types_source.functions("returnConstIntPointer").return_type.to_cpp.should == "const int*"
|
103
104
|
|
104
105
|
# const references
|
105
|
-
|
106
|
-
|
106
|
+
@types_source.functions("returnConstUserTypeRef").return_type.to_cpp.should == "const types::user_type&"
|
107
|
+
@types_source.functions("returnConstUserTypeRef").return_type.to_cpp(false).should == "const user_type&"
|
108
|
+
|
109
|
+
# const const
|
110
|
+
@types_source.functions("withConstPtrConst").arguments[0].to_cpp.should == "const types::user_type* const arg1"
|
111
|
+
@types_source.functions("withConstPtrConst").arguments[0].to_cpp(false).should == "const user_type* const arg1"
|
107
112
|
|
108
113
|
# Enumerations
|
109
|
-
|
110
|
-
|
114
|
+
@types_source.functions("returnMyEnum").return_type.name.should == "myEnum"
|
115
|
+
@types_source.functions("returnMyEnum").return_type.to_cpp.should == "types::myEnum"
|
111
116
|
|
112
117
|
# Array Types
|
113
|
-
|
114
|
-
|
118
|
+
@types_source.functions("usesIntArray").arguments[0].name.should == "input"
|
119
|
+
@types_source.functions("usesIntArray").arguments[0].to_cpp.should == "int[4]* input"
|
115
120
|
end
|
116
121
|
|
117
122
|
specify "can get to the base C++ construct of given types" do
|
118
|
-
|
119
|
-
|
123
|
+
@types_source.functions.find(:returns => "const user_type&").return_type.base_type.name.should == "user_type"
|
124
|
+
@types_source.functions.find(:returns => "const int*").return_type.base_type.name.should == "int"
|
120
125
|
end
|
121
126
|
|
122
127
|
specify "can get types of class ivars" do
|
123
|
-
|
124
|
-
|
128
|
+
@types_source.classes("user_type").variables("var1").cpp_type.name.should == "int"
|
129
|
+
@types_source.classes("user_type").variables("var2").cpp_type.name.should == "float"
|
125
130
|
|
126
|
-
|
131
|
+
@types_source.structs("struct_type").variables("myType").cpp_type.to_cpp.should == "types::user_type"
|
127
132
|
end
|
128
133
|
|
129
134
|
end
|
130
135
|
|
131
|
-
|
132
|
-
setup do
|
133
|
-
@@types_source ||= RbGCCXML.parse(full_dir("headers/types.h")).namespaces("types")
|
134
|
-
end
|
135
|
-
|
136
|
+
describe "Type comparitors" do
|
136
137
|
specify "can tell of a given type is a const" do
|
137
|
-
|
138
|
-
|
139
|
-
|
138
|
+
@types_source ||= RbGCCXML.parse(full_dir("headers/types.h")).namespaces("types")
|
139
|
+
@types_source.functions("returnConstUserTypeRef").return_type.should be_const
|
140
|
+
@types_source.functions("returnConstIntPointer").return_type.should be_const
|
141
|
+
@types_source.functions("returnsUserType").return_type.should_not be_const
|
140
142
|
|
141
|
-
|
142
|
-
|
143
|
+
@types_source.functions("returnsString").return_type.should_not be_const
|
144
|
+
@types_source.functions("returnsInt").return_type.should_not be_const
|
143
145
|
end
|
144
146
|
end
|
data/test/variables_test.rb
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
require "test_helper"
|
2
2
|
|
3
|
-
|
3
|
+
describe "Querying for variables" do
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
before(:all) do
|
6
|
+
@variables_source ||= RbGCCXML.parse(full_dir("headers/classes.h")).namespaces("classes")
|
7
7
|
end
|
8
8
|
|
9
9
|
specify "find global variables and constants" do
|
10
|
-
|
10
|
+
@variables_source.variables.length.should == 2
|
11
11
|
end
|
12
12
|
|
13
13
|
specify "find class variables" do
|
14
|
-
test1 =
|
15
|
-
test1.variables.length.should
|
16
|
-
test1.variables.find(:access => :public).length.should
|
17
|
-
|
18
|
-
|
14
|
+
test1 = @variables_source.classes("Test1")
|
15
|
+
test1.variables.length.should == 4
|
16
|
+
test1.variables.find(:access => :public).length.should == 2
|
17
|
+
test1.variables("publicVariable").should_not be_nil
|
18
|
+
test1.variables("publicVariable2").should_not be_nil
|
19
19
|
end
|
20
20
|
|
21
21
|
specify "can also find constants" do
|
22
|
-
test1 =
|
23
|
-
test1.constants.length.should
|
24
|
-
|
22
|
+
test1 = @variables_source.classes("Test1")
|
23
|
+
test1.constants.length.should == 1
|
24
|
+
test1.constants("CONST").should_not be_nil
|
25
25
|
end
|
26
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbgccxml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 1
|
7
|
+
- 0
|
8
|
+
version: "1.0"
|
5
9
|
platform: ruby
|
6
10
|
authors:
|
7
11
|
- Jason Roelofs
|
@@ -9,49 +13,36 @@ autorequire:
|
|
9
13
|
bindir: bin
|
10
14
|
cert_chain: []
|
11
15
|
|
12
|
-
date:
|
16
|
+
date: 2010-08-27 00:00:00 -04:00
|
13
17
|
default_executable:
|
14
18
|
dependencies:
|
15
19
|
- !ruby/object:Gem::Dependency
|
16
20
|
name: nokogiri
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
prerelease: false
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
23
|
requirements:
|
21
24
|
- - ~>
|
22
25
|
- !ruby/object:Gem::Version
|
26
|
+
segments:
|
27
|
+
- 1
|
28
|
+
- 4
|
29
|
+
- 0
|
23
30
|
version: 1.4.0
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: gccxml_gem
|
27
31
|
type: :runtime
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: "0.9"
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: test-unit
|
37
|
-
type: :development
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - "="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 1.2.3
|
44
|
-
version:
|
32
|
+
version_requirements: *id001
|
45
33
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
47
|
-
|
48
|
-
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
34
|
+
name: gccxml_gem
|
35
|
+
prerelease: false
|
36
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
50
37
|
requirements:
|
51
38
|
- - ~>
|
52
39
|
- !ruby/object:Gem::Version
|
40
|
+
segments:
|
41
|
+
- 0
|
42
|
+
- 9
|
53
43
|
version: "0.9"
|
54
|
-
|
44
|
+
type: :runtime
|
45
|
+
version_requirements: *id002
|
55
46
|
description: |
|
56
47
|
Rbgccxml is a library that parses out GCCXML (http://www.gccxml.org) output
|
57
48
|
and provides a simple but very powerful querying API for finding exactly
|
@@ -67,36 +58,38 @@ extra_rdoc_files: []
|
|
67
58
|
files:
|
68
59
|
- TODO
|
69
60
|
- Rakefile
|
70
|
-
- lib/rbgccxml.rb
|
71
61
|
- lib/jamis.rb
|
72
|
-
- lib/rbgccxml/rbgccxml.rb
|
73
|
-
- lib/rbgccxml/parser.rb
|
74
|
-
- lib/rbgccxml/query_result.rb
|
75
62
|
- lib/rbgccxml/node.rb
|
76
|
-
- lib/rbgccxml/
|
77
|
-
- lib/rbgccxml/nodes/function_type.rb
|
78
|
-
- lib/rbgccxml/nodes/field.rb
|
79
|
-
- lib/rbgccxml/nodes/file.rb
|
80
|
-
- lib/rbgccxml/nodes/base.rb
|
81
|
-
- lib/rbgccxml/nodes/union.rb
|
82
|
-
- lib/rbgccxml/nodes/types/reference_type.rb
|
83
|
-
- lib/rbgccxml/nodes/types/array_type.rb
|
84
|
-
- lib/rbgccxml/nodes/types/typedef.rb
|
85
|
-
- lib/rbgccxml/nodes/types/cv_qualified_type.rb
|
86
|
-
- lib/rbgccxml/nodes/types/pointer_type.rb
|
87
|
-
- lib/rbgccxml/nodes/types/fundamental_type.rb
|
63
|
+
- lib/rbgccxml/node_cache.rb
|
88
64
|
- lib/rbgccxml/nodes/argument.rb
|
65
|
+
- lib/rbgccxml/nodes/base.rb
|
66
|
+
- lib/rbgccxml/nodes/class.rb
|
67
|
+
- lib/rbgccxml/nodes/constructor.rb
|
68
|
+
- lib/rbgccxml/nodes/destructor.rb
|
69
|
+
- lib/rbgccxml/nodes/enum_value.rb
|
89
70
|
- lib/rbgccxml/nodes/enumeration.rb
|
71
|
+
- lib/rbgccxml/nodes/field.rb
|
72
|
+
- lib/rbgccxml/nodes/file.rb
|
90
73
|
- lib/rbgccxml/nodes/function.rb
|
91
|
-
- lib/rbgccxml/nodes/
|
92
|
-
- lib/rbgccxml/nodes/
|
74
|
+
- lib/rbgccxml/nodes/function_type.rb
|
75
|
+
- lib/rbgccxml/nodes/method.rb
|
93
76
|
- lib/rbgccxml/nodes/namespace.rb
|
94
|
-
- lib/rbgccxml/nodes/destructor.rb
|
95
77
|
- lib/rbgccxml/nodes/struct.rb
|
96
|
-
- lib/rbgccxml/nodes/constructor.rb
|
97
|
-
- lib/rbgccxml/nodes/method.rb
|
98
78
|
- lib/rbgccxml/nodes/type.rb
|
99
|
-
- lib/rbgccxml/nodes/
|
79
|
+
- lib/rbgccxml/nodes/types/array_type.rb
|
80
|
+
- lib/rbgccxml/nodes/types/cv_qualified_type.rb
|
81
|
+
- lib/rbgccxml/nodes/types/fundamental_type.rb
|
82
|
+
- lib/rbgccxml/nodes/types/pointer_type.rb
|
83
|
+
- lib/rbgccxml/nodes/types/reference_type.rb
|
84
|
+
- lib/rbgccxml/nodes/types/typedef.rb
|
85
|
+
- lib/rbgccxml/nodes/union.rb
|
86
|
+
- lib/rbgccxml/nodes/variable.rb
|
87
|
+
- lib/rbgccxml/parser.rb
|
88
|
+
- lib/rbgccxml/query_result.rb
|
89
|
+
- lib/rbgccxml/rbgccxml.rb
|
90
|
+
- lib/rbgccxml/sax_parser.rb
|
91
|
+
- lib/rbgccxml.rb
|
92
|
+
- lib/vendor/facets/once.rb
|
100
93
|
has_rdoc: true
|
101
94
|
homepage: http://rbplusplus.rubyforge.org/rbgccxml
|
102
95
|
licenses: []
|
@@ -110,33 +103,35 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
110
103
|
requirements:
|
111
104
|
- - ">="
|
112
105
|
- !ruby/object:Gem::Version
|
106
|
+
segments:
|
107
|
+
- 0
|
113
108
|
version: "0"
|
114
|
-
version:
|
115
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
110
|
requirements:
|
117
111
|
- - ">="
|
118
112
|
- !ruby/object:Gem::Version
|
113
|
+
segments:
|
114
|
+
- 0
|
119
115
|
version: "0"
|
120
|
-
version:
|
121
116
|
requirements: []
|
122
117
|
|
123
118
|
rubyforge_project: rbplusplus
|
124
|
-
rubygems_version: 1.3.
|
119
|
+
rubygems_version: 1.3.6
|
125
120
|
signing_key:
|
126
121
|
specification_version: 3
|
127
122
|
summary: Ruby interface to GCCXML
|
128
123
|
test_files:
|
124
|
+
- test/arguments_test.rb
|
125
|
+
- test/classes_test.rb
|
129
126
|
- test/enumerations_test.rb
|
130
|
-
- test/
|
127
|
+
- test/function_pointers_test.rb
|
128
|
+
- test/functions_test.rb
|
131
129
|
- test/methods_test.rb
|
132
130
|
- test/namespaces_test.rb
|
133
|
-
- test/parser_test.rb
|
134
|
-
- test/variables_test.rb
|
135
|
-
- test/arguments_test.rb
|
136
|
-
- test/functions_test.rb
|
137
|
-
- test/test_helper.rb
|
138
131
|
- test/node_test.rb
|
132
|
+
- test/parser_test.rb
|
133
|
+
- test/query_results_test.rb
|
139
134
|
- test/structs_test.rb
|
135
|
+
- test/test_helper.rb
|
140
136
|
- test/types_test.rb
|
141
|
-
- test/
|
142
|
-
- test/function_pointers_test.rb
|
137
|
+
- test/variables_test.rb
|