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
Alexander Udalov
92534eadaa
Remove dependency of 'resolution' on 'deserialization'
...
Replace it with a dependency on 'descriptors'.
Move the existing marker interface ContractProvider to 'descriptors',
and create a new marker interface DeserializedDescriptor.
2020-03-28 21:30:07 +01:00
Alexander Udalov
d70271b6aa
Move RequireKotlinNames to 'descriptors'
...
Also move version string regex there and rename the class to
RequireKotlinConstants. This allows to get rid of dependency of
'serialization' on 'frontend'.
2020-03-28 21:30:07 +01:00
Roman Golyshev
85bfbaa8a8
Check if returned typeParameters are null
...
- See EA-141456, EA-212070
2020-03-24 15:23:34 +03:00
Mikhail Zarechenskiy
191fb02bf6
[NI] Consider intersection type with number type as Nothing
...
Currently, only for "in": In<in Int & A> == In<in Nothing> == In<*>
#KT-37302 Fixed
2020-03-23 16:39:21 +03:00
Ilya Chernikov
53d289206e
Optimize hot TypeUtils.contains function
...
optimize for small number of visited types
2020-03-12 08:02:45 +01:00
Pavel Kirpichenkov
04f9a03796
[NI] Fix isNullableType for definitely not null type parameter
...
Consider type parameter with nullable bound not null
if it is inside of a definitely not null type.
2020-03-11 13:55:25 +03:00
Alexander Udalov
d668808b44
Migrate Experimental->RequiresOptIn in project sources
2020-03-10 12:07:15 +01:00
Alexander Udalov
795d6ab407
Migrate UseExperimental->OptIn in project sources
2020-03-10 12:07:14 +01:00