From 29d40a554fad176deb497e337814284ef0ab6376 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 16 Sep 2016 16:25:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B0?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- proguard.properties | 2 +- .../annimon/ownlang/annotations/Modules.java | 13 ------------ .../ownlang/lib/modules/package-info.java | 17 ---------------- .../ownlang/{lib => }/modules/Module.java | 2 +- .../modules => modules/canvas}/canvas.java | 3 ++- .../canvasfx}/canvasfx.java | 3 ++- .../{lib/modules => modules/date}/date.java | 3 ++- .../{lib/modules => modules/files}/files.java | 3 ++- .../forms/ComponentValue.java | 2 +- .../forms/Components.java | 2 +- .../forms/ContainerValue.java | 2 +- .../forms/JButtonValue.java | 2 +- .../forms/JComponentValue.java | 2 +- .../forms/JFrameValue.java | 2 +- .../forms/JLabelValue.java | 2 +- .../forms/JPanelValue.java | 2 +- .../forms/JTextFieldValue.java | 2 +- .../forms/LayoutManagerValue.java | 2 +- .../forms/LayoutManagers.java | 2 +- .../{lib/modules => modules/forms}/forms.java | 5 ++--- .../functional}/functional.java | 4 ++-- .../functional}/functional_chain.java | 2 +- .../functional}/functional_combine.java | 2 +- .../functional}/functional_dropwhile.java | 2 +- .../functional}/functional_filter.java | 2 +- .../functional}/functional_flatmap.java | 2 +- .../functional}/functional_foreach.java | 2 +- .../functional}/functional_map.java | 2 +- .../functional}/functional_reduce.java | 2 +- .../functional}/functional_sortby.java | 2 +- .../functional}/functional_stream.java | 2 +- .../{lib/modules => modules/http}/http.java | 6 ++---- .../http}/http_download.java | 2 +- .../functions => modules/http}/http_http.java | 2 +- .../http}/http_urlencode.java | 2 +- .../{lib/modules => modules/java}/java.java | 3 ++- .../{lib/modules => modules/jdbc}/jdbc.java | 3 ++- .../{lib/modules => modules/json}/json.java | 5 ++--- .../json}/json_decode.java | 2 +- .../json}/json_encode.java | 2 +- .../{lib/modules => modules/math}/math.java | 3 ++- .../{lib/modules => modules/ounit}/ounit.java | 3 ++- .../{lib/modules => modules/robot}/robot.java | 6 ++---- .../robot}/robot_exec.java | 2 +- .../robot}/robot_fromclipboard.java | 2 +- .../robot}/robot_toclipboard.java | 2 +- .../modules => modules/socket}/socket.java | 3 ++- .../{lib/modules => modules/std}/std.java | 4 ++-- .../std}/std_arrayCombine.java | 2 +- .../std}/std_arrayKeyExists.java | 2 +- .../std}/std_arrayKeys.java | 2 +- .../std}/std_arrayValues.java | 2 +- .../functions => modules/std}/std_charat.java | 2 +- .../functions => modules/std}/std_echo.java | 2 +- .../std}/std_indexof.java | 2 +- .../functions => modules/std}/std_join.java | 2 +- .../std}/std_lastindexof.java | 2 +- .../functions => modules/std}/std_length.java | 2 +- .../std}/std_newarray.java | 2 +- .../functions => modules/std}/std_rand.java | 2 +- .../functions => modules/std}/std_range.java | 2 +- .../functions => modules/std}/std_readln.java | 2 +- .../std}/std_replace.java | 2 +- .../std}/std_replaceall.java | 2 +- .../std}/std_replacefirst.java | 2 +- .../functions => modules/std}/std_sleep.java | 2 +- .../functions => modules/std}/std_sort.java | 2 +- .../functions => modules/std}/std_split.java | 2 +- .../std}/std_sprintf.java | 2 +- .../std}/std_substring.java | 2 +- .../functions => modules/std}/std_sync.java | 2 +- .../functions => modules/std}/std_thread.java | 2 +- .../functions => modules/std}/std_time.java | 2 +- .../functions => modules/std}/std_tochar.java | 2 +- .../std}/std_tolowercase.java | 2 +- .../std}/std_touppercase.java | 2 +- .../functions => modules/std}/std_trim.java | 2 +- .../functions => modules/std}/std_try.java | 2 +- .../{lib/modules => modules/types}/types.java | 3 ++- .../ownlang/parser/ast/UseStatement.java | 8 ++++---- .../ownlang/utils/ModulesInfoCreator.java | 20 ++++++++++++------- 81 files changed, 110 insertions(+), 130 deletions(-) delete mode 100644 src/main/java/com/annimon/ownlang/annotations/Modules.java delete mode 100644 src/main/java/com/annimon/ownlang/lib/modules/package-info.java rename src/main/java/com/annimon/ownlang/{lib => }/modules/Module.java (65%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/canvas}/canvas.java (98%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/canvasfx}/canvasfx.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/date}/date.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/files}/files.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/ComponentValue.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/Components.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/ContainerValue.java (97%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/JButtonValue.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/JComponentValue.java (90%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/JFrameValue.java (94%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/JLabelValue.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/JPanelValue.java (81%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/JTextFieldValue.java (97%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/LayoutManagerValue.java (82%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules}/forms/LayoutManagers.java (98%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/forms}/forms.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/functional}/functional.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_chain.java (94%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_combine.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_dropwhile.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_filter.java (97%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_flatmap.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_foreach.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_map.java (97%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_reduce.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_sortby.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/functional}/functional_stream.java (98%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/http}/http.java (63%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/http}/http_download.java (92%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/http}/http_http.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/http}/http_urlencode.java (93%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/java}/java.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/jdbc}/jdbc.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/json}/json.java (68%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/json}/json_decode.java (93%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/json}/json_encode.java (93%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/math}/math.java (98%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/ounit}/ounit.java (98%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/robot}/robot.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/robot}/robot_exec.java (97%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/robot}/robot_fromclipboard.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/robot}/robot_toclipboard.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/socket}/socket.java (98%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/std}/std.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_arrayCombine.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_arrayKeyExists.java (93%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_arrayKeys.java (94%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_arrayValues.java (94%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_charat.java (90%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_echo.java (90%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_indexof.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_join.java (97%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_lastindexof.java (92%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_length.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_newarray.java (94%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_rand.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_range.java (99%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_readln.java (88%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_replace.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_replaceall.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_replacefirst.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_sleep.java (91%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_sort.java (96%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_split.java (92%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_sprintf.java (93%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_substring.java (93%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_sync.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_thread.java (95%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_time.java (85%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_tochar.java (88%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_tolowercase.java (88%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_touppercase.java (88%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_trim.java (88%) rename src/main/java/com/annimon/ownlang/{lib/modules/functions => modules/std}/std_try.java (94%) rename src/main/java/com/annimon/ownlang/{lib/modules => modules/types}/types.java (93%) diff --git a/proguard.properties b/proguard.properties index 5a0ee20..be30bc3 100644 --- a/proguard.properties +++ b/proguard.properties @@ -34,7 +34,7 @@ native ; } --keep public class * implements com.annimon.ownlang.lib.modules.Module +-keep public class * implements com.annimon.ownlang.modules.Module # Soft obfuscation -keep public class * { diff --git a/src/main/java/com/annimon/ownlang/annotations/Modules.java b/src/main/java/com/annimon/ownlang/annotations/Modules.java deleted file mode 100644 index bf9682a..0000000 --- a/src/main/java/com/annimon/ownlang/annotations/Modules.java +++ /dev/null @@ -1,13 +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.RUNTIME) -@Target(ElementType.PACKAGE) -public @interface Modules { - - Class[] modules(); -} diff --git a/src/main/java/com/annimon/ownlang/lib/modules/package-info.java b/src/main/java/com/annimon/ownlang/lib/modules/package-info.java deleted file mode 100644 index aafa2e5..0000000 --- a/src/main/java/com/annimon/ownlang/lib/modules/package-info.java +++ /dev/null @@ -1,17 +0,0 @@ -@Modules(modules = { - canvas.class, - canvasfx.class, - date.class, - files.class, - functional.class, - http.class, - json.class, - math.class, - ounit.class, - robot.class, - std.class, - types.class -}) -package com.annimon.ownlang.lib.modules; - -import com.annimon.ownlang.annotations.Modules; \ No newline at end of file diff --git a/src/main/java/com/annimon/ownlang/lib/modules/Module.java b/src/main/java/com/annimon/ownlang/modules/Module.java similarity index 65% rename from src/main/java/com/annimon/ownlang/lib/modules/Module.java rename to src/main/java/com/annimon/ownlang/modules/Module.java index d022d1f..cda5ca4 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/Module.java +++ b/src/main/java/com/annimon/ownlang/modules/Module.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules; /** * diff --git a/src/main/java/com/annimon/ownlang/lib/modules/canvas.java b/src/main/java/com/annimon/ownlang/modules/canvas/canvas.java similarity index 98% rename from src/main/java/com/annimon/ownlang/lib/modules/canvas.java rename to src/main/java/com/annimon/ownlang/modules/canvas/canvas.java index a76e79b..a6f0bc5 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/canvas.java +++ b/src/main/java/com/annimon/ownlang/modules/canvas/canvas.java @@ -1,6 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.canvas; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java b/src/main/java/com/annimon/ownlang/modules/canvasfx/canvasfx.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java rename to src/main/java/com/annimon/ownlang/modules/canvasfx/canvasfx.java index 8934f33..973f4ae 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/canvasfx.java +++ b/src/main/java/com/annimon/ownlang/modules/canvasfx/canvasfx.java @@ -1,7 +1,8 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.canvasfx; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import static com.annimon.ownlang.lib.Converters.*; import java.awt.Dimension; import java.lang.reflect.Modifier; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/date.java b/src/main/java/com/annimon/ownlang/modules/date/date.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/date.java rename to src/main/java/com/annimon/ownlang/modules/date/date.java index a869e45..b83e24c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/date.java +++ b/src/main/java/com/annimon/ownlang/modules/date/date.java @@ -1,7 +1,8 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.date; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/files.java b/src/main/java/com/annimon/ownlang/modules/files/files.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/files.java rename to src/main/java/com/annimon/ownlang/modules/files/files.java index bcb2515..a2e2a0e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/files.java +++ b/src/main/java/com/annimon/ownlang/modules/files/files.java @@ -1,7 +1,8 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.files; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.ByteArrayOutputStream; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/ComponentValue.java b/src/main/java/com/annimon/ownlang/modules/forms/ComponentValue.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/ComponentValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/ComponentValue.java index 3fcf8ae..5ab56f8 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/ComponentValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/ComponentValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/Components.java b/src/main/java/com/annimon/ownlang/modules/forms/Components.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/Components.java rename to src/main/java/com/annimon/ownlang/modules/forms/Components.java index 6639af9..1da492a 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/Components.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/Components.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Value; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/ContainerValue.java b/src/main/java/com/annimon/ownlang/modules/forms/ContainerValue.java similarity index 97% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/ContainerValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/ContainerValue.java index a677b28..0ccb071 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/ContainerValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/ContainerValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.lib.Arguments; import static com.annimon.ownlang.lib.Converters.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JButtonValue.java b/src/main/java/com/annimon/ownlang/modules/forms/JButtonValue.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JButtonValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/JButtonValue.java index 796c34f..5afce2f 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JButtonValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/JButtonValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JComponentValue.java b/src/main/java/com/annimon/ownlang/modules/forms/JComponentValue.java similarity index 90% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JComponentValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/JComponentValue.java index f3f0459..63b5829 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JComponentValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/JComponentValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import static com.annimon.ownlang.lib.Converters.*; import javax.swing.JComponent; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JFrameValue.java b/src/main/java/com/annimon/ownlang/modules/forms/JFrameValue.java similarity index 94% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JFrameValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/JFrameValue.java index 747cd6c..bb547d1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JFrameValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/JFrameValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import static com.annimon.ownlang.lib.Converters.*; import javax.swing.JFrame; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JLabelValue.java b/src/main/java/com/annimon/ownlang/modules/forms/JLabelValue.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JLabelValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/JLabelValue.java index 2256b34..0b2cba1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JLabelValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/JLabelValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import static com.annimon.ownlang.lib.Converters.*; import javax.swing.JLabel; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JPanelValue.java b/src/main/java/com/annimon/ownlang/modules/forms/JPanelValue.java similarity index 81% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JPanelValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/JPanelValue.java index 7e6ad92..8071a25 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JPanelValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/JPanelValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import javax.swing.JPanel; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JTextFieldValue.java b/src/main/java/com/annimon/ownlang/modules/forms/JTextFieldValue.java similarity index 97% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JTextFieldValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/JTextFieldValue.java index 94400db..d6fed17 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/JTextFieldValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/JTextFieldValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/LayoutManagerValue.java b/src/main/java/com/annimon/ownlang/modules/forms/LayoutManagerValue.java similarity index 82% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/LayoutManagerValue.java rename to src/main/java/com/annimon/ownlang/modules/forms/LayoutManagerValue.java index 3ed2c42..a44cc54 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/LayoutManagerValue.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/LayoutManagerValue.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.lib.MapValue; import java.awt.LayoutManager; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/LayoutManagers.java b/src/main/java/com/annimon/ownlang/modules/forms/LayoutManagers.java similarity index 98% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/forms/LayoutManagers.java rename to src/main/java/com/annimon/ownlang/modules/forms/LayoutManagers.java index 0791d28..8191e69 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/forms/LayoutManagers.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/LayoutManagers.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions.forms; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Value; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/forms.java b/src/main/java/com/annimon/ownlang/modules/forms/forms.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/forms.java rename to src/main/java/com/annimon/ownlang/modules/forms/forms.java index 1216449..477f7ff 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/forms.java +++ b/src/main/java/com/annimon/ownlang/modules/forms/forms.java @@ -1,8 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.forms; import com.annimon.ownlang.lib.*; -import com.annimon.ownlang.lib.modules.functions.forms.Components; -import com.annimon.ownlang.lib.modules.functions.forms.LayoutManagers; +import com.annimon.ownlang.modules.Module; import java.awt.BorderLayout; import javax.swing.BoxLayout; import javax.swing.JFrame; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functional.java b/src/main/java/com/annimon/ownlang/modules/functional/functional.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functional.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional.java index 2e778cb..f75d008 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functional.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional.java @@ -1,9 +1,9 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.functional; 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.*; +import com.annimon.ownlang.modules.Module; /** * diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_chain.java similarity index 94% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_chain.java index d844e1d..fce2bc8 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_chain.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_chain.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_combine.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_combine.java index 8a1b757..33458de 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_combine.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_combine.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_dropwhile.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_dropwhile.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_dropwhile.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_dropwhile.java index ecafe92..5f4dc90 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_dropwhile.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_dropwhile.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_filter.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_filter.java similarity index 97% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_filter.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_filter.java index aa4ee0c..d0e631b 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_filter.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_filter.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_flatmap.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_flatmap.java index 5e025c2..5130810 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_flatmap.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_flatmap.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_foreach.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_foreach.java index 7c19faa..4e0ceed 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_foreach.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_foreach.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_map.java similarity index 97% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_map.java index 5cbfbe6..9016e69 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_map.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_map.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_reduce.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_reduce.java index 282d016..a128066 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_reduce.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_reduce.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_sortby.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_sortby.java index 066c4a1..926047d 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_sortby.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_sortby.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_stream.java b/src/main/java/com/annimon/ownlang/modules/functional/functional_stream.java similarity index 98% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/functional_stream.java rename to src/main/java/com/annimon/ownlang/modules/functional/functional_stream.java index aac8408..82e590a 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/functional_stream.java +++ b/src/main/java/com/annimon/ownlang/modules/functional/functional_stream.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.functional; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/http.java b/src/main/java/com/annimon/ownlang/modules/http/http.java similarity index 63% rename from src/main/java/com/annimon/ownlang/lib/modules/http.java rename to src/main/java/com/annimon/ownlang/modules/http/http.java index f73d287..b8d22ca 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/http.java +++ b/src/main/java/com/annimon/ownlang/modules/http/http.java @@ -1,9 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.http; 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; +import com.annimon.ownlang.modules.Module; /** * diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_download.java b/src/main/java/com/annimon/ownlang/modules/http/http_download.java similarity index 92% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/http_download.java rename to src/main/java/com/annimon/ownlang/modules/http/http_download.java index 4607797..37de211 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_download.java +++ b/src/main/java/com/annimon/ownlang/modules/http/http_download.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.http; import com.annimon.ownlang.lib.*; import java.io.IOException; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java b/src/main/java/com/annimon/ownlang/modules/http/http_http.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java rename to src/main/java/com/annimon/ownlang/modules/http/http_http.java index aa75a04..bddc3c5 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_http.java +++ b/src/main/java/com/annimon/ownlang/modules/http/http_http.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.http; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.exceptions.TypeException; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_urlencode.java b/src/main/java/com/annimon/ownlang/modules/http/http_urlencode.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/http_urlencode.java rename to src/main/java/com/annimon/ownlang/modules/http/http_urlencode.java index 7cf3257..c21c5f5 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/http_urlencode.java +++ b/src/main/java/com/annimon/ownlang/modules/http/http_urlencode.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.http; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/java.java b/src/main/java/com/annimon/ownlang/modules/java/java.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/java.java rename to src/main/java/com/annimon/ownlang/modules/java/java.java index 4f48902..8de7c31 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/java.java +++ b/src/main/java/com/annimon/ownlang/modules/java/java.java @@ -1,6 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.java; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/jdbc.java b/src/main/java/com/annimon/ownlang/modules/jdbc/jdbc.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/jdbc.java rename to src/main/java/com/annimon/ownlang/modules/jdbc/jdbc.java index db24a57..ff9e9b6 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/jdbc.java +++ b/src/main/java/com/annimon/ownlang/modules/jdbc/jdbc.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.jdbc; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.lib.Arguments; @@ -11,6 +11,7 @@ import com.annimon.ownlang.lib.StringValue; import com.annimon.ownlang.lib.Types; import com.annimon.ownlang.lib.Value; import com.annimon.ownlang.lib.Variables; +import com.annimon.ownlang.modules.Module; import java.io.IOException; import java.math.BigDecimal; import java.net.URL; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/json.java b/src/main/java/com/annimon/ownlang/modules/json/json.java similarity index 68% rename from src/main/java/com/annimon/ownlang/lib/modules/json.java rename to src/main/java/com/annimon/ownlang/modules/json/json.java index f378965..1ff7728 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/json.java +++ b/src/main/java/com/annimon/ownlang/modules/json/json.java @@ -1,8 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.json; import com.annimon.ownlang.lib.Functions; -import com.annimon.ownlang.lib.modules.functions.json_decode; -import com.annimon.ownlang.lib.modules.functions.json_encode; +import com.annimon.ownlang.modules.Module; /** * diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java b/src/main/java/com/annimon/ownlang/modules/json/json_decode.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java rename to src/main/java/com/annimon/ownlang/modules/json/json_decode.java index c6f56a7..c75e4c9 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/json_decode.java +++ b/src/main/java/com/annimon/ownlang/modules/json/json_decode.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.json; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/json_encode.java b/src/main/java/com/annimon/ownlang/modules/json/json_encode.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/json_encode.java rename to src/main/java/com/annimon/ownlang/modules/json/json_encode.java index 7907b14..7222124 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/json_encode.java +++ b/src/main/java/com/annimon/ownlang/modules/json/json_encode.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.json; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/math.java b/src/main/java/com/annimon/ownlang/modules/math/math.java similarity index 98% rename from src/main/java/com/annimon/ownlang/lib/modules/math.java rename to src/main/java/com/annimon/ownlang/modules/math/math.java index 7b16272..ac3f42e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/math.java +++ b/src/main/java/com/annimon/ownlang/modules/math/math.java @@ -1,6 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.math; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import java.util.function.DoubleBinaryOperator; import java.util.function.DoubleFunction; import java.util.function.DoubleUnaryOperator; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/ounit.java b/src/main/java/com/annimon/ownlang/modules/ounit/ounit.java similarity index 98% rename from src/main/java/com/annimon/ownlang/lib/modules/ounit.java rename to src/main/java/com/annimon/ownlang/modules/ounit/ounit.java index 7cf76d6..1a12903 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/ounit.java +++ b/src/main/java/com/annimon/ownlang/modules/ounit/ounit.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.ounit; import com.annimon.ownlang.Console; import com.annimon.ownlang.lib.Arguments; @@ -8,6 +8,7 @@ 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 com.annimon.ownlang.modules.Module; import java.text.DecimalFormat; import java.util.List; import java.util.stream.Collectors; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/robot.java b/src/main/java/com/annimon/ownlang/modules/robot/robot.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/robot.java rename to src/main/java/com/annimon/ownlang/modules/robot/robot.java index e497f1a..090838e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/robot.java +++ b/src/main/java/com/annimon/ownlang/modules/robot/robot.java @@ -1,9 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.robot; import com.annimon.ownlang.lib.*; -import com.annimon.ownlang.lib.modules.functions.robot_exec; -import com.annimon.ownlang.lib.modules.functions.robot_fromclipboard; -import com.annimon.ownlang.lib.modules.functions.robot_toclipboard; +import com.annimon.ownlang.modules.Module; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java b/src/main/java/com/annimon/ownlang/modules/robot/robot_exec.java similarity index 97% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java rename to src/main/java/com/annimon/ownlang/modules/robot/robot_exec.java index 9f4f5ae..3533a34 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_exec.java +++ b/src/main/java/com/annimon/ownlang/modules/robot/robot_exec.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.robot; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.ArrayValue; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_fromclipboard.java b/src/main/java/com/annimon/ownlang/modules/robot/robot_fromclipboard.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/robot_fromclipboard.java rename to src/main/java/com/annimon/ownlang/modules/robot/robot_fromclipboard.java index cf50b64..6e959d4 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_fromclipboard.java +++ b/src/main/java/com/annimon/ownlang/modules/robot/robot_fromclipboard.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.robot; import com.annimon.ownlang.lib.Function; import com.annimon.ownlang.lib.StringValue; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_toclipboard.java b/src/main/java/com/annimon/ownlang/modules/robot/robot_toclipboard.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/robot_toclipboard.java rename to src/main/java/com/annimon/ownlang/modules/robot/robot_toclipboard.java index d70d3ee..a1be3d1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/robot_toclipboard.java +++ b/src/main/java/com/annimon/ownlang/modules/robot/robot_toclipboard.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.robot; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/socket.java b/src/main/java/com/annimon/ownlang/modules/socket/socket.java similarity index 98% rename from src/main/java/com/annimon/ownlang/lib/modules/socket.java rename to src/main/java/com/annimon/ownlang/modules/socket/socket.java index 7d01e68..858bb4a 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/socket.java +++ b/src/main/java/com/annimon/ownlang/modules/socket/socket.java @@ -1,7 +1,8 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.socket; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; import io.socket.client.IO; import io.socket.client.Socket; import java.net.URISyntaxException; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/std.java b/src/main/java/com/annimon/ownlang/modules/std/std.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/std.java rename to src/main/java/com/annimon/ownlang/modules/std/std.java index 1c3c7fc..a28149c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/std.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std.java @@ -1,8 +1,8 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.Main; import com.annimon.ownlang.lib.*; -import com.annimon.ownlang.lib.modules.functions.*; +import com.annimon.ownlang.modules.Module; /** * diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java b/src/main/java/com/annimon/ownlang/modules/std/std_arrayCombine.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java rename to src/main/java/com/annimon/ownlang/modules/std/std_arrayCombine.java index 7cbbcb1..ac72c83 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayCombine.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_arrayCombine.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java b/src/main/java/com/annimon/ownlang/modules/std/std_arrayKeyExists.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java rename to src/main/java/com/annimon/ownlang/modules/std/std_arrayKeyExists.java index 946547c..b54eb0c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeyExists.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_arrayKeyExists.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java b/src/main/java/com/annimon/ownlang/modules/std/std_arrayKeys.java similarity index 94% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java rename to src/main/java/com/annimon/ownlang/modules/std/std_arrayKeys.java index b83b12b..9a32de0 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayKeys.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_arrayKeys.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java b/src/main/java/com/annimon/ownlang/modules/std/std_arrayValues.java similarity index 94% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java rename to src/main/java/com/annimon/ownlang/modules/std/std_arrayValues.java index c567150..a56ee5c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_arrayValues.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_arrayValues.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java b/src/main/java/com/annimon/ownlang/modules/std/std_charat.java similarity index 90% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java rename to src/main/java/com/annimon/ownlang/modules/std/std_charat.java index 8a75399..e1b45a7 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_charat.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_charat.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java b/src/main/java/com/annimon/ownlang/modules/std/std_echo.java similarity index 90% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java rename to src/main/java/com/annimon/ownlang/modules/std/std_echo.java index ab8c54d..c296e8e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_echo.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_echo.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.Console; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java b/src/main/java/com/annimon/ownlang/modules/std/std_indexof.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java rename to src/main/java/com/annimon/ownlang/modules/std/std_indexof.java index 660a32c..cf905de 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_indexof.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_indexof.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java b/src/main/java/com/annimon/ownlang/modules/std/std_join.java similarity index 97% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java rename to src/main/java/com/annimon/ownlang/modules/std/std_join.java index 3be01d4..6bf417e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_join.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_join.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.exceptions.TypeException; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java b/src/main/java/com/annimon/ownlang/modules/std/std_lastindexof.java similarity index 92% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java rename to src/main/java/com/annimon/ownlang/modules/std/std_lastindexof.java index 607746e..5490209 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_lastindexof.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_lastindexof.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_length.java b/src/main/java/com/annimon/ownlang/modules/std/std_length.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_length.java rename to src/main/java/com/annimon/ownlang/modules/std/std_length.java index 107da1f..bdd7a21 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_length.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_length.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_newarray.java b/src/main/java/com/annimon/ownlang/modules/std/std_newarray.java similarity index 94% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_newarray.java rename to src/main/java/com/annimon/ownlang/modules/std/std_newarray.java index 7b39f6c..83839d7 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_newarray.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_newarray.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.ArrayValue; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java b/src/main/java/com/annimon/ownlang/modules/std/std_rand.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java rename to src/main/java/com/annimon/ownlang/modules/std/std_rand.java index cdab613..542b521 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_rand.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_rand.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_range.java b/src/main/java/com/annimon/ownlang/modules/std/std_range.java similarity index 99% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_range.java rename to src/main/java/com/annimon/ownlang/modules/std/std_range.java index e5198db..19e8c9c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_range.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_range.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.*; import java.util.Iterator; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java b/src/main/java/com/annimon/ownlang/modules/std/std_readln.java similarity index 88% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java rename to src/main/java/com/annimon/ownlang/modules/std/std_readln.java index 28ec152..082b7db 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_readln.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_readln.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Function; import com.annimon.ownlang.lib.StringValue; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java b/src/main/java/com/annimon/ownlang/modules/std/std_replace.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java rename to src/main/java/com/annimon/ownlang/modules/std/std_replace.java index 927e0f2..a52cf0b 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replace.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_replace.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java b/src/main/java/com/annimon/ownlang/modules/std/std_replaceall.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java rename to src/main/java/com/annimon/ownlang/modules/std/std_replaceall.java index f12134f..4d6407e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replaceall.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_replaceall.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java b/src/main/java/com/annimon/ownlang/modules/std/std_replacefirst.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java rename to src/main/java/com/annimon/ownlang/modules/std/std_replacefirst.java index 1d62736..060b8a1 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_replacefirst.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_replacefirst.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sleep.java b/src/main/java/com/annimon/ownlang/modules/std/std_sleep.java similarity index 91% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_sleep.java rename to src/main/java/com/annimon/ownlang/modules/std/std_sleep.java index a1d1eca..6256680 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sleep.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_sleep.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java b/src/main/java/com/annimon/ownlang/modules/std/std_sort.java similarity index 96% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java rename to src/main/java/com/annimon/ownlang/modules/std/std_sort.java index 6c5c69a..4dc39b8 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sort.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_sort.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.ArgumentsMismatchException; import com.annimon.ownlang.exceptions.TypeException; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java b/src/main/java/com/annimon/ownlang/modules/std/std_split.java similarity index 92% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java rename to src/main/java/com/annimon/ownlang/modules/std/std_split.java index 7300fbf..d0e1b5e 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_split.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_split.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.ArrayValue; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java b/src/main/java/com/annimon/ownlang/modules/std/std_sprintf.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java rename to src/main/java/com/annimon/ownlang/modules/std/std_sprintf.java index 37b3793..1a6dbcd 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sprintf.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_sprintf.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java b/src/main/java/com/annimon/ownlang/modules/std/std_substring.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java rename to src/main/java/com/annimon/ownlang/modules/std/std_substring.java index 54394a2..8c65e58 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_substring.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_substring.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sync.java b/src/main/java/com/annimon/ownlang/modules/std/std_sync.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_sync.java rename to src/main/java/com/annimon/ownlang/modules/std/std_sync.java index 0dd01c8..d4fef54 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_sync.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_sync.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java b/src/main/java/com/annimon/ownlang/modules/std/std_thread.java similarity index 95% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java rename to src/main/java/com/annimon/ownlang/modules/std/std_thread.java index cecbee1..e23bdef 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_thread.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_thread.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.Console; import com.annimon.ownlang.lib.Arguments; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_time.java b/src/main/java/com/annimon/ownlang/modules/std/std_time.java similarity index 85% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_time.java rename to src/main/java/com/annimon/ownlang/modules/std/std_time.java index ad4c9f6..3a5e81c 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_time.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_time.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Function; import com.annimon.ownlang.lib.NumberValue; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java b/src/main/java/com/annimon/ownlang/modules/std/std_tochar.java similarity index 88% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java rename to src/main/java/com/annimon/ownlang/modules/std/std_tochar.java index 4ca2612..ef31d18 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tochar.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_tochar.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java b/src/main/java/com/annimon/ownlang/modules/std/std_tolowercase.java similarity index 88% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java rename to src/main/java/com/annimon/ownlang/modules/std/std_tolowercase.java index 41e5863..a419719 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_tolowercase.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_tolowercase.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java b/src/main/java/com/annimon/ownlang/modules/std/std_touppercase.java similarity index 88% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java rename to src/main/java/com/annimon/ownlang/modules/std/std_touppercase.java index 9723d72..d6f102a 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_touppercase.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_touppercase.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java b/src/main/java/com/annimon/ownlang/modules/std/std_trim.java similarity index 88% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java rename to src/main/java/com/annimon/ownlang/modules/std/std_trim.java index 840fb64..2853142 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_trim.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_trim.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.lib.Arguments; import com.annimon.ownlang.lib.Function; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_try.java b/src/main/java/com/annimon/ownlang/modules/std/std_try.java similarity index 94% rename from src/main/java/com/annimon/ownlang/lib/modules/functions/std_try.java rename to src/main/java/com/annimon/ownlang/modules/std/std_try.java index b95f849..c748b8f 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/functions/std_try.java +++ b/src/main/java/com/annimon/ownlang/modules/std/std_try.java @@ -1,4 +1,4 @@ -package com.annimon.ownlang.lib.modules.functions; +package com.annimon.ownlang.modules.std; import com.annimon.ownlang.exceptions.TypeException; import com.annimon.ownlang.lib.*; diff --git a/src/main/java/com/annimon/ownlang/lib/modules/types.java b/src/main/java/com/annimon/ownlang/modules/types/types.java similarity index 93% rename from src/main/java/com/annimon/ownlang/lib/modules/types.java rename to src/main/java/com/annimon/ownlang/modules/types/types.java index 5f07171..fcdc138 100644 --- a/src/main/java/com/annimon/ownlang/lib/modules/types.java +++ b/src/main/java/com/annimon/ownlang/modules/types/types.java @@ -1,6 +1,7 @@ -package com.annimon.ownlang.lib.modules; +package com.annimon.ownlang.modules.types; import com.annimon.ownlang.lib.*; +import com.annimon.ownlang.modules.Module; /** * diff --git a/src/main/java/com/annimon/ownlang/parser/ast/UseStatement.java b/src/main/java/com/annimon/ownlang/parser/ast/UseStatement.java index 095d53a..7a40d23 100644 --- a/src/main/java/com/annimon/ownlang/parser/ast/UseStatement.java +++ b/src/main/java/com/annimon/ownlang/parser/ast/UseStatement.java @@ -1,6 +1,6 @@ package com.annimon.ownlang.parser.ast; -import com.annimon.ownlang.lib.modules.Module; +import com.annimon.ownlang.modules.Module; import java.lang.reflect.Method; /** @@ -9,7 +9,7 @@ import java.lang.reflect.Method; */ public final class UseStatement extends InterruptableNode implements Statement { - private static final String PACKAGE = "com.annimon.ownlang.lib.modules."; + private static final String PACKAGE = "com.annimon.ownlang.modules.%s.%s"; private static final String INIT_CONSTANTS_METHOD = "initConstants"; public final Expression expression; @@ -23,7 +23,7 @@ public final class UseStatement extends InterruptableNode implements Statement { super.interruptionCheck(); try { final String moduleName = expression.eval().asString(); - final Module module = (Module) Class.forName(PACKAGE + moduleName).newInstance(); + final Module module = (Module) Class.forName(String.format(PACKAGE, moduleName, moduleName)).newInstance(); module.init(); } catch (Exception ex) { throw new RuntimeException(ex); @@ -33,7 +33,7 @@ public final class UseStatement extends InterruptableNode implements Statement { public void loadConstants() { try { final String moduleName = expression.eval().asString(); - final Class moduleClass = Class.forName(PACKAGE + moduleName); + final Class moduleClass = Class.forName(String.format(PACKAGE, moduleName, moduleName)); final Method method = moduleClass.getMethod(INIT_CONSTANTS_METHOD); if (method != null) { method.invoke(this); diff --git a/src/main/java/com/annimon/ownlang/utils/ModulesInfoCreator.java b/src/main/java/com/annimon/ownlang/utils/ModulesInfoCreator.java index 6e6a91b..4eef0f0 100644 --- a/src/main/java/com/annimon/ownlang/utils/ModulesInfoCreator.java +++ b/src/main/java/com/annimon/ownlang/utils/ModulesInfoCreator.java @@ -1,12 +1,12 @@ package com.annimon.ownlang.utils; -import com.annimon.ownlang.annotations.Modules; import com.annimon.ownlang.lib.Functions; import com.annimon.ownlang.lib.MapValue; import com.annimon.ownlang.lib.Types; import com.annimon.ownlang.lib.Value; import com.annimon.ownlang.lib.Variables; -import com.annimon.ownlang.lib.modules.Module; +import com.annimon.ownlang.modules.Module; +import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -22,20 +22,26 @@ import org.json.JSONObject; public final class ModulesInfoCreator { - public static void main(String[] args) throws InstantiationException, IllegalAccessException { + private static final String MODULES_PATH = "src/main/java/com/annimon/ownlang/modules"; + + public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException { final Class clazz = Module.class; // get classloader for package final List moduleInfos = new ArrayList<>(); - final Package modulesPackage = Package.getPackage("com.annimon.ownlang.lib.modules"); - final Modules annotation = modulesPackage.getAnnotation(Modules.class); - for (Class moduleClass : annotation.modules()) { + String[] moduleNames = Arrays.stream(new File(MODULES_PATH).listFiles()) + .filter(p -> p.isDirectory()) + .map(p -> p.getName()) + .toArray(String[]::new); + for (String moduleName : moduleNames) { + final String moduleClassPath = String.format("com.annimon.ownlang.modules.%s.%s", moduleName, moduleName); + Class moduleClass = Class.forName(moduleClassPath); Functions.getFunctions().clear(); Variables.variables().clear(); final Module module = (Module) moduleClass.newInstance(); module.init(); - final ModuleInfo moduleInfo = new ModuleInfo(moduleClass.getSimpleName()); + final ModuleInfo moduleInfo = new ModuleInfo(moduleName); moduleInfo.functions.addAll(Functions.getFunctions().keySet()); moduleInfo.constants.putAll(Variables.variables()); moduleInfo.types.addAll(listValues(moduleClass));