Commit Graph

239 Commits

Author SHA1 Message Date
Deukhoofd 50f06f389a
Fix passing nil to CSharp functions not returning function 2018-12-09 18:13:19 +01:00
Deukhoofd beac043995
Don't reset scope when function is executed 2018-12-09 17:50:09 +01:00
Deukhoofd 875525b6be
Handle unnamed functions better 2018-12-09 17:49:54 +01:00
Deukhoofd 5d7f155550
Handle conversion for enumerables 2018-12-09 15:51:16 +01:00
Deukhoofd 74bc57bb1a
Fix while loops not breaking 2018-12-09 14:33:04 +01:00
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