rbplusplus 0.8 → 0.9

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.
Files changed (80) hide show
  1. data/Rakefile +13 -13
  2. data/TODO +9 -41
  3. data/lib/rbplusplus/builders/allocation_strategy.rb +57 -0
  4. data/lib/rbplusplus/builders/base.rb +115 -212
  5. data/lib/rbplusplus/builders/class.rb +129 -115
  6. data/lib/rbplusplus/builders/const.rb +30 -0
  7. data/lib/rbplusplus/builders/const_converter.rb +52 -0
  8. data/lib/rbplusplus/builders/constructor.rb +19 -0
  9. data/lib/rbplusplus/builders/director.rb +149 -0
  10. data/lib/rbplusplus/builders/director_method.rb +20 -0
  11. data/lib/rbplusplus/builders/enumeration.rb +19 -26
  12. data/lib/rbplusplus/builders/extension.rb +42 -54
  13. data/lib/rbplusplus/builders/global_function.rb +18 -0
  14. data/lib/rbplusplus/builders/helpers/class.rb +74 -0
  15. data/lib/rbplusplus/builders/helpers/enumeration.rb +28 -0
  16. data/lib/rbplusplus/builders/helpers/module.rb +22 -0
  17. data/lib/rbplusplus/builders/include.rb +32 -0
  18. data/lib/rbplusplus/builders/instance_variable.rb +36 -0
  19. data/lib/rbplusplus/builders/method.rb +14 -0
  20. data/lib/rbplusplus/builders/method_base.rb +136 -0
  21. data/lib/rbplusplus/builders/module.rb +37 -51
  22. data/lib/rbplusplus/builders/module_function.rb +16 -0
  23. data/lib/rbplusplus/builders/static_method.rb +14 -0
  24. data/lib/rbplusplus/extension.rb +140 -28
  25. data/lib/rbplusplus/logger.rb +45 -0
  26. data/lib/rbplusplus/module.rb +55 -1
  27. data/lib/rbplusplus/transformers/class.rb +116 -35
  28. data/lib/rbplusplus/transformers/function.rb +14 -16
  29. data/lib/rbplusplus/transformers/method.rb +26 -1
  30. data/lib/rbplusplus/transformers/namespace.rb +12 -0
  31. data/lib/rbplusplus/transformers/node.rb +47 -54
  32. data/lib/rbplusplus/transformers/node_cache.rb +5 -9
  33. data/lib/rbplusplus/writers/multiple_files_writer.rb +290 -88
  34. data/lib/rbplusplus/writers/single_file_writer.rb +36 -14
  35. data/lib/rbplusplus.rb +44 -18
  36. data/test/allocation_strategies_test.rb +33 -0
  37. data/test/class_methods_encapsulate_test.rb +59 -0
  38. data/test/class_methods_test.rb +2 -35
  39. data/test/classes_test.rb +72 -2
  40. data/test/compiling_test.rb +13 -0
  41. data/test/constructors_test.rb +9 -18
  42. data/test/custom_code_test.rb +53 -0
  43. data/test/default_arguments_test.rb +69 -0
  44. data/test/director_test.rb +173 -0
  45. data/test/enumerations_test.rb +29 -0
  46. data/test/extension_test.rb +7 -2
  47. data/test/file_writers_test.rb +11 -4
  48. data/test/function_pointer_test.rb +56 -0
  49. data/test/function_pointers_classes_test.rb +27 -0
  50. data/test/generated/extconf.rb +2 -2
  51. data/test/headers/Adder.cpp +8 -0
  52. data/test/headers/Adder.h +31 -1
  53. data/test/headers/alloc_strats.h +26 -0
  54. data/test/headers/class_methods.h +30 -0
  55. data/test/headers/code/custom_to_from_ruby.cpp +11 -0
  56. data/test/headers/code/custom_to_from_ruby.hpp +13 -0
  57. data/test/headers/constructors.h +8 -20
  58. data/test/headers/default_arguments.h +49 -0
  59. data/test/headers/director.h +148 -0
  60. data/test/headers/enums.h +33 -0
  61. data/test/headers/function_pointers.h +32 -0
  62. data/test/headers/function_pointers_class.h +26 -0
  63. data/test/headers/needs_code.h +10 -0
  64. data/test/headers/overload.h +0 -3
  65. data/test/headers/subclass.h +10 -0
  66. data/test/headers/to_from_ruby.h +6 -4
  67. data/test/headers/ugly_interface.h +4 -7
  68. data/test/modules_test.rb +11 -6
  69. data/test/overloading_test.rb +6 -2
  70. data/test/subclass_test.rb +20 -10
  71. data/test/test_helper.rb +6 -1
  72. data/test/to_from_ruby_test.rb +0 -2
  73. data/test/wrap_as_test.rb +28 -37
  74. metadata +89 -57
  75. data/lib/rbplusplus/builders/types_manager.rb +0 -93
  76. data/lib/rbplusplus/transformers/constructor.rb +0 -4
  77. data/lib/rbplusplus/transformers/module.rb +0 -71
  78. data/lib/rbplusplus/transformers/node_reference.rb +0 -30
  79. data/test/headers/ugly_helper.h +0 -18
  80. data/test/object_persistence_test.rb +0 -44
