Ivan Kylchik
ad6332112e
[IR] Support const optimizations for Native backend
2023-07-10 13:19:51 +00:00
Ivan Kylchik
d3d28783c5
[IR] Support const optimizations for JS backend
2023-07-06 11:00:14 +00:00
Ivan Kylchik
8067df3c94
[IR] Combine IrInterpreterNameCheck with common one
...
This way we achieve faster compilation time. We want to traverse
IR tree as little as possible. If we add new checker than the time
to evaluate constants basically doubles.
#KT-58923
2023-06-14 19:02:39 +00:00
Ivan Kylchik
fc75402f65
[IR] Add test to specify new logic of enum initialization with name call
...
#KT-58948
#KT-57538
2023-05-30 15:28:04 +00:00
Ivan Kylchik
e0e1d57120
[IR] Check object init was called in case of name interpretation
...
#KT-58717 Fixed
2023-05-18 18:16:54 +00:00
Ivan Kylchik
70560fc3eb
[IR] Handle each interpreter checker one by one
...
This wy we can interpret all expressions like `A::a.name` at first and
after that evaluate all complex expressions like
`A::a.name + A::b.name`.
2023-05-18 18:16:54 +00:00
Ivan Kylchik
e58e20fc7b
[IR] Add special preprocessors for ir interpreter
...
These preprocessors allow us to modify IR at first and only after that
try to evaluate. With this we can drop `KCallableNamePropertyLowering`.
2023-05-18 18:16:54 +00:00
Ivan Kylchik
1fd8ef801e
[IR] Create special checker that will analyze name methods
...
We can insert all this logic into `IrCompileTimeChecker` but it is
a little bit specific and looks like it is nicer to just extract it.
2023-05-18 18:16:54 +00:00
Ivan Kylchik
6b75b3bc4a
[IR] Drop duplicated meta info from interpreters tests
2023-04-19 13:52:48 +00:00
Ivan Kylchik
3f60c83921
[IR] Add id method in interpreter's tests to avoid optimizations
2023-04-19 13:52:48 +00:00
Ivan Kylchik
621f5a0fb7
[IR] Reorganize test files in involvesIrInterpreter dir
2023-04-19 13:52:48 +00:00