Commit Graph

283 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 594a854b4e [FIR] Reimplement FirExtensionService
- Get rid of old FirExtensionsService
- Implement new FirExtensionService
- Remove duplicating code in FirExtensionRegistrar
2020-05-24 18:04:45 +03:00
Dmitriy Novozhilov 5c12b3df95 [FIR] Introduce FirPredicateBasedProvider 2020-05-24 18:04:45 +03:00
Dmitriy Novozhilov 0b00015424 [FIR] Deprecate FirExtensionsService 2020-05-24 18:04:44 +03:00
Dmitriy Novozhilov 6d6ed1e755 [FIR] Create session component with registered checkers 2020-05-24 18:04:43 +03:00
Mikhail Glukhikh 28c0dac36f [FIR] Set FirJavaClass.isInner properly 2020-05-12 16:57:07 +03:00
Dmitriy Novozhilov 239837fd14 [FIR] Introduce FirDeclarationAttributes for FirDeclaration 2020-05-08 15:10:12 +03:00
Dmitriy Novozhilov 4eb9eb0537 [FIR] Rename FirExtensionPoint to FirExtension
Also rename `FirExtensionPointService` to `FirExtensionsService`
2020-05-08 15:10:02 +03:00
Dmitriy Novozhilov bb645a7962 [FIR] Add transformSuperTypeRefs to FirClass 2020-05-08 15:09:58 +03:00
Dmitriy Novozhilov cb0a7a5bf7 [FIR] Rename FirExtensionRegistrarExtension to FirExtensionRegistrar 2020-05-08 15:09:57 +03:00
Dmitriy Novozhilov ff4a71386e [FIR] Register extension point component in fir sessions 2020-05-08 15:09:56 +03:00
Dmitriy Novozhilov 41545cd2b4 [FIR] Initialize origin in all places with creating of declarations 2020-05-07 09:42:20 +03:00
Dmitriy Novozhilov e515b1c823 [FIR] Add origin field to FirDeclaration 2020-05-07 09:42:20 +03:00
Dmitriy Novozhilov fa1e5f9593 [FIR] Add transformations for delegated constructor call 2020-04-17 12:37:28 +03:00
Dmitriy Novozhilov d718b596bc [FIR] Add transform declaration and companion to regular class 2020-04-15 11:13:00 +03:00
Dmitriy Novozhilov a89e0123c7 [FIR] Add fir node for raw contract description 2020-04-15 11:12:56 +03:00
simon.ogorodnik 276c393141 [FIR] Support captured type parameters in java symbol provider 2020-04-13 20:26:19 +03:00
simon.ogorodnik c2ea0676e4 [FIR] Split functions & constructors processing 2020-04-13 20:26:17 +03:00
simon.ogorodnik d55c6550bb [FIR] Add substitution to classifiers processing 2020-04-13 20:26:16 +03:00
simon.ogorodnik 27537f71df [FIR] Use constructed class type parameters refs in java symbol provider 2020-04-13 20:26:16 +03:00
simon.ogorodnik cb00a4c136 [FIR] Update type parameter use-sites to use type parameter refs 2020-04-13 20:26:15 +03:00
Kevin Bierhoff 7448761dfd only stub default constructor when compiling against .java source files 2020-04-07 17:48:39 +02:00
Dmitriy Novozhilov 28738971bc [FIR] Add transformAnnotations for fir nodes 2020-04-03 10:08:19 +03:00
Dmitriy Novozhilov 8d3ee4f304 [FIR] Add cfg reference to classes 2020-04-03 10:08:16 +03:00
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