Ilmir Usmanov
6f47699796
JVM_IR: Calculate correct arity of callable reference to suspend
...
function
2019-10-21 13:15:41 +03:00
Ilmir Usmanov
b0a0399dd0
JVM_IR: Support callable references to suspend functions
2019-10-21 13:15:39 +03:00
Ilmir Usmanov
e736b782dd
JVM_IR: Support suspend lambdas with multiple parameters
2019-10-21 13:15:37 +03:00
Ilmir Usmanov
f4a7c839d3
JVM_IR: Generate as much LINENUMBER information as possible inside
...
suspend functions and lambdas.
Otherwise, when state-machine builder splits instructions and adds
LINENUMBER between states, the information becomes corrupted.
2019-10-21 13:15:35 +03:00
Dmitry Petrov
69a9559eac
IR serialization: isExpect in proto and ser/deser
2019-10-21 13:04:59 +03:00
Dmitry Petrov
922b1e576d
IR serialization: isExpect (TODO actual value in proto)
2019-10-21 13:04:59 +03:00
Dmitry Petrov
66b63c4296
JS_IR: isExpect
2019-10-21 13:04:59 +03:00
Dmitry Petrov
e87517764d
JVM_IR: isExpect
2019-10-21 13:04:59 +03:00
Dmitry Petrov
6bdc9ee65b
IR BE common: isExpect
2019-10-21 13:04:59 +03:00
Dmitry Petrov
6532f29cc6
IR: isExpect
2019-10-21 13:04:59 +03:00
Steven Schäfer
eb744cc9e1
JVM IR: Fix constant folding for unsigned toString
2019-10-18 17:24:53 +02:00
Steven Schäfer
c905209504
JVM IR: Lower IrStringConcatenation
2019-10-18 17:24:53 +02:00
Steven Schäfer
78b4024ccb
JVM IR: Unify the handling of IrStringConcatenation and toString
2019-10-18 17:24:12 +02:00
Steven Schäfer
c3d0a7582c
JVM IR: Fix names, caching, and visibilities for SAM wrappers used in inline functions.
2019-10-18 17:22:58 +02:00
Steven Schäfer
f2e0c1a930
JVM IR: Minor fix for nullable SAM wrappers
2019-10-18 17:22:58 +02:00
Steven Schäfer
18940ab0cb
JVM IR: Refactor SyntheticAccessorLowering to use a single traversal
2019-10-18 17:20:22 +02:00
Steven Schäfer
3db3f5bf7f
JVM IR: Don't compute signatures in CallableReferenceLowering
2019-10-18 17:20:22 +02:00
Steven Schäfer
417c570243
IR: Fix InnerClassConstructorCallsLowering
...
Prevent repeated passes over nested functions.
2019-10-18 17:20:22 +02:00
Steven Schäfer
9389d88232
JVM IR: Hide constructors with inline class parameters
2019-10-18 17:20:22 +02:00
Steven Schäfer
bdd5705a30
JVM IR: Fix test for anonymous object constructors in FunctionCodegen
2019-10-18 17:20:22 +02:00
pyos
6b48112a2b
IR: deserialize backing field annotations
...
Probably going to be necessary for handling imported @JvmField
annotated declarations.
2019-10-18 16:43:53 +03:00
pyos
d1f25d1c26
JVM_IR: discard results of nonexhaustive whens' branches
2019-10-17 15:41:42 +02:00
pyos
27094d0371
JVM_IR: fix synthetic accessor generation (again)
...
Turns out private inline functions *can* be called from other classes.
2019-10-17 12:38:19 +02:00
Alexander Udalov
65c09a5e57
Minor, use experimental unsigned types in CityHash
...
This fixes 233 experimental usage API warnings
2019-10-16 15:00:31 +02:00
Mads Ager
8305baa5fe
[JVM_IR] Avoid unbounded recursion for recursive suspend functions.
...
Additionally, deal with primitive types in AddContinuationLowering.
2019-10-16 13:50:52 +03:00
Georgy Bronnikov
ed6ca7d67e
JVM_IR: fix for SingletonReferencesLowering
...
When replacing an enum entry reference with `this`, you need to take
`this` from the function's `dispatchReceiverParameter`, not the class's
`thisReceiver`. Otherwise the code generator fails to find the reference
among accessible variables.
2019-10-16 13:19:40 +03:00
Georgy Bronnikov
f3cae210f8
JVM_IR: handle type parameters in constructors for @JvmOverloads stubs
2019-10-15 14:55:18 +03:00
pyos
d3992826e4
JVM_IR: discard parameter annotations in anonymous object constructors
2019-10-14 14:54:44 +02:00
Alexander Gorshenev
f18a3f7fa9
Several more librry resolver tweaks.
...
Made library builder a member function.
Moved resolverByName() back to Native for now
2019-10-11 17:02:06 +03:00
Alexander Gorshenev
55805ddeb8
JS search path resolver with attributes.
...
Warn on inclusion of klibs with the same name in manifest
2019-10-11 17:02:06 +03:00
Anton Bannykh
82e8bcfca9
Proto: update the workaround which reduces memory allocations
2019-10-11 13:58:22 +03:00
Georgy Bronnikov
1abdcf3f57
JVM_IR: support function references with default parameters
2019-10-11 13:30:30 +03:00
pyos
807050b159
JVM_IR: generate SMAPs for classes local to inline lambdas...
...
...if they are declared inside inline functions.
2019-10-10 14:54:13 +02:00
pyos
301e3d27fd
JVM_IR: "fix" reified type parameter scope check
...
where "fix" means "work around a bug that is much harder to fix". When
lambdas are extracted into the nearest class, captured type parameters
are not transformed into type parameters of the new method; because of
this, to check whether a reified type parameter is captured by a method
we need to check the outermost named function, not the current function.
2019-10-10 14:54:13 +02:00
Georgy Bronnikov
c70b2e3e4b
JVM_IR: specify correct type for defaultConstructorMarker arguments
2019-10-10 14:07:43 +03:00
Roman Artemev
6f2768e774
[JS SCRIPT] Use new dependency resolver in script/js subsytem
2019-10-10 12:52:06 +03:00
Roman Artemev
c0f279811e
[JS SCRIPT] refactor js script infrastructure
...
- Implement proper script compiler proxy to correctly handle script and its closed-world dependencies
- Clean up zoo of JsScriptCompilers
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
62885ba497
[JS SCRIPTING] create compilers for scripting
2019-10-10 12:52:06 +03:00
Vitaliy.Tikhonov
24cfd0e88c
[IR JS BE] update NameTables for working with repl
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
184ae2fa43
[IR JS BE] create lowering for scripts
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
240abdb750
[JS IR BE] update current lowerings for IrScript
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
d79279d8a5
[JS SCRIPTING] create CoreCompiler for scripting
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
cf5a1615ea
[IR] add JsTextTest for IrScript
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
209a20153e
[Psi2IR] support IrScript
2019-10-10 12:52:05 +03:00
Vitaliy.Tikhonov
14510c1da3
[IR] create IrScript, infrastructure for it and update visitors
2019-10-10 12:52:05 +03:00
Mads Ager
92cf521e11
[IR] Deal with forward references in default argument lambdas.
...
Rely on the frontend weeding out cases that are not supported.
In psi2ir, introduce all the parameters before processing default
values.
Change the DefaultArgumentStubGenerator to generate code that
matches the behavior of the current backend.
2019-10-10 09:00:51 +02:00
Kristoffer Andersen
9d1d6a7b1f
JVM IR: Do not generate DefaultImpls if it's empty. This revealed that InterfaceDelegationLowering was relying on the presence of DefaultImpls even when empty. Hence, simply dropping it from InterfaceLowering was not trivial. Moved default delegation in DefaultImpls to SuperType.DefaultImpls to InterfaceLowering. Clean up logic considerably, and document inter-phase dependencies.
2019-10-09 13:03:21 +02:00
Kristoffer Andersen
5cefd4e443
JVM IR: Implement -Xjvm-default=enable
2019-10-09 13:03:21 +02:00
Roman Artemev
d5176cbf5d
[IR SERIALIZATION] Get rid of UniqId proto message
...
- encode locality flag in major bit of uniqid (1 - global, 0 - local)
2019-10-09 13:23:18 +03:00
Roman Artemev
fcae5873d0
[IR SERIALIZATION] Get rid of Annotations message
2019-10-09 13:23:18 +03:00