aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorjantuomi <jans.tuomi@gmail.com>2016-08-05 09:58:23 +0300
committerjantuomi <jans.tuomi@gmail.com>2016-08-05 09:58:23 +0300
commit135602b2853de8664f95a5deeaa44e175107f7be (patch)
treedcffe179502362e09acb0a926e6be2b69f2a401b /src
parentf8f6ecfce7f030522f500327c76c268aa45ca978 (diff)
Make 'output' function utilize IO printLine
Diffstat (limited to 'src')
-rw-r--r--src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/InputBuiltinFunction.java1
-rw-r--r--src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/OutputBuiltinFunction.java3
-rw-r--r--src/main/com/jantuomi/tunkki/repl/Repl.java3
-rw-r--r--src/main/com/jantuomi/tunkki/utils/IO.java11
4 files changed, 14 insertions, 4 deletions
diff --git a/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/InputBuiltinFunction.java b/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/InputBuiltinFunction.java
index 26df094..3625541 100644
--- a/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/InputBuiltinFunction.java
+++ b/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/InputBuiltinFunction.java
@@ -35,6 +35,5 @@ public class InputBuiltinFunction extends BuiltinFunction {
e.printStackTrace();
return new NadaDatatype();
}
-
}
}
diff --git a/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/OutputBuiltinFunction.java b/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/OutputBuiltinFunction.java
index 7a7d6fa..e4857c0 100644
--- a/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/OutputBuiltinFunction.java
+++ b/src/main/com/jantuomi/tunkki/core/runtime/builtins/globals/OutputBuiltinFunction.java
@@ -3,6 +3,7 @@ package com.jantuomi.tunkki.core.runtime.builtins.globals;
import com.jantuomi.tunkki.core.parser.datatype.Datatype;
import com.jantuomi.tunkki.core.parser.datatype.VoidDatatype;
import com.jantuomi.tunkki.exception.types.TunkkiError;
+import com.jantuomi.tunkki.utils.IO;
import java.util.Arrays;
import java.util.List;
@@ -20,7 +21,7 @@ public class OutputBuiltinFunction extends BuiltinFunction {
@Override
public Datatype evaluate(List<Datatype> params) throws TunkkiError {
Datatype param = params.get(0);
- System.out.println(param.getData().toString());
+ IO.getInstance().printLine(param.getData().toString());
return new VoidDatatype();
}
}
diff --git a/src/main/com/jantuomi/tunkki/repl/Repl.java b/src/main/com/jantuomi/tunkki/repl/Repl.java
index c6d843b..0b415b8 100644
--- a/src/main/com/jantuomi/tunkki/repl/Repl.java
+++ b/src/main/com/jantuomi/tunkki/repl/Repl.java
@@ -24,7 +24,6 @@ public class Repl {
String line;
String command = "";
- PrintWriter out = new PrintWriter(System.out);
boolean isMultilineInput = false;
while (true) {
if (isMultilineInput) {
@@ -49,7 +48,7 @@ public class Repl {
}
}
- out.flush();
+ IO.getInstance().flush();
}
}
diff --git a/src/main/com/jantuomi/tunkki/utils/IO.java b/src/main/com/jantuomi/tunkki/utils/IO.java
index ec3ac2a..03e575c 100644
--- a/src/main/com/jantuomi/tunkki/utils/IO.java
+++ b/src/main/com/jantuomi/tunkki/utils/IO.java
@@ -3,6 +3,7 @@ package com.jantuomi.tunkki.utils;
import jline.console.ConsoleReader;
import java.io.IOException;
+import java.io.PrintWriter;
/**
* Created by jan on 4.8.2016.
@@ -10,6 +11,7 @@ import java.io.IOException;
public class IO {
private static IO instance = new IO();
private ConsoleReader reader;
+ private PrintWriter printer;
public static IO getInstance() {
return instance;
@@ -18,6 +20,7 @@ public class IO {
private IO() {
try {
reader = new ConsoleReader();
+ printer = new PrintWriter(System.out);
} catch (IOException e) {
e.printStackTrace();
}
@@ -31,4 +34,12 @@ public class IO {
String line = reader.readLine();
return line.trim();
}
+
+ public void printLine(String line) {
+ printer.println(line);
+ }
+
+ public void flush() {
+ printer.flush();
+ }
}