LSL-PyOptimizer/lslopt
Sei Lisa 37483a72cb Fix void expressions in FOR loops.
As an enhancement over LSL, we trigger a Type Mismatch when there are void expressions in list constructors, because in LSL, while accepted, they trigger an ugly runtime exception.

This works fine, but then expression lists, where this are checked, are not exclusive of list constructor; they are used in other places. One of these places is the initializer and the iterator of FOR loops. As a consequence, we didn't allow void functions in the FOR initializer or iterator.

Fix by adding another possible value to the parameter 'expected_types' in Parse_expression_list. False means don't allow void either (what Null did before); Null now means allow anything. All callers to Parse_expression_list are changed accordingly. Added corresponding regression test.
2016-07-10 01:29:11 +02:00
..
__init__.py Initial commit. Status so far: 2014-07-26 02:43:44 +02:00
lslbasefuncs.py Update copyright years of some files; add legalese to seftable.txt 2016-06-27 20:06:41 +02:00
lslcommon.py Reorganize main to use getopt. Implement -o for output file and -O help. 2015-03-14 23:17:15 +01:00
lsldeadcode.py Fix problem due to not copying a node. It still needs more analysis, but this patch is an improvement in that it fixes known problematic cases and doesn't seem to introduce new ones. 2015-06-14 05:11:32 +02:00
lslextrafuncs.py Add copyright notices to all files, to prepare the program for release. 2015-03-05 23:18:41 +01:00
lslfoldconst.py Update copyright years of some files; add legalese to seftable.txt 2016-06-27 20:06:41 +02:00
lslfuncparams.py Implement library function parameter optimization. 2015-04-21 04:56:09 +02:00
lslfuncs.py Add copyright notices to all files, to prepare the program for release. 2015-03-05 23:18:41 +01:00
lsljson.py Add copyright notices to all files, to prepare the program for release. 2015-03-05 23:18:41 +01:00
lsloptimizer.py Update copyright years of some files; add legalese to seftable.txt 2016-06-27 20:06:41 +02:00
lsloutput.py Update copyright years of some files; add legalese to seftable.txt 2016-06-27 20:06:41 +02:00
lslparse.py Fix void expressions in FOR loops. 2016-07-10 01:29:11 +02:00
lslrenamer.py Document the internal behaviour of run_time_permissions under LSO 2015-12-11 02:28:51 +01:00