Dmitriy Novozhilov
932eed2c14
[FIR] Fix determining nullability of arguments during enhancement
2021-03-11 13:10:05 +03:00
Dmitriy Novozhilov
65ea4e184a
[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability
...
- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
2021-03-11 13:10:04 +03:00
Dmitriy Novozhilov
bd7689d381
[FIR] Properly compute default arguments of java annotations
2021-03-05 13:00:11 +03:00
Dmitriy Novozhilov
d45709993e
[FIR] Support reading annotations of properties from interfaces in different jvm default modes
2021-03-02 19:11:28 +03:00
Dmitriy Novozhilov
a7e6667648
[FIR] Properly deserialize annotations of properties in interfaces
2021-03-02 19:11:24 +03:00
Dmitriy Novozhilov
af79265f42
[FIR] Fix creating overrides for functions with name same as renamed in JVM builtins
2021-03-02 19:11:15 +03:00
Mikhail Glukhikh
2bf3abcb29
FIR: cache accessor symbols in JavaClassUseSiteMemberScope
2021-02-26 12:27:07 +03:00
Mikhail Glukhikh
750a39a053
JavaClassUseSiteMemberScope: optimize createOverridePropertyIfExists
...
Avoid calculating getter & setter twice
2021-02-26 12:27:01 +03:00
Ilya Kirillov
83f8650e80
Move CallableId from fir module to compiler.common to use in IDE
2021-02-24 20:13:41 +01:00
Denis.Zharkov
fb8314f6e7
FIR: Fix enhancement of property overrides accessors in Java
2021-02-20 10:59:21 +03:00
Denis.Zharkov
45018ea468
FIR: Rework loading overrides of special built-in methods from Java
...
Some of the changed data is correct, but some diagnostics are incorrect
Corner cases like having both contains(Object) and contains(String)
within implementation of Collection<String> is not supported
2021-02-20 10:59:21 +03:00
Denis.Zharkov
4b0aeb7105
FIR2IR: Support initialSignatureDescriptor
...
It will be used for overrides of renamed special built-ins during signature mapping
to obtain initial signature
2021-02-20 10:59:21 +03:00
Denis.Zharkov
3e420ca4e3
FIR: Introduce FirDeclarationOrigin.BuiltIns
2021-02-20 10:59:21 +03:00
Denis.Zharkov
5d5228cfc5
FIR: Require FirJavaClass in JavaScopeProvider
2021-02-20 10:59:20 +03:00
Denis.Zharkov
04f53d6a23
FIR: Simplify JavaScopeProvider
...
::wrapScopeWithJvmMapped is only needed for built-in classes defined in Kotlin
2021-02-20 10:59:20 +03:00
Denis.Zharkov
6766c8fe47
FIR: Simplify supertypes scopes computation
2021-02-20 10:59:20 +03:00
Dmitriy Novozhilov
1c0d862e40
[FIR] Don't smartcast variables to invisible types
...
#KT-44802 Fixed
2021-02-20 10:23:33 +03:00
Mikhail Glukhikh
742f1e0069
FIR: add replaceSource to all FIR tree nodes
2021-02-19 18:24:45 +03:00
Alexander Udalov
3432f581cb
Remove compiler support for kotlin-annotations-android
...
#KT-44815
2021-02-15 17:23:44 +01:00
Simon Ogorodnik
3909e3c54c
Decouple TypeCheckerContext and TypeSystemContext
2021-02-15 18:28:58 +03:00
Dmitriy Novozhilov
0c4bca4bde
[FIR] Fix warnings in FIR modules and enable -Werror in them
2021-02-12 14:50:46 +03:00
Dmitriy Novozhilov
96038e4b32
[FIR] Support java sealed class interop
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
38437fb036
[FIR] Rename session.firSymbolProvider to session.symbolProvider
...
to avoid visual conflicts with `session.firProvider`
2021-02-09 16:04:39 +03:00
Mikhail Glukhikh
d4b0688690
FIR: introduce delegate field initializers
...
Before this commit we initialized delegate fields in primary constructor,
that could provoke NPE in case delegate is used in initializer of
some property backing field.
Now we initialize delegate fields directly instead.
2021-02-08 14:28:27 +03:00
Denis.Zharkov
d901ceb734
FIR: Fix loading Java annotations with Class[]-typed methods
2021-02-03 15:05:22 +03:00
Denis.Zharkov
173a852273
FIR: Fix uninitialized lateinit FirSymbol::symbol for supertype of Java class
...
Earlier, isForSupertypes has been mapped to different boolean parameter
2021-02-03 15:05:21 +03:00
Igor Yakovlev
18cebe5131
[FIR IDE] Codereview minor refactoring
...
https://jetbrains.team/p/kt/review/2069/
https://jetbrains.team/p/kt/review/2070/
2021-02-01 21:21:03 +03:00
Igor Yakovlev
659d2c13b4
[FIR IDE] Fix annotation value parameter and ctor resolve
2021-02-01 21:21:01 +03:00
Ilya Kirillov
9f5b46cc76
FIR: use MutableMap in JavaSymbolProvider.parentClassTypeParameterStackCache as temp solution
...
parentClassTypeParameterStackCache will be soon removed
as will SymbolProviderCache
2021-01-27 21:26:59 +01:00
Ilya Kirillov
6543429b9a
FIR: use FirCachesFactory for package parts cache in KotlinDeserializedJvmSymbolsProvider
2021-01-27 21:26:59 +01:00
Ilya Kirillov
32ae395e05
FIR: use FirCachesFactory for package type alias in KotlinDeserializedJvmSymbolsProvider
2021-01-27 21:26:58 +01:00
Ilya Kirillov
b270d66f68
FIR: use FirCachesFactory for
...
class cache in KotlinDeserializedJvmSymbolsProvider
2021-01-27 21:26:58 +01:00
Ilya Kirillov
3cee5e848a
FIR: encapsulate annotation loading in KotlinDeserializedJvmSymbolsProvider.knownClassNamesInPackage into class
2021-01-27 21:26:58 +01:00
Ilya Kirillov
169134655a
FIR: encapsulate KotlinDeserializedJvmSymbolsProvider.knownClassNamesInPackage into class
2021-01-27 21:26:58 +01:00
Ilya Kirillov
7284acc9f9
FIR IDE: use FirCaches in JavaSymbolProvider
2021-01-27 21:26:58 +01:00
Ilya Kirillov
2f12b8f87f
FIR: refactoring, move class Java class building to separate fun
2021-01-27 21:15:28 +01:00
Stanislav Erokhin
d24331955e
Rename FirConstKind to ConstantValueKind and move it to compiler.common
2021-01-14 12:12:25 +01:00
Mikhail Glukhikh
4e4293b609
[FIR] Introduce separate getTopLevelFunction/PropertySymbols
2021-01-11 17:52:51 +03:00
Alexander Udalov
77a9d14f93
Capitalize/decapitalize only ASCII characters across project
...
Use {de,}capitalizeAsciiOnly and to{Lower,Upper}CaseAsciiOnly where
possible, and stdlib's functions with Locale.US everywhere else.
Otherwise, if the default system locale is Turkish, the capital latin
letter "I" is transformed in toLowerCase to "ı" (see
https://github.com/JetBrains/kotlin/blob/66bc142f92085047a1ca64f9a291f0496e33dd98/libraries/stdlib/jvm/test/text/StringJVMTest.kt#L119 ),
which for example breaks the codegen for `intArrayOf` in
KT-25400/KT-43405.
Similarly, lower case latin letter "i" is transformed to "İ".
#KT-13631 Fixed
#KT-25400 Fixed
#KT-43405 Fixed
2020-12-28 16:10:30 +01:00
Jinseong Jeon
8c7b23a8dd
FIR Java/JVM: avoid plain "Array" comparison
2020-12-28 12:45:51 +03:00
Jinseong Jeon
383de7a9c5
FIR Java: Fix Java override ambiguity with vararg value type
...
#KT-44066 Fixed
2020-12-28 12:45:51 +03:00
Mikhail Glukhikh
d663f204e5
FIR Java: make method annotations lazy
2020-12-28 12:06:51 +03:00
Mikhail Glukhikh
c8c34ebf17
FIR Java: make constructor annotations lazy
2020-12-28 12:06:45 +03:00
Mikhail Glukhikh
56df95b8e7
FIR Java: make field annotations lazy
2020-12-28 12:06:39 +03:00
Mikhail Glukhikh
8c8f81330a
FIR Java: make value parameter annotations lazy
2020-12-25 14:07:16 +03:00
Mikhail Glukhikh
1239a8629e
FIR Java: make type annotations lazy
2020-12-25 14:06:34 +03:00
Roman Golyshev
f00e5b1992
FIR: Check relativeClassName of found class in JavaSymbolProvider
...
`ClassId` denotes how class is nested; however, you can find
`foo/bar/Outer.Nested` class by `ClassId(foo/bar/Outer/Nested)`. This
will lead to inconsistencies when working with class symbol later
This is also important to `FirQualifierResolverImpl::resolveSymbol`
which detects correct `ClassId` by traversing all symbol qualifiers
We check only `relativeClassName`, because we want to be able to find
classes without package specified
Also, fix test data of resolve tests that have been passing because of
check absence
2020-12-24 14:25:48 +00:00
Mikhail Glukhikh
0e43eaa662
Don't call possibleGetterNamesByPropertyName without a reason
2020-12-16 19:50:13 +03:00
pyos
5efe774dba
FIR: remap Java meta-annotations to Kotlin equivalents
...
This is a direct port of JavaAnnotationMapper from the old frontend.
2020-12-10 20:52:43 +03:00
Mikhail Glukhikh
7b277600a9
Optimize/simplify loadFunctions(Properties)ByName in FIR deserializer
2020-12-10 15:29:45 +03:00