Ivan Kylchik
|
07ba9be2e0
|
Fix error with interpreting name of java property
|
2022-05-24 08:25:17 +00:00 |
|
Ivan Kylchik
|
73a571ef7f
|
Report warning from backend if constant expression cannot be evaluated
|
2022-05-18 21:20:04 +03:00 |
|
Ivan Kylchik
|
f3252334b2
|
Move most of ir utils from backend.common to ir.tree
|
2022-05-18 21:20:03 +03:00 |
|
Ivan Kylchik
|
40d224d5fe
|
Change error message of EXCEPTION_IN_CONST_VAL_INITIALIZER
|
2022-05-18 21:20:03 +03:00 |
|
Ivan Kylchik
|
0f0b48f87b
|
Move reporting of interpreter's backend errors tests to fir module
|
2022-05-18 21:20:01 +03:00 |
|
Ivan Kylchik
|
592baf134e
|
Change ir const checker to match new rules of IntrinsicConstEvaluation
|
2022-05-18 21:20:00 +03:00 |
|
Ivan Kylchik
|
1431d4b356
|
Add jvm diagnostic tests to check report of exceptions from interpreter
|
2022-05-18 21:20:00 +03:00 |
|
Ivan Kylchik
|
df7be06558
|
Add tests to check constant evaluation for intrinsic const declarations
|
2022-05-18 21:19:58 +03:00 |
|
Ivan Kylchik
|
23f9e97a5f
|
Create getInnerDeclarations function to extract statements from parent
This function is needed to be able to work with files and scripts
|
2022-05-18 21:19:58 +03:00 |
|
Ivan Kylchik
|
d0ab01ad24
|
Add lowering that will evaluate all intrinsic const expressions
|
2022-05-18 21:19:56 +03:00 |
|
Ivan Kylchik
|
6a0802a1be
|
Allow interpreting code extension property
|
2022-05-18 21:19:56 +03:00 |
|
Ivan Kylchik
|
7113523e34
|
Support interpretation of trimMargin and trimIndent
|
2022-05-18 21:19:56 +03:00 |
|
Ivan Kylchik
|
3bf678a011
|
Add ONLY_INTRINSIC_CONST evaluation mode
|
2022-05-18 21:19:55 +03:00 |
|
Pavel Kunyavskiy
|
7ba4d9e1f0
|
Rework nullability in IR
|
2022-03-30 06:27:59 +00:00 |
|
Junmin Kim
|
c7d4b97fe1
|
Fix typo in KFunctionProxy.kt
Replace `eqaulsByAdapteeCall` with `equalsByAdapteeCall`
|
2022-03-18 19:48:19 +03:00 |
|
Ivan Kylchik
|
a1b45755f1
|
Evaluate range classes in interpreter if constructor's body is missing
|
2022-01-28 18:44:46 +00:00 |
|
Ivan Kylchik
|
ae9914afe0
|
Move Instruction interface to separate file
|
2022-01-28 18:44:46 +00:00 |
|
Ivan Kylchik
|
a0b5eda0ae
|
Interpret getter with null body separately from common function
|
2022-01-28 18:44:45 +00:00 |
|
Alexander Udalov
|
6445a29893
|
IR: remove type parameter in visitConst
Co-authored-by: mcpiroman <mcpiroman@gmail.com>
|
2022-01-19 17:50:35 +01:00 |
|
Evgeniy.Zhelenskiy
|
e97ca2ada4
|
[Psi2Ir, Fir2Ir] Generate toString, hashCode, equals methods for MF VC
|
2022-01-14 13:51:57 +00:00 |
|
Anastasiya Shadrina
|
4caf42804a
|
[IR] Revert changes to KFunctionProxy, put TODO
Context receivers are not yet available in FIR
|
2021-12-02 20:24:35 +03:00 |
|
Anastasiya Shadrina
|
155e7b211b
|
[PSI2IR, IR] Support functional types and literals for IR
|
2021-12-02 20:24:17 +03:00 |
|
Ivan Kylchik
|
2f2e608502
|
Expand the possibilities of object's interpretation
It is possible to create object in interpreter even if its
receiver symbol came from function parameter instead of object's class.
#KT-48174 Fixed
|
2021-08-13 16:18:36 +03:00 |
|
Ivan Kylchik
|
492b8acf93
|
Rename some methods in interpreter's stack to make their purpose clearer
|
2021-08-13 16:18:34 +03:00 |
|
Ivan Kylchik
|
69fe7e66a5
|
Introduce some helpful type aliases in interpreter
|
2021-08-13 16:18:32 +03:00 |
|
Ivan Kylchik
|
1808f14677
|
Switch from using of MutableList to ArrayDeque in interpreter's stack
|
2021-08-13 16:18:32 +03:00 |
|
Ivan Kylchik
|
ac2dffa74e
|
Speed up interpreter's stack by using map of variables instead of list
|
2021-08-13 16:18:31 +03:00 |
|
Ivan Kylchik
|
a630273af2
|
Speed up interpreter's intrinsic check by introducing map of handlers
|
2021-08-13 16:18:30 +03:00 |
|
Ivan Kylchik
|
23b315446f
|
Support sam conversion in ir interpreter
|
2021-08-13 16:18:28 +03:00 |
|
Ivan Kylchik
|
b85a796492
|
Support interpretation for floorDiv and mod functions
|
2021-08-13 16:18:28 +03:00 |
|
Ivan Kylchik
|
f9607292b5
|
Add additional useful ir classes into IrInterpreterEnvironment
|
2021-08-13 16:18:26 +03:00 |
|
Ivan Kylchik
|
b46a42be33
|
Drop toIrConst function with IrBuiltIns parameter
|
2021-08-13 16:18:25 +03:00 |
|
Tianyu Geng
|
684ef871ee
|
FIR: unify common special names scattered around the code base
|
2021-08-06 22:57:17 +03:00 |
|
Ivan Kylchik
|
44e1b61e6c
|
Move static cache from Wrapper into non-static container in environment
By this change it is possible to run multiple test in parallel
without running out of memory.
|
2021-08-06 13:33:32 +03:00 |
|
Ivan Kylchik
|
3932acf843
|
Fix interpretation of default varargs
|
2021-08-06 13:33:30 +03:00 |
|
Ivan Kylchik
|
0ce3dd117e
|
Drop unnecessary check for not static initializer in interpreter
Apparently initializers can become static only in lowering
|
2021-08-06 13:33:30 +03:00 |
|
Ivan Kylchik
|
0af918be4f
|
Use IrFactory to create IrFunction in interpreter
|
2021-08-06 13:33:29 +03:00 |
|
Ivan Kylchik
|
1002d076b3
|
Use StandardNames whenever it is possible in Wrapper
|
2021-08-06 13:33:28 +03:00 |
|
Ivan Kylchik
|
3cf4b8b108
|
Combine two caches from interpreter environment into single one
|
2021-08-06 13:33:28 +03:00 |
|
Ivan Kylchik
|
3fc5405d57
|
Implement simple cache for dynamically created wrapper for defaults
|
2021-08-06 13:33:27 +03:00 |
|
Ivan Kylchik
|
09c31b0900
|
Implement simple cache for dynamically created wrapper for lambda
|
2021-08-06 13:33:25 +03:00 |
|
Ivan Kylchik
|
524189132b
|
Introduce new property fqName to make it easier to take element's name
|
2021-08-06 13:33:24 +03:00 |
|
Ivan Kylchik
|
295638b26e
|
Allow to interpret non const properties of compile time object
|
2021-08-06 13:33:22 +03:00 |
|
Ivan Kylchik
|
a9abf3b9b6
|
Drop redundant frames after some of exceptions in interpreter
Drop only last frame because it is pointing on function itself.
|
2021-08-06 13:33:21 +03:00 |
|
Ivan Kylchik
|
334d518aba
|
Change the way of getting name and ordinal for enum entry in interpreter
For now IrProperty doesn't have corresponding overridden symbol, so
it must be taken from getter.
|
2021-08-06 13:33:20 +03:00 |
|
Ivan Kylchik
|
f815f63fc5
|
Replace UNDEFINED_OFFSET with SYNTHETIC_OFFSET in IrTreeBuildUtils
This change is needed to avoid exception in `getLineNumber` method.
|
2021-08-06 13:33:20 +03:00 |
|
Ivan Kylchik
|
0c5fca31ec
|
Support early return from constructor interpretation
|
2021-08-06 13:33:19 +03:00 |
|
Ivan Kylchik
|
96cc74a752
|
Fix enum interpretation in case when primary constructor is missing
|
2021-08-06 13:33:18 +03:00 |
|
Ivan Kylchik
|
668bb4fd71
|
Fix equals check in interpreter in case when object is wrapped as Proxy
|
2021-08-06 13:33:18 +03:00 |
|
Ivan Kylchik
|
b9decc3b30
|
Support type check for deep nested arrays in interpreter
|
2021-08-06 13:33:17 +03:00 |
|