mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 15:48:21 +00:00
Implement transformation of lists into additions.
If the list in brackets is SEF: [a, b, ...] -> (list)a + b + ... ListExpr + [a, b, ...] -> ListExpr + a + b + ...
This commit is contained in:
parent
de29a9aa07
commit
a6a08fe3f3
3 changed files with 110 additions and 3 deletions
|
@ -22,8 +22,9 @@ import lslfuncs
|
|||
from lslfoldconst import foldconst
|
||||
from lslrenamer import renamer
|
||||
from lsldeadcode import deadcode
|
||||
from lsllastpass import lastpass
|
||||
|
||||
class optimizer(foldconst, renamer, deadcode):
|
||||
class optimizer(foldconst, renamer, deadcode, lastpass):
|
||||
|
||||
# Default values per type when declaring variables
|
||||
DefaultValues = {'integer': 0, 'float': 0.0, 'string': u'',
|
||||
|
@ -67,6 +68,7 @@ class optimizer(foldconst, renamer, deadcode):
|
|||
|
||||
self.constfold = 'constfold' in options
|
||||
self.optlistlength = 'listlength' in options
|
||||
self.optlistadd = 'listadd' in options
|
||||
self.dcr = 'dcr' in options
|
||||
|
||||
# Math that works fine except in rare corner-cases can be optimized.
|
||||
|
@ -88,6 +90,8 @@ class optimizer(foldconst, renamer, deadcode):
|
|||
if self.constfold:
|
||||
self.FoldScript(warningpass=True)
|
||||
|
||||
self.LastPass()
|
||||
|
||||
if self.shrinknames:
|
||||
self.ShrinkNames()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue