Ilya Kirillov
81d4371685
FIR IDE: generate lazy initializers for properties
2020-10-14 22:10:59 +03:00
Ilya Kirillov
d2d330c3be
FIR IDE: implement lazy functions, constructors & accessors bodies building for raw fir
...
test
2020-10-14 22:10:56 +03:00
Dmitry Savvinov
f02593074f
Drop isEqualTypeConstructor in favour of areEqualTypeConstructors
2020-10-09 13:44:06 +03:00
Denis Zharkov
6c37574fce
Rename Jsr305State -> JavaTypeEnhancementState
...
Also, rename some of the properties
It's needed to store status for codeanalysis annotation in that class
2020-10-08 14:00:08 +03:00
Denis Zharkov
fa2578c795
Prepare type enhancement for codeanalysis annotations
...
- Rename NullabilityQualifierWithApplicability -> JavaDefaultQualifiers
- Use JavaDefaultQualifiers instead of JavaTypeQualifiers for default qualifiers
This change is intended to make code more clear and to allow add some additional
parameters specific for default qualifiers needed for codeanalysis annotations
2020-10-08 14:00:07 +03:00
Mikhail Glukhikh
64fb114c30
FIR Java annotations: create vararg or Array depending on parameter name
...
#KT-42346 Fixed
2020-10-06 12:13:58 +03:00
Mikhail Glukhikh
862fb6a405
FIR Java: make annotation parameters not-null
2020-10-06 12:13:57 +03:00
Mikhail Glukhikh
44ebec05bb
FIR Java: support read of field constant initializers
2020-10-02 08:57:39 +03:00
Denis Zharkov
9914b487b7
FIR: Do not load hashCode/toString/equals methods from Java interface
...
As it's done in FE 1.0, and there are subtle semantics in the language that depends on it
2020-10-01 17:49:02 +03:00
Denis Zharkov
0297be1fa8
FIR: Replace callableId for intersection overrides
2020-10-01 17:49:02 +03:00
Mikhail Glukhikh
ae23adb6f5
FIR Java: fix exception during synthetic property enhancement
2020-09-25 14:44:13 +03:00
Mikhail Glukhikh
368de43623
FIR Java: support Java setters more properly in use-site scope
2020-09-25 14:44:11 +03:00
Mikhail Glukhikh
fe8e3e99ab
[FIR Java] Hide function in scope in case it's an accessor by fact
...
#KT-42116 Fixed
2020-09-25 14:44:09 +03:00
Dmitriy Novozhilov
4ef57c120f
[FIR] Consider variance of type parameters during java type enhancement
...
#KT-41940 Fixed
2020-09-24 15:43:20 +03:00
Dmitriy Novozhilov
a0db510e49
[FIR] Split creating fir for java declarations to separate methods
2020-09-24 14:59:35 +03:00
Dmitriy Novozhilov
0e91c8f048
[FIR] Create synthetic properties for members of java annotations
...
#KT-41939 Fixed
2020-09-23 14:05:10 +03:00
Dmitriy Novozhilov
d4891cb464
[FIR] Move Jsr305State from FirSession to separate component
2020-09-17 17:23:25 +03:00
Dmitriy Novozhilov
07a3009d43
Introduce new modules for common parts of deserialization
2020-09-11 10:08:37 +03:00
Dmitriy Novozhilov
c82d9ea9f4
Remove dependency on :compiler:frontend.java from :compiler:fir:java
2020-09-11 10:08:36 +03:00
Dmitriy Novozhilov
1417fcecb8
Move more common parts from :compiler:descriptors.jvm
2020-09-11 10:08:36 +03:00
Vladimir Dolzhenko
5036673187
Improve package caching in KotlinJavaPsiFacade
...
^KT-33394 Fixed
2020-09-10 07:38:46 +00:00
Dmitriy Novozhilov
1a84ec9677
[FIR] Mark all session components respectively to they have mutable state or not
...
Also add documentation for all fir annotations
2020-09-09 12:38:35 +03:00
Dmitriy Novozhilov
b81c0e91d5
Replace DescriptorVisibility with Visibility in Java model classes
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
a05d6da43b
Move descriptor-independent Visibilities to common modules
2020-09-04 11:42:50 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
6db8c28291
[FIR] Refactor session components initialization
...
From now all customization of session should perform via DSL which
declared in FirSessionFactory. Registration or mutation session
services from other places is prohibited
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
a8d23c36f5
[FIR] Introduce module :fir:entrypoint and FirSessionFactory for creating sessions
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
94d58c714a
[FIR] Cleanup dependencies for fir modules
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
28e6050551
[FIR] Extract java synthetic names calculation to platform specific component
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov
375140ebcc
[FIR] Extract java class mapping to platform specific component
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
3379d9b619
[FIR] Extract java related effective visibility calculation to platform component
2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov
ed4c6a38b6
[FIR] Move deserialization files to module :compiler:fir:fir-deserialization
2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov
a02109d857
[FIR] Add FirVisibilityChecker session component
...
This is needed because we have different visibility rules for different
platform visibilities (e.g. protected and package private on JVM), so
we need ability to configure visibility checks for different platforms
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
18ae593700
[FIR] Rename new visibilities to CamelCase
...
It's more convenient since they are objects now instead of
const fields in FE 1.0
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
43821b681c
[FIR] Introduce new Visibility class which not depends on descriptors
2020-08-25 10:31:35 +03:00
Dmitriy Novozhilov
e6837a5b8c
[FIR] Unify implementations of toSymbol and getSymbolByLookupTag
2020-08-21 15:28:34 +03:00
Dmitriy Novozhilov
ffdc68b68d
[FIR] Get rid of AbstractFirSymbolProviderWithCache
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
9032234e1d
[FIR] Get rid of FirSymbolProvider.getNestedClassifierScope
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
77f52a9ddb
[FIR] Add special inline class for caches which are used in symbol providers
2020-08-21 15:27:55 +03:00
Dmitriy Novozhilov
4b6193159c
[FIR] Get rid of JavaSymbolProvider.getJavaTopLevelClasses
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
d7cfb2fb13
[FIR] Get rid of FirSymbolProvider.getClassNamesInPackage
...
There was one non-removable usage of those function in FirJavaElementFinder
and three non-trivial implementation
- `FirProvider.SymbolProvider`
- `KotlinDeserializedJvmSymbolsProvider`
- `FirBuiltinSymbolProvider`
First implementation was moved to `FirProvider` and other two was
deleted, because in FirJavaElementFinder we need lookup only in
classes from source code, so such methods in library providers are
useless
#KT-41048
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
b31f80aee3
[FIR] Get rid of FirSymbolProvider.getAllCallableNamesInPackage
...
#KT-41048
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
b4dc7955b4
[FIR] Avoid collections copying in FirSymbolProvider
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
d5bb87cd1f
[FIR] Replace inheritance with delegation for FirProvider and FirSymbolProvider
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
ad9e41b828
[FIR] Mark JavaSymbolProvider.getJavaTopLevelClasses as @TestOnly
2020-08-21 15:27:53 +03:00
Dmitriy Novozhilov
1d26ce4a4e
[FIR] Get rid of useless methods in FirSymbolProvider
2020-08-21 15:27:53 +03:00
Alexander Udalov
549ee84687
Fix some compiler warnings in FIR modules
2020-08-20 14:57:54 +02:00
Denis Zharkov
7f3f0faa1a
FIR: Rework overridden members processing in FirTypeScope
...
Now, FirTypeScope returns only direct overridden and a base scope
where a client might look for deeper overridden
It's necessary to make the API fast and simple
when only direct overridden are needed
At the same time, while this API looks a bit complicated for most of the clients
there are simple extension helpers that obtain just the direct or all overridden
2020-08-20 11:18:59 +03:00
Oleg Ivanov
15598b62c9
[FIR] Add replaceControlFlowGraphReference function for FirFunction
2020-08-12 11:06:07 +03:00
Ilya Kirillov
f62204fff1
FIR: move getCallableNames/getClassifierNames from scope to FirContainingNamesAwareScope
2020-08-09 12:04:52 +03:00