mirror of
https://github.com/aNNiMON/Own-Programming-Language-Tutorial.git
synced 2024-09-20 08:44:20 +03:00
Изменена структура модулей
This commit is contained in:
parent
ba60a498d7
commit
29d40a554f
@ -34,7 +34,7 @@
|
|||||||
native <methods>;
|
native <methods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
-keep public class * implements com.annimon.ownlang.lib.modules.Module
|
-keep public class * implements com.annimon.ownlang.modules.Module
|
||||||
|
|
||||||
# Soft obfuscation
|
# Soft obfuscation
|
||||||
-keep public class * {
|
-keep public class * {
|
||||||
|
@ -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();
|
|
||||||
}
|
|
@ -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;
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.annimon.ownlang.lib.modules;
|
package com.annimon.ownlang.modules;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
@ -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.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import static com.annimon.ownlang.lib.Converters.*;
|
import static com.annimon.ownlang.lib.Converters.*;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
@ -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.exceptions.ArgumentsMismatchException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Value;
|
import com.annimon.ownlang.lib.Value;
|
@ -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.Arguments;
|
||||||
import static com.annimon.ownlang.lib.Converters.*;
|
import static com.annimon.ownlang.lib.Converters.*;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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 static com.annimon.ownlang.lib.Converters.*;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
@ -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 static com.annimon.ownlang.lib.Converters.*;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
@ -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 static com.annimon.ownlang.lib.Converters.*;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
@ -1,4 +1,4 @@
|
|||||||
package com.annimon.ownlang.lib.modules.functions.forms;
|
package com.annimon.ownlang.modules.forms;
|
||||||
|
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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 com.annimon.ownlang.lib.MapValue;
|
||||||
import java.awt.LayoutManager;
|
import java.awt.LayoutManager;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Value;
|
import com.annimon.ownlang.lib.Value;
|
@ -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.*;
|
||||||
import com.annimon.ownlang.lib.modules.functions.forms.Components;
|
import com.annimon.ownlang.modules.Module;
|
||||||
import com.annimon.ownlang.lib.modules.functions.forms.LayoutManagers;
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import javax.swing.BoxLayout;
|
import javax.swing.BoxLayout;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
@ -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.FunctionValue;
|
||||||
import com.annimon.ownlang.lib.Functions;
|
import com.annimon.ownlang.lib.Functions;
|
||||||
import com.annimon.ownlang.lib.Variables;
|
import com.annimon.ownlang.lib.Variables;
|
||||||
import com.annimon.ownlang.lib.modules.functions.*;
|
import com.annimon.ownlang.modules.Module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
@ -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.Functions;
|
||||||
import com.annimon.ownlang.lib.modules.functions.http_download;
|
import com.annimon.ownlang.modules.Module;
|
||||||
import com.annimon.ownlang.lib.modules.functions.http_http;
|
|
||||||
import com.annimon.ownlang.lib.modules.functions.http_urlencode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
@ -1,4 +1,4 @@
|
|||||||
package com.annimon.ownlang.lib.modules.functions;
|
package com.annimon.ownlang.modules.http;
|
||||||
|
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@ -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.ArgumentsMismatchException;
|
||||||
import com.annimon.ownlang.exceptions.TypeException;
|
import com.annimon.ownlang.exceptions.TypeException;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.lang.reflect.Array;
|
import java.lang.reflect.Array;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
@ -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.exceptions.ArgumentsMismatchException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
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.Types;
|
||||||
import com.annimon.ownlang.lib.Value;
|
import com.annimon.ownlang.lib.Value;
|
||||||
import com.annimon.ownlang.lib.Variables;
|
import com.annimon.ownlang.lib.Variables;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
@ -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.Functions;
|
||||||
import com.annimon.ownlang.lib.modules.functions.json_decode;
|
import com.annimon.ownlang.modules.Module;
|
||||||
import com.annimon.ownlang.lib.modules.functions.json_encode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.util.function.DoubleBinaryOperator;
|
import java.util.function.DoubleBinaryOperator;
|
||||||
import java.util.function.DoubleFunction;
|
import java.util.function.DoubleFunction;
|
||||||
import java.util.function.DoubleUnaryOperator;
|
import java.util.function.DoubleUnaryOperator;
|
@ -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.Console;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
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.StringValue;
|
||||||
import com.annimon.ownlang.lib.Types;
|
import com.annimon.ownlang.lib.Types;
|
||||||
import com.annimon.ownlang.lib.Value;
|
import com.annimon.ownlang.lib.Value;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
@ -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.*;
|
||||||
import com.annimon.ownlang.lib.modules.functions.robot_exec;
|
import com.annimon.ownlang.modules.Module;
|
||||||
import com.annimon.ownlang.lib.modules.functions.robot_fromclipboard;
|
|
||||||
import com.annimon.ownlang.lib.modules.functions.robot_toclipboard;
|
|
||||||
import java.awt.AWTException;
|
import java.awt.AWTException;
|
||||||
import java.awt.Robot;
|
import java.awt.Robot;
|
||||||
import java.awt.event.InputEvent;
|
import java.awt.event.InputEvent;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.ArrayValue;
|
import com.annimon.ownlang.lib.ArrayValue;
|
@ -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.Function;
|
||||||
import com.annimon.ownlang.lib.StringValue;
|
import com.annimon.ownlang.lib.StringValue;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
import io.socket.client.IO;
|
import io.socket.client.IO;
|
||||||
import io.socket.client.Socket;
|
import io.socket.client.Socket;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
@ -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.Main;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
import com.annimon.ownlang.lib.modules.functions.*;
|
import com.annimon.ownlang.modules.Module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Console;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.ArgumentsMismatchException;
|
||||||
import com.annimon.ownlang.exceptions.TypeException;
|
import com.annimon.ownlang.exceptions.TypeException;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -1,4 +1,4 @@
|
|||||||
package com.annimon.ownlang.lib.modules.functions;
|
package com.annimon.ownlang.modules.std;
|
||||||
|
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
|
|
@ -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.ArrayValue;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -1,4 +1,4 @@
|
|||||||
package com.annimon.ownlang.lib.modules.functions;
|
package com.annimon.ownlang.modules.std;
|
||||||
|
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
@ -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.Function;
|
||||||
import com.annimon.ownlang.lib.StringValue;
|
import com.annimon.ownlang.lib.StringValue;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.ArgumentsMismatchException;
|
||||||
import com.annimon.ownlang.exceptions.TypeException;
|
import com.annimon.ownlang.exceptions.TypeException;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.ArrayValue;
|
import com.annimon.ownlang.lib.ArrayValue;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
@ -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.Console;
|
||||||
import com.annimon.ownlang.lib.Arguments;
|
import com.annimon.ownlang.lib.Arguments;
|
@ -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.Function;
|
||||||
import com.annimon.ownlang.lib.NumberValue;
|
import com.annimon.ownlang.lib.NumberValue;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.Arguments;
|
||||||
import com.annimon.ownlang.lib.Function;
|
import com.annimon.ownlang.lib.Function;
|
@ -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.exceptions.TypeException;
|
||||||
import com.annimon.ownlang.lib.*;
|
import com.annimon.ownlang.lib.*;
|
@ -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.lib.*;
|
||||||
|
import com.annimon.ownlang.modules.Module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
@ -1,6 +1,6 @@
|
|||||||
package com.annimon.ownlang.parser.ast;
|
package com.annimon.ownlang.parser.ast;
|
||||||
|
|
||||||
import com.annimon.ownlang.lib.modules.Module;
|
import com.annimon.ownlang.modules.Module;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,7 +9,7 @@ import java.lang.reflect.Method;
|
|||||||
*/
|
*/
|
||||||
public final class UseStatement extends InterruptableNode implements Statement {
|
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";
|
private static final String INIT_CONSTANTS_METHOD = "initConstants";
|
||||||
|
|
||||||
public final Expression expression;
|
public final Expression expression;
|
||||||
@ -23,7 +23,7 @@ public final class UseStatement extends InterruptableNode implements Statement {
|
|||||||
super.interruptionCheck();
|
super.interruptionCheck();
|
||||||
try {
|
try {
|
||||||
final String moduleName = expression.eval().asString();
|
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();
|
module.init();
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
throw new RuntimeException(ex);
|
throw new RuntimeException(ex);
|
||||||
@ -33,7 +33,7 @@ public final class UseStatement extends InterruptableNode implements Statement {
|
|||||||
public void loadConstants() {
|
public void loadConstants() {
|
||||||
try {
|
try {
|
||||||
final String moduleName = expression.eval().asString();
|
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);
|
final Method method = moduleClass.getMethod(INIT_CONSTANTS_METHOD);
|
||||||
if (method != null) {
|
if (method != null) {
|
||||||
method.invoke(this);
|
method.invoke(this);
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package com.annimon.ownlang.utils;
|
package com.annimon.ownlang.utils;
|
||||||
|
|
||||||
import com.annimon.ownlang.annotations.Modules;
|
|
||||||
import com.annimon.ownlang.lib.Functions;
|
import com.annimon.ownlang.lib.Functions;
|
||||||
import com.annimon.ownlang.lib.MapValue;
|
import com.annimon.ownlang.lib.MapValue;
|
||||||
import com.annimon.ownlang.lib.Types;
|
import com.annimon.ownlang.lib.Types;
|
||||||
import com.annimon.ownlang.lib.Value;
|
import com.annimon.ownlang.lib.Value;
|
||||||
import com.annimon.ownlang.lib.Variables;
|
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.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -22,20 +22,26 @@ import org.json.JSONObject;
|
|||||||
|
|
||||||
public final class ModulesInfoCreator {
|
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<Module> clazz = Module.class; // get classloader for package
|
final Class<Module> clazz = Module.class; // get classloader for package
|
||||||
|
|
||||||
final List<ModuleInfo> moduleInfos = new ArrayList<>();
|
final List<ModuleInfo> moduleInfos = new ArrayList<>();
|
||||||
|
|
||||||
final Package modulesPackage = Package.getPackage("com.annimon.ownlang.lib.modules");
|
String[] moduleNames = Arrays.stream(new File(MODULES_PATH).listFiles())
|
||||||
final Modules annotation = modulesPackage.getAnnotation(Modules.class);
|
.filter(p -> p.isDirectory())
|
||||||
for (Class moduleClass : annotation.modules()) {
|
.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();
|
Functions.getFunctions().clear();
|
||||||
Variables.variables().clear();
|
Variables.variables().clear();
|
||||||
final Module module = (Module) moduleClass.newInstance();
|
final Module module = (Module) moduleClass.newInstance();
|
||||||
module.init();
|
module.init();
|
||||||
|
|
||||||
final ModuleInfo moduleInfo = new ModuleInfo(moduleClass.getSimpleName());
|
final ModuleInfo moduleInfo = new ModuleInfo(moduleName);
|
||||||
moduleInfo.functions.addAll(Functions.getFunctions().keySet());
|
moduleInfo.functions.addAll(Functions.getFunctions().keySet());
|
||||||
moduleInfo.constants.putAll(Variables.variables());
|
moduleInfo.constants.putAll(Variables.variables());
|
||||||
moduleInfo.types.addAll(listValues(moduleClass));
|
moduleInfo.types.addAll(listValues(moduleClass));
|
||||||
|
Loading…
Reference in New Issue
Block a user