Dmitriy Novozhilov
8df56af068
[FIR] Add forgotten settings of resolve phase
2021-07-13 10:31:22 +03:00
Dmitriy Novozhilov
51fc2e453f
[FIR] Unity FirCallableDeclaration and FirCallableMemberDeclaration
...
After removal of all diamonds in FirDeclaration hierarchy
FirCallableMemberDeclaration was only one inheritor of
FirCallableDeclaration, so there is no need to keep them both
2021-07-13 10:31:20 +03:00
Dmitriy Novozhilov
aa3a73c6c2
[FIR] Move JavaTypeEnhancementState to session component
2021-07-09 14:38:02 +03:00
Andrey Zinovyev
de3f31cf78
[FIR] Partial implementation of DEPRECATION(_ERROR) diagnostics
...
No support for inheritance deprecations
and deprecations in qualifier's parts
2021-07-07 16:19:28 +03:00
Ilya Kirillov
51576c70b6
FIR: introduce package directive
...
The package directive is needed for KtElement -> FirElement mapping in IDE.
There should be some FirElement which will be result of mapping of elements
inside KtPackageDirective.
2021-07-06 22:49:50 +03:00
Victor Petukhov
39ffcd3ba6
User proper report level for compatqual nullability annotations
2021-07-06 09:54:26 +03:00
Victor Petukhov
e16033f8d8
Add androidx recently nullability annotations
2021-07-06 09:54:26 +03:00
Victor Petukhov
4173f2d294
Don't forget jspecify annotation during extracting nullability from known annotations
2021-07-06 09:54:24 +03:00
Victor Petukhov
46d0b16142
Use new default settings for java nullability annotations in JavaTypeEnhancementState and get rid of all hardcoded defaults
2021-07-06 09:54:24 +03:00
Dmitriy Novozhilov
1593c4859d
[FIR] Get rid of all conditional reads of FirDeclaration.resolvePhase
2021-07-04 13:29:03 +03:00
Denis.Zharkov
a213ee0e01
FIR: Rework delegated scope
...
Now delegated members are generated just to declared scope
^KT-47413 In Progress
2021-07-01 17:49:29 +03:00
Dmitriy Novozhilov
f400477c70
[FIR] Remove generic parameter from FirDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
511e564b20
[FIR] Add specific symbols for value parameters and enum entries
...
Make FirVariableSymbol a sealed class
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
62d781a70f
[FIR] Move delegateFieldSymbol from FirVariable to FirProperty
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
725be466f0
[FIR] Move declaration utils to separate package
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
1324e9223f
[FIR] Make FirDeclaration an abstract class
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
b3e5c6e079
[FIR] Add symbol to all declarations. Get rid of FirSymbolOwner
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
39cd1c8504
[FIR] Squash AbstractFirBasedSymbol with FirBasedSymbol
2021-06-29 21:03:28 +03:00
Denis.Zharkov
4892ad42b9
FIR: Do not mark not found classes' based types from Java as error
...
The same happens in FE1.0
2021-06-24 12:17:45 +03:00
Mark Punzalan
578fcf2ebf
FIR: Render fun status flag in FirRenderer.
2021-06-21 18:45:38 +03:00
Dmitriy Novozhilov
a288b8b00e
[FIR] Remove useless type parameters from classes related to diagnostics
...
Generics removed from:
- FirPsiSourceElement
- FirDiagnostic
- FirDiagnosticRenderer
- FirDiagnosticFactory
2021-06-21 13:13:17 +03:00
Denis.Zharkov
18e93b50d9
FIR: Fix loading read-only collection Java types with incorrect variance
2021-06-07 15:25:56 +03:00
Mikhail Glukhikh
1294c8de53
FIR: don't get class symbol if it's unnecessary (Java type conversion)
2021-06-03 16:14:41 +03:00
Denis.Zharkov
42d387925d
FIR: Refine makesSenseToBeDefinitelyNotNull
...
Make it work just the same as the analogue from FE 1.0
This change is necessary since many tests start failing after
we began reporting diagnostics after call completion
2021-05-20 17:24:12 +03:00
Dmitriy Novozhilov
dbccd4d459
[FIR] Properly acquire module data in FirSignatureEnhancement
2021-05-18 20:56:04 +03:00
Andrey Zinovyev
dc9d5cdf35
[FIR] Handle of special getters when there is a kotlin super type
...
Special getter names (like Collection.size()) can be used only in Java
classes with all-java super-types
Because if there is a kotlin class (not interface) in
the middle, we 'materialize' special getters to properties.
2021-05-14 15:38:09 +03:00
Dmitriy Novozhilov
43b075d452
[FIR] Add path normalization to LibraryPathFilter
2021-05-14 14:30:43 +03:00
Dmitriy Novozhilov
28be3a0dbc
[FIR] Replace Path with String in KotlinJvmBinaryClass.containingLibrary
...
This is needed because :core:deserialization.common.jvm uses JDK 6
2021-05-14 14:30:37 +03:00
Dmitriy Novozhilov
02c58b7a8f
[FIR] Refactor deserialized dependency providers and session factories with FirModuleData
2021-05-14 14:30:33 +03:00
Dmitriy Novozhilov
24f1f7b7b2
[FIR] Unify FirLibrarySession and FirJavaModuleBasedSession into single FirCliSession
2021-05-14 14:30:32 +03:00
Dmitriy Novozhilov
f16194e60d
[FIR] Get rid of FirSession.moduleInfo
2021-05-14 14:30:31 +03:00
Dmitriy Novozhilov
5cfa8694d4
[FIR] Fix all usages of declarationSiteSession
2021-05-14 14:30:27 +03:00
Dmitriy Novozhilov
c523379e6a
[FIR] Move out all JVM specific deserialization logic from AbstractFirDeserializedSymbolsProvider
2021-05-14 14:30:23 +03:00
Dmitriy Novozhilov
e8c4b0e947
[FIR] Rename KotlinScopeProvider to FirKotlinScopeProvider
2021-05-14 14:30:22 +03:00
Dmitriy Novozhilov
4ad7a4a2d1
[FIR] Split KotlinDeserializedJvmSymbolsProvider to common and JVM specific parts
2021-05-14 14:30:21 +03:00
Dmitriy Novozhilov
d114913cd2
Replace usages of addToStdlib.firstNotNullResult with firstNotNullOfOrNull
2021-05-14 14:30:19 +03:00
Mikhail Glukhikh
7ee6597873
FIR: make inference context mandatory in withNullability() etc.
2021-05-05 17:35:50 +03:00
Dmitriy Novozhilov
d4162f876f
[FIR] Fix some warnings
2021-04-22 14:32:06 +03:00
Dmitriy Novozhilov
234ab3b35d
[FIR] Fix all illegal usages of declarationSiteSession in compiler
...
There are still some usages in IDE which should be investigated
2021-04-22 14:32:04 +03:00
Dmitriy Novozhilov
f98f41bbc3
[FIR] Rename session to declarationSiteSession in declaration builders
2021-04-22 14:32:03 +03:00
Dmitriy Novozhilov
c3b1be1a39
[FIR] Rename FirDeclaration.session to declarationSiteSession
2021-04-22 14:32:02 +03:00
Ilya Kirillov
a76c5d66eb
FIR: introduce FirDeclarationBuilder as a base class for all FIR declaration builders
2021-04-21 21:16:58 +03:00
Ilya Kirillov
39b2cd1027
FIR: do not provide symbols with different ClassId in JavaSymbolProvider
...
JavaSymbolProvider uses KotlinPsiElementFinderWrapper for finding classes.
CliFinder looks for Java classing assuming that class with ClassId=a/b/C
lives in directory a/b and do not look into real package name of Java class.
This causes that we may find some classes which we should not see from current scope.
Also, the IDE implementation works correctly here (it also checks file package)
which cause different behaviour of FIR IDE and FIR
This change also requires to fix testdata and make Java classes live
in directory consistent with file package
2021-04-15 15:23:53 +03:00
Ting-Yuan Huang
6c989bfd4b
Support array of annotation in KotlinJvmBinaryClass
...
KotlinJvmBinaryClass.AnnotationArrayArgumentVisitor didn't cover the
case when the element type is an Annotation. Therefore, when the
compiler read an array of annotations from JVM binary classes built from
Kotlin sources, it got an empty array regardless of what was written in
the bytecode.
For example, Foo.value below is read as an empty array when SomeClass
resides in another Kotlin module.
@Foo(
value = [Bar(1), Bar(2)]
)
class SomeClass
2021-04-14 13:14:26 +02:00
Mikhail Glukhikh
9af1de272e
FIR: support private-in-file effective visibility
2021-04-08 09:41:26 +03:00
Abduqodiri Qurbonzoda
19116e5623
Migrate compiler and others from sumBy to sumOf
2021-04-08 03:48:02 +03:00
Igor Yakovlev
d05ef3a635
[FIR] Move standard class id's into common module
2021-04-07 11:25:21 +02:00
Dmitriy Novozhilov
3ef87d0265
[FIR] Add effective visibility to resolved status
...
This commit includes:
- introduce FirResolvedDeclarationStatus.effectiveVisibility
- replace FirEffectiveVisibility with EffectiveVisibility
- move calculation of effective visibility from FirEffectiveVisibilityResolver
(which is deleted) to FirStatusResolver and FirDeserializer
2021-04-06 12:30:46 +03:00
Ilya Kirillov
5ceec858aa
FIR IDE: do not search for sealed class inheritors on every class resolve
2021-04-02 17:15:30 +02:00
Denis.Zharkov
1f074326bf
FIR: Fix Java scope in case of accessor with getter signature from supertype
...
^KT-45584 Fixed
2021-03-31 15:57:02 +03:00