Dmitriy Novozhilov
2285d3e3cf
Move Variance and AnnotationUseSiteTarget to :core.descriptors.common
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
167f18b738
Move SourceElement and SourceFile to :deserialization.common
...
Remove dependency on `:core:descriptors` from `:core:deserialization:deserialization.common`
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
82a9b1492b
Move RenderingUtils to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
ba6b1c37d0
Move TargetPlatform to :core:descriptors.common module
2020-08-25 10:41:32 +03:00
Dmitriy Novozhilov
d6d2be8e58
Move incremental components to :core:descriptors.common module
2020-08-25 10:41:31 +03:00
Dmitriy Novozhilov
3a48265077
Move ModuleDescriptor.Capability to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
45cf221b97
Move util functions from KotlinBuiltIns to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Dmitriy Novozhilov
9d9f9c52c0
Extract some classes from descriptors module to :core:common
...
This is needed to remove dependencies from fir modules to
`:core:descriptors` module
What was extracted:
- Modality
- ClassKind
- org.jetbrains.kotlin.name package
2020-08-25 10:31:35 +03:00
Denis Zharkov
cee72023fa
Remove TypeSystemContext::mayBeTypeVariable optimization
...
It doesn't work now since anyway it's required to obtain type
constructor
At the same time, now it's not very expensive to obtain the constructor
since it's just a lookup tag
2020-08-21 12:50:33 +03:00
Mikhail Zarechenskiy
f2fba8a469
Fix delegated property resolve when provideDelegate has this as argument
...
#KT-41135 Fixed
2020-08-19 12:52:16 +03:00
Alexander Udalov
a21f273570
Fix compiler warnings in compiler code
2020-08-17 21:18:20 +02:00
Alexander Udalov
9b94e073af
Fix warnings related to OptIn/UseExperimental
2020-08-17 21:18:19 +02:00
Alexander Udalov
469b164555
IR: minor optimizations to IR validation
2020-08-14 21:55:37 +02:00
Victor Petukhov
af48f08f9c
NI: take into account flexible types during capturing arguments from expression
...
^KT-40544 Fixed
2020-08-04 12:38:04 +03:00
Georgy Bronnikov
a27d63f58f
JVM_IR: flexible nullability as annotation
...
We carry information about flexible nullability of IrType as an
annotation, so there is no need to look at its underlying KotlinType.
2020-07-30 11:24:07 +03:00
Pavel Kirpichenkov
1ef17c6f3a
Drop isErrorTypeAllowed flag from type system context
...
The flag was used exclusively during calculation of common super type.
This change relies on assumption, that common super type is
NOT calculated in IR type system context.
2020-07-22 11:41:42 +03:00
Pavel Kirpichenkov
710659324c
[NI] Fix common supertype of types with error supertypes
...
Enable check for error supertypes during CST calculation in classic type system context.
Cyclic upper bound + known type parameters of superclasses may create non-error types
with error supertypes. Such types don't have common constructors with other normal types
and cause assertion errors during intersection.
^KT-36951 Fixed
2020-07-22 11:41:42 +03:00
Denis Zharkov
037ff2fa52
Fix incorrect handling of @NotNull type parameters
...
^KT-36770 In progress
^KT-40114 Relates
^KT-28785 Relates
2020-07-22 10:16:14 +03:00
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