@@ -0,0 +1,26 @@
1
+ #ifndef __FUNC_POINTERS_CLASS_H__
2
+ #define __FUNC_POINTERS_CLASS_H__
3
+
4
+ namespace function_pointers_class {
5
+
6
+ // With argument and returns a value
7
+ typedef int(*Callback) (int num);
8
+
9
+ class PointerTest {
10
+ public:
11
+ PointerTest() {}
12
+
13
+ void setCallback(Callback cb) {
14
+ mCallback = cb;
15
+ }
16
+
17
+ int callCallback(int num) {
18
+ return mCallback(num);
19
+ }
20
+
21
+ private:
22
+ Callback mCallback;
23
+ };
24
+ }
25
+
26
+ #endif
@@ -0,0 +1,10 @@
1
+ #ifndef __NEEDS_CODE_H__
2
+ #define __NEEDS_CODE_H__
3
+
4
+ namespace needs_code {
5
+ const short getNumber(short in) {
6
+ return in;
7
+ }
8
+ }
9
+
10
+ #endif
@@ -20,9 +20,6 @@ namespace overload {
20
20
  }
21
21
  void nothing() {}
22
22
  void nothing(int x) {}
23
-
24
- const Mathy &self() const { return *this; }
25
- Mathy &self() { return *this; }
26
23
  };
27
24
  }
28
25
  #endif
@@ -38,5 +38,15 @@ namespace subclass {
38
38
  public:
39
39
  TemplatePtr() : TemplateSuper<Base*>(new Base()) {}
40
40
  };
41
+
42
+ class Base2 {
43
+ public:
44
+ Base2() {}
45
+ };
46
+
47
+ class Multiple : public Base, public Base2 {
48
+ public:
49
+ Multiple() {}
50
+ };
41
51
  }
42
52
  #endif
@@ -51,6 +51,7 @@ namespace to_from_ruby {
51
51
 
52
52
  /* template tests */
53
53
 
54
+ /*
54
55
  template<class T>
55
56
  class TemplateClass {
56
57
  T val;
@@ -66,13 +67,14 @@ namespace to_from_ruby {
66
67
  }
67
68
  };
68
69
 
69
- inline const TemplateClass<int> &getTemplate() {
70
- return *(new TemplateClass<int>(1));
70
+ inline const TemplateClass<int>* getTemplate() {
71
+ return new TemplateClass<int>(1);
71
72
  }
72
73
 
73
- inline const TemplateClass<int> &getTemplate(int overload) {
74
- return *(new TemplateClass<int>(overload));
74
+ inline const TemplateClass<int>* getTemplate(int overload) {
75
+ return new TemplateClass<int>(overload);
75
76
  }
77
+ */
76
78
  }
