From 135602b2853de8664f95a5deeaa44e175107f7be Mon Sep 17 00:00:00 2001 From: jantuomi Date: Fri, 5 Aug 2016 09:58:23 +0300 Subject: Make 'output' function utilize IO printLine --- .../core/runtime/builtins/globals/InputBuiltinFunction.java | 1 - .../core/runtime/builtins/globals/OutputBuiltinFunction.java | 3 ++- src/main/com/jantuomi/tunkki/repl/Repl.java | 3 +-- src/main/com/jantuomi/tunkki/utils/IO.java | 11 +++++++++++ 4 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src') 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 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(); + } } -- cgit v1.3