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:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user