Skip to content

Commit f6abe62

Browse files
committed
Mark some Primitives as public
1 parent 1112b40 commit f6abe62

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

src/annotations/java/org/truffleruby/annotations/Primitive.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,7 @@
3333

3434
/** Use these names in Ruby core methods stubs, ignore argument names in Java specializations. */
3535
String[] argumentNames() default {};
36+
37+
/** Whether this Primitive can be used outside the TruffleRuby repository. */
38+
boolean isPublic() default false;
3639
}

src/main/java/org/truffleruby/core/regexp/MatchDataNodes.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,11 @@ RubyMatchData fixupMatchData(RubyMatchData matchData, int startPos,
220220
}
221221
}
222222

223-
@Primitive(name = "matchdata_create_single_group", lowerFixnum = { 2, 3 })
223+
@Primitive(name = "matchdata_create_single_group", lowerFixnum = { 2, 3 }, isPublic = true)
224224
public abstract static class MatchDataCreateSingleGroupNode extends PrimitiveArrayArgumentsNode {
225225

226226
@Specialization
227-
Object create(Object regexp, Object string, int start, int end) {
227+
RubyMatchData create(Object regexp, Object string, int start, int end) {
228228
final MultiRegion region = new MultiRegion(start, end);
229229
RubyMatchData matchData = new RubyMatchData(
230230
coreLibrary().matchDataClass,
@@ -620,7 +620,7 @@ protected boolean inBounds(RubyMatchData matchData, int index) {
620620
}
621621
}
622622

623-
@Primitive(name = "match_data_byte_begin", lowerFixnum = 1)
623+
@Primitive(name = "match_data_byte_begin", lowerFixnum = 1, isPublic = true)
624624
public abstract static class ByteBeginNode extends PrimitiveArrayArgumentsNode {
625625

626626
@Specialization(guards = "inBounds(matchData, index)")
@@ -649,7 +649,7 @@ protected boolean inBounds(RubyMatchData matchData, int index) {
649649
}
650650
}
651651

652-
@Primitive(name = "match_data_byte_end", lowerFixnum = 1)
652+
@Primitive(name = "match_data_byte_end", lowerFixnum = 1, isPublic = true)
653653
public abstract static class ByteEndNode extends PrimitiveArrayArgumentsNode {
654654

655655
@Specialization(guards = "inBounds(matchData, index)")

src/main/java/org/truffleruby/core/support/TypeNodes.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
@CoreModule("Truffle::Type")
6666
public abstract class TypeNodes {
6767

68-
@Primitive(name = "is_a?")
68+
@Primitive(name = "is_a?", isPublic = true)
6969
public abstract static class IsAPrimitiveNode extends PrimitiveArrayArgumentsNode {
7070
@Specialization
7171
boolean isA(Object object, RubyModule module,
@@ -84,7 +84,7 @@ boolean respondTo(Object object, RubySymbol name, boolean includePrivate,
8484
}
8585
}
8686

87-
@Primitive(name = "class")
87+
@Primitive(name = "class", isPublic = true)
8888
public abstract static class ClassPrimitiveNode extends PrimitiveArrayArgumentsNode {
8989
@Specialization
9090
RubyClass objectClass(Object object,
@@ -544,7 +544,7 @@ boolean isUndefined(Object value) {
544544
}
545545
}
546546

547-
@Primitive(name = "as_boolean")
547+
@Primitive(name = "as_boolean", isPublic = true)
548548
public abstract static class AsBooleanNode extends PrimitiveArrayArgumentsNode {
549549

550550
@Specialization

0 commit comments

Comments
 (0)