From 47b593241f108a8c1bde82bd3dd465838cb51b07 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 11 Sep 2016 13:05:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D1=81=20Android=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/annimon/ownlang/Console.java | 4 ++++ .../ownlang/annotations/ConstantInitializer.java | 12 ------------ .../java/com/annimon/ownlang/lib/NumberValue.java | 4 ++-- .../com/annimon/ownlang/lib/modules/canvas.java | 2 -- .../com/annimon/ownlang/lib/modules/canvasfx.java | 2 -- .../java/com/annimon/ownlang/lib/modules/date.java | 6 ++---- .../java/com/annimon/ownlang/lib/modules/files.java | 8 +++----- .../java/com/annimon/ownlang/lib/modules/forms.java | 2 -- .../com/annimon/ownlang/lib/modules/functional.java | 6 +++--- .../lib/modules/functions/functional_chain.java | 8 ++++++-- .../lib/modules/functions/functional_combine.java | 8 ++++++-- .../lib/modules/functions/functional_flatmap.java | 9 +++++++-- .../lib/modules/functions/functional_foreach.java | 3 +-- .../lib/modules/functions/functional_map.java | 11 ++++++++--- .../lib/modules/functions/functional_reduce.java | 11 ++++++++--- .../lib/modules/functions/functional_sortby.java | 9 +++++++-- .../ownlang/lib/modules/functions/http_http.java | 9 +++++++-- .../ownlang/lib/modules/functions/json_decode.java | 3 +-- .../ownlang/lib/modules/functions/robot_exec.java | 9 +++++++-- .../lib/modules/functions/std_arrayCombine.java | 9 +++++++-- .../lib/modules/functions/std_arrayKeyExists.java | 9 +++++++-- .../lib/modules/functions/std_arrayKeys.java | 9 +++++++-- .../lib/modules/functions/std_arrayValues.java | 9 +++++++-- .../ownlang/lib/modules/functions/std_charat.java | 8 ++++++-- .../ownlang/lib/modules/functions/std_echo.java | 9 +++++---- .../ownlang/lib/modules/functions/std_indexof.java | 9 ++++++--- .../ownlang/lib/modules/functions/std_join.java | 9 +++++++-- .../lib/modules/functions/std_lastindexof.java | 7 +++++-- .../ownlang/lib/modules/functions/std_rand.java | 3 +-- .../ownlang/lib/modules/functions/std_readln.java | 6 ++++-- .../ownlang/lib/modules/functions/std_replace.java | 7 +++++-- .../lib/modules/functions/std_replaceall.java | 7 +++++-- .../lib/modules/functions/std_replacefirst.java | 9 ++++++--- .../ownlang/lib/modules/functions/std_sort.java | 9 +++++++-- .../ownlang/lib/modules/functions/std_split.java | 8 ++++++-- .../ownlang/lib/modules/functions/std_sprintf.java | 8 ++++++-- .../lib/modules/functions/std_substring.java | 7 +++++-- .../ownlang/lib/modules/functions/std_thread.java | 12 +++++++++--- .../ownlang/lib/modules/functions/std_tochar.java | 7 +++++-- .../lib/modules/functions/std_tolowercase.java | 7 +++++-- .../lib/modules/functions/std_touppercase.java | 7 +++++-- .../ownlang/lib/modules/functions/std_trim.java | 7 +++++-- .../java/com/annimon/ownlang/lib/modules/http.java | 8 ++++---- .../java/com/annimon/ownlang/lib/modules/java.java | 4 +--- .../java/com/annimon/ownlang/lib/modules/jdbc.java | 2 -- .../java/com/annimon/ownlang/lib/modules/json.java | 5 +++-- .../java/com/annimon/ownlang/lib/modules/math.java | 4 +--- .../java/com/annimon/ownlang/lib/modules/ounit.java | 13 ++++++++++--- .../java/com/annimon/ownlang/lib/modules/robot.java | 2 -- .../com/annimon/ownlang/lib/modules/socket.java | 2 -- .../java/com/annimon/ownlang/lib/modules/std.java | 4 +--- .../java/com/annimon/ownlang/lib/modules/types.java | 2 -- .../java/com/annimon/ownlang/parser/Beautifier.java | 3 ++- .../com/annimon/ownlang/parser/ParseErrors.java | 3 ++- .../annimon/ownlang/parser/ast/BlockStatement.java | 3 ++- .../parser/optimization/InstructionCombining.java | 5 +++-- .../ownlang/parser/visitors/PrintVisitor.java | 3 ++- src/main/java/com/annimon/ownlang/utils/Repl.java | 2 +- .../com/annimon/ownlang/utils/TimeMeasurement.java | 5 +++-- 59 files changed, 238 insertions(+), 140 deletions(-) delete mode 100644 src/main/java/com/annimon/ownlang/annotations/ConstantInitializer.java diff --git a/src/main/java/com/annimon/ownlang/Console.java b/src/main/java/com/annimon/ownlang/Console.java index 06217d6..6beab63 100644 --- a/src/main/java/com/annimon/ownlang/Console.java +++ b/src/main/java/com/annimon/ownlang/Console.java @@ -8,6 +8,10 @@ import java.io.UnsupportedEncodingException; public class Console { + public static String newline() { + return System.lineSeparator(); + } + public static void print(String value) { System.out.print(value); } diff --git a/src/main/java/com/annimon/ownlang/annotations/ConstantInitializer.java b/src/main/java/com/annimon/ownlang/annotations/ConstantInitializer.java deleted file mode 100644 index fd1c781..0000000 --- a/src/main/java/com/annimon/ownlang/annotations/ConstantInitializer.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.annimon.ownlang.annotations; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.SOURCE) -@Target(ElementType.TYPE) -public @interface ConstantInitializer { - -} diff --git a/src/main/java/com/annimon/ownlang/lib/NumberValue.java b/src/main/java/com/annimon/ownlang/lib/NumberValue.java index 0054281..3febab7 100644 --- a/src/main/java/com/annimon/ownlang/lib/NumberValue.java +++ b/src/main/java/com/annimon/ownlang/lib/NumberValue.java @@ -5,9 +5,9 @@ package com.annimon.ownlang.lib; * @author aNNiMON */ public final class NumberValue implements Value { - + public static final NumberValue MINUS_ONE, ZERO, ONE; - + private static final int CACHE_MIN = -128, CACHE_MAX = 127; private static final NumberValue[] NUMBER_CACHE; static { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/canvas.java b/src/main/java/com/annimon/ownlang/lib/modules/canvas.java index 1f1ca36..a76e79b 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/canvas.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/canvas.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; import java.awt.Color; import java.awt.Dimension; @@ -20,7 +19,6 @@ import javax.swing.JPanel; * * @author aNNiMON */ -@ConstantInitializer public final class canvas implements Module { private static JFrame frame; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java b/src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java index c842c45..8934f33 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; import static com.annimon.ownlang.lib.Converters.*; @@ -43,7 +42,6 @@ import javax.swing.JFrame; * * @author aNNiMON */ -@ConstantInitializer public final class canvasfx implements Module { private static final int FX_EFFECT_TYPE = 5301; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/date.java b/src/main/java/com/annimon/ownlang/lib/modules/date.java index a3de9f8..a869e45 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/date.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/date.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; import java.text.DateFormat; @@ -14,7 +13,6 @@ import java.util.Locale; * * @author aNNiMON */ -@ConstantInitializer public final class date implements Module { private static final int DATE_DATE_FORMAT = 9829; @@ -197,7 +195,7 @@ public final class date implements Module { } try { calendar.setTime(DateFormat.getDateTimeInstance().parse(arg1.asString())); - } catch (ParseException ex) { } + } catch (ParseException ignore) { } } private static void date(Calendar calendar, Value arg1, Value arg2) { @@ -207,7 +205,7 @@ public final class date implements Module { } try { calendar.setTime(new SimpleDateFormat(arg1.asString()).parse(arg2.asString())); - } catch (ParseException ex) { } + } catch (ParseException ignore) { } } } diff --git a/src/main/java/com/annimon/ownlang/lib/modules/files.java b/src/main/java/com/annimon/ownlang/lib/modules/files.java index f65d848..bcb2515 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/files.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/files.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.lib.*; import java.io.BufferedReader; @@ -21,7 +20,6 @@ import java.util.Map; * * @author aNNiMON */ -@ConstantInitializer public final class files implements Module { private static Map files; @@ -34,7 +32,7 @@ public final class files implements Module { public void init() { files = new HashMap<>(); initConstants(); - + Functions.set("fopen", new fopen()); Functions.set("flush", new flush()); Functions.set("fclose", new fclose()); @@ -169,7 +167,7 @@ public final class files implements Module { protected abstract Value execute(FileInfo fileInfo, Value[] args) throws IOException; } - + private static class listFiles extends FileFunction { @Override protected Value execute(FileInfo fileInfo, Value[] args) throws IOException { @@ -559,7 +557,7 @@ public final class files implements Module { return NumberValue.ONE; } } - + private static class writeText extends FileFunction { @Override protected Value execute(FileInfo fileInfo, Value[] args) throws IOException { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/forms.java b/src/main/java/com/annimon/ownlang/lib/modules/forms.java index 8f2b268..1216449 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/forms.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/forms.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; import com.annimon.ownlang.lib.modules.functions.forms.Components; import com.annimon.ownlang.lib.modules.functions.forms.LayoutManagers; @@ -13,7 +12,6 @@ import javax.swing.SwingConstants; * * @author aNNiMON */ -@ConstantInitializer public final class forms implements Module { public static void initConstants() { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functional.java b/src/main/java/com/annimon/ownlang/lib/modules/functional.java index 1ff29ed..2e778cb 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functional.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functional.java @@ -1,14 +1,14 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Functions; +import com.annimon.ownlang.lib.Variables; import com.annimon.ownlang.lib.modules.functions.*; /** * * @author aNNiMON */ -@ConstantInitializer public final class functional implements Module { public static void initConstants() { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java index 7a88c55..d844e1d 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java @@ -1,7 +1,11 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class functional_chain implements Function { @@ -21,4 +25,4 @@ public final class functional_chain implements Function { return result; } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java index b469d13..8a1b757 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java @@ -1,7 +1,11 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class functional_combine implements Function { @@ -24,4 +28,4 @@ public final class functional_combine implements Function { return new FunctionValue(result); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java index 4ba1ede..5e025c2 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java @@ -1,7 +1,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.ArrayList; import java.util.List; @@ -35,4 +40,4 @@ public final class functional_flatmap implements Function { } return new ArrayValue(values); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java index 76bb7c3..7c19faa 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java @@ -2,7 +2,6 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; - import java.util.Map; public final class functional_foreach implements Function { @@ -32,4 +31,4 @@ public final class functional_foreach implements Function { } throw new TypeException("Invalid first argument. Array or map expected"); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java index 4a349a1..5cbfbe6 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java @@ -1,8 +1,13 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; - +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.MapValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.Map; public final class functional_map implements Function { @@ -53,4 +58,4 @@ public final class functional_map implements Function { } return result; } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java index 71f4d14..282d016 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java @@ -1,8 +1,13 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; - +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.MapValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.Map; public final class functional_reduce implements Function { @@ -35,4 +40,4 @@ public final class functional_reduce implements Function { } throw new TypeException("Invalid first argument. Array or map expected"); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java index 43b1beb..066c4a1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java @@ -1,7 +1,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.Arrays; public final class functional_sortby implements Function { @@ -22,4 +27,4 @@ public final class functional_sortby implements Function { return new ArrayValue(elements); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java index aaf6209..aa75a04 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java @@ -7,7 +7,12 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; import java.util.Map; -import okhttp3.*; +import okhttp3.FormBody; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; import okhttp3.internal.http.HttpMethod; public final class http_http implements Function { @@ -168,4 +173,4 @@ public final class http_http implements Function { return RequestBody.create(type, params.asString()); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java index 8bd415a..c6f56a7 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java @@ -7,7 +7,6 @@ import com.annimon.ownlang.lib.ValueUtils; import org.json.JSONException; import org.json.JSONTokener; - public final class json_decode implements Function { @Override @@ -21,4 +20,4 @@ public final class json_decode implements Function { throw new RuntimeException("Error while parsing json", ex); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java index 3b7aa91..9f4f5ae 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java @@ -1,6 +1,11 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class robot_exec implements Function { @@ -50,4 +55,4 @@ public final class robot_exec implements Function { } return strings; } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java index 850ec41..7cbbcb1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java @@ -1,7 +1,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.MapValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class std_arrayCombine implements Function { @@ -26,4 +31,4 @@ public final class std_arrayCombine implements Function { return result; } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java index acfe0d5..946547c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java @@ -1,7 +1,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.MapValue; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class std_arrayKeyExists implements Function { @@ -15,4 +20,4 @@ public final class std_arrayKeyExists implements Function { return NumberValue.fromBoolean(map.containsKey(args[0])); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java index 3eacbc2..b83b12b 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java @@ -1,7 +1,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.MapValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -22,4 +27,4 @@ public final class std_arrayKeys implements Function { return new ArrayValue(keys); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java index abf8965..c567150 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java @@ -1,7 +1,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.MapValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -22,4 +27,4 @@ public final class std_arrayValues implements Function { return new ArrayValue(values); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java index 85addc0..8a75399 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java @@ -1,15 +1,19 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.Value; public final class std_charat implements Function { @Override public Value execute(Value... args) { Arguments.check(2, args.length); + final String input = args[0].asString(); final int index = args[1].asInt(); return NumberValue.of((short)input.charAt(index)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java index 6ec9eb5..ab8c54d 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java @@ -9,11 +9,12 @@ public final class std_echo implements Function { @Override public Value execute(Value... args) { + final StringBuilder sb = new StringBuilder(); for (Value arg : args) { - Console.print(arg.asString()); - Console.print(" "); + sb.append(arg.asString()); + sb.append(" "); } - Console.println(); + Console.println(sb.toString()); return NumberValue.ZERO; } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java index b3333cd..660a32c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java @@ -1,17 +1,20 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.Value; public final class std_indexof implements Function { @Override public Value execute(Value... args) { Arguments.checkOrOr(2, 3, args.length); - + final String input = args[0].asString(); final String what = args[1].asString(); final int index = (args.length == 3) ? args[2].asInt() : 0; return NumberValue.of(input.indexOf(what, index)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java index 8cfa688..3be01d4 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java @@ -2,7 +2,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class std_join implements Function { @@ -38,4 +43,4 @@ public final class std_join implements Function { sb.append(suffix); return new StringValue(sb.toString()); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java index c5849cc..607746e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.Value; public final class std_lastindexof implements Function { @@ -16,4 +19,4 @@ public final class std_lastindexof implements Function { final int index = args[2].asInt(); return NumberValue.of(input.lastIndexOf(what, index)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java index dc11b15..cdab613 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java @@ -4,7 +4,6 @@ import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; import com.annimon.ownlang.lib.NumberValue; import com.annimon.ownlang.lib.Value; - import java.util.Random; public final class std_rand implements Function { @@ -40,4 +39,4 @@ public final class std_rand implements Function { } return NumberValue.of(RND.nextInt(to - from) + from); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java index 0ec243a..28ec152 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java @@ -1,6 +1,8 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; import java.util.Scanner; public final class std_readln implements Function { @@ -11,4 +13,4 @@ public final class std_readln implements Function { return new StringValue(sc.nextLine()); } } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java index 0474941..927e0f2 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_replace implements Function { @@ -14,4 +17,4 @@ public final class std_replace implements Function { return new StringValue(input.replace(target, replacement)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java index bad6e63..f12134f 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_replaceall implements Function { @@ -14,4 +17,4 @@ public final class std_replaceall implements Function { return new StringValue(input.replaceAll(regex, replacement)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java index ce56e54..1d62736 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java @@ -1,17 +1,20 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_replacefirst implements Function { @Override public Value execute(Value... args) { Arguments.check(3, args.length); - + final String input = args[0].asString(); final String regex = args[1].asString(); final String replacement = args[2].asString(); return new StringValue(input.replaceFirst(regex, replacement)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java index 29582b8..6c5c69a 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java @@ -2,7 +2,12 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.exceptions.TypeException; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.util.Arrays; public final class std_sort implements Function { @@ -33,4 +38,4 @@ public final class std_sort implements Function { return new ArrayValue(elements); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java index a078a10..7300fbf 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java @@ -1,6 +1,10 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.ArrayValue; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_split implements Function { @@ -15,4 +19,4 @@ public final class std_split implements Function { final String[] parts = input.split(regex, limit); return ArrayValue.of(parts); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java index 8a6ea9d..37b3793 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java @@ -1,6 +1,10 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class std_sprintf implements Function { @@ -17,4 +21,4 @@ public final class std_sprintf implements Function { } return new StringValue(String.format(format, values)); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java index 56cbb62..54394a2 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_substring implements Function { @@ -21,4 +24,4 @@ public final class std_substring implements Function { return new StringValue(result); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java index 22fdb4f..cecbee1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java @@ -1,7 +1,13 @@ package com.annimon.ownlang.lib.modules.functions; import com.annimon.ownlang.Console; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.FunctionValue; +import com.annimon.ownlang.lib.Functions; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; public final class std_thread implements Function { @@ -21,10 +27,10 @@ public final class std_thread implements Function { if (params.length > 0) { System.arraycopy(args, 1, params, 0, params.length); } - + final Thread thread = new Thread(() -> body.execute(params)); thread.setUncaughtExceptionHandler(Console::handleException); thread.start(); return NumberValue.ZERO; } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java index 1929ecb..4ca2612 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_tochar implements Function { @@ -9,4 +12,4 @@ public final class std_tochar implements Function { Arguments.check(1, args.length); return new StringValue(String.valueOf((char) args[0].asInt())); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java index 8712600..41e5863 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_tolowercase implements Function { @@ -9,4 +12,4 @@ public final class std_tolowercase implements Function { Arguments.check(1, args.length); return new StringValue(args[0].asString().toLowerCase()); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java index fc97c4d..9723d72 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_touppercase implements Function { @@ -9,4 +12,4 @@ public final class std_touppercase implements Function { Arguments.check(1, args.length); return new StringValue(args[0].asString().toUpperCase()); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java index c6446e6..840fb64 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java @@ -1,6 +1,9 @@ package com.annimon.ownlang.lib.modules.functions; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Value; public final class std_trim implements Function { @@ -9,4 +12,4 @@ public final class std_trim implements Function { Arguments.check(1, args.length); return new StringValue(args[0].asString().trim()); } -} \ No newline at end of file +} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/http.java b/src/main/java/com/annimon/ownlang/lib/modules/http.java index a8ffe17..f73d287 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/http.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/http.java @@ -1,14 +1,14 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; -import com.annimon.ownlang.lib.*; -import com.annimon.ownlang.lib.modules.functions.*; +import com.annimon.ownlang.lib.Functions; +import com.annimon.ownlang.lib.modules.functions.http_download; +import com.annimon.ownlang.lib.modules.functions.http_http; +import com.annimon.ownlang.lib.modules.functions.http_urlencode; /** * * @author aNNiMON */ -@ConstantInitializer public final class http implements Module { public static void initConstants() { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/java.java b/src/main/java/com/annimon/ownlang/lib/modules/java.java index 2e4eeae..73c0c7c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/java.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/java.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; import java.lang.reflect.Array; import java.lang.reflect.Field; @@ -11,10 +10,9 @@ import java.util.List; /** * Java interoperability module. - * + * * @author aNNiMON */ -@ConstantInitializer public final class java implements Module { private static final Value NULL = new NullValue(); diff --git a/src/main/java/com/annimon/ownlang/lib/modules/jdbc.java b/src/main/java/com/annimon/ownlang/lib/modules/jdbc.java index 7f55f9e..db24a57 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/jdbc.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/jdbc.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.ArrayValue; @@ -32,7 +31,6 @@ import java.util.function.Function; * * @author aNNiMON */ -@ConstantInitializer public final class jdbc implements Module { public static void initConstants() { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/json.java b/src/main/java/com/annimon/ownlang/lib/modules/json.java index 6b5abb6..f378965 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/json.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/json.java @@ -1,7 +1,8 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.lib.*; -import com.annimon.ownlang.lib.modules.functions.*; +import com.annimon.ownlang.lib.Functions; +import com.annimon.ownlang.lib.modules.functions.json_decode; +import com.annimon.ownlang.lib.modules.functions.json_encode; /** * diff --git a/src/main/java/com/annimon/ownlang/lib/modules/math.java b/src/main/java/com/annimon/ownlang/lib/modules/math.java index 826a624..7b16272 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/math.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/math.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; import java.util.function.DoubleBinaryOperator; import java.util.function.DoubleFunction; @@ -11,7 +10,6 @@ import java.util.function.UnaryOperator; * * @author aNNiMON */ -@ConstantInitializer public final class math implements Module { private static final DoubleFunction doubleToNumber = NumberValue::of; @@ -151,7 +149,7 @@ public final class math implements Module { }; } - private static Function functionConvert(DoubleUnaryOperator opDouble, UnaryOperator opFloat) { + private static Function functionConvert(DoubleUnaryOperator opDouble, UnaryOperator opFloat) { return args -> { Arguments.check(1, args.length); final Object raw = args[0].raw(); diff --git a/src/main/java/com/annimon/ownlang/lib/modules/ounit.java b/src/main/java/com/annimon/ownlang/lib/modules/ounit.java index 3fa0cae..7cf76d6 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/ounit.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/ounit.java @@ -1,6 +1,13 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.Console; +import com.annimon.ownlang.lib.Arguments; +import com.annimon.ownlang.lib.Function; +import com.annimon.ownlang.lib.Functions; +import com.annimon.ownlang.lib.NumberValue; +import com.annimon.ownlang.lib.StringValue; +import com.annimon.ownlang.lib.Types; +import com.annimon.ownlang.lib.Value; import java.text.DecimalFormat; import java.util.List; import java.util.stream.Collectors; @@ -92,10 +99,10 @@ public final class ounit implements Module { for (TestInfo test : tests) { if (!test.isPassed) failures++; summaryTime += test.elapsedTimeInMicros; - result.append(System.lineSeparator()); + result.append(Console.newline()); result.append(test.info()); } - result.append(System.lineSeparator()); + result.append(Console.newline()); result.append(String.format("Tests run: %d, Failures: %d, Time elapsed: %s", tests.size(), failures, microsToSeconds(summaryTime))); diff --git a/src/main/java/com/annimon/ownlang/lib/modules/robot.java b/src/main/java/com/annimon/ownlang/lib/modules/robot.java index 10990c6..e497f1a 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/robot.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/robot.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; import com.annimon.ownlang.lib.modules.functions.robot_exec; import com.annimon.ownlang.lib.modules.functions.robot_fromclipboard; @@ -16,7 +15,6 @@ import java.util.Map; * * @author aNNiMON */ -@ConstantInitializer public final class robot implements Module { private static final int CLICK_DELAY = 200; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/socket.java b/src/main/java/com/annimon/ownlang/lib/modules/socket.java index 8b03506..7d01e68 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/socket.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/socket.java @@ -1,6 +1,5 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; import io.socket.client.IO; @@ -12,7 +11,6 @@ import java.net.URISyntaxException; * * @author aNNiMON */ -@ConstantInitializer public final class socket implements Module { public static void initConstants() { diff --git a/src/main/java/com/annimon/ownlang/lib/modules/std.java b/src/main/java/com/annimon/ownlang/lib/modules/std.java index 7534d92..1c3c7fc 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/std.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/std.java @@ -1,7 +1,6 @@ package com.annimon.ownlang.lib.modules; import com.annimon.ownlang.Main; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; import com.annimon.ownlang.lib.modules.functions.*; @@ -9,7 +8,6 @@ import com.annimon.ownlang.lib.modules.functions.*; * * @author aNNiMON */ -@ConstantInitializer public final class std implements Module { public static void initConstants() { @@ -28,7 +26,7 @@ public final class std implements Module { Functions.set("thread", new std_thread()); Functions.set("sync", new std_sync()); Functions.set("try", new std_try()); - + // String Functions.set("sprintf", new std_sprintf()); Functions.set("split", new std_split()); diff --git a/src/main/java/com/annimon/ownlang/lib/modules/types.java b/src/main/java/com/annimon/ownlang/lib/modules/types.java index f207d7d..5f07171 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/types.java +++ b/src/main/java/com/annimon/ownlang/lib/modules/types.java @@ -1,13 +1,11 @@ package com.annimon.ownlang.lib.modules; -import com.annimon.ownlang.annotations.ConstantInitializer; import com.annimon.ownlang.lib.*; /** * * @author aNNiMON */ -@ConstantInitializer public final class types implements Module { public static void initConstants() { diff --git a/src/main/java/com/annimon/ownlang/parser/Beautifier.java b/src/main/java/com/annimon/ownlang/parser/Beautifier.java index 967b214..064506e 100644 --- a/src/main/java/com/annimon/ownlang/parser/Beautifier.java +++ b/src/main/java/com/annimon/ownlang/parser/Beautifier.java @@ -1,5 +1,6 @@ package com.annimon.ownlang.parser; +import com.annimon.ownlang.Console; import java.util.HashMap; import java.util.Map; @@ -233,7 +234,7 @@ public final class Beautifier { } private void newLineStrict() { - beautifiedCode.append(System.lineSeparator()); + beautifiedCode.append(Console.newline()); indent(); do { next(); diff --git a/src/main/java/com/annimon/ownlang/parser/ParseErrors.java b/src/main/java/com/annimon/ownlang/parser/ParseErrors.java index 345bb2d..8387349 100644 --- a/src/main/java/com/annimon/ownlang/parser/ParseErrors.java +++ b/src/main/java/com/annimon/ownlang/parser/ParseErrors.java @@ -1,5 +1,6 @@ package com.annimon.ownlang.parser; +import com.annimon.ownlang.Console; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -33,7 +34,7 @@ public final class ParseErrors implements Iterable { public String toString() { final StringBuilder result = new StringBuilder(); for (ParseError error : errors) { - result.append(error).append(System.lineSeparator()); + result.append(error).append(Console.newline()); } return result.toString(); } diff --git a/src/main/java/com/annimon/ownlang/parser/ast/BlockStatement.java b/src/main/java/com/annimon/ownlang/parser/ast/BlockStatement.java index 124b9c2..17ddc23 100644 --- a/src/main/java/com/annimon/ownlang/parser/ast/BlockStatement.java +++ b/src/main/java/com/annimon/ownlang/parser/ast/BlockStatement.java @@ -1,5 +1,6 @@ package com.annimon.ownlang.parser.ast; +import com.annimon.ownlang.Console; import java.util.ArrayList; import java.util.List; @@ -41,7 +42,7 @@ public final class BlockStatement extends InterruptableNode implements Statement public String toString() { final StringBuilder result = new StringBuilder(); for (Statement statement : statements) { - result.append(statement.toString()).append(System.lineSeparator()); + result.append(statement.toString()).append(Console.newline()); } return result.toString(); } diff --git a/src/main/java/com/annimon/ownlang/parser/optimization/InstructionCombining.java b/src/main/java/com/annimon/ownlang/parser/optimization/InstructionCombining.java index c5ad497..75004df 100644 --- a/src/main/java/com/annimon/ownlang/parser/optimization/InstructionCombining.java +++ b/src/main/java/com/annimon/ownlang/parser/optimization/InstructionCombining.java @@ -1,5 +1,6 @@ package com.annimon.ownlang.parser.optimization; +import com.annimon.ownlang.Console; import com.annimon.ownlang.parser.ast.BlockStatement; import com.annimon.ownlang.parser.ast.Expression; import com.annimon.ownlang.parser.ast.Node; @@ -98,9 +99,9 @@ public class InstructionCombining extends OptimizationVisitor implements O : ((PrintlnStatement) n2).expression; if (isConstantValue(e1) && isConstantValue(e2)) { String s1 = e1.eval().asString(); - if (n1Type == 2) s1 += System.lineSeparator(); + if (n1Type == 2) s1 += Console.newline(); String s2 = e2.eval().asString(); - if (n2Type == 2) s2 += System.lineSeparator(); + if (n2Type == 2) s2 += Console.newline(); printCombinedCount++; return new PrintStatement(new ValueExpression(s1 + s2)); } diff --git a/src/main/java/com/annimon/ownlang/parser/visitors/PrintVisitor.java b/src/main/java/com/annimon/ownlang/parser/visitors/PrintVisitor.java index b98bf9f..4ecc6f0 100644 --- a/src/main/java/com/annimon/ownlang/parser/visitors/PrintVisitor.java +++ b/src/main/java/com/annimon/ownlang/parser/visitors/PrintVisitor.java @@ -1,5 +1,6 @@ package com.annimon.ownlang.parser.visitors; +import com.annimon.ownlang.Console; import com.annimon.ownlang.lib.Function; import com.annimon.ownlang.lib.FunctionValue; import com.annimon.ownlang.lib.Types; @@ -422,7 +423,7 @@ public class PrintVisitor implements ResultVisitor } private void newLine(StringBuilder t) { - t.append(System.lineSeparator()); + t.append(Console.newline()); } private void printIndent(StringBuilder sb) { diff --git a/src/main/java/com/annimon/ownlang/utils/Repl.java b/src/main/java/com/annimon/ownlang/utils/Repl.java index 765b471..bef51f4 100644 --- a/src/main/java/com/annimon/ownlang/utils/Repl.java +++ b/src/main/java/com/annimon/ownlang/utils/Repl.java @@ -62,7 +62,7 @@ public final class Repl { continue; } - buffer.append(line).append(System.lineSeparator()); + buffer.append(line).append(Console.newline()); Statement program = null; try { final List tokens = Lexer.tokenize(buffer.toString()); diff --git a/src/main/java/com/annimon/ownlang/utils/TimeMeasurement.java b/src/main/java/com/annimon/ownlang/utils/TimeMeasurement.java index eed33b8..2c1e4e2 100644 --- a/src/main/java/com/annimon/ownlang/utils/TimeMeasurement.java +++ b/src/main/java/com/annimon/ownlang/utils/TimeMeasurement.java @@ -1,5 +1,6 @@ package com.annimon.ownlang.utils; +import com.annimon.ownlang.Console; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -62,12 +63,12 @@ public final class TimeMeasurement { result.append(entry.getKey()).append(": ") .append(convertedTime).append(' ').append(unitName) - .append(System.lineSeparator()); + .append(Console.newline()); } if (showSummary) { result.append("Summary: ") .append(summaryTime).append(' ').append(unitName) - .append(System.lineSeparator()); + .append(Console.newline()); } return result.toString(); }