Skip to content

Commit 2b97a9f

Browse files
committed
Move magic comment parsing to its own class
1 parent 4a48b87 commit 2b97a9f

File tree

9 files changed

+420
-408
lines changed

9 files changed

+420
-408
lines changed

src/main/java/org/truffleruby/RubyFileTypeDetector.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.truffleruby.core.encoding.RubyEncoding;
2121
import org.truffleruby.core.encoding.TStringUtils;
2222
import org.truffleruby.core.string.TStringWithEncoding;
23-
import org.truffleruby.parser.lexer.RubyLexer;
23+
import org.truffleruby.parser.MagicCommentParser;
2424

2525
import com.oracle.truffle.api.TruffleFile;
2626

@@ -95,7 +95,7 @@ public static RubyEncoding findEncoding(BufferedReader reader) {
9595
if (encodingCommentLine != null) {
9696
var encodingComment = new TStringWithEncoding(
9797
TStringUtils.fromJavaString(encodingCommentLine, Encodings.BINARY), Encodings.BINARY);
98-
var encoding = RubyLexer.parseMagicEncodingComment(encodingComment);
98+
var encoding = MagicCommentParser.parseMagicEncodingComment(encodingComment);
9999
if (encoding != null) {
100100
return encoding;
101101
}

src/main/java/org/truffleruby/language/loader/EvalLoader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
import org.truffleruby.core.string.CannotConvertBinaryRubyStringToJavaString;
1717
import org.truffleruby.core.string.TStringWithEncoding;
1818
import org.truffleruby.language.control.RaiseException;
19+
import org.truffleruby.parser.MagicCommentParser;
1920
import org.truffleruby.parser.RubySource;
20-
import org.truffleruby.parser.lexer.RubyLexer;
2121
import org.truffleruby.shared.TruffleRuby;
2222

2323
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
@@ -30,7 +30,7 @@ public static RubySource createEvalSource(RubyContext context, AbstractTruffleSt
3030
RubyEncoding encoding, String method, String file, int line, Node currentNode) {
3131
var code = new TStringWithEncoding(codeTString.asTruffleStringUncached(encoding.tencoding), encoding);
3232

33-
var sourceTString = RubyLexer.createSourceTStringBasedOnMagicEncodingComment(code, code.encoding);
33+
var sourceTString = MagicCommentParser.createSourceTStringBasedOnMagicEncodingComment(code, code.encoding);
3434
var sourceEncoding = sourceTString.encoding;
3535

3636
if (!sourceEncoding.isAsciiCompatible) {

src/main/java/org/truffleruby/language/loader/FileLoader.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
import org.truffleruby.core.encoding.Encodings;
1919
import org.truffleruby.core.string.TStringWithEncoding;
2020
import org.truffleruby.language.control.RaiseException;
21+
import org.truffleruby.parser.MagicCommentParser;
2122
import org.truffleruby.parser.RubySource;
22-
import org.truffleruby.parser.lexer.RubyLexer;
2323
import org.truffleruby.shared.TruffleRuby;
2424

2525
import com.oracle.truffle.api.TruffleFile;
@@ -70,7 +70,8 @@ public RubySource loadFile(String path) throws IOException {
7070

7171
final byte[] sourceBytes = file.readAllBytes();
7272

73-
var sourceTString = RubyLexer.createSourceTStringBasedOnMagicEncodingComment(sourceBytes, Encodings.UTF_8);
73+
var sourceTString = MagicCommentParser.createSourceTStringBasedOnMagicEncodingComment(sourceBytes,
74+
Encodings.UTF_8);
7475

7576
final Source source = buildSource(file, path, sourceTString, isInternal(path), false);
7677
return new RubySource(source, path, sourceTString);

src/main/java/org/truffleruby/language/loader/MainLoader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import org.truffleruby.core.encoding.Encodings;
1818
import org.truffleruby.core.encoding.TStringUtils;
1919
import org.truffleruby.core.string.TStringWithEncoding;
20+
import org.truffleruby.parser.MagicCommentParser;
2021
import org.truffleruby.parser.RubySource;
21-
import org.truffleruby.parser.lexer.RubyLexer;
2222
import org.truffleruby.shared.TruffleRuby;
2323

2424
import com.oracle.truffle.api.TruffleFile;
@@ -66,7 +66,7 @@ private TStringWithEncoding transformScript(Node currentNode, String path, byte[
6666
sourceBytes = embeddedScript.transformForExecution(currentNode, sourceBytes, path);
6767
}
6868

69-
return RubyLexer.createSourceTStringBasedOnMagicEncodingComment(sourceBytes, Encodings.UTF_8);
69+
return MagicCommentParser.createSourceTStringBasedOnMagicEncodingComment(sourceBytes, Encodings.UTF_8);
7070
}
7171

7272
private byte[] readAllOfStandardIn() throws IOException {

0 commit comments

Comments
 (0)