Mads Ager
09da67767e
[JVM_IR] Fix mangling of inline class inherited interface methods.
...
^KT-49864 Fixed
2021-11-30 03:33:56 +03:00
Anton Bannykh
5b66c4cdc3
[JS IR] speed up temporary name resolving
2021-11-29 21:09:35 +03:00
Anton Bannykh
2259c6f75d
[JS IR IC] assert cross-file tag are not null and fix tests
2021-11-29 21:09:35 +03:00
Anton Bannykh
33cd7e982c
[IR] support storing signatures for non-public symbols
2021-11-29 21:09:34 +03:00
Anton Bannykh
3be44a3540
[JS IR] fix missing signature
2021-11-29 21:09:33 +03:00
Anton Bannykh
ef4ef8c930
[JS IR] switch to the IC Ir2Js and fix tests
2021-11-29 21:09:31 +03:00
Alexander Udalov
4df937ff7f
JVM IR: keep property for $receiver field of optimized delegated properties
...
For properties which delegate to other property via the getValue
operator from stdlib (see KT-39054), we generate `$receiver` field which
stores the receiver of the property reference used in the delegate. The
problem was that this backing field was missing `correspondingProperty`.
It's needed because it is used as a map key to store static fields in
`JvmCachedDeclarations.getStaticBackingField`. If it's null, accesses to
the static $receiver fields are not remapped correctly in
`RemapObjectFieldAccesses` and
`MoveOrCopyCompanionObjectFieldsLowering`, which led to ICCE or NSFE.
#KT-49793 Fixed
2021-11-26 19:21:16 +01:00
Ilya Goncharov
cac286c915
[JS IR] Access with exported properties by its name, not accessor
...
[JS IR] Export properties to ts as getter/setter, not fields
[JS IR] Fix typescript tests
Merge-request: KT-MR-5074
2021-11-26 09:18:12 +00:00
Artem Kobzar
08b0e17d47
feat(polyfills): use stdlib for js polyfills.
2021-11-26 08:14:34 +00:00
Mikhail Glukhikh
4a8f00bc7c
FIR2IR: support reading of isNewPlaceForBodyGeneration in lazy class
2021-11-26 09:18:11 +03:00
Ilya Goncharov
98bedf7eed
[IR] More user-friendly compilation exceptions from lowerings and JS codegen
...
Merge-request: KT-MR-5004
2021-11-25 13:21:34 +00:00
Roman Artemev
a01d9b77c3
[JS IR] Delegate invalidated files processing to the caller
...
This change is needed to test invalidation somehow
2021-11-25 11:22:45 +03:00
Ilya Goncharov
1481ad21f5
Enum implementing exported interface
...
[JS IR] Not export get instance enum function
[JS IR] Enum corresponding class is not considered in export
[JS IR] All enums are abstract and with private constructor
[JS IR] Any methods is left in d.ts
[JS IR] Make enum with declarations inside corresponding class
[JS IR] Export of interface through fake override
[JS IR] Include enum entry corresponding class members into export model
Merge-request: KT-MR-5031
^KT-49779 fixed
^KT-49773 fixed
2021-11-24 12:25:50 +00:00
Pavel Kunyavskiy
98fa69c3d5
[K/N] Remove hack from suspend function inheritance to allow export
...
Before that commit, function in coroutine implementation class was
override for both SuspendFunctionN's and FunctionN+1's invoke,
which somehow works, but breaks exporting classes with such functions.
Now it's two separate functions, as it should be normally.
^KT-49395
2021-11-24 07:54:51 +00:00
Dmitry Petrov
55d1fdfbc2
JVM_IR prevent clash of unsubstituted special bridges
2021-11-23 12:05:13 +00:00
Dmitry Petrov
2a263eca65
FIR2IR strip annotations from IrConst type
2021-11-23 06:34:03 +00:00
Ilya Goncharov
f48436b35e
rra/ilgonmic/eager-like-native
...
[JS IR] Leave JsEagerInitialization until bootstrap update
[JS IR] Fix js stdlib api
[JS IR] Change annotation on eager initialization in sources
[JS IR] Make eager initialization consistent with native
Merge-request: KT-MR-5030
2021-11-22 12:45:37 +00:00
Sergej Jaskiewicz
756b58d5ce
[JS IR] Don't assume a single constructor in the Char class
2021-11-22 11:22:45 +00:00
Kristoffer Andersen
be1c0bb9c1
[EE-IR] Support mutations by evaluator fragments
...
- box captured variables using `Ref`s, the same mechanism that's used
for shared variables in closures.
2021-11-21 01:34:42 +01:00
Kristoffer Andersen
7e633cf217
[IR] Refactor JvmSymbols to allow on-demand loading of (subsets of) symbols
2021-11-20 12:40:46 +01:00
Dmitry Petrov
aa0c2ddea5
JVM_IR fix nullability of special bridge return type
2021-11-20 07:27:22 +00:00
Sergej Jaskiewicz
060074a9d6
[JS IR] Don't concatenate string template segments with '' when possible
...
If concatenating with an empty string is a sure no-op, just don't do it.
2021-11-19 11:16:33 +00:00
Roman Artemev
a0d67cb2e3
[JS IR] Support throwing linkage error in JS IR BE
...
- lower it into runtime API call
2021-11-19 01:16:37 +03:00
Roman Artemev
53a65f818f
[KLIB] Support partially linked klibs in Ir linker
...
Now it's possible to compile against klib even if in there are
references to declarations from other klibs which are no longer existed
- add switch flag to turn on/off that mode
- pass switch flag from JS CLI to JS Linker
2021-11-19 01:16:35 +03:00
Roman Artemev
650b04b4dd
[JS IR] Make assert checks no unbound symbols left conditional
2021-11-19 01:16:34 +03:00
Roman Artemev
e4585730d6
[IR] Add platform-agnostic builtin to throw linkage error
2021-11-19 01:16:33 +03:00
Roman Artemev
8381badcc4
[KLIB] Make IrModuleDeserializer constructor nullable
2021-11-19 01:16:30 +03:00
Roman Artemev
918ed1f077
[KLIB] Refactored IrSymbolDeserializer.kt
...
- extract function which creates a new symbols in linker
2021-11-19 01:16:29 +03:00
Roman Artemev
df9d039c03
[KLIB] Don't use module descriptor to compute library in error reporter
2021-11-19 01:16:28 +03:00
Anton Bannykh
75368a2c06
[JS IR] tie together IC code in tests and K2JsIrCompiler
2021-11-19 00:39:37 +03:00
Anton Bannykh
ff02ea5840
[JS IR] advance stage in regular mode when needed
2021-11-19 00:39:32 +03:00
Anton Bannykh
7d7dd3fe97
[JS IR] better tags + bare parameter names
2021-11-19 00:39:29 +03:00
Anton Bannykh
f9e62f8ffa
[JS IR] expose currentStage via the stageController
...
Otherwise the signatures for the declarations, created in lowerings,
will be miscalculated.
2021-11-19 00:39:24 +03:00
Anton Bannykh
f413d7fd75
[JS IR] make using the original parameter names possible
2021-11-19 00:39:18 +03:00
Anton Bannykh
e342ade00a
[JS IR] fix inline graph tracker for file-local signatures
2021-11-19 00:39:15 +03:00
Anton Bannykh
56e1c4e38f
[JS IR] IrFactory which saves signatures for declarations created in BE
2021-11-19 00:39:12 +03:00
Anton Bannykh
e972ad9855
[JS IR] improved missing body reporting for inliner
2021-11-19 00:39:03 +03:00
Anton Bannykh
953089a4b9
[JS IR] suport SuspendN.invoke functions
2021-11-19 00:38:51 +03:00
Anton Bannykh
1ae042edc3
[JS IR] make old Ir2Js pass all tests
2021-11-19 00:38:46 +03:00
Anton Bannykh
3c859138d1
[JS IR] support source maps in new Ir2Js
2021-11-19 00:38:33 +03:00
Anton Bannykh
a7d8c34927
[JS IR] support generateScriptModule
2021-11-19 00:38:30 +03:00
Anton Bannykh
0506d422a3
[JS IR] support per-module in the new Ir2JS
2021-11-19 00:38:27 +03:00
Anton Bannykh
1f55dc73d2
[JS IR] don't inline property accessors across files
2021-11-19 00:38:24 +03:00
Anton Bannykh
03b9caa439
[JS IR] export external declarations
2021-11-19 00:38:15 +03:00
Anton Bannykh
ee8351b9c9
[JS IR] remove unused property
2021-11-19 00:38:11 +03:00
Anton Bannykh
0b0ed5241c
[JS IR] remove unused method
2021-11-19 00:38:09 +03:00
Anton Bannykh
3617c1388c
[JS IR] improve the hacky fix
2021-11-19 00:38:06 +03:00
Anton Bannykh
46a23c70df
[JS IR] hacky fix for local variables name binding
2021-11-19 00:38:03 +03:00
Anton Bannykh
e4c668462c
[JS IR] fix field namer
2021-11-19 00:38:00 +03:00
Anton Bannykh
5100cb058f
[JS IR] local var clashes
2021-11-19 00:37:55 +03:00