Alexander Udalov
96f0a8e8e5
IR: minor, inline OverridableMember
2020-07-10 16:17:06 +02:00
Alexander Udalov
8c71d8f126
Undeprecate VariableDescriptorWithAccessors.isDelegated
...
Apparently there's quite a few valid usages of this method outside of
the compiler frontend, where manual suppression is annoying.
2020-07-07 18:09:40 +02: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
Mikhail Zarechenskiy
bcaa635a4e
Fix parameter info presentation with regard to DeprecatedSinceKotlin
2020-06-29 14:25:09 +03:00
Mikhail Zarechenskiy
0f2c96c64d
Don't perform additional lookups for DeprecatedSinceKotlin annotation
...
There is no need to check it as `DeprecatedSinceKotlin` can be used
only along with `Deprecated` annotation
2020-06-29 14:23:22 +03:00
Alexander Udalov
0aaf29c045
Introduce DeprecatedSinceKotlin annotation
...
This annotation will be used in the standard library to prevent the new
compiler from reporting deprecation diagnostics in case an older API
version is used (where the declaration was not deprecated yet).
#KT-23575 Fixed
2020-06-29 14:22:29 +03:00
Ilya Chernikov
e8659d4b37
Fix initializer error arizing on scripting annotation creation
...
also fixes tests in main-kts
2020-06-25 17:21:38 +02:00
Alexander Udalov
64f7c3f498
IR: do not use descriptors in IrTypeSystemContext.getPrimitiveType
...
Also optimize getPrimitiveType and getPrimitiveArrayType. Convert
PrimitiveType to Kotlin to leverage the switch over string optimization,
which is not possible in Java 6 (which is used to compile
'descriptors').
2020-06-24 19:26:59 +02:00
Ilya Muradyan
8c2baf0704
Add missing definitelyDoesNotContainName methods
2020-06-18 09:51:16 +02:00
Ilya Muradyan
573c60ed6b
Add missing recordLookup implementations
2020-06-18 09:51:16 +02:00
Victor Petukhov
c0f4ee7dc9
Revert "Add missing definitelyDoesNotContainName methods"
...
This reverts commit b74692e9
2020-06-17 13:16:16 +03:00
Ilya Gorbunov
535534cf66
Allow shadowing member addSuppressed with extension
...
#KT-38777
2020-06-15 14:41:48 +03:00
Ilya Chernikov
d528d24f83
Optimize AllUnderImportScope
2020-06-11 16:16:15 +02:00
Ilya Chernikov
484d026d2f
Optimize resolution scope queries from the synthetic scopes
...
now required descriptors are queried in advance and passed to the
methods, to avoid multiple same name queries in a row
2020-06-11 16:16:15 +02:00
Ilya Chernikov
a0efd1e323
Optimize scopes handling inside ChainedMemberScope
2020-06-11 16:16:15 +02:00
Ilya Chernikov
bf97323301
Optimize data handling inside scopes
2020-06-11 16:16:14 +02:00
Ilya Chernikov
c720fa5793
Optimize LazyScopeAdapter internals
2020-06-11 16:16:14 +02:00
Ilya Muradyan
b74692e96b
Add missing definitelyDoesNotContainName methods
...
Some implementations of definitelyDoesNotContainName method were
missing that led to performance problems during symbols resolution
using TowerResolver.
Relates to KT-39139.
2020-06-11 16:16:13 +02:00
Alexander Udalov
6e67e1e78d
Replace appendln with appendLine in project
2020-06-11 13:01:30 +02:00
Alexander Udalov
fc1217ba07
Generate delegates to DefaultImpls in fun interface wrappers
...
#KT-37436 Fixed
2020-06-09 11:44:31 +02:00
Mikhail Zarechenskiy
71cbe97688
Introduce Unit-conversions for simple arguments
2020-06-05 13:24:20 +03:00
Mark Punzalan
802beb49a6
Use TypeSubstitutor to get the substituted underlying type for inline
...
classes, instead of MemberScope.
The primary motivation was to fix issues around type-mapping for inline
classes in FIR, which uses wrapped descriptors that have empty
MemberScopes.
2020-06-04 17:03:55 +03:00
Dmitry Petrov
202bbdf8dd
Forward compatibility hacks for Result.{success, failure}
...
Don't mangled functions annotated with @JvmName.
Annotate 'Result.success' and 'Result.failure' with @JvmName and
@Suppress("INAPPLICABLE_JVM_NAME").
NB this would require bootstrap.
2020-06-04 12:16:27 +03:00
Pavel Kirpichenkov
7fff8f82e2
Changes after review
...
- Replace leaking ModuleResolverTracker with use of ModuleDescriptor.Capabilies
- Provide API for retrieving ResolverForProject from ResolutionFacade
- Update names
2020-06-03 20:58:07 +03:00
Pavel Kirpichenkov
db1210fc67
Introduce components for library-to-source resolution in IDE
...
#KT-24309 In progress
2020-06-03 20:58:07 +03:00
Mikhail Zarechenskiy
01de789c76
Add compatibility warning for SAM conversions on Kotlin functions
2020-06-01 10:19:32 +03:00
Mikhail Zarechenskiy
0ab9b3639b
Approximate types for lambda literals before serialization
2020-05-31 17:38:18 +03:00
Alexander Gorshenev
ee1ea15684
Adapted descriptor fake override construction from OverridingUtil.java to IR as IrOverridingUtil.kt
2020-05-31 06:00:32 +03:00
Yan Zhulanow
ef698a5747
Fix "PSI/index mismatch" in case of @ParameterName on non-functional types (KT-34524)
2020-05-27 02:38:41 +09:00
Mikhail Zarechenskiy
2cee82a348
[NI] Resolve receiver of provideDelegate independently
...
#KT-38259 Fixed
2020-05-25 16:06:55 +03:00
Victor Petukhov
eff5f3a242
NI: do type checking for anonymous functions not inside a call
...
^KT-38890 Fixed
^KT-38439 Fixed
2020-05-19 16:29:14 +03:00
Victor Petukhov
260683c20e
NI: Improve postponed arguments analysis
...
Introduce seven stages:
1) Analyze postponed arguments with fixed parameter types
2) Collect parameter types from constraints and lambda parameters' declaration
3) Fix not postponed variables for parameter types of all postponed arguments
4) Create atoms with revised expected types if needed
5) Analyze the first ready postponed argument and rerun stages if it has been analyzed
6) Force fixation remaining type variables: fix if possible or report not enough information
7) Force analysis remaining not analyzed postponed arguments and rerun stages if there are
^KT-37952 Fixed
^KT-32156 Fixed
^KT-37249 Fixed
^KT-37341 Fixed
2020-05-07 11:42:00 +03:00
Mikhail Zarechenskiy
1a26d2e157
Fix exception during resolution of incorrect fun interface
...
#KT-37541 Fixed
2020-04-29 14:15:25 +03:00
Mikhail Zarechenskiy
780bc1f607
Fix fun interfaces with extension receivers
...
#KT-37712 Fixed
2020-04-29 14:15:25 +03:00
Pavel Kirpichenkov
dfc86dbf63
[NI] Avoid type rendering in member scope for intersection type
...
KT-38544
2020-04-28 12:53:09 +03:00
Dmitriy Dolovov
90e888a1b6
Discriminate overloading expect MemberDescriptors
...
Issue #KT-38298
2020-04-28 13:16:18 +07:00
Dmitriy Dolovov
22dc837e26
IDE. Allow expect declarations in completion in shared native modules
...
Issue #KMM-218
2020-04-21 10:21:19 +07:00
Jinseong Jeon
c26adf53dd
FIR: resolve suspend lambda properly
2020-04-20 17:05:30 +03:00
Georgy Bronnikov
2c4fcebfec
IR: handle adapted bound references
2020-04-18 20:31:57 +03:00
Mikhail Zarechenskiy
4ffcbc0c2f
[NI] Properly support UnsafeVariance annotation
...
#KT-38134 Fixed
#KT-34433 Fixed
#KT-31823 Fixed
2020-04-16 13:55:47 +03:00
Mikhail Zarechenskiy
9607739d30
Introduce synthetic scope for constructors of fun interfaces
...
#KT-37434 Fixed
2020-04-15 02:37:34 +03:00
Mikhail Zarechenskiy
e9e21caeaf
Refactoring: move utils to create & initialize SAM constructors to core
2020-04-15 02:29:57 +03:00
Mikhail Zarechenskiy
cf90fe81ac
Move Sam(TypeAlias)ConstructorDescriptor to core
2020-04-15 02:06:32 +03:00
Mikhail Zarechenskiy
54497d11ac
Move SyntheticMemberDescriptor.kt to core
...
This is a first part of unification SAM constructors for all platforms
2020-04-15 02:06:32 +03:00
Dmitriy Dolovov
0a2429c6f6
Minor. Remove redundant import
2020-04-14 21:14:33 +07:00
Dmitriy Dolovov
6d0e73191c
HMPP: Fix detection of NativePlatform in CompositeResolverForModuleFactory
2020-04-14 21:07:44 +07:00
Dmitriy Dolovov
fee6a752e0
HMPP: Fix serialization of TargetPlatform in Kotlin facet
2020-04-14 21:07:22 +07:00
Dmitriy Dolovov
adc457548b
Minor. Formatted
2020-04-14 21:07:16 +07:00
Dmitriy Dolovov
0f60b5a71e
HMPP: Avoid false positive detection of "common native" as "common"
2020-04-14 21:07:00 +07:00
Victor Petukhov
164f25937f
NI: take into account an extension function annotation during CST calculation
2020-04-02 15:28:35 +03:00