Dmitriy Novozhilov
cda8177502
[FIR] Add transformDelegate for FirProperty
2020-03-02 09:07:23 +03:00
Mikhail Glukhikh
883dd95e3c
FIR: fix class / constructor type parameter duplication
2020-02-28 15:29:02 +03:00
Mikhail Glukhikh
096dc25701
FIR: change callableId of fake overrides to derived class owner
2020-02-28 15:29:02 +03:00
simon.ogorodnik
f405b3f827
[FIR] Reorganize ConeKotlinTypeProjection hierarchy
2020-02-27 19:07:16 +03:00
Mikhail Glukhikh
82c8b5f368
[FIR] Eliminate isNotSAM optimization as ineffective (see dc4f332c)
2020-02-19 18:09:06 +03:00
Mikhail Glukhikh
e051251b27
FIR: set isOperator only for Java methods with appropriate names
...
#KT-35133 Fixed
2020-02-19 18:09:04 +03:00
simon.ogorodnik
c29c140a9c
[FIR] Qualifier resolve
2020-02-19 17:53:44 +03:00
Denis Zharkov
6793b27330
FIR: Optimize Java types mapping
...
- Avoid duplicated computations for arguments
- Do not recreate types if they weren't enhanced
2020-02-19 15:53:34 +03:00
Denis Zharkov
2ad8488e6a
FIR: Rewrite Java type mapping
...
Previoisly, there were two places where mapping had happened:
- toConeKotlinTypeWithNullability
- enhancePossiblyFlexible
The first one was used for supertypes and bounds and the second one
was used for other signature parts
The main idea is to perform type mapping once to a flexible type,
and then use it as it's needed (it's lower bound, or for the further ehnancement)
Also, this commit fixes flexibility for type arguments, see the tests
2020-02-19 15:53:34 +03:00
Dmitriy Novozhilov
2aeb1ea234
[FIR] Move some util methods from resolve.calls to types package
2020-02-18 15:19:34 +03:00
Denis Zharkov
61d02d9ecb
FIR: Unbound FirJavaElementFinder from Kotlin PSI
2020-02-12 16:05:11 +03:00
Denis Zharkov
95b4fa4b31
FIR: Support flexible types in getErasedVersionOfFirstUpperBound
2020-02-12 16:05:11 +03:00
Denis Zharkov
42e8017bde
FIR: Minor. Refactor calculation of erased upper bound
2020-02-12 16:05:11 +03:00
Denis Zharkov
bc34bc3f96
FIR: Use flexible type for generic parameters bounds
...
Otherwise star projections may be incorrectly approximated to strictly
nullable types (as in test)
2020-02-12 16:05:11 +03:00
Mikhail Glukhikh
dc7621a112
[FIR] Fix Java override ambiguity (Kotlin type parameter VS Java Object)
2020-02-11 16:09:20 +03:00
Mikhail Glukhikh
d19d52292e
[FIR] Use builder to create synthetic properties
2020-02-10 18:51:34 +03:00
Mikhail Glukhikh
9a80850700
[FIR] Fix Kotlin-Java supertype recursion problem
2020-02-10 18:51:34 +03:00
Mikhail Glukhikh
a9ba94cf0e
[FIR] Use only variable symbol inheritors in processPropertiesByName
2020-02-10 18:51:34 +03:00
Mikhail Glukhikh
a569e29091
[FIR] Make SyntheticPropertySymbol derived from FirAccessorSymbol
2020-02-10 18:51:33 +03:00
Mikhail Glukhikh
a7f9e3ab09
[FIR] Accessor symbol is now a property symbol, not a function symbol
2020-02-10 18:51:33 +03:00
Denis Zharkov
becc9c21f0
FIR: Map raw types properly
2020-02-10 14:11:49 +03:00
Dmitriy Novozhilov
779ab632da
[FIR] Remove modifiable intermediate implementations from tree
...
All removed except `FirModifiableQualifiedAccess`
2020-02-10 10:54:05 +03:00
Dmitriy Novozhilov
c79fd61dba
[FIR] Fix usage of typeParameterStack from parent class in java loading
2020-02-10 10:54:03 +03:00
Dmitriy Novozhilov
d57fa859c8
[FIR] Implement builders for leaf nodes of FIR tree
2020-02-10 10:54:03 +03:00
Denis Zharkov
8d24e0f842
FIR: Add some absent "replace" methods for callable declarations
...
It's necessary to avoid copying lambdas in LambdaAnalyzerImpl
2020-02-04 16:24:01 +03:00
Mikhail Glukhikh
e977c1c076
Get rid of name in FirConstructor
2020-02-04 15:00:10 +03:00
Mikhail Glukhikh
f20845ba40
Get rid of FirMemberFunction
2020-02-04 15:00:09 +03:00
Mikhail Glukhikh
677129ad20
Get rid of FirNamedDeclaration
2020-02-04 15:00:08 +03:00
Mikhail Glukhikh
91b432b4a1
[FIR] Java super-type arguments are now handled as flexible
2020-02-03 16:45:19 +03:00
Mikhail Glukhikh
2bb5740f47
[FIR] Resolve ambiguities in Java static scopes
2020-01-30 16:28:08 +03:00
Mikhail Zarechenskiy
e750528551
Fix project compilation against bootstrap compiler
...
This is needed after e3b6104489
2020-01-29 15:25:22 +03:00
Denis Zharkov
c6c773f6f9
FIR: Mark all dependencies' declarations as fully resolved
2020-01-28 17:03:50 +03:00
Denis Zharkov
6e8d67b96f
FIR: Simplify contract in FirScopeProvider::getUseSiteMemberScope
2020-01-28 17:03:50 +03:00
Dmitriy Novozhilov
57a1342aac
[FIR] Fix creating DefinitelyNotNullTypes
...
Also fix substitutions to them
2020-01-28 14:14:21 +03:00
Mikhael Bogdanov
6e94eddb71
JVM_IR. Fix bridge generation
2020-01-27 14:53:36 +01:00
Mikhail Glukhikh
f949b48b4a
[FIR] Swap priority of kotlin libraries / built-ins #KT-35948 Fixed
2020-01-27 13:21:54 +03:00
Mikhael Bogdanov
7e85674c61
Minor. Allow IR compilation of FIR and IR.TREE module
2020-01-27 08:49:15 +01:00
Mikhail Glukhikh
dc4f332c08
[FIR] Implement early calculation of "not SAM" flag for classes
2020-01-27 00:34:17 +03:00
simon.ogorodnik
a3ab763f0b
[FIR] Get rid of processors in FirScope
2020-01-27 00:34:16 +03:00
Mikhail Glukhikh
94ec22762a
Rename: FirLibrarySymbolProviderImpl -> FirBuiltinSymbolProvider
2020-01-23 12:32:41 +03:00
Alexander Udalov
c3d5a88e52
Add -Xno-use-ir to compiler modules where JVM IR currently fails
...
This option has no effect on the production code. But in a custom
scenario of a local bootstrap, where the compiler is replaced with the
one where JVM IR backend is enabled by default, this option allows to
switch back to the old backend.
All of these arguments (except the one for compiling experimental
coroutines) are supposed to go away as soon as we fix related problems
in the JVM IR backend.
2020-01-16 12:21:47 +01:00
Mikhail Glukhikh
7bcd3c4c13
[FIR] Introduce & use FirScopeProvider.getStaticMemberScopeForCallables
2020-01-15 16:52:13 +03:00
Mikhail Glukhikh
1756857237
Rename: FirMemberScopeProvider -> FirDeclaredMemberScopeProvider
2020-01-13 13:26:19 +03:00
simon.ogorodnik
65a44e2e20
Migrate to FirEnumEntry
2020-01-10 10:23:50 +03:00
Simon Ogorodnik
13132e69a3
[FIR] Start enum entries reworking
2020-01-10 10:23:50 +03:00
Simon Ogorodnik
1715f1a864
[FIR] Refactoring: create use-site scopes via scope provider
2019-12-30 12:52:58 +03:00
Michael Kuzmin
254dc8f71c
Build: Drop IntelliJ 2018.3 and Android Studio 3.4 support
...
Delete *.183 and *.as34 bunch-files
2019-12-19 18:31:07 +03:00
Simon Ogorodnik
a3d531e8b4
[FIR] Extract jvm-only call conflict resolver
2019-12-19 17:34:56 +03:00
Simon Ogorodnik
05308a3652
[FIR] Introduce module for all jvm extensions
2019-12-19 17:30:12 +03:00
Mikhail Glukhikh
cb93b25fca
FIR: make possible to use differently typed IDs in ScopeSession
2019-12-19 17:16:14 +03:00