Commit Graph
100 Commits
Author SHA1 Message Date
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
Deukhoofd 638394d25b Generic For Loops 2018-11-23 18:18:07 +01:00
Deukhoofd 2db4d0607e Implements break statement 2018-11-23 15:27:48 +01:00
Deukhoofd d2c14d213c Add Numeric For Loops 2018-11-23 14:38:45 +01:00
Deukhoofd 1928979b40 More unit tests 2018-11-23 13:34:46 +01:00
Deukhoofd 8d6d6e45af Handle lua -> C# function invocation exceptions more gracefully 2018-11-23 13:34:21 +01:00
Deukhoofd d6e18d9b0c Better handling of Static Scope 2018-11-23 13:28:11 +01:00
Deukhoofd 95f76bc5e3 Minor performance tweak to handle LuaType casting better if type is already a LuaType 2018-11-23 13:24:41 +01:00
Deukhoofd ea24695128 Fixes binder assigning values to static read only scope 2018-11-23 13:18:49 +01:00
Deukhoofd aae16e8b62 General fixes for Tests 2018-11-23 12:55:28 +01:00
Deukhoofd 1e9b0e0166 Some initial work on standard libraries 2018-11-21 20:59:27 +01:00
Deukhoofd 68830a1676 Don't bind/evaluate variable value if the name is just an underscore 2018-11-21 17:25:12 +01:00
Deukhoofd 4ab755d0d2 Support for assigning multiple variables from a table 2018-11-21 17:18:35 +01:00