Skip to content

Commit 5fe1361

Browse files
committed
RubyModule this-escape is necessary and harmless
1 parent 38ef497 commit 5fe1361

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public ModuleFields(
135135
SourceSection sourceSection,
136136
RubyModule lexicalParent,
137137
String givenBaseName,
138-
RubyModule rubyModule) {
138+
RubyModule rubyModule /* not fully initialized yet, should not access any field of it */) {
139139
super(null);
140140
this.language = language;
141141
this.sourceSection = sourceSection;

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public class RubyModule extends RubyDynamicObject implements ObjectGraphNode {
4848
@DynamicField private Object object3;
4949
@DynamicField private Object object4;
5050

51+
@SuppressWarnings("this-escape")
5152
public RubyModule(
5253
RubyClass rubyClass,
5354
Shape shape,
@@ -59,6 +60,7 @@ public RubyModule(
5960
this.fields = new ModuleFields(language, sourceSection, lexicalParent, givenBaseName, this);
6061
}
6162

63+
@SuppressWarnings("this-escape")
6264
protected RubyModule(RubyLanguage language, Shape classShape, String constructorOnlyForClassClass) {
6365
super(classShape, constructorOnlyForClassClass);
6466
this.fields = new ModuleFields(language, null, null, "Class", this);

0 commit comments

Comments
 (0)