Commit Graph

61239 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy 069fbffaa3 Regenerate tests: fix LightAnalysisModeTestGenerated 2020-01-31 15:39:52 +03:00
pyos bda5b0d5a9 JVM_IR: further refine synthetic accessor generation
References to protected members from crossinline lambdas in the same
package do not need accessors.
2020-01-31 13:20:30 +01:00
Mikhael Bogdanov 21d3adf084 Minor. Fix android test compilation 2020-01-31 11:39:55 +01:00
Mikhael Bogdanov 9e26491631 Beatify names for enum name and ordinal local variables 2020-01-31 11:39:54 +01:00
Mikhael Bogdanov cd0c45c832 JVM_IR. Generate proper suffix for companion backing field accessor and parameter name 2020-01-31 11:39:53 +01:00
Mark Punzalan 3ee344b836 ForLoopsLowering: Fix issue with break/continue in loop over withIndex. 2020-01-31 10:37:03 +01:00
Pavel Kirpichenkov 724eda8fdb Advance explicit Kotlin versions in gradle integration tests
1.0 and 1.1 are no longer supported starting from 1.4, new errors break tests
See KT-36146
2020-01-31 11:47:25 +03:00
Alexander Udalov 9f25fdcedc Minor, skip mustBeDocumented.kt for JDK 6 codegen tests
Class.getDeclaredAnnotation is not available before JDK 8
2020-01-31 09:36:17 +01:00
Mads Ager e8a640851a FIR: Change the Fir2Ir handling of smart casts.
Generate the expression with the original type and then insert
an implicit conversion. That matches the behavior of psi2ir
better and therefore avoids breaking backend assumptions.

In particular, IrGetValue expects the type of the underlying
symbol and the type of the IrGetValue to be the same.
2020-01-31 09:31:52 +01:00
Mads Ager d68a1898d0 JVM_IR: Use direct field access instead of calling certain accessors.
Final default properties accessors that access a backing field
on the same class can be replaced by direct field use.

Perform the optimization late in the pipeline to allow lowerings
to expose more opportunities for optimizations.
2020-01-31 09:31:52 +01:00
Nikolay Krasko 09057c485b Update to a newer idea to fix bad initialization of PsiSubstitutor (KT-36039)
PsiSubstitutor instantiation doesn't need EmptySubstitutor service anymore.
Remove hack with interface field reassign that doesn't work with JDK >= 12.

Leave hack for PsiSubstitutor in AS40 as KotlinCoreApplicationEnvironment
is not expected to be triggered from the plugin.