77
79
 
78
80
  #endif
@@ -1,6 +1,8 @@
1
1
  #ifndef __UGLY_H__
2
2
  #define __UGLY_H__
3
3
 
4
+ namespace UI {
5
+
4
6
  /*
5
7
  Mapping should work for:
6
8
  ruby:
@@ -91,13 +93,6 @@ namespace DMath {
91
93
  }
92
94
  }
93
95
 
94
- struct C_STRUCT_Quaternion {
95
- public:
96
- int i() {
97
- return -1;
98
- }
99
- };
100
-
101
96
  namespace I_LEARN_C {
102
97
  inline int mod(int a, int b) {
103
98
  return a%b;
@@ -112,4 +107,6 @@ namespace I_LEARN_C {
112
107
  };
113
108
  }
114
109
 
110
+ }
111
+
115
112
  #endif
data/test/modules_test.rb CHANGED
@@ -8,19 +8,24 @@ context "Extension with modules" do
8
8
  @@modules_built = true
9
9
  Extension.new "modules" do |e|
10
10
  e.sources [
11
- full_dir("headers/Adder.h"),
12
- full_dir("headers/functions.h"),
13
- full_dir("headers/Subtracter.hpp")
14
- ]
11
+ full_dir("headers/Adder.h"),
12
+ full_dir("headers/functions.h"),
13
+ full_dir("headers/Subtracter.hpp")
14
+ ],
15
+ :include_source_files => [
16
+ full_dir("headers/Adder.h"),
17
+ full_dir("headers/Adder.cpp")
18
+ ]
15
19
 
16
- # e.writer_mode :single
20
+ e.writer_mode :single
17
21
 
18
22
  e.module "Empty" do |m|
19
23
  end
20
24
 
21
25
  # Can use without a block
22
26
  wrapper = e.module "Wrapper"
23
- wrapper.namespace "classes"
27
+ node = wrapper.namespace "classes"
28
+ node.classes("Adder").disable_typedef_lookup
24
29
 
25
30
  e.module "Functions" do |m|
26
31
  m.namespace "functions"
@@ -6,7 +6,12 @@ context "Extension with overloaded methods" do
6
6
  Extension.new "overload" do |e|
7
7
  e.sources full_dir("headers/overload.h")
8
8
  node = e.namespace "overload"
9
- node.classes("Mathy").methods("times")[0].wrap_as("times")
9
+ mathy = node.classes("Mathy")
10
+ mathy.methods("times")[0].wrap_as("times")
11
+
12
+ mathy.use_constructor(
13
+ mathy.constructors.find(:arguments => [:int])
14
+ )
10
15
  end
11
16
 
12
17
  require 'overload'
@@ -28,7 +33,6 @@ context "Extension with overloaded methods" do
28
33
  should.not.raise NameError do
29
34
  math.nothing_0
30
35
  math.nothing_1(1)
31
- math.self_0.class.should == math.self_1.class
32
36
  end
33
37
 
34
38
  end
@@ -5,27 +5,37 @@ context "Extension with class hierachies" do
5
5
  specify "should make super classes methods available" do
6
6
  Extension.new "subclass" do |e|
7
7
  e.sources full_dir("headers/subclass.h")
8
+
8
9
  node = e.namespace "subclass"
9
-
10
10
  node.classes("SuperSuper").ignore
11
- e.module("Sub") do |m|
12
- node.classes.each do |c|
13
- m.includes c
14
- end
15
- end
11
+
12
+ # Rice doesn't support multiple-inheritance (neither does Ruby), so for now
13
+ # until we can fake it, force people to specify
14
+ node.classes("Multiple").use_superclass( node.classes("Base2") )
16
15
  end
17
16
 
18
17
  require 'subclass'
18
+
19
+ # Ignored superclasses should not cause problems with wrapped subclasses
19
20
  should.not.raise NameError do
20
- Sub::Base.new.one.should == Sub::Sub.new.one
21
- Sub::Base.new.zero.should == Sub::Sub.new.zero
21
+ Base.new.one.should == Sub.new.one
22
+ Base.new.zero.should == Sub.new.zero
22
23
  end
24
+
25
+ # Template superclasses shouldn't cause problems
23
26
  should.not.raise NameError do
24
- Sub::TemplateSub.new.zero.should == Sub::TemplateSub.new.custom
27
+ TemplateSub.new.zero.should == TemplateSub.new.custom
25
28
  end
29
+
26
30
  should.not.raise NameError do
27
- Sub::TemplatePtr.new.custom
31
+ TemplatePtr.new.custom
28
32
  end
33
+
34
+ should.not.raise NameError do
35
+ Multiple.new
36
+ end
37
+
38
+ Multiple.superclass.should.equal Base2
29
39
  end
30
40
 
31
41
  end
data/test/test_helper.rb CHANGED
@@ -4,6 +4,7 @@ $:.unshift File.expand_path(File.dirname(__FILE__) + "/generated")
4
4
  require 'rubygems'
5
5
  require 'test/spec'
6
6
  require 'rbplusplus'
7
+ require 'mocha_standalone'
7
8
 
8
9
  include RbPlusPlus
9
10
 
@@ -15,10 +16,14 @@ class Test::Unit::TestCase
15
16
 
16
17
  def setup
17
18
  `rm -rf #{full_dir('generated')}/*`
19
+ Logger.stubs(:info)
20
+ Logger.stubs(:warn)
21
+ Logger.stubs(:error)
22
+ Logger.stubs(:debug)
18
23
  end
19
24
 
20
25
  def teardown
21
26
  RbGCCXML::XMLParsing.clear_cache
22
- NodeCache.instance.clear
27
+ NodeCache.clear
23
28
  end
24
29
  end
@@ -18,7 +18,5 @@ context "Properly build known required to_ruby and from_ruby methods" do
18
18
  c = WrappedClass.new
19
19
  c.get_my_type(17).value.should == 17
20
20
  c.overload_0.class.should == c.overload_1(0).class
21
-
22
- get_template_0(1).overload_0.should == get_template_1.overload_1(1)
23
21
  end
24
22
  end
data/test/wrap_as_test.rb CHANGED
@@ -4,59 +4,52 @@ context "Ugly interfaces cleaner" do
4
4
 
5
5
  specify "should map functions detailed" do
6
6
  node = nil
7
-
8
-
7
+
9
8
  Extension.new "ui" do |e|
10
- e.sources full_dir("headers/ugly_interface_ns.h"),
11
- :includes => full_dir("headers/ugly_helper.h")
9
+ e.sources full_dir("headers/ugly_interface.h")
10
+
12
11
  node = e.namespace("UI")
13
-
12
+
14
13
  # test the no export option
15
14
  node.functions("uiIgnore").ignore
16
-
15
+
17
16
  # static method wrapping
18
- node.functions("IlikeVectors").wrap_as("create_vector").calls("newInstanceButBetter")
19
-
17
+ node.functions("IlikeVectors").wrap_as("create_vector")
18
+
20
19
  e.module "UI" do |m|
21
20
  m.module "Math" do |m_math|
22
21
  #function wrapping
23
22
  m_math.includes node.functions("uiAdd").wrap_as("add")
24
23
  # Wrap_as changes the name of the node
25
- node.functions("add").ignored?.should == false
26
- node.functions("add").moved?.should == true
27
-
24
+
28
25
  m_math.includes node.functions("ui_Subtract").wrap_as("subtract")
29
26
  m_math.includes node.namespaces("DMath").functions("divide")
30
27
  end
31
-
28
+
32
29
  #class wrapping
33
30
  vector = node.classes("C_UIVector").wrap_as("Vector")
34
31
  vector.methods("x_").wrap_as("x")
35
32
  vector.methods("set_x").wrap_as("x=")
36
-
37
- # This is ignored because the C function Vector_y is not defined
38
- vector.methods("y_").calls("Vector_y").ignore
39
- vector.methods("y_").qualified_name.should == "Vector_y"
40
-
33
+
41
34
  m.includes vector
42
-
35
+
43
36
  #mapping stray functions to singleton methods
44
37
  modder = node.namespaces("I_LEARN_C").classes("Modder").wrap_as("Modulus")
45
38
  modder.includes node.namespaces("I_LEARN_C").functions("mod")
46
39
  modder.includes node.namespaces("I_LEARN_C").functions("mod2").wrap_as("method_mod").as_instance_method
47
40
  m.includes modder
48
-
41
+
49
42
  nc = node.classes("NoConstructor")
50
43
  nc.constructors.each { |c| c.ignore }
51
- m.includes nc
52
-
44
+ m.includes nc
45
+
53
46
  m.includes node.classes("Outside")
54
47
  node.classes("Outside").includes node.classes("Inside")
55
48
  end
56
49
  end
57
-
50
+
58
51
  require 'ui'
59
-
52
+
60
53
  should.raise NoMethodError do
61
54
  ui_ignore()
62
55
  end
@@ -72,41 +65,39 @@ context "Ugly interfaces cleaner" do
72
65
  should.raise NoMethodError do
73
66
  ui_subtract(2,1)
74
67
  end
75
-
68
+
76
69
  should.not.raise NoMethodError do
77
70
  UI::Math::subtract(2,1).should == 1
78
71
  end
79
-
72
+
80
73
  should.raise NameError do
81
74
  C_UIVector.new
82
75
  end
83
-
76
+
84
77
  should.not.raise NameError do
85
78
  v = UI::Vector.new
86
79
  v.x = 3
87
80
  v.x.should == 3
88
81
  end
89
-
82
+
90
83
  should.raise NameError do
91
84
  UI::DMath::divide(1.0,2.0)
92
85
  end
93
-
86
+
94
87
  should.not.raise NoMethodError do
95
- UI::Modulus.mod(3,2).should == 1
88
+ UI::Modulus.mod(3,2).should.equal 1
96
89
  end
97
-
98
- should.raise TypeError do
99
- UI::Modulus.new.method_mod(2)
100
- end
101
-
90
+
91
+ UI::Modulus.new.method_mod(4, 3).should.equal 1
92
+
102
93
  should.not.raise NoMethodError do
103
- UI::Math::divide(2,1).should == 2
94
+ UI::Math::divide(2,1).should.equal 2
104
95
  end
105
-
96
+
106
97
  should.raise TypeError do
107
98
  UI::NoConstructor.new
108
99
  end
109
-
100
+
110
101
  should.not.raise NoMethodError do
111
102
  UI::Outside::Inside.new
112
103
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbplusplus
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.8"
4
+ version: "0.9"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Roelofs
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-22 00:00:00 -04:00
12
+ date: 2009-10-26 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -18,9 +18,9 @@ dependencies:
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - "="
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: "0.8"
23
+ version: "0.9"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rice
@@ -28,11 +28,14 @@ dependencies:
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.2
33
+ version: 1.2.0
34
34
  version:
35
- description: Rb++ combines the powerful query interface of rbgccxml and the Rice library to make Ruby wrapping extensions easier to write than ever.
35
+ description: |
36
+ Rb++ combines the powerful query interface of rbgccxml and the Rice library to
37
+ make Ruby wrapping extensions easier to write than ever.
38
+
36
39
  email: jameskilton@gmail.com
37
40
  executables: []
38
41
 
@@ -43,34 +46,50 @@ extra_rdoc_files: []
43
46
  files:
44
47
  - TODO
45
48
  - Rakefile
46
- - lib/rbplusplus/extension.rb
47
- - lib/rbplusplus/module.rb
48
- - lib/rbplusplus/builders/enumeration.rb
49
- - lib/rbplusplus/builders/extension.rb
50
- - lib/rbplusplus/builders/module.rb
51
- - lib/rbplusplus/builders/types_manager.rb
52
- - lib/rbplusplus/builders/base.rb
53
- - lib/rbplusplus/builders/class.rb
54
- - lib/rbplusplus/rbplusplus.rb
55
- - lib/rbplusplus/transformers/function.rb
49
+ - lib/rbplusplus.rb
56
50
  - lib/rbplusplus/transformers/node_cache.rb
51
+ - lib/rbplusplus/transformers/rbgccxml.rb
52
+ - lib/rbplusplus/transformers/function.rb
57
53
  - lib/rbplusplus/transformers/node.rb
58
- - lib/rbplusplus/transformers/module.rb
59
- - lib/rbplusplus/transformers/constructor.rb
60
- - lib/rbplusplus/transformers/node_reference.rb
54
+ - lib/rbplusplus/transformers/namespace.rb
61
55
  - lib/rbplusplus/transformers/method.rb
62
56
  - lib/rbplusplus/transformers/class.rb
63
- - lib/rbplusplus/transformers/rbgccxml.rb
64
- - lib/rbplusplus/writers/extension.rb
57
+ - lib/rbplusplus/rbplusplus.rb
65
58
  - lib/rbplusplus/writers/base.rb
66
- - lib/rbplusplus/writers/single_file_writer.rb
67
59
  - lib/rbplusplus/writers/multiple_files_writer.rb
68
- - lib/jamis.rb
60
+ - lib/rbplusplus/writers/extension.rb
61
+ - lib/rbplusplus/writers/single_file_writer.rb
62
+ - lib/rbplusplus/extension.rb
63
+ - lib/rbplusplus/builders/method_base.rb
64
+ - lib/rbplusplus/builders/allocation_strategy.rb
65
+ - lib/rbplusplus/builders/director_method.rb
66
+ - lib/rbplusplus/builders/module_function.rb
67
+ - lib/rbplusplus/builders/static_method.rb
68
+ - lib/rbplusplus/builders/base.rb
69
+ - lib/rbplusplus/builders/enumeration.rb
70
+ - lib/rbplusplus/builders/const.rb
71
+ - lib/rbplusplus/builders/helpers/enumeration.rb
72
+ - lib/rbplusplus/builders/helpers/module.rb
73
+ - lib/rbplusplus/builders/helpers/class.rb
74
+ - lib/rbplusplus/builders/extension.rb
75
+ - lib/rbplusplus/builders/instance_variable.rb
76
+ - lib/rbplusplus/builders/constructor.rb
77
+ - lib/rbplusplus/builders/director.rb
78
+ - lib/rbplusplus/builders/module.rb
79
+ - lib/rbplusplus/builders/include.rb
80
+ - lib/rbplusplus/builders/method.rb
81
+ - lib/rbplusplus/builders/global_function.rb
82
+ - lib/rbplusplus/builders/const_converter.rb
83
+ - lib/rbplusplus/builders/class.rb
84
+ - lib/rbplusplus/module.rb
85
+ - lib/rbplusplus/logger.rb
69
86
  - lib/inflector.rb
70
87
  - lib/inflections.rb
71
- - lib/rbplusplus.rb
72
- has_rdoc: false
73
- homepage: http://rbplusplus.rubyforge.org/rbplusplus
88
+ - lib/jamis.rb
89
+ has_rdoc: true
90
+ homepage: http://rbplusplus.rubyforge.org
91
+ licenses: []
92
+
74
93
  post_install_message:
75
94
  rdoc_options: []
76
95
 
@@ -91,49 +110,62 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
110
  requirements: []
92
111
 
93
112
  rubyforge_project: rbplusplus
94
- rubygems_version: 1.2.0
113
+ rubygems_version: 1.3.5
95
114
  signing_key:
96
- specification_version: 2
115
+ specification_version: 3
97
116
  summary: Ruby library to generate Rice wrapper code
98
117
  test_files:
99
- - test/classes_test.rb
100
- - test/extension_test.rb
101
- - test/nested_test.rb
118
+ - test/enumerations_test.rb
102
119
  - test/subclass_test.rb
103
- - test/constructors_test.rb
104
- - test/overloading_test.rb
105
- - test/wrap_as_test.rb
106
- - test/object_persistence_test.rb
120
+ - test/function_pointer_test.rb
107
121
  - test/generated/extconf.rb
108
- - test/class_methods_test.rb
109
- - test/compiling_test.rb
110
- - test/to_from_ruby_test.rb
122
+ - test/director_test.rb
111
123
  - test/struct_test.rb
112
- - test/enumerations_test.rb
113
- - test/modules_test.rb
114
124
  - test/functions_test.rb
115
- - test/test_helper.rb
125
+ - test/class_methods_encapsulate_test.rb
126
+ - test/compiling_test.rb
116
127
  - test/file_writers_test.rb
117
- - test/headers/Subtracter.hpp
118
- - test/headers/complex_static_methods.h
119
- - test/headers/ugly_interface.h
128
+ - test/test_helper.rb
129
+ - test/custom_code_test.rb
130
+ - test/modules_test.rb
131
+ - test/allocation_strategies_test.rb
132
+ - test/extension_test.rb
133
+ - test/to_from_ruby_test.rb
134
+ - test/class_methods_test.rb
135
+ - test/constructors_test.rb
136
+ - test/default_arguments_test.rb
137
+ - test/overloading_test.rb
138
+ - test/wrap_as_test.rb
139
+ - test/nested_test.rb
140
+ - test/classes_test.rb
141
+ - test/function_pointers_classes_test.rb
142
+ - test/headers/function_pointers.h
120
143
  - test/headers/external_mapping.h
121
- - test/headers/functions.h
122
- - test/headers/to_from_ruby_source.cpp
144
+ - test/headers/subclass.h
145
+ - test/headers/complex_static_methods.h
146
+ - test/headers/needs_code.h
147
+ - test/headers/class_methods.h
123
148
  - test/headers/empty.h
124
- - test/headers/enums.h
149
+ - test/headers/functions.h
150
+ - test/headers/function_pointers_class.h
151
+ - test/headers/Adder.h
152
+ - test/headers/director.h
153
+ - test/headers/nested_classes.h
154
+ - test/headers/external_mapping_rice.h
155
+ - test/headers/default_arguments.h
125
156
  - test/headers/ugly_interface_ns.h
126
- - test/headers/nested_struct.h
127
- - test/headers/subclass.h
128
157
  - test/headers/requires_define.h
129
- - test/headers/class_methods.h
130
- - test/headers/ugly_helper.h
131
158
  - test/headers/constructors.h
132
- - test/headers/nested_classes.h
133
- - test/headers/with_includes.h
159
+ - test/headers/code/custom_to_from_ruby.hpp
160
+ - test/headers/code/custom_to_from_ruby.cpp
134
161
  - test/headers/to_from_ruby.h
135
- - test/headers/external_mapping_rice.h
136
- - test/headers/include
162
+ - test/headers/with_includes.h
137
163
  - test/headers/include/helper.h
164
+ - test/headers/enums.h
138
165
  - test/headers/overload.h
139
- - test/headers/Adder.h
166
+ - test/headers/ugly_interface.h
167
+ - test/headers/alloc_strats.h
168
+ - test/headers/Subtracter.hpp
169
+ - test/headers/to_from_ruby_source.cpp
170
+ - test/headers/nested_struct.h
171
+ - test/headers/Adder.cpp