* compile time optimization:
int with doubles and strings
doubles with ints and strings
strings with ints and doubles
* bool with other types, more unary ops, float branch optimizer
* more tests
fixed bool to dbl compare
* output cleanup
more tests
* optimize string values in if statements, optimize ternary operator
* optimize elvis, addes missing files, code cleanup
* use array to keep unoptimized if branch in funcexpr tests
* missing include
* better readable testdata
* removed file
* optimize while and dowhile loops if predicate is a compile time known
value
* cleaner variant of loop optimization?
* added ConstantPredicateLoop Node used by the optimizer for constant loop
predicates
optimize repeat until loop
change tests to run the loops more then once to be sure they work
correctly
* test break/continue with label for constant-loop
* docs
* update grammar
* add ast nodes; ast building
* Rename to unpacking
* semantic analysis
* executor work part 1, unpacking indices
* renamings; implement index binding
* small cleanup
* use multi_index; more tests
* use multi_index only for rest, otherwise list
* initial formatting
* add missing token decoding
* address self-review comments
* formatting tweaks
* add test for var binding in classes
* add StringIterator
* fix spread tests
* add cfgfile iterator; add cfgelem opersubscript; tests
* add iterator for SQLResultSet and SQLRow; tests
* Copy value in take global/local
* Allow any iterable can index rest unpacking
Always use dictionary as rest object in index unpacking
* add docs, core-changes, doc tests
* formatting changes...
* address self-review comments
* update formatter, format all binding test srcs
* address review comments
- unset var scope
* add cfgfile/cfgelem docs
* reformat objref svg
* impptr_if method/impptrIf function to test and return Imp derived
classes.
Simplified a few spots
* more usage of impptr
* fix makeDouble
* fix warnings
* more warnings
* more warnings..
* replaced new/remaining casts
* non owning imp* needs to be protected
* silly me
* added escriptgrammar as external lib where it belongs. Silenced warnings.
* bscript compiler warning fixes
* special include file to get rid of gcc warnings about antlr4
* misc windows warnings
* time specifc warnings
* buildfix + apple warnings
* never trust apple
* windows debug build warnings
* some windows clang warnings
* last warning fix
* added os:GetEnvironmentVariable to list all environs or get a single one
* first version of restarting the core to test save/load
added environment variable to filter tests
* fixed string constructor (size_t instead of signed int)
* added string_view constructor
* splitted and extended restart tests
* added docs
* added pol.cfg setting to disallow environment variable access
* Change environmental variable access rules
Instead of defaulting to all values allowed, now defaults to none. May
specify either `*` to allow all variables, or a comma-delimited list.
* Address review changes
- Use Clib lower instead of boost
- const auto references
- Separate tests for access and finding env vars
* Update documentation
* Apply suggestions from code review
Co-authored-by: Kevin Eady <8634912+KevinEady@users.noreply.github.com>
Co-authored-by: Fernando Rozenblit <rozenblit@gmail.com>
* Build on OSX
* Add macos-latest to build matrix
* Fix case sensitivity checks/tests
* On osx builds, cope with unpacking a double that might be followed by either an exponent or an error (as part of an array).
Also, remove static unpack(const char*) forms that were never called.
Co-authored-by: turleypol <turley@polserver.com>
sideeffects.
ConstString no more assumes tainted source, tus file loading now also
sanitizes data.
Removed duplicate usage of isValidUnicode, sanitize methods also test
it.
only once
renamed mklower/mkupper to make it clear that it should only be used
for pure ascii texts
compiler triggers only once a warning about invalid unicode file
* upstream/master: (45 commits)
renamed mobile syshook to character used unique_ptr for all syshooks
added docs
code simplification, deprecate warning for uoclient.cfg MethodScript entry
party and guild ref support docs and testing left?
custom methods for client and account references
fixed line length
syshooks for npc/mobiles
first round for scripted object class methods
Fixed formatting error.
Added new return option to consume ammunition hook which allows the hook to make the core continue with the usual ammunition checks.
Fix critical bug in FindObjtypeInContainer()
fixed compiler warning
fixed linesize
windows fixes
Added cmake option to run clang-tidy used everywhere nullptr
Changed classes to be final if possible, removed override macro
Added additional documentation.
next..
clang 7 is currently untrusted... next try 6 ;)
fixed new clang warnings, new compiler version on travis (lets see how many commits are needed till it works)
...
Conflicts:
.travis.yml
pol-core/bscript/impstr.h
pol-core/clib/cfgfile.cpp
pol-core/pol/module/npcmod.cpp