Skip to content

Commit 7b39a56

Browse files
committed
Refactor to avoid duplication
1 parent 290085d commit 7b39a56

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/main/java/org/truffleruby/core/method/MethodEntry.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
*/
1010
package org.truffleruby.core.method;
1111

12+
import org.truffleruby.core.module.RubyModule;
1213
import org.truffleruby.language.methods.InternalMethod;
1314

1415
import com.oracle.truffle.api.Assumption;
1516
import com.oracle.truffle.api.Truffle;
17+
import org.truffleruby.language.methods.SharedMethodInfo;
1618

1719
public final class MethodEntry {
1820

@@ -46,8 +48,8 @@ public InternalMethod getMethod() {
4648
return method;
4749
}
4850

49-
public void invalidate(String message) {
50-
assumption.invalidate(message);
51+
public void invalidate(RubyModule module, String methodName) {
52+
assumption.invalidate(SharedMethodInfo.moduleAndMethodName(module, methodName));
5153
}
5254

5355
}

src/main/java/org/truffleruby/core/module/ModuleFields.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
import org.truffleruby.language.library.RubyStringLibrary;
5151
import org.truffleruby.language.loader.ReentrantLockFreeingMap;
5252
import org.truffleruby.language.methods.InternalMethod;
53-
import org.truffleruby.language.methods.SharedMethodInfo;
5453
import org.truffleruby.language.objects.ObjectGraph;
5554
import org.truffleruby.language.objects.ObjectGraphNode;
5655
import org.truffleruby.language.objects.classvariables.ClassVariableStorage;
@@ -462,7 +461,7 @@ public void addMethod(RubyContext context, Node currentNode, InternalMethod meth
462461

463462
if (!context.getCoreLibrary().isInitializing()) {
464463
if (previousMethodEntry != null) {
465-
previousMethodEntry.invalidate(SharedMethodInfo.moduleAndMethodName(rubyModule, method.getName()));
464+
previousMethodEntry.invalidate(rubyModule, method.getName());
466465
}
467466
// invalidate assumptions to not use an AST-inlined methods
468467
changedMethod(method.getName());
@@ -491,7 +490,7 @@ public boolean removeMethod(String methodName) {
491490

492491
MethodEntry removedEntry = methods.remove(methodName);
493492
if (removedEntry != null) {
494-
removedEntry.invalidate(SharedMethodInfo.moduleAndMethodName(rubyModule, methodName));
493+
removedEntry.invalidate(rubyModule, methodName);
495494
}
496495

497496
changedMethod(methodName);
@@ -741,7 +740,7 @@ public void newMethodsVersion(List<String> methodsToInvalidate) {
741740
if (methodEntry == null) {
742741
break;
743742
} else {
744-
methodEntry.invalidate(SharedMethodInfo.moduleAndMethodName(rubyModule, entryToInvalidate));
743+
methodEntry.invalidate(rubyModule, entryToInvalidate);
745744
if (methods.replace(entryToInvalidate, methodEntry, methodEntry.withNewAssumption())) {
746745
break;
747746
}

0 commit comments

Comments
 (0)