Skip to content

Commit 6baf79e

Browse files
committed
[Truffle] Warn if using isModuleFunction on a Class.
* In Ruby it should even be a NoMethodError.
1 parent a563d9c commit 6baf79e

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

truffle/src/main/java/org/jruby/truffle/nodes/core/CoreMethodNodeManager.java

+3
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ private static void addMethod(RubyClass rubyObjectClass, MethodDetails methodDet
9393
if (anno.onSingleton()) {
9494
System.err.println("WARNING: Either onSingleton or isModuleFunction for " + methodDetails.getIndicativeName());
9595
}
96+
if (!module.isOnlyAModule()) {
97+
System.err.println("WARNING: Using isModuleFunction on a Class for " + methodDetails.getIndicativeName());
98+
}
9699
}
97100

98101
// Do not use needsSelf=true in module functions, it is either the module/class or the instance.

truffle/src/main/java/org/jruby/truffle/nodes/core/EncodingConverterNodes.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public RubyNilClass initialize(RubyEncodingConverter self, RubyString source, Ru
114114

115115
}
116116

117-
@CoreMethod(names = "search_convpath", isModuleFunction = true, needsSelf = false, required = 2)
117+
@CoreMethod(names = "search_convpath", onSingleton = true, required = 2)
118118
public abstract static class SearchConvPathNode extends CoreMethodNode {
119119

120120
public SearchConvPathNode(RubyContext context, SourceSection sourceSection) {

0 commit comments

Comments
 (0)