Skip to content

Commit 60c5ec1

Browse files
committed
[GR-14628] Update RFileTypeDetector to implement TruffleFile.FileTypeDectector.
PullRequest: fastr/1971
2 parents 76238dc + 078ab96 commit 60c5ec1

File tree

3 files changed

+14
-12
lines changed

3 files changed

+14
-12
lines changed

com.oracle.truffle.r.engine/src/META-INF/services/java.nio.file.spi.FileTypeDetector

Lines changed: 0 additions & 1 deletion
This file was deleted.

com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RFileTypeDetector.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,24 @@
2323
package com.oracle.truffle.r.engine;
2424

2525
import java.io.IOException;
26-
import java.nio.file.Path;
27-
import java.nio.file.spi.FileTypeDetector;
26+
import java.nio.charset.Charset;
27+
import com.oracle.truffle.api.TruffleFile;
2828

2929
import com.oracle.truffle.r.runtime.RRuntime;
3030

31-
public final class RFileTypeDetector extends FileTypeDetector {
31+
public final class RFileTypeDetector implements TruffleFile.FileTypeDetector {
32+
3233
@Override
33-
public String probeContentType(Path path) throws IOException {
34-
Path fileNamePath = path.getFileName();
35-
if (fileNamePath != null) {
36-
String fileName = fileNamePath.toString();
37-
if (fileName.endsWith(".R") || fileName.endsWith(".r")) {
38-
return RRuntime.R_TEXT_MIME;
39-
}
34+
public String findMimeType(TruffleFile file) throws IOException {
35+
String fileName = file.getName();
36+
if (fileName != null && (fileName.endsWith(".R") || fileName.endsWith(".r"))) {
37+
return RRuntime.R_TEXT_MIME;
4038
}
4139
return null;
4240
}
41+
42+
@Override
43+
public Charset findEncoding(TruffleFile file) throws IOException {
44+
return null;
45+
}
4346
}

com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/TruffleRLanguageImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
import com.oracle.truffle.r.runtime.nodes.RBaseNode;
7070
import org.graalvm.options.OptionDescriptors;
7171

72-
@TruffleLanguage.Registration(name = "R", id = "R", version = "3.5.1", mimeType = {RRuntime.R_APP_MIME, RRuntime.R_TEXT_MIME}, interactive = true)
72+
@TruffleLanguage.Registration(name = "R", id = "R", version = "3.5.1", mimeType = {RRuntime.R_APP_MIME, RRuntime.R_TEXT_MIME}, interactive = true, fileTypeDetectors = RFileTypeDetector.class)
7373
@ProvidedTags({StandardTags.CallTag.class, StandardTags.StatementTag.class, StandardTags.RootTag.class, RSyntaxTags.LoopTag.class, FunctionBodyBlockTag.class})
7474
public final class TruffleRLanguageImpl extends TruffleRLanguage {
7575

0 commit comments

Comments
 (0)