Commit Graph

1747 Commits

Author SHA1 Message Date
Denis Zharkov 429b2a9705 FIR: Optimize deserialized annotations loading 2020-06-19 10:21:09 +03:00
Jinseong Jeon 12181e55c0 FIR deserializer: signature-aware annotation loading for constructors 2020-06-19 10:21:09 +03:00
Jinseong Jeon b076bec07f FIR deserializer: signature-aware annotation loading for functions 2020-06-19 10:21:09 +03:00
Dmitriy Novozhilov d7ee168dff [FIR] Create error candidate for completion instead of simple error reference 2020-06-15 15:32:25 +03:00
Denis Zharkov 7b61bf9178 FIR: Add nullability smartcast after !is check
^KT-39072 Fixed
2020-06-15 11:33:42 +03:00
Denis Zharkov 24948a8b3f FIR: Fix incorrect handling bare types when subject is type alias
^KT-39043 Fixed
2020-06-15 11:33:42 +03:00
Denis Zharkov 5ab05e6e47 FIR: Fix incorrect resolution to synthetic property by implicit receiver
When there's an explicit one

^KT-39028 Fixed
2020-06-11 11:31:39 +03:00
Denis Zharkov 293f78efe8 FIR: Correct capturing for type-alias bases arguments
NB: The test data change at testData/diagnostics/tests/typealias/noApproximationInTypeAliasArgumentSubstitution.fir.kt
is correct: see the relevant non-fir test, the call shouldn't be applicable

^KT-39008 Fixed
2020-06-11 11:31:38 +03:00
Denis Zharkov bea37569e6 FIR: Fix processOverriddenFunctions implementations 2020-06-11 11:31:36 +03:00
Denis Zharkov 28627e9754 FIR: Minor. Clarify naming for unwrapping overrides 2020-06-11 11:31:35 +03:00
Denis Zharkov 6178cb7206 FIR: Get rid of last usages of FirScope.processOverriddenFunctions 2020-06-11 11:31:32 +03:00
Denis Zharkov 72b09ff323 FIR: Rename FirSuperTypeScope and reuse it for type parameter type
It would allow ConeKotlinType.scope return FirTypeScope
and thus pulling down org.jetbrains.kotlin.fir.scopes.FirScope#processOverriddenFunctions
(See the following commits)
2020-06-11 11:31:31 +03:00
Denis Zharkov 0bd2a74542 FIR: Add FirTypeScope
^KT-35495 Relates
2020-06-11 11:31:29 +03:00
Denis Zharkov 38922a84f1 FIR: Do not create synthetic properties for non-Java accessors
^KT-35495 Fixed
2020-06-11 11:01:43 +03:00
Denis Zharkov 6a1f921a5c FIR: Introduce FirScope.processOverriddenFunctions
^KT-35495 In Progress
2020-06-11 11:01:43 +03:00
Denis Zharkov 8447f512b4 Minor. Drop unused FirSyntheticPropertiesScope.synthetic 2020-06-11 11:01:43 +03:00
Jinseong Jeon fd32e918d5 FIR deserializer: signature-aware annotation loading for property accessors 2020-06-11 10:57:51 +03:00
Jinseong Jeon 2d55b8db07 FIR deserializer: build property accessors if non-default ones exist 2020-06-11 10:57:51 +03:00
Mikhail Glukhikh 3567880303 [FIR] Consider enum entry nested classes as local 2020-06-08 12:11:33 +03:00
Mikhail Glukhikh 5603afbd20 FirClassSubstitutionScope: handle fake override local eff. visibility 2020-06-08 12:11:33 +03:00
Mikhail Glukhikh 21498359e4 FirClassSubstitutionScope: extract 'configureAnnotationsAndParameters' 2020-06-08 12:11:33 +03:00
simon.ogorodnik ab02381a83 [FIR] Make overriding generic callables independent of TP bounds order 2020-06-05 17:46:35 +03:00
simon.ogorodnik 2287435740 [FIR] KT-39033: Fix generic property override detection
#KT-39033 Fixed
2020-06-05 17:46:35 +03:00
Jinseong Jeon 89c87f941f FIR: consider the absence of type arguments when constructing GetClassCall type 2020-06-05 17:00:17 +03:00
Dmitriy Novozhilov ee3beea327 [FIR] Cache files with plugin annotations 2020-06-05 10:34:01 +03:00
Dmitriy Novozhilov 1f80f35ce6 [FIR] Don't cache importing scopes while resolving plugin's annotations 2020-06-05 10:34:01 +03:00
Dmitriy Novozhilov 514cbc77fc [FIR] Add owners to FirStatusTransformerExtension.transformStatus 2020-06-05 10:34:00 +03:00
Dmitriy Novozhilov b79d6aced4 [FIR] Add resolve phase for resolving arguments of plugin's annotations 2020-06-05 10:34:00 +03:00
Dmitriy Novozhilov 73b738b7ff [FIR] Replace resolved flag with resolve status enum for annotation calls 2020-06-05 10:33:59 +03:00
Jinseong Jeon 0d6e309372 FIR: construct type with actual type arguments during GetClassCall transformation 2020-06-04 10:13:37 +03:00
Dmitriy Novozhilov dae2acca88 [FIR] Remove useless hack for builtins from supertype resolution 2020-06-03 13:10:17 +03:00
Dmitriy Novozhilov 15d85bdc05 [FIR] Add extension for adding new supertypes 2020-06-03 13:10:17 +03:00
Dmitriy Novozhilov eceeacdf61 [FIR] Change nested class generation extension to generate top-level classes also 2020-06-03 13:10:16 +03:00
Dmitriy Novozhilov 1b120c189e [FIR] Record generated classes in FirProvider 2020-06-03 13:10:16 +03:00
Dmitriy Novozhilov ed55e84afa [FIR] Distinct declarations found by FirPredicateBasedProvider 2020-06-03 13:10:15 +03:00
Dmitriy Novozhilov 87f0f123a8 [FIR] Add extension for generating new members for existing classes 2020-06-03 13:10:15 +03:00
Denis Zharkov 7a22827af4 FIR: Unify all references to FIR nodes from non-parents 2020-06-03 10:43:37 +03:00
Denis Zharkov 4a4dce1766 FIR: Use more refined names instead of "safe"
^KT-38444 Fixed
2020-06-03 10:43:37 +03:00
Denis Zharkov 291afd8448 FIR: Remove FirQualifiedAcces.safe in non-generated code
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov 080565e482 FIR: Support safe-calls new format in DFA
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov ec746e17c9 FIR: Get rid of RealVariable.originalType
Store original type only for local variable aliases
The problem with the former is that RealVariable may be referenced
via safe-calls and via usual calls, but its type is fixed