#KT-36039 Fixed
2020-01-31 01:59:58 +03:00
Victor Petukhov 4490efab3e [NI] Use original descriptor for functions imported from object during JS mangling
^KT-35904 Fixed
2020-01-30 19:55:41 +03:00
Victor Petukhov fa924065ca Enable NonStrictOnlyInputTypesChecks since 1.3
This is important for the case of the enabling new inference in 1.3 (so that there is no error in certain cases)
2020-01-30 19:20:12 +03:00
Vyacheslav Gerasimov 06448b6469 Revert "Set local build version to 1.4.255-SNAPSHOT"
This reverts commit a8650ccf
2020-01-30 18:20:27 +03:00
Kirill Shmakov 46b4620fdd Use better wording in plugin advertiser 2020-01-30 17:53:14 +03:00
Denis Zharkov db6183644f FIR: Add problem test 2020-01-30 17:12:50 +03:00
Denis Zharkov e0dca92370 FIR: Ignore whitespaces when comparing fir/non-fir diagnostic files 2020-01-30 17:12:50 +03:00
Denis Zharkov 47ecaa5b06 FIR: Fix scope intersection types
Otherwise overload resolution ambiguity is reported in the test
2020-01-30 17:12:50 +03:00
Denis Zharkov d28e1f156a FIR: Fix capturing of flexible types 2020-01-30 17:12:50 +03:00
Denis Zharkov ac2b5beb4e FIR: Optimize SupertypeComputationSession::breakLoops 2020-01-30 17:12:50 +03:00
Kirill Shmakov a44fa8db50 Pack LLDB binaries into plugin 2020-01-30 16:40:04 +03:00
Mikhail Glukhikh 06bab6ec48 [FIR] Extract QualifierReceiver to a separate file 2020-01-30 16:28:26 +03:00
Mikhail Glukhikh 2bb5740f47 [FIR] Resolve ambiguities in Java static scopes 2020-01-30 16:28:08 +03:00
Mikhail Zarechenskiy 4c8905b00f Add forgotten test file for FIR
After ac69c287ec
2020-01-30 16:09:22 +03:00
Toshiaki Kameyama 2f19ad7bdc Redundant companion reference: fix false positive with overridden Java getter (#2935)
#KT-33771 Fixed
2020-01-30 15:55:47 +03:00
Ilya Kirillov 9f7af4b58d Fix testdata after ebe3619251 2020-01-30 15:52:54 +03:00
Pavel Kirpichenkov 736f5e365c [NI] Create error type for CST of error types
KT-36092 Fixed
2020-01-30 15:24:42 +03:00
Mikhail Zarechenskiy ac69c287ec [NI] Don't treat last labeled return expression in lambda specially
#KT-36251 Fixed
2020-01-30 15:11:27 +03:00
Dmitry Gridin 66a15d23d8 Fix tests from LiveTemplatesTest 2020-01-30 19:04:25 +07:00
Steven Schäfer cf3e4608f3 JVM IR: Support -Xno-call-assertions 2020-01-30 14:43:23 +03:00
Kristoffer Andersen 61e6d346aa [JVM IR] Interface Delegation by Property should use existing field
When a property backed by a final field is the delegate for interface
implementation by delegation, the backend should reuse the backing
field rather than introduce a new, extraneous `$$delegate_n` field.
2020-01-30 14:42:24 +03:00
Alexander Udalov d4170bca6e Regenerate generated files after updating copyright year 2020-01-30 12:41:42 +01:00
Natalia Selezneva e33a81a968 Tests: fix gradle tests for script configuration loading
Introduce `testAffectedGradleProjectFiles` property
to avoid full gradle project import in some tests
2020-01-30 14:39:29 +03:00
Dmitriy Novozhilov f9a4b8f9cb [FIR] Split printer in tree generator to several files
Also use smart printer instead of `PrintWriter`
2020-01-30 14:38:02 +03:00
Dmitriy Novozhilov 075068155b [FIR] Delay configuration of nodes in tree generator 2020-01-30 14:38:02 +03:00
Dmitriy Novozhilov 9f6cf5c8f4 [FIR] Add forgotten replacing lambdas in arguments of try and when calls 2020-01-30 14:38:02 +03:00
Dmitriy Novozhilov f8c8925fd6 [FIR] Support DFA analysis of postponed lambdas. Add more kinds of edges of CFG
#KT-36248
#KT-35724 Fixed
2020-01-30 14:38:02 +03:00
Dmitriy Novozhilov c78da854f7 [FIR] Make Stack an abstract class 2020-01-30 14:38:02 +03:00
Dmitriy Novozhilov 5de37baf6e [FIR] Rename EnterNode and ExitNode interface to markers 2020-01-30 14:38:01 +03:00
Dmitriy Novozhilov ec0f8a9c77 [FIR] Hide modifications of CFG from public API 2020-01-30 14:38:01 +03:00
Dmitriy Novozhilov 6716cb0bf3 [FIR] Add edge kinds to control flow graph
Another changes:
- Remove useless CFG plain text renderer
- Refactor CFG .dot renderer
- Add checking of consistency control flow graph
2020-01-30 14:38:01 +03:00
Dmitriy Novozhilov 0c2157155d [FIR-TEST] Remove outdated empty test class 2020-01-30 14:38:01 +03:00
Dmitriy Novozhilov 237198758d [FIR] Get rid of alivePreviousNodes in control flow graph 2020-01-30 14:38:01 +03:00
Dmitriy Novozhilov 1180ec54ef [FIR] Add unique id's for nodes of control flow graph 2020-01-30 14:38:01 +03:00
Mikhael Bogdanov 10900e0d90 JVM_IR. Don't copy synthetic method for property annotations if @JvmStatic presented 2020-01-30 12:31:38 +01:00
Pavel Kirpichenkov 832064305f [NI] Set correct applicability for unknown lambda parameter diagnostic
Unknown lambda parameter should not change resolve.
So the new diagnostic should not have error status; othrewise candidates with lower priority but more specific expected type may be chosen.

KT-34335 Fixed
See also KT-36264
2020-01-30 13:52:18 +03:00
Pavel Kirpichenkov eec039f5a2 [NI] Report error about unknown parameter type of lambda argument
KT-34335
2020-01-30 13:52:12 +03:00
Pavel Kirpichenkov 9fb8579252 [minor] Refactor KotlinCallCompleter
Move completion mode logic to CompletionModeCalculator.
2020-01-30 12:48:20 +03:00
Dmitry Gridin 96f49d8e3c Remove trailing comma from some tests 2020-01-30 15:32:09 +07:00
Dmitry Petrov 53f66e9509 PSI2IR: SAM conversion in varargs 2020-01-30 10:27:01 +03:00