Commit Graph

29808 Commits

Author SHA1 Message Date
Dmitry Petrov f81be526bc Support deserialized IR in IfNullExpressionsFusionLowering
Deserializer generates simple branches instead of IrElseBranches.
2020-05-26 20:29:12 +03:00
Svyatoslav Scherbina c9f721848a Fix Throws declaration in Native diagnostics tests
Align annotation target with real declaration in Native stdlib
2020-05-26 20:24:35 +03:00
Svyatoslav Scherbina fa152593ef Fix false-positive @Throws error diagnostics in Native
Don't report
THROWS_LIST_EMPTY and MISSING_EXCEPTION_IN_THROWS_ON_SUSPEND
caused by unresolved arguments.
2020-05-26 20:24:34 +03:00
Svyatoslav Scherbina 242d0aa26e Add Native diagnostics for @Throws suspend fun
`@Throws suspend fun` must have CancellationException accepted.

Also add more tests.
2020-05-26 20:24:32 +03:00
Svyatoslav Scherbina 3e8b0055ab Decouple Call.hasUnresolvedArguments from ResolutionContext 2020-05-26 20:24:30 +03:00
anastasiia.spaseeva 9d862aaa1d [Spec tests] Remove spec info from fir tests 2020-05-26 17:27:06 +03:00
anastasiia.spaseeva 5ba9d09278 [Spec tests] Fix fir test runner for spec tests 2020-05-26 17:27:06 +03:00
Ilya Chernikov 2509dfb287 Rename scripting libs and plugin - invert embeddable suffix
now regular, unshaded libs, are named with suffix `-unshaded`, while
former `-embeddable` ones named without any suffix. This will encoursge
use of the shaded libs by default, avoiding conflicts with 3-party
libs packed into the `kotlin-compiler`.
Note, that only the "frontline" libs are renamed to avoid switching
problems, the ones that not normally used directly are left as is,
including the `kotlin-compiler` itself.
2020-05-26 15:58:25 +02:00
Krasnoriadtseva Anastasiia a55dec28b9 [FIR] Fix infinite CFG traverse 2020-05-26 15:30:45 +03:00
Roman Artemev 7644b4baec [KLIB] Improve performance a bit 2020-05-26 14:41:49 +03:00
Roman Artemev 44dfae53f0 [IR BE] Add runtime compilation benchmarks for IR JS compiler 2020-05-26 14:41:49 +03:00
Roman Artemev e6c855111e [KLIB] Add flag to select between per-file and monolithic layout 2020-05-26 14:41:49 +03:00
Roman Artemev 444ecc0981 [PLUGIN API] Fix misprint 2020-05-26 14:38:18 +03:00
Roman Artemev bc32688497 [PLUGIN API] Drop PureIrGenerationExtension 2020-05-26 14:38:18 +03:00
Juan Chen adba0a03a6 [FIR] Create builtin primitive array types for properties
If the primary constructor has a vararg parameter, the corresponding
property has an array type. This commit creates the builtin array
types for such properties if the vararg element type is primitive,
e.g., CharArray instead of Array.
2020-05-26 14:08:47 +03:00
Dmitry Petrov 2f79b4c412 Add test for KT-34902 2020-05-26 11:59:05 +03:00
Mikhail Glukhikh 4455532210 JsIntrinsics: use createEmptyExternalPackageFragment 2020-05-26 11:50:55 +03:00
Mikhail Glukhikh 7818baff1e [FIR2IR] Fix problem with double-generation of local class members 2020-05-26 11:50:33 +03:00
simon.ogorodnik ac1769a474 [FIR2IR] Support SAM constructors 2020-05-25 21:24:39 +03:00
simon.ogorodnik dbc564e74e [FIR2IR] Approximate types for lambdas before passing to serialization 2020-05-25 21:24:39 +03:00
simon.ogorodnik b92194229c [FIR] Add fir copy function generation 2020-05-25 21:24:38 +03:00
pyos 76c34a07b2 JVM: use 1 as a synthetic line number for @InlineOnly lambdas
The source path already marks it as synthetic.
2020-05-25 20:03:56 +02:00
pyos 25e1fb8502 JVM: map synthetic line numbers through the SMAP
This is necessary so that IDEA does not ignore the line number.
2020-05-25 20:03:56 +02:00
pyos d17a18f96d JVM: do not write trivial SMAPs to classes outside inline funs
where trivial == those that map the file to itself.
2020-05-25 20:03:56 +02:00
Pavel Punegov a04aeeb4e1 Ignore broken test in Native 2020-05-25 20:58:43 +03:00
Victor Petukhov e70242f6f1 NI: some review fixes for improved postponed arguments analysis 2020-05-25 19:37:30 +03:00
Victor Petukhov 756326cefe NI: report error diagnostic about impossible to infer anonymous function's parameter
Partially fixed KT-39098
2020-05-25 19:37:27 +03:00
Mikhail Zarechenskiy 2cee82a348 [NI] Resolve receiver of provideDelegate independently
#KT-38259 Fixed
2020-05-25 16:06:55 +03:00
Mikhail Zarechenskiy 59f027e3e9 [NI] Don't try performing any conversions on receivers 2020-05-25 16:06:55 +03:00
Mikhail Glukhikh 6c124ccd0c [IR] Drop deprecated symbol.descriptor based declaration constructors 2020-05-25 15:40:38 +03:00
Mikhail Glukhikh bb2e58b6a4 Deprecate IrDeclaration.descriptor and IrSymbol.descriptor 2020-05-25 15:40:38 +03:00
Mikhail Glukhikh b05a1bb1a2 [IR] Extract IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 12f596c620 [IR] Unbind construction methods of IR file/enum entry/type alias from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh c68de4639f [IR] Unbind construction methods of IrLocalDelegatedPropertyImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 58ef59074d [IR] Unbind construction methods of IrTypeParameterImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 3f09bb40c0 [IR] Unbind construction methods of IrVariableImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 784d3a9005 [IR] Unbind construction methods of IrValueParameterImpl from symbol.descriptor 2020-05-25 15:40:37 +03:00
Mikhail Glukhikh 03f2c6d38a [IR] Unbind construction methods of IrFieldImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh ab15a88ce4 [IR] Unbind construction methods of IrPropertyImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh 7840adde12 [IR] Unbind construction methods of IrConstructorImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh 262548fd5b [IR] Unbind construction methods of IrFunctionImpl from symbol.descriptor 2020-05-25 15:40:36 +03:00
Mikhail Glukhikh a7d514a0a9 [IR] Unbind construction methods of IrClassImpl from symbol.descriptor 2020-05-25 15:40:35 +03:00
Roman Artemev 257c4c5604 [PLUGIN API] Extract IrPluginContext into separate interface
- Isolate ir infrastructure implementation details behind special interface
2020-05-25 13:26:35 +03:00
Victor Petukhov a84780fefb NI: Add regression test for KT-38799
The issue has been fixed by introducing the modified postponed arguments analysis (KT-37952)
2020-05-25 11:56:08 +03:00
Ilya Chernikov 574b917061 Remove new kotlin daemon from dist
hopefully temporarily, also see #KTI-173
2020-05-24 19:03:43 +02:00
Ilya Chernikov 9d98c90881 Drop coroutines from compiler jar, add appropriate plugin dependency
#KT-30778 fixed
2020-05-24 19:03:42 +02:00
Dmitriy Novozhilov d49c198a7f [FIR] Correctly initialize extensions in all sessions 2020-05-24 18:04:47 +03:00
Dmitriy Novozhilov 96da6d35c5 [FIR] Add processor for transforming statuses with plugins 2020-05-24 18:04:47 +03:00
Dmitriy Novozhilov 8d686226c7 [FIR] Introduce FirResolveProcessors 2020-05-24 18:04:47 +03:00
Dmitriy Novozhilov 3de12f9b09 [FIR] Completely remove old extensions service 2020-05-24 18:04:47 +03:00