Skip to content

Commit 5e3b726

Browse files
eregonandrykonchin
authored andcommitted
Make ParseEnvironment#yarpSource final
1 parent bf4a4d0 commit 5e3b726

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

src/main/java/org/truffleruby/parser/ParseEnvironment.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,25 +25,28 @@ public final class ParseEnvironment {
2525
public final RubyLanguage language;
2626
public final RubySource rubySource;
2727
public final Source source;
28+
/** Used to compute line numbers */
29+
public final Nodes.Source yarpSource;
2830
public final ParserContext parserContext;
2931
public final Node currentNode;
3032

3133
private final boolean inCore;
3234
private final boolean coverageEnabled;
3335

34-
public Nodes.Source yarpSource = null;
3536

3637
// Set once after parsing and before translating
3738
public Boolean allowTruffleRubyPrimitives = null;
3839

3940
public ParseEnvironment(
4041
RubyLanguage language,
4142
RubySource rubySource,
43+
Nodes.Source yarpSource,
4244
ParserContext parserContext,
4345
Node currentNode) {
4446
this.language = language;
4547
this.rubySource = rubySource;
4648
this.source = rubySource.getSource();
49+
this.yarpSource = yarpSource;
4750
this.parserContext = parserContext;
4851
this.currentNode = currentNode;
4952

src/main/java/org/truffleruby/parser/TranslatorDriver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public TranslatorDriver(RubyContext context) {
104104

105105
public RootCallTarget parse(RubySource rubySource, ParserContext parserContext, String[] argumentNames,
106106
MaterializedFrame parentFrame, LexicalScope staticLexicalScope, Node currentNode) {
107-
this.parseEnvironment = new ParseEnvironment(language, rubySource, parserContext, currentNode);
107+
this.parseEnvironment = new ParseEnvironment(language, rubySource, null, parserContext, currentNode);
108108

109109
if (language.options.PRISM) {
110110
return new YARPTranslatorDriver(context).parse(rubySource, parserContext, argumentNames,

src/main/java/org/truffleruby/parser/YARPTranslatorDriver.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ public YARPTranslatorDriver(RubyContext context) {
109109

110110
public RootCallTarget parse(RubySource rubySource, ParserContext parserContext, String[] argumentNames,
111111
MaterializedFrame parentFrame, LexicalScope staticLexicalScope, Node currentNode) {
112-
this.parseEnvironment = new ParseEnvironment(language, rubySource, parserContext, currentNode);
112+
Nodes.Source yarpSource = createYARPSource(rubySource.getBytes(), rubySource);
113+
this.parseEnvironment = new ParseEnvironment(language, rubySource, yarpSource, parserContext, currentNode);
113114

114115
assert rubySource.isEval() == parserContext.isEval();
115116

@@ -457,8 +458,7 @@ public static org.prism.ParseResult parseToYARPAST(RubyContext context, RubyLang
457458
version, scopes);
458459
byte[] serializedBytes = Parser.parseAndSerialize(sourceBytes, parsingOptions);
459460

460-
Nodes.Source yarpSource = createYARPSource(sourceBytes, rubySource);
461-
parseEnvironment.yarpSource = yarpSource;
461+
Nodes.Source yarpSource = parseEnvironment.yarpSource;
462462
ParseResult parseResult = YARPLoader.load(serializedBytes, yarpSource, context.getEncodingManager(),
463463
rubySource);
464464

0 commit comments

Comments
 (0)