Commit Graph

122 Commits

Author SHA1 Message Date
Florian Rival 66b3ec1686 Rename IsInformative to IsExact in ExpressionCompletionFinder 2020-03-23 23:32:33 +01:00
Florian Rival f1730c239d Add type to ExpressionCompletionDescription::ForObject 2020-03-16 23:08:05 +01:00
Florian Rival faa02d4459 Add proper handling of closing parenthesis in ExpressionCompletionFinder 2020-03-11 17:41:52 +00:00
Florian Rival 22c6a57394 Improve completions from ExpressionCompletionFinder 2020-03-02 22:11:31 +00:00
Florian Rival 94ac7166ed Add more tests for ExpressionParser2 2020-03-01 19:00:18 +00:00
Florian Rival 88b20240ff Fix location of identifier (function names, etc...) with trailing whitespaces 2020-03-01 18:40:30 +00:00
Florian Rival af93149f6a Add more location information in ExpressionParser nodes
Also fix some whitespace sensitivity of the parser
2020-03-01 17:37:21 +00:00
Florian Rival 4e59573042 Speed up identifiers and other character parsing in ExpressionParser2 2020-02-23 19:41:53 +00:00
Florian Rival 07fce517d6 Add ExpressionParser2Benchmarks 2020-02-23 14:52:09 +00:00
Florian Rival ac90b982ac Hide verbose extension loading logs in tests 2020-02-23 14:49:35 +00:00
Florian Rival ca6f11b55a Support for describing completions to display for an expression (#1447) 2020-02-22 14:27:43 +00:00
Florian Rival 710c2f0304 Fix renaming a property not renaming property expression used in a property action/condition 2020-02-19 08:33:32 +00:00
Florian Rival 727fa8a538 Fix WholeProjectRefactorer renaming/moving parameters of wrong functions for behaviors 2020-02-18 23:27:19 +00:00
Florian Rival d544319302 Add location in ExpressionParser2 and ExpressionNodeLocationFinder 2020-02-11 08:20:09 +00:00
Florian Rival eae2a06a4e Improve export speed (~20%) by memoizing mangled names 2020-01-28 23:57:37 +00:00
Florian Rival bff43ee771 Remove dead code related to old ExpressionParser 2020-01-27 22:08:48 +00:00
Florian Rival 9eb548452a Add MoveEventsFunctionParameter and MoveBehaviorEventsFunctionParameter in WholeProjectRefactorer 2019-12-27 22:21:24 +01:00
Florian Rival 1eb5113283 Remove useless CopyDir from AbstractFileSystem 2019-11-14 23:51:26 +00:00
Florian Rival fbde5edfae Add automatic refactoring of events/groups when renaming/deleting a group (#1225) 2019-09-11 08:39:44 +01:00
Florian Rival 010a9cd7da Fix ResourcesMergingHelper tests 2019-07-27 16:08:45 +01:00
Florian Rival 181976e1b3 Add refactoring of properties actions/conditions/expressions when renaming property/behavior/extension 2019-06-16 17:08:55 +01:00
Florian Rival 2c2efa4a99 Fix SerializerElement broken when using attributes with children (#1088)
* Fix SerializerElement broken when using attributes with children
* Fix usage of AddChild on arrays without named children
2019-06-06 17:43:15 +02:00
Florian Rival 58db3beaf8 Add more tests for WholeProjectRefactorer 2019-05-10 14:05:04 +01:00
Florian Rival 89ac323c8e Add support for automatic refactoring when events function (including expressions) is renamed 2019-05-10 11:37:33 +01:00
Florian Rival 32dd269d18 Add automatic refactoring of project when an events based behavior is renamed 2019-05-08 16:05:03 +01:00
Florian Rival e670563c92 Add tests for WholeProjectRefactorer and events based functions/extensions 2019-05-07 18:11:52 +01:00
Florian Rival 433dc763d1 Separate Behavior into BehaviorContent and Behavior, and add RuntimeBehavior for GDCpp 2019-05-03 22:47:21 +01:00
Florian Rival 7925e75652 [WIP] Add EventsBasedBehavior 2019-04-26 14:12:59 +01:00
Florian Rival 13bc2a5cd8 Remove more dead code 2019-04-26 14:12:59 +01:00
Florian Rival 338f062781 Refactor EventsFunctionsExtension to use EventsFunctionsContainer/SerializableWithNameList 2019-04-26 14:12:59 +01:00
Florian Rival 90c3f4f72b Avoid useless copy of arrays in ForEach event generated code
Lists of objects were wrongly initialized, creating a useless performance hit. All the objects of the "for each" were copied into arrays, before being emptied. And this, for every single object in the for each loop. This was particularly bad when a lot of objects were picked by the for each (if we have N objects, complexity was N*N copies of the array).
2019-04-24 21:23:16 +01:00
Florian Rival c3794950ab Rename methods to declare list of objects without picking from scene, for consistency 2019-04-24 21:23:16 +01:00
Florian Rival 7f0033989a [WIP] Partially clean GDJS/GDCpp/GDCore of wxWidgets related code 2019-04-20 01:21:28 +01:00
Florian Rival 9c6c8564fa Fix handling of object parameters in expressions 2019-01-28 23:16:20 +00:00
Florian Rival 4b33373296 Fix ConvertToString and code generation for strings with backlash/escaped characters 2019-01-28 23:16:20 +00:00
Florian Rival 7ce11c5252 Add expression parser test checking for big list of naughty strings 2019-01-28 23:16:20 +00:00
Florian Rival 0d864ce6a7 Update error message and add test case 2019-01-28 23:16:20 +00:00
Florian Rival a4c372d945 Convert PointX/PointY argument to a string 2019-01-28 23:16:20 +00:00
Florian Rival 93708cb2f3 Properly handle numbers with leading 0 (normalize them to remove the extra 0) 2019-01-28 23:16:19 +00:00
Florian Rival 3035bc9386 Improve error messages for empty expressions 2019-01-28 23:16:19 +00:00
Florian Rival 4c789967c3 Fix code generation of invalid variable expressions 2019-01-28 23:16:19 +00:00
Florian Rival df68978adc Add edge cases fixes and fuzzy tests for ExpressionParser2 2019-01-28 23:16:19 +00:00
Florian Rival 7a87fd9924 Add support for unary operator in ExpressionParser2 2019-01-28 23:16:19 +00:00
Florian Rival 8d1502cb20 Fix parsing of behaviors expressions 2019-01-28 23:16:19 +00:00
Florian Rival 34b5038bd5 Refactor to use the new ExpressionCodeGenerator (or old one with a flag) 2019-01-28 23:16:19 +00:00
Florian Rival a9e1120f00 Add gd::ExpressionCodeGenerator::GenerateExpressionCode 2019-01-28 23:16:19 +00:00
Florian Rival 4fd88072e9 Improve ExpressionParser2 and use it for GenericExpressionField and EventsRefactorer 2019-01-28 23:16:19 +00:00
Florian Rival f2e6f19c34 Add ExpressionParser2NodePrinter 2019-01-28 23:16:18 +00:00
Florian Rival 66029c62ed Add Variable code generation for ExpressionParser2 2019-01-28 23:16:18 +00:00
Florian Rival 43d78a74bd Enhance ExpressionParser2 and add ExpressionCodeGenerator 2019-01-28 23:16:18 +00:00