^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov 7ba1371466 FIR: Support safe-calls new format in body resolution
^KT-38444 In Progress
2020-06-03 10:43:37 +03:00
Denis Zharkov 14a41d91f6 FIR: Extract foldFlow from joinFlow/unionFlow in PersistentLogicSystem 2020-06-03 10:43:37 +03:00
Denis Zharkov a3d6c42810 FIR: Reuse some common parts in PersistentLogicSystem 2020-06-03 10:43:37 +03:00
Denis Zharkov 233cf13bdc FIR: Minor. Remove when branch that is just the same as "else" 2020-06-03 10:43:37 +03:00
Denis Zharkov 93f39d5df9 FIR: Minor. Refactor processLevelForPropertyWithInvoke
- Rename
- Inline unused default parameter
2020-06-03 10:43:37 +03:00
Denis Zharkov be4d3783a4 FIR: Fix type resolution for anonymous objects
^KT-39050 Fixed
2020-06-03 10:43:37 +03:00
Mikhail Glukhikh 0ffa0b2bd7 [FIR] Fix effective visibility handling for local members
In future 'Local' effective visibility could be used
as a flag of local declaration
2020-06-02 18:47:58 +03:00
Mikhail Glukhikh 72dd2ef448 [FIR] Fix CFG building for secondary constructor with delegation 2020-06-02 16:12:32 +03:00
Jinseong Jeon 4a511c7721 FIR: extend arrayOf call transformation to other variants 2020-06-01 10:45:42 +03:00