Änderungen

Summary

  1. Improve Lua optimizers (#1063) (commit: db253e0) (details)
Commit db253e0d36bcb5103116ab2b01d3960b041d587b by noreply
Improve Lua optimizers (#1063)

* Improve Lua optimizers

* Improve constant tuple propagation

* Fix stacktraces

* Only eliminate simple types

Class types are required when evaluating the type of member accesses.

* Fix for copies of tuples and simplify code

Knowledge may also contain copies of tuples. They cannot be updated by tuple selection assignments and have to be removed instead.
(commit: db253e0)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/translation/lua/translation/ExprTranslation.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/intermediatelang/optimizer/LocalMerger.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/translation/lua/translation/StmtTranslation.java (diff)
The file was addedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/translation/imtranslation/EliminateLocalTypes.java
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/types/TypesHelper.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/WurstCompilerJassImpl.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/translation/imtojass/ImAttrType.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/intermediatelang/optimizer/ConstantAndCopyPropagation.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/translation/imtranslation/ImTranslator.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/jassinterpreter/providers/LuaEnsureTypeProvider.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/translation/imoptimizer/ImOptimizer.java (diff)
The file was modifiedde.peeeq.wurstscript/src/main/java/de/peeeq/wurstscript/intermediatelang/optimizer/TempMerger.java (diff)