Commit Graph

260 Commits

Author SHA1 Message Date
Mikhail Glukhikh 6a5acc024a [FIR] Rename PSI version of toFirSourceElement 2020-03-27 16:46:59 +03:00
Dmitriy Novozhilov 3acb64c536 [FIR] Add flexible default upper bound for java type parameters 2020-03-27 10:17:12 +03:00
Dmitriy Novozhilov 1a3fef5fa1 [FIR] Switch names of FirDiagnostic and ConeDiagnostic 2020-03-25 11:35:43 +03:00
simon.ogorodnik d71939728a [FIR] Fix container source for class members 2020-03-24 18:58:18 +03:00
Dmitriy Novozhilov 7bfe7061e7 [FIR] Add proper nullability for java enums 2020-03-20 23:11:28 +03:00
Mikhail Glukhikh 91d51b93e1 [FIR] Introduce FirArgumentList node 2020-03-11 22:08:58 +03:00
Alexander Udalov 795d6ab407 Migrate UseExperimental->OptIn in project sources 2020-03-10 12:07:14 +01:00
Dmitriy Novozhilov af67aff303 [FIR] Support Clonable
#KT-36762 Fixed
2020-03-06 10:44:14 +03:00
Dmitriy Novozhilov 25dc9f948a Revert "[FIR] Support deserialization of annotations on JVM"
This is needed because of that commit tragically decreases performance,
  so this changes will be delayed for now
2020-03-05 16:48:47 +03:00
Dmitriy Novozhilov dfa6dfa960 [FIR] Support deserialization of annotations on JVM 2020-03-02 09:49:28 +03:00
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