Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 00cc59dfbd Reworked compatible external function parameters handling 2018-12-09 14:14:43 +01:00
Deukhoofd 2e0ac29878 Implements setting to CSHarp lists 2018-12-09 14:05:17 +01:00
Deukhoofd b63e8d37b5 Even better equality checking 2018-12-09 13:47:13 +01:00
Deukhoofd 6e960e38ff Split script tables in numerically keyed and generically keyed 2018-12-09 13:23:09 +01:00
Deukhoofd 2d6e3335aa Adds print basic command 2018-12-09 13:01:03 +01:00
Deukhoofd fb2af879c9 Fixes for binder not being able to get proper method 2018-12-09 12:25:29 +01:00
Deukhoofd 92586e4939 Fixes for equality 2018-12-09 11:45:38 +01:00
Deukhoofd e1b9bb2002 Reworked evaluating of and and or 2018-12-09 11:29:11 +01:00
Deukhoofd 422de5d4eb Rework of function calling to handle generics better 2018-12-09 11:28:27 +01:00
Deukhoofd 43d9360145 Various changes and tweaks to run better 2018-12-08 16:18:38 +01:00
Deukhoofd f6947194b9 Support for easy loading assemblies, and instantly creating enums in the static scope 2018-12-08 11:30:22 +01:00
Deukhoofd 986d00b1a0 Handle chained function call expressions 2018-12-07 20:15:39 +01:00
Deukhoofd 77be6fd996 Support single quote strings 2018-12-07 20:15:27 +01:00
Deukhoofd 2327e18f77 Fixed exception on adding variable to table of which we dont know the context 2018-12-07 20:07:24 +01:00
Deukhoofd 229fe3bffa Fixed wrong error location reporting 2018-12-07 19:29:09 +01:00
Deukhoofd eb1eb81c1b Implements while loops 2018-12-07 19:17:49 +01:00
Deukhoofd fa967383d6 Fix for exception when userdata method call does not exist 2018-12-07 18:53:56 +01:00
Deukhoofd e8369bb672 Implements math library 2018-12-07 18:51:37 +01:00
Deukhoofd f638c25483 Fixes for binding table contents when binder can't be aware of table contents, such as with CSharp calls 2018-12-07 18:23:50 +01:00
Deukhoofd bbab802f2d Fixes for binding userdata method types 2018-12-07 18:15:17 +01:00
Deukhoofd 99ac02924b Handle overloads better 2018-12-07 16:51:17 +01:00
Deukhoofd ac05647d71 Reworked script function attribute, added initial math library 2018-12-07 16:11:52 +01:00
Deukhoofd 9bd82174f2 Implements remainder and exponent operators 2018-12-07 15:29:46 +01:00
Deukhoofd f504a8706e Fix null reference error in evaluator 2018-12-07 15:17:24 +01:00
Deukhoofd b0450d3bf5 Show file name in error messages, to handle errors from modules easier 2018-12-07 14:51:02 +01:00
Deukhoofd edd352e62a Better error reporting if unable to find module 2018-12-07 14:41:19 +01:00
Deukhoofd c1da2dd5b7 Fix missing span in bad expression syntax 2018-12-07 14:36:44 +01:00
Deukhoofd 247ac10f17 Fixed BadExpression throwing exceptions 2018-12-07 14:08:32 +01:00
Deukhoofd 97968ef491 Fixed removed constructor that was needed for IDEs 2018-12-07 14:05:17 +01:00
Deukhoofd e48a89e70d Changed how modules bind so that they can override existing variables 2018-12-07 13:51:43 +01:00
Deukhoofd 98e5c1c136 Reworked modules, they now should bind properly 2018-12-07 13:49:51 +01:00
Deukhoofd 1caf8320b3 Fixed issue with no parameter funcs 2018-12-06 16:25:06 +01:00
Deukhoofd 4054f1d383 Fixed static scope loader not deriving types properly 2018-12-06 16:06:42 +01:00
Deukhoofd 81cd22ce28 Support for generic Actions 2018-12-06 15:45:19 +01:00
Deukhoofd 7996420ee5 Fixes for require 2018-12-06 15:32:07 +01:00
Deukhoofd 520cd1ffcc Initial support for generic funcs 2018-12-05 17:20:28 +01:00
Deukhoofd 587c8dfff3 Minor cleanup 2018-12-05 15:18:41 +01:00
Deukhoofd 8034a11fe3 Support for Enums 2018-12-05 15:14:31 +01:00
Deukhoofd 5b0ce2e52c General fixes tweaks and things 2018-12-03 18:32:27 +01:00
Deukhoofd 6ba3860e84 Implement number comparison operators 2018-12-03 16:05:14 +01:00
Deukhoofd a9f4ef1b65 Bind whether a variable symbol is a creation statement or just changing the variable 2018-12-02 17:26:23 +01:00
Deukhoofd 07a71129a2 Make a literal expression public 2018-12-01 13:39:39 +01:00
Deukhoofd 3867ae77ea Support ScriptType as parameter 2018-11-30 16:51:18 +01:00
Deukhoofd 2a0cce9bac Fixed function parameter type not setting properly when unbound 2018-11-30 16:48:38 +01:00
Deukhoofd 00178cfa82 Handling for type checking parameters of internal functions 2018-11-30 16:19:25 +01:00
Deukhoofd f08d1c2541 Reworked function handling, support for type checking internal CSharp functions 2018-11-30 15:28:36 +01:00
Deukhoofd 81a6b05b26 Actually pass script reference if requested 2018-11-30 12:09:06 +01:00
Deukhoofd 1243492453 Adds comments to basic library functions 2018-11-30 12:07:18 +01:00
Deukhoofd 1f1b8c621e changed parameters for require function 2018-11-30 11:51:22 +01:00
Deukhoofd 9e27778af1 Support for passing Script reference to functions. useful when options are required for function 2018-11-30 11:31:45 +01:00
Deukhoofd 3a3ed071d2 Move ScriptFunctions to own namespace 2018-11-30 11:15:52 +01:00
Deukhoofd 9455b753a0 Resolved UserData not binding proper type when multiple index expressions are chained 2018-11-30 11:12:10 +01:00
Deukhoofd a4ad57e3f7 Better support for userdata bound types 2018-11-29 20:45:59 +01:00
Deukhoofd 4fa0ad9f70 Log error if using full stop indexer on userdata type when the indexer doesn't exist 2018-11-29 19:10:03 +01:00
Deukhoofd f983239b5a Bind indexing of userdata 2018-11-29 18:09:08 +01:00
Deukhoofd c1f4c8fb37 Fixes tests 2018-11-28 21:28:01 +01:00
Deukhoofd af0ff235e1 Fixes script --> C# function calls not working 2018-11-28 21:23:08 +01:00
Deukhoofd babbf2875f Type check when calling script function from CSharp 2018-11-28 20:53:45 +01:00
Deukhoofd ba82b28ee4 Validate function call parameter types 2018-11-28 16:47:52 +01:00
Deukhoofd a64df2ff6b Add spans to parameterTokens 2018-11-28 16:23:45 +01:00
Deukhoofd 27a7465961 Adds basics for predefined function parameter types 2018-11-28 16:18:56 +01:00
Deukhoofd 062f0f84ad Allow for empty return expressions 2018-11-28 14:31:40 +01:00
Deukhoofd cefe48cb4b Handle empty return statements 2018-11-28 14:13:39 +01:00
Deukhoofd cc029d0689 Handle binding unbound functions later better 2018-11-28 13:36:20 +01:00
Deukhoofd 576273ac56 Better support for binding functions, specifically nested functions 2018-11-28 13:30:24 +01:00
Deukhoofd 71397f5db2 Bind return type from a function to a variable 2018-11-28 12:54:18 +01:00
Deukhoofd dbc7b4eb4f Add warnings when variable types are unknown 2018-11-28 12:11:09 +01:00
Deukhoofd 7ee230e20c Handle warnings, and add a warning if a function parameter has an unknown type 2018-11-28 10:56:35 +01:00
Deukhoofd 14e30d0855 Support for getting a bound scope at a specific character position 2018-11-27 19:04:58 +01:00
Deukhoofd 8ece53db5b Reworked handling of getting bottom node. Now uses an iterator to iterate from bottom to top nodes 2018-11-27 18:38:28 +01:00
Deukhoofd dd8569ecb0 Fixes diagnostics breaking when using ContinueWith function 2018-11-27 17:40:54 +01:00
Deukhoofd 0279859637 Fixes binary operators not properly handling indexers 2018-11-27 17:40:35 +01:00
Deukhoofd 160ed60cc2 Fix index error on userdata 2018-11-27 17:40:13 +01:00
Deukhoofd 16e1cde5c6 More work on binding table variables 2018-11-27 15:49:44 +01:00
Deukhoofd a0861e090f Work on type checking variables when getting them from tables 2018-11-27 14:37:58 +01:00
Deukhoofd dca8773e54 Allow accessing variables inside a table from the variable symbol 2018-11-27 14:15:45 +01:00
Deukhoofd 8b08aea404 Dont save data comments if disabled through options 2018-11-27 12:35:20 +01:00
Deukhoofd b7d01b02f1 Exception throwing when required, and fixes for unit tests 2018-11-26 17:23:56 +01:00
Deukhoofd 74da87d936 Work on new execution start path 2018-11-26 16:55:10 +01:00
Deukhoofd 15ce180b8c Allow assigning comment info to all variables 2018-11-26 15:05:20 +01:00
Deukhoofd 963245c9e7 Support for storing comments about specific variables 2018-11-26 14:50:46 +01:00
Deukhoofd a66b1abbf5 Better comments 2018-11-26 13:59:57 +01:00
Deukhoofd e02eb39753 Support for comments 2018-11-26 13:42:50 +01:00
Deukhoofd 2ee8170f74 Fix infinite loop with functions calls 2018-11-25 22:06:20 +01:00
Deukhoofd 2111f4080c Fixes string not checking if it ends with a quotation mark 2018-11-25 22:05:01 +01:00
Deukhoofd 8f91b7f550 Fixes infinite loop in parsing blocks 2018-11-25 21:50:18 +01:00
Deukhoofd 55206f3807 Changed function variable declarations to BoundVariableSymbols 2018-11-25 21:44:03 +01:00
Deukhoofd d4fc24b389 Fixes Source Text length being off by the length of a newline 2018-11-25 21:18:58 +01:00
Deukhoofd 5f9c32874a Diagnostic for invalid number of parameters 2018-11-25 20:55:36 +01:00
Deukhoofd 6bb8139f40 Break several while loop if tokens are not consumed 2018-11-25 19:45:10 +01:00
Deukhoofd cae3d7fb53 Lots of work for handling incomplete code and inspections better 2018-11-25 19:30:18 +01:00
Deukhoofd 0b6359f499 Fix broken reference 2018-11-24 15:58:34 +01:00
Deukhoofd cd04486d16 Adds Unary length operator 2018-11-24 15:11:33 +01:00
Deukhoofd 2dc59c5f8b Adds tostring and type functions 2018-11-24 14:49:20 +01:00
Deukhoofd 194e7236c4 Unit tests for ipairs and pairs, as well as changing how they handle null. ipairs now breaks at first nil value, pairs skips it 2018-11-24 14:39:53 +01:00
Deukhoofd 13ac6f2754 Rework for loops to use iterators, requiring pairs or ipairs function to handle multi-assignment 2018-11-24 14:35:23 +01:00
Deukhoofd c63df3c941 Work on standard libraries.
- Allows Standard Libraries to work with actual luatypes, to prevent constant back and forth casting
- adds ipairs function, doesn't do anything except maintain compatibility with lua
- several tests
2018-11-24 13:35:40 +01:00
Deukhoofd 806b3d5689 Fix breaking of most complex expressions 2018-11-24 13:04:21 +01:00
Deukhoofd 9be1cfa1fc Fixes issue where functions inside binary operators wouldnt work 2018-11-24 12:55:51 +01:00
Deukhoofd 62a18e22d4 Fixed Scoping issue 2018-11-24 12:42:54 +01:00