Georgy Bronnikov
ea57b4cccb
IR: add and unmute tests
2020-08-10 10:16:24 +03:00
Ilmir Usmanov
b403b63f48
Ease field initialization check
...
Since there is already VAL_REASSIGNMENT diagnostics, we can safely only
for direct assignments.
#KT-40893 Fixed
2020-08-07 14:22:18 +02:00
Steven Schäfer
ca6e430e89
JVM IR: Handle nested classes in DelegatedPropertyOptimizer
2020-08-06 21:01:59 +02:00
Victor Petukhov
f45de9d8fb
NI: approximate not top-level captured types during code generation
...
^KT-40693 Fixed
2020-08-05 10:36:36 +03:00
Ilmir Usmanov
2c205410fa
Check whether the field is indeed being initialized
...
in checkFieldInExactlyOnceLambdaInitialization
#KT-40691 Fixed
2020-07-30 19:04:54 +02:00
Alexander Gorshenev
9a717e9ecf
Don't copy default value parameters for fake overrides
2020-07-29 22:15:10 +03:00
Dmitry Petrov
dae358c792
JVM: KT-40664 disable optimization for 'ULong in range of UInt' case
2020-07-29 20:33:17 +03:00
Dmitry Petrov
f2493d0950
JVM: KT-40665 more exact check for intrinsified range 'contains'
2020-07-29 20:33:17 +03:00
Roman Artemev
0559e192ee
[JS IR] Support external delegation in case of JS in psi2ir
...
- fix FE delegation resolver
- fix critical KT-40650
2020-07-29 19:57:05 +03:00
Alexander Udalov
77247deb23
IR: add module ir.tree.persistent, copy PIR implementation there
...
Use PersistentIrFactory in JS IR compiler entry points.
2020-07-28 19:04:43 +02:00
Alexander Udalov
db4cbe7103
IR: use IrFactory in SymbolTable
2020-07-28 12:05:23 +02:00
Svyatoslav Kuzmich
4a803e9d2f
[JS IR] Support object declaration export
...
Fixes KT-39117 and KT-39367
2020-07-23 08:21:59 +03:00
Svyatoslav Kuzmich
4027dae594
[JS] Add js/js.translator/testData/package-lock.json
2020-07-23 08:21:57 +03:00
Alexander Udalov
d3a34a8898
Psi2Ir: somewhat simplify Psi2IrTranslator API
...
Inline some methods only used once, deduplicate usages, rearrange
parameters, etc.
2020-07-22 22:38:21 +02:00
Dmitry Petrov
1272162a7f
JVM_IR: generate "safe" names for functions in init blocks
2020-07-22 19:49:48 +03:00
Zalim Bashorov
ee26fd4959
[KJS FE] Change severity of NON_EXPORTABLE_TYPE from error to warning
...
The change is required to avoid breaking examples using kotlin-wrappers
until we find an acceptable solution for them.
#KT-39873 Fixed
2020-07-22 10:51:41 +03:00
Mikhail Zarechenskiy
fcf7a55ccc
Fix delegated property resolve on number literals and proper types
...
There is no need to update type of delegate expression if it's already
resolved correctly (doesn't include non-proper types). In almost all
cases it was fine except number literals as there we didn't box
expression in backend and got problems at bytecode verification stage
#KT-40057 Fixed
2020-07-17 14:27:20 +03:00
Igor Chevdar
3c4f0d3c9e
[box-tests] Added test
2020-07-16 19:23:03 +05:00
Svyatoslav Kuzmich
609f0ca9bc
[JS IR] .d.ts generation for module systems
...
Support .d.ts generation for UMD, AMD, CommonJS module kinds in
addition to existing "plain" module kind.
2020-07-16 14:02:06 +03:00
Roman Artemev
cd9f59325e
[KLIB] Fix deserialization of anonymous classes
...
In case of initializing property or function with anonymous object the
object is being exposed outside its field/function's scope and
accessible on previous level. In this case in `declarations only` mode
we have unbound symbols. Fix is to force body/initializer loading in
such cases.
Make sure it is deserialized in `declarations'only` mode too.
- Fix KT-40216
- Add test
2020-07-15 18:23:29 +03:00
Zalim Bashorov
340512e27a
[KJS] Throw exception on recursive types provided to typeOf and provide proper support later within KT-40173
...
#KT-38140 fixed
2020-07-14 14:14:13 +03:00
Zalim Bashorov
c552933459
[Test infra] Take into account transitive compatible targets while checking compatibility.
2020-07-14 14:14:12 +03:00
Zalim Bashorov
ca37c6bfe6
[KJS FE] Allow using typeOf with non-reified type parameters
...
#KT-38771 fixed
2020-07-14 14:14:11 +03:00
Victor Petukhov
514ac7dc8f
NI: introduce simple calls storage (which aren't gone through type inference) in coroutine inference session to further substitute postponed variable
...
^KT-40151 Fixed
2020-07-10 11:11:48 +03:00
Ilya Gorbunov
2f3e1dcbc6
Add EXACTLY_ONCE contract to suspendCoroutine* functions
...
Update line numbers in the affected test.
2020-07-10 01:05:16 +03:00
Roman Artemev
ca44242f37
[IR] Fix synthetic declarations generator to make it produce correct type
...
- Fix KT-40126
- Add test
2020-07-09 11:47:07 +03:00
Anton Bannykh
0885d608d8
JS IR: normalize the generate file path in the box tests
2020-07-07 13:00:42 +03:00
Victor Petukhov
c588bc604d
NI: do substitution stub types during updating trace for lambda (these stub types can appear from the builder inference as postponed variables)
...
^KT-40060 Fixed
2020-07-07 11:17:06 +03:00
Victor Petukhov
eec3a4720c
NI: don't collect members if a receiver type is StubType to avoid creating error candidates instead of not crating them at all
...
^KT-37717 Fixed
2020-07-07 11:17:06 +03:00
Mikhail Zarechenskiy
d8f701ee61
Add test for obsolete issue
...
#KT-39588 Obsolete
2020-07-05 18:17:44 +03:00
Steven Schäfer
5cdf053c8e
Coroutines: Fix RedundantLocalsEliminationMethodTransformer
...
- Take control flow into account when collecting usage information
- Don't remove stores to local variables
2020-07-02 00:49:28 +02:00
Alexander Gorshenev
de79e3bec3
Added -Xdisable-fake-override-validator
2020-06-29 21:58:31 +03:00
Ilmir Usmanov
28e6028af4
Minor. Add test
2020-06-29 20:13:40 +02:00
Anton Bannykh
da79f93c61
JS IR: per-module .js generation support
2020-06-26 17:55:33 +03:00
Anton Bannykh
deb5dc1057
Don't merge files into a single module
2020-06-26 17:55:33 +03:00
Anton Bannykh
5239ab477c
Lowerings apply to a list of modules
2020-06-26 17:55:33 +03:00
Anton Bannykh
2e68526b44
Merge ES6 pipeline
2020-06-26 17:55:32 +03:00
Anton Bannykh
a1c9ee1013
Mute failing ES6 phases
2020-06-26 17:55:32 +03:00
Mikhail Zarechenskiy
c2c139ef4f
Fix adaptation for references with default values after varargs
...
After vararg argument it's possible to pass values only by name, so
here we modulate this behavior
#KT-37721 Fixed
2020-06-26 14:03:48 +03:00
Mikhail Zarechenskiy
684ca5029f
Add tests for obsolete issues
...
#KT-37734 Obsolete
#KT-39824 Obsolete
2020-06-26 06:24:59 +03:00
Ilmir Usmanov
c21820c615
Revert "Revert "Fix merging two reference values""
...
This reverts commit 1cccceabb9 .
2020-06-25 18:51:13 +02:00
Ilmir Usmanov
a6f14c206b
Revert "Revert "Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline""""
...
This reverts commit 447308dcfc .
2020-06-25 18:51:11 +02:00
Ilya Gorbunov
6c8ff25e5d
Drop deprecated jsClass top level and extension functions
...
Introduce internal toplevel jsClass in js-ir source set instead.
It is needed for JS-IR backend.
2020-06-22 12:29:25 +03:00
Ilya Gorbunov
e9c4f531eb
Increase deprecation level for previously deprecated API
...
- unsupported common exceptions
- common 'synchronized'
- jquery API
- experimental kotlin.time API
- js Math object
- DefaultAsserter constructor-like fun
2020-06-22 12:29:24 +03:00
Svyatoslav Kuzmich
bbfc1a10ad
[JS] Fix stack trace capturing from secondary constructors KT-37563
2020-06-22 12:03:59 +03:00
Svyatoslav Kuzmich
6792779281
[JS IR] Fix stack trace capturing in secondary constructors (KT-37563)
...
Call captureStack in primary constructors and generated factories
2020-06-22 11:50:14 +03:00
Mikhail Bogdanov
9c0b96af71
Report error on missed specialization in compatibility mode
...
#KT-39603 Fixed
2020-06-19 11:57:36 +02:00
Abduqodiri Qurbonzoda
194791a168
Introduce minByOrNull and maxByOrNull extension functions #KT-38854
2020-06-19 04:53:51 +03:00
Victor Petukhov
ece61915de
NI: clean calls in coroutine inference before the second analysis of += only for right side
...
^KT-39660 Fixed
2020-06-18 17:09:59 +03:00
Igor Chevdar
3634ad2d54
Added a test
2020-06-18 12:44:48 +05:00