kindlich
f4639923f8
Check and escape more special Characters
This should fix https://github.com/CraftTweaker/CraftTweaker/issues/999
4 gadus atpakaļ
kindlich
cfbaaf9f9b
Tests: Make ScriptBuilder use a LinkedHashMap to preserve file orde
4 gadus atpakaļ
kindlich
5ab2f6bf08
Adds tests to check that functions in the same package can be read by each other
4 gadus atpakaļ
kindlich
6b718fa47e
Two more tests
4 gadus atpakaļ
kindlich
af2ca1e45a
Added a test for generic expansions and a more sophisticated one that uses that Game of life code
4 gadus atpakaļ
kindlich
eb48f35453
Fixed function definitions not generating properly
4 gadus atpakaļ
kindlich
457cb2dbec
Some more tests for basic class members
4 gadus atpakaļ
kindlich
4eb8d63929
Removed unused scripts, added Example script for Conway's game of life
4 gadus atpakaļ
kindlich
1bf0933315
Change some logging for tests
4 gadus atpakaļ
kindlich
9c5aaeb2a8
Pushed relevant changes of ScriptingExample.Main
4 gadus atpakaļ
kindlich
6a77f27c9f
Started with Unit tests
4 gadus atpakaļ
kindlich
b30bfeb61d
Fixed List Foreach
Changes how Classes from Stdlibs are found in the NativeModule so that their Java type parameters properly match the ones from the Stdlibs files
4 gadus atpakaļ
kindlich
1b737430f9
Started working on propagating a logger object instead of having to resort to Sysout
Mwahaha, Jared you will have to review this :manic_laugther:
4 gadus atpakaļ
kindlich
cd038e6f9b
Made ScriptingExample read from subdirectories
.. Unless they have 'nope' in their name
4 gadus atpakaļ
kindlich
59f5cb9a0a
Made ScriptingExample log to Console
4 gadus atpakaļ
kindlich
4915d51d3f
Added event stub to scripting example
5 gadus atpakaļ
kindlich
f387449a4e
Interpolation in BEPs
5 gadus atpakaļ
Jared
033581a709
Added StdLibs to the scripting example, updated gitignore to block out/
5 gadus atpakaļ
Stan Hebben
c3b948d8fe
Fixed support for optional parameters. Also implemented java integration for them.
5 gadus atpakaļ
Stan Hebben
d151b5ef99
Fix nullable types.
6 gadus atpakaļ
kindlich
da4c6eb005
WIP Functional Wrapper
Currently only supports 'accepts' methods, until we can get a way to get the actual method signature/name from the class
6 gadus atpakaļ
Stan Hebben
70bd868af4
Added support for functional interfaces.
6 gadus atpakaļ
Stan Hebben
9c650d0f5b
- Added correct type variable resolution
- Fixed a number of bugs
- Upgrading build system to a more uniform system
- Improving error output (for IDE)
- Changed parser to generate line offsets differently (easier for IDE to process)
6 gadus atpakaļ
Stan Hebben
3f29d8bf0c
- Refactored usage of live objects in the IDE
- Save collapse state of the project browser tree
6 gadus atpakaļ
Stan Hebben
aab7cc69f1
- Continued implementation of interfaces in the bytecode compiler.
- Added support to have a native method both as operator and named method
6 gadus atpakaļ
Stan Hebben
c19e68376b
- Fix arithmetic rules for floats
- Fix float suffixes on integers
6 gadus atpakaļ
Stan Hebben
ae81e5966e
Added loadMethod utility method for loading in a Method and retrieving its reference.
6 gadus atpakaļ
Stan Hebben
6fa2a38b30
Fix recursion when methods return or accept a value of their defining class. Fixed bracket expressions with a postfix expression.
6 gadus atpakaļ
Stan Hebben
045d7f4cea
Fix array support for native java integration
6 gadus atpakaļ
Stan Hebben
b434566f11
- Fix auto getters & setters for static fields not being static
- Fix getters for globals not having their corresponding fields registered correctly in the native implementation
- Added java sources for JavaScripting
6 gadus atpakaļ
Stan Hebben
0d31f0cd9a
Added script parameter system. Also refactored SourceFile info, it's no longer a tag but available as field in ScriptBlock.
6 gadus atpakaļ
Stan Hebben
dd11f65c31
- Fix crash when performing access checks between script and class
- Fix default constructor not working properly
- Fix integration classes without exposed constructor being instantiable if they have a default (non-exposed) constructor
- Fix extern methods failing validation
6 gadus atpakaļ
Stan Hebben
2f7f3f415d
- Fixed crash when classes doesn't exist + don't output debug classes if not in debug mode
- Fixed constructor support for native classes
- Added project for maven build
- Added missing StdLibs.zip
6 gadus atpakaļ
Stan Hebben
3094e93529
Simplified dependencies and the build tree with some minor refactoring.
6 gadus atpakaļ
Stan Hebben
67ee99945e
Revamped the compilation system; it now works fully modular. Also, a new ScriptingEngine class has been created to make it very easy to create a scripting environment.
6 gadus atpakaļ
Stan Hebben
e0118ed3c2
- Added support for zipped packages
- Simplified compilation process somewhat; removed CompilationUnit class and work more module-oriented instead
6 gadus atpakaļ
Stan Hebben
cf2a752723
- Fix various bugs in the new system
- Slightly improved the way modules are compiled
6 gadus atpakaļ
Stan Hebben
f1bb71b3a1
Moved Java compile-time tags to non-global state
6 gadus atpakaļ
Stan Hebben
4ada6df10e
- Added access & static checks to validator
- Removed export access and added internal access support
6 gadus atpakaļ
Stan Hebben
92234bca0e
Removed TypeArgument and simplified type system a little
6 gadus atpakaļ
Stan Hebben
f97c8450d9
Continue work on storage tags. WIP on compile plugins.
6 gadus atpakaļ
Stan Hebben
5eef4cd9ef
Refine storage tag implementation
6 gadus atpakaļ
Stan Hebben
e1b48ad7c8
WIP on storage tags and improved error handling
6 gadus atpakaļ
Stan Hebben
e0e6b5be3f
WIP on storage tags
6 gadus atpakaļ
Stan Hebben
ec46d47c02
- Improve work on the serializer and fixed some code issues that came up with them.
- Start work on the deserializer
6 gadus atpakaļ
Stan Hebben
854c3dbeae
Improved handling of functions, they now use the most generic variant available, using standard function types where possible. (TODO: there are still more to add)
6 gadus atpakaļ
Stan Hebben
9c3aa8efc3
- All definitions are now also module-aware (will be use for binary module serialization & access checks)
- Fixing function expressions not being properly linked to their functional interface
6 gadus atpakaļ
Stan Hebben
0298420bb2
- Added usize as basic type
- Ranges now only have a single base type; from and to must be the same type
- Adjusted builtins and stdlib to use usize where applicable
- Moved building a SemanticModule from ParsedFile to the parser; reduces dependencies
6 gadus atpakaļ
Stan Hebben
7b5ada39fa
- Fixed ranges, all range types should be supported now
- Cleaned up unused code
- Refactored the JavaMethodInfo class to the shared JavaMethod one
- Use valueOf for boxing instead of the boxed type constructors
6 gadus atpakaļ
Stan Hebben
62d5db3fc0
WIP on new tags, refactoring & tag preparation system.
6 gadus atpakaļ