Steven Schäfer
53fe30eb45
JVM IR: Don't produce CHECKCASTs on null constants (KT-36650)
2020-08-11 15:13:40 +02:00
Alexander Udalov
7503f134c2
IR: use IdSignature to compare classes in FqNameEqualityChecker
...
This is both simpler and a lot more performant.
2020-08-11 14:41:57 +02:00
Alexander Udalov
36a1a65d98
IR: make IrBranch/IrCatch/IrSpreadElement/IrModuleFragment/IrPackageFragment classes
2020-08-11 14:41:57 +02:00
Alexander Udalov
08a35f0674
IR: make IrBody and subtypes classes
2020-08-11 14:41:57 +02:00
Alexander Udalov
4351f5235b
IR: make IrExpression and subtypes classes
2020-08-11 14:41:56 +02:00
Alexander Udalov
ba7ff36274
IR: make IrDeclarationReference and subtypes classes
2020-08-11 14:41:56 +02:00
Alexander Udalov
ee904a975a
IR: make IrMemberAccessExpression and subtypes classes
...
Merge IrMemberAccessExpressionBase into IrMemberAccessExpression, and
IrCallWithIndexedArgumentsBase into IrFunctionAccessExpression (extract
the latter into a separate file).
2020-08-11 14:41:56 +02:00
Alexander Udalov
fde7314aaf
IR: do not inherit IrExpressionWithCopy from IrExpression
2020-08-11 14:41:55 +02:00
Alexander Udalov
9aa7da44e2
IR: remove IrTerminalExpressionBase, Ir{Terminal,}DeclarationReferenceBase
...
Implement no-op acceptChildren/transformChildren in the base class
IrExpressionBase instead. This doesn't change behavior because all other
implementations of acceptChildren/transformChildren are not affected.
2020-08-11 14:41:55 +02:00
Alexander Udalov
868018f51f
IR: do not inherit IrFunctionReferenceImpl from IrCallWithIndexedArgumentsBase
2020-08-11 14:41:55 +02:00
Alexander Udalov
e3dfd5fb49
IR: push down implementations of startOffset/endOffset/type/...
...
Do not store these as properties in IrElementBase, IrExpressionBase and
similar classes. This helps to reduce boilerplate in implementations
(just "override val" in the constructor, instead of taking a parameter
and passing it to the superclass), and also slightly optimizes memory in
cases where the value is trivial (UNDEFINED_OFFSET, 0, etc) and thus
does not need to be stored.
2020-08-11 14:41:54 +02:00
Roman Golyshev
03f804b1c5
FIR Completion: Move completion files to idea-fir module
2020-08-11 15:38:07 +03:00
Ilmir Usmanov
d861373c6d
Hack attributes for continuation of suspend function in SAM-adapter
2020-08-11 11:58:20 +02:00
Mikhail Zarechenskiy
2e131b870a
Add tests for obsolete issues
...
#KT-38804 Obsolete
#KT-38801 Obsolete
#KT-38835 Obsolete
#KT-38737 Obsolete
#KT-38664 Obsolete
#KT-38549 Obsolete
#KT-38766 Obsolete
#KT-38714 Obsolete
2020-08-11 12:34:02 +03:00
Georgy Bronnikov
7f4df19dd1
JVM_IR: reorganize throw... functions in Symbols
2020-08-11 10:54:29 +03:00
Denis Zharkov
6a16d6a246
FIR: Simplify delegating constructors call resolution
2020-08-11 10:14:02 +03:00
Denis Zharkov
8b71f5e558
FIR: Do not leave cyclic upper bounds of type parameters
2020-08-11 10:14:02 +03:00
Denis Zharkov
a5a93d00a7
FIR: Rework delegation constructor calls resolution
...
Make it work independently of being called for inner class (as in FE 1.0)
2020-08-11 10:14:02 +03:00
Denis Zharkov
db93b9052b
FIR: Fix incorrect optimization for integer literals
2020-08-11 10:14:02 +03:00
Vyacheslav Gerasimov
ad8709b2dc
Build: Remove exclusion of kotlinx-coroutines-core in scripting-common
...
It breaks available-at feature used in MPP
2020-08-11 00:39:04 +03:00
Vladimir Dolzhenko
8540f47c15
Fixed FindUsages case on look up implementation getter/setters via property names
...
#KT-40788 Fixed
#KT-24616 Fixed
back-port from kotlin-ide commit aa5580bb5a7e96b209cdaa1c82f4e485ee001ae8
2020-08-10 22:04:06 +02:00
Mikhail Zarechenskiy
e49cdf0ca2
Prohibit using suspend functions as SAM in fun interfaces
...
#KT-40978 Fixed
2020-08-10 22:04:16 +03:00
Mikhael Bogdanov
607f99ed3c
Don't generate implicit overrides delegating to Java defaults
...
#KT-40920 Fixed
2020-08-10 20:03:23 +02:00
Sergey Igushkin
07aee8831e
Fix stdlib-by-default with non-compiled source sets (KT-40559)
...
When a `variantFilter { ... }` is used in Android projects, AGP does not
creates some variants but still creates the source sets which would be
related to those variants.
For source sets that are not included into any compilation, the stdlib
module added by default was kotlin-stdlib-common, and it was added to
the `api` scope.
But AGP checks the `androidTest*Api` configurations and
if it detects any dependencies in them, it reports deprecation warnings.
However, we have plans to prohibit unused source sets at all as they
have no reasonable use cases. So the fix is not to add the stdlib by
default to source sets that participate in no compilations.
Issue #KT-40559 Fixed
2020-08-10 20:08:22 +04:00
Roman Golyshev
6e2887e083
FIR Completion: Add insertion handling for functions with lambdas
...
- The support is not complete
2020-08-10 18:25:34 +03:00
Roman Golyshev
b3a674abee
FIR IDE: Add parameter's and type's properties required for completion
2020-08-10 18:25:34 +03:00
Roman Golyshev
67ed33367f
FIR Completion: Add function insert handler
...
- It is a specialized copy from `KotlinFunctionInsertHandler.Normal`
2020-08-10 18:25:34 +03:00
Roman Golyshev
b547feb00d
FIR Completion: Render vararg modifier in lookups
2020-08-10 18:25:33 +03:00
Roman Golyshev
582b00f5b2
FIR Completion: Add UniqueLookupElement to the lookup elements
...
- It is done to differentiate overloads of the same function
2020-08-10 18:25:33 +03:00
Roman Golyshev
b6ee478190
FIR Completion: Add psi element to the lookups
...
- May be a performance problem later
2020-08-10 18:25:33 +03:00
Roman Golyshev
53180e707e
FIR Completion: Fix invalid isAbstract condition
2020-08-10 18:25:33 +03:00
Roman Golyshev
ef461260b0
FIR Completion: Add simple insertion handler to lookup elements
...
- The `QuotedNamesAwareInsertionHandler` is just a copy of
`BaseDeclarationInsertHandler`
2020-08-10 18:25:33 +03:00
Roman Golyshev
10598ee98e
FIR Completion: Add simple lookup decorating with icon and parameters
2020-08-10 18:25:32 +03:00
Roman Golyshev
64187b40c9
FIR Completion: Prevent immediate completion in number literals
...
- This is copied from the original KotlinCompletionContributor
2020-08-10 18:25:32 +03:00
Alexey Trilis
d86c14243e
Add @SinceKotlin to kotlinx.browser and kotlinx.dom packages
...
Add @DeprecatedSinceKotlin to kotlin.browser and kotlin.dom packages
2020-08-10 18:08:19 +03:00
Dmitriy Novozhilov
0e53d11dd4
Disable AllowResultInReturnType feature
...
#KT-40843
2020-08-10 17:57:53 +03:00
Valeriy.Vyrva
30ff886754
Improve docs for createTempDir/createTempFile
...
#KT-35218
2020-08-10 17:29:25 +03:00
Vladimir Ilmov
4fe6880489
Cyrillic 'c' fix in inspectionLikeProcessings.kt
2020-08-10 14:42:46 +02:00
Nick
0a2f113a24
[FIR] Fix slow string conversions in FirEffectiveVisibilityResolver
2020-08-10 13:46:15 +03:00
Alexander Dudinsky
e67518c349
Update gradle plugin version in GradleFacetImportTest
...
Also drop legacy tests for 1_1_2
2020-08-10 13:14:01 +03:00
Pavel Kirpichenkov
f431da2a66
Reapply "Introduce @FrontendInternals annotation""
...
This reverts commit 9ca4717d11 .
^KT-39643 Fixed
2020-08-10 12:22:55 +03:00
Yan Zhulanow
5e8e60a399
Move back the 'KotlinStructureViewElement.isPublic' property used externally
...
Reasoning: Method com.gmail.blueboxware.extsee.kotlin.ExtSeeKotlinStructureViewModel.Companion.PublicElementsFilter.isVisible(com.intellij.ide.util.treeView.smartTree.TreeElement treeNode) : boolean contains an *invokevirtual* instruction referencing an unresolved method org.jetbrains.kotlin.idea.structureView.KotlinStructureViewElement.isPublic()
2020-08-10 18:18:37 +09:00
Alexander Dudinsky
aec87744f2
Run ImportAndCheckNavigation tests only vs the master version of plugin
...
Also error "Could not find org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable"
was fixed by adding ":native:kotlin-klib-commonizer-embeddable:install"
in dependencies for the kotlin-plugin install
2020-08-10 12:13:21 +03:00
Alexander Dudinsky
2042db598a
Mute GradleNativeLibrariesInIDENamingTest.testLibrariesNaming in 192, 193
...
After updating version of gradle-plugin this tests started to fail on
the old version of IDE. After discussion we decided just mute it in
the old bunches
2020-08-10 12:04:51 +03:00
Sergey Igushkin
988480d649
Fix source JARs missing in Kotlin/Native targets with HMPP (KT-39051)
...
With HMPP, a separate implementation of `kotlinComponents` is used which
accidentally ignored the parent's logic for source artifacts.
As a simple fix, copy the parent's logic for source artifacts.
Issue #KT-39051 Fixed
2020-08-10 13:02:17 +04:00
Nataliya Valtman
a766369e72
KT-33908 Make Kotlin Gradle plugin compatible with configuration cache
...
#KT-33908 Fixed
2020-08-10 11:17:30 +03:00
Georgy Bronnikov
ea57b4cccb
IR: add and unmute tests
2020-08-10 10:16:24 +03:00
Georgy Bronnikov
85ba170217
JVM_IR: use IrBasedDescriptors across codegen
2020-08-10 10:16:23 +03:00
Georgy Bronnikov
0b4c43083d
IR: add IrBasedDescriptors
2020-08-10 10:16:23 +03:00
Georgy Bronnikov
dafcdc527d
IR: propagate original declaration info via attributeOwnerId
...
For IrProperty, IrSimpleFunction we need to pass information about
original declaration to JVM_IR codegen. Instead of descriptors, use
the attributeOwnerId field.
2020-08-10 10:16:23 +03:00