Mercurial > hg > truffle
diff truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleLanguage.java @ 22165:67f75f61c974
Certain languages (like FastR) prefer access to raw byte streams. Offering it. One always has an option to wrap Input and Output Streams into character based Readers and Writers
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Mon, 21 Sep 2015 12:36:30 +0200 |
parents | dc83cc1f94f2 |
children | 0bcfe8c6088f 1421041175a7 526de3af756d |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleLanguage.java Mon Sep 21 11:30:33 2015 +0200 +++ b/truffle/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleLanguage.java Mon Sep 21 12:36:30 2015 +0200 @@ -31,6 +31,10 @@ import com.oracle.truffle.api.nodes.Node; import com.oracle.truffle.api.source.Source; import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; import java.lang.annotation.ElementType; @@ -246,11 +250,11 @@ private final Object vm; private final TruffleLanguage<?> lang; private final LangCtx<?> langCtx; - private final Reader in; - private final Writer err; - private final Writer out; + private final InputStream in; + private final OutputStream err; + private final OutputStream out; - Env(Object vm, TruffleLanguage<?> lang, Writer out, Writer err, Reader in) { + Env(Object vm, TruffleLanguage<?> lang, OutputStream out, OutputStream err, InputStream in) { this.vm = vm; this.in = in; this.err = err; @@ -278,8 +282,13 @@ * * @return reader, never <code>null</code> */ + public InputStream in() { + return in; + } + + @Deprecated public Reader stdIn() { - return in; + return new InputStreamReader(in); } /** @@ -288,8 +297,13 @@ * * @return writer, never <code>null</code> */ + public OutputStream out() { + return out; + } + + @Deprecated public Writer stdOut() { - return out; + return new OutputStreamWriter(out); } /** @@ -298,8 +312,13 @@ * * @return writer, never <code>null</code> */ + public OutputStream err() { + return err; + } + + @Deprecated public Writer stdErr() { - return err; + return new OutputStreamWriter(err); } } @@ -308,7 +327,7 @@ @SuppressWarnings("rawtypes") private static final class AccessAPI extends Accessor { @Override - protected Env attachEnv(Object vm, TruffleLanguage<?> language, Writer stdOut, Writer stdErr, Reader stdIn) { + protected Env attachEnv(Object vm, TruffleLanguage<?> language, OutputStream stdOut, OutputStream stdErr, InputStream stdIn) { Env env = new Env(vm, language, stdOut, stdErr, stdIn); return env; }