Skip to content

Commit e5fb607

Browse files
committed
Cleanup the load order in synchronized object
1 parent 524592a commit e5fb607

File tree

20 files changed

+338
-296
lines changed

20 files changed

+338
-296
lines changed

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env rake
22

3-
require 'concurrent/extension_helper'
3+
require 'concurrent/native_extensions'
44

55
## load the two gemspec files
66
CORE_GEMSPEC = Gem::Specification.load('concurrent-ruby.gemspec')

concurrent-ruby-ext.gemspec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ Gem::Specification.new do |s|
2020

2121
s.files = Dir['ext/**/*.{h,c,cpp}']
2222
s.files += [
23-
'lib/concurrent/extension_helper.rb',
2423
'lib/concurrent/atomic_reference/concurrent_update_error.rb',
2524
'lib/concurrent/atomic_reference/direct_update.rb',
2625
'lib/concurrent/atomic_reference/numeric_cas_wrapper.rb',

ext/com/concurrent_ruby/ext/JavaSynchronizedObjectLibrary.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,29 @@
2020
public class JavaSynchronizedObjectLibrary implements Library {
2121

2222
public void load(Ruby runtime, boolean wrap) throws IOException {
23-
RubyModule concurrentMod = runtime.defineModule("Concurrent");
24-
RubyClass javaSynchronizedObjectClass = concurrentMod.defineClassUnder(
25-
"JavaSynchronizedObject",
26-
concurrentMod.getClass("AbstractSynchronizedObject"),
27-
JRUBYREFERENCE_ALLOCATOR);
28-
javaSynchronizedObjectClass.defineAnnotatedMethods(JavaSynchronizedObject.class);
23+
RubyModule concurrentModule = runtime.
24+
defineModule("Concurrent").
25+
defineModuleUnder("SynchronizedObjectImplementations");
26+
RubyClass parent = concurrentModule.
27+
getClass("Abstract");
28+
if (parent == null) throw runtime.newRuntimeError("Concurrent::SynchronizedObject::Abstract is missing");
29+
30+
RubyClass synchronizedObjectJavaClass = concurrentModule.
31+
defineClassUnder("Java", parent, JRUBYREFERENCE_ALLOCATOR);
32+
33+
synchronizedObjectJavaClass.defineAnnotatedMethods(Java.class);
2934
}
3035

3136
private static final ObjectAllocator JRUBYREFERENCE_ALLOCATOR = new ObjectAllocator() {
3237
public IRubyObject allocate(Ruby runtime, RubyClass klazz) {
33-
return new JavaSynchronizedObject(runtime, klazz);
38+
return new Java(runtime, klazz);
3439
}
3540
};
3641

37-
@JRubyClass(name = "JavaSynchronizedObject", parent = "AbstractSynchronizedObject")
38-
public static class JavaSynchronizedObject extends RubyObject {
42+
@JRubyClass(name = "Java", parent = "Abstract")
43+
public static class Java extends RubyObject {
3944

40-
public JavaSynchronizedObject(Ruby runtime, RubyClass metaClass) {
45+
public Java(Ruby runtime, RubyClass metaClass) {
4146
super(runtime, metaClass);
4247
}
4348

ext/concurrent/extconf.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
require 'fileutils'
22

3-
require 'concurrent/extension_helper'
3+
require 'concurrent/native_extensions'
44

55
EXTENSION_NAME = 'extension'
66

lib/concurrent/atomic.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
end
1313
#####################################################################
1414

15-
require 'concurrent/extension_helper'
15+
require 'concurrent/native_extensions'
1616
require 'concurrent/utility/engine'
1717
require 'concurrent/atomic_reference/concurrent_update_error'
1818
require 'concurrent/atomic_reference/mutex_atomic'

lib/concurrent/atomic/atomic_boolean.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require 'concurrent/extension_helper'
1+
require 'concurrent/native_extensions'
22

33
module Concurrent
44

lib/concurrent/atomic/atomic_fixnum.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require 'concurrent/extension_helper'
1+
require 'concurrent/native_extensions'
22

33
module Concurrent
44

lib/concurrent/atomic_reference/jruby.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require 'concurrent/extension_helper'
1+
require 'concurrent/native_extensions'
22

33
if defined?(Concurrent::JavaAtomic)
44
require 'concurrent/atomic_reference/direct_update'

lib/concurrent/atomic_reference/ruby.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
if defined? Concurrent::CAtomic
2-
require 'concurrent/extension_helper'
2+
require 'concurrent/native_extensions'
33
require 'concurrent/atomic_reference/direct_update'
44
require 'concurrent/atomic_reference/numeric_cas_wrapper'
55

lib/concurrent/extension_helper.rb

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)