Alexander Udalov
6e67e1e78d
Replace appendln with appendLine in project
2020-06-11 13:01:30 +02: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
89cbe9bf93
FIR: Pull down FirScope.processOverriddenFunctions
2020-06-11 11:31:33 +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
ab2a2b3a87
FIR2IR: eager conversion of annotations in Library class and members
2020-06-11 10:57:51 +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 Zarechenskiy
3921a0ed70
Add test for obsolete issue
...
#KT-17341 Obsolete
#KT-32958 Obsolete
2020-06-10 16:00:23 +03:00
Ilmir Usmanov
85e2392fef
Fix merging two reference values
...
In this case, make the result of value type Object instead of unknown.
2020-06-09 20:52:29 +02:00
Ilmir Usmanov
5567033b33
Revert "Revert "Completely rewrite reifiedIntTypeAnalysis, making it more streamline""
...
This reverts commit 822c14814b .
2020-06-09 20:52:24 +02:00
Mikhail Zarechenskiy
93e9d3e57d
Delay check for possibly deferred return type for reference candidate
...
This issue appeared after recently added new overload for flatMapTo.
Before that, we picked candidate returning List<T> and completed
inference, now we also check one more flatMapTo, which is here is
incorrect and as a result we go into outer scope. Outer scope contains
one property with deferred type, which introduced error about
"typechecker has run into recursive problem" even it isn't applicable
by receiver.
So, the fix is to check receiver first and only then check return
type of a candidate.
#KT-39470 Fixed
2020-06-09 17:36:58 +03:00
Ilya Kirillov
30eab6c8a3
FIR IDE: Implement search of psi elements for deserialized Kotlin declarations
...
Fix "FIR IDE: Implement search of psi elements for deserialized Kotlin declarations"
2020-06-09 16:19:29 +03:00
Ilya Kirillov
507fc34c22
FIR: fix incorrect psi for named & spread arguments in FIR builder
2020-06-09 16:19:26 +03:00
Alexander Udalov
fc1217ba07
Generate delegates to DefaultImpls in fun interface wrappers
...
#KT-37436 Fixed
2020-06-09 11:44:31 +02:00
Alexander Udalov
2793187bda
Handle IllegalArgumentException in trimMargin intrinsics on JVM
...
#KT-38537 Fixed
2020-06-09 11:11:06 +02:00
Mikhail Glukhikh
261ed46341
IR metadata source: do not require descriptor in property metadata
2020-06-09 11:40:26 +03:00
Mikhail Glukhikh
6f0eeecc64
[FIR2IR] Fix generation of type arguments of delegated constructor calls
2020-06-09 11:40:26 +03:00
Mikhail Glukhikh
5c6f40b34a
IR metadata source: extract & use declaration name
2020-06-09 11:40:26 +03:00
Mikhail Glukhikh
b2c78e490e
[FIR2IR] Remove some descriptor-around calls
2020-06-09 11:40:25 +03:00
Mikhail Glukhikh
89e5e10657
[FIR2IR] Drop effectively unused FirMetadataSource.File.descriptors
...
NB: only FileClassLowering uses this property to check
whether facade is required, and IR-based check is enough in this lowering
2020-06-08 16:19:37 +03:00
Mikhail Glukhikh
6eab6a96cb
[FIR2IR] Support type aliases properly
2020-06-08 16:19:37 +03:00
Mikhail Glukhikh
8677d63003
[FIR2IR] Re-use FakeOverrideGenerator for external classes
2020-06-08 12:11:34 +03:00
Jinseong Jeon
ba1172b3ad
FIR2IR: distinguish substitution case when adding external fake overrides
2020-06-08 12:11:34 +03:00
Mikhail Glukhikh
538535c3b7
[FIR2IR] Introduce & use declaration-based SymbolTable.enter(leave)Scope
2020-06-08 12:11:34 +03:00
Mikhail Glukhikh
e593c7270f
[FIR2IR] Use specific symbols for enum entries
2020-06-08 12:11:34 +03:00
Mikhail Glukhikh
0770a6f848
[FIR2IR] Drop yet-unused local declaration symbols
2020-06-08 12:11:33 +03:00
Mikhail Glukhikh
3567880303
[FIR] Consider enum entry nested classes as local
2020-06-08 12:11:33 +03:00
Mikhail Glukhikh
8a456f578d
[FIR mangler] Handle parent type aliases properly
...
NB: Normally parent class-like must be a class,
but in expect-actual situation it may appear to be an actual type alias.
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
Mikhail Glukhikh
7bd872b264
[FIR2IR] Restore container source related logic
2020-06-08 12:11:33 +03:00
Mikhail Glukhikh
0c41fcba6a
[FIR2IR] Use signature composer only for non-local declarations
2020-06-08 12:11:32 +03:00
Mikhail Glukhikh
55b7cf0dda
[FIR2IR] Extract declareIr<SomeDeclaration>
2020-06-08 12:11:32 +03:00
Mikhail Glukhikh
6d8b0f5566
[FIR2IR] Provide correct callable ids for fake overrides
2020-06-08 12:11:32 +03:00
Mikhail Glukhikh
de2980e9e5
[FIR2IR] Use specific symbols for class declarations
2020-06-08 12:11:32 +03:00
Mikhail Glukhikh
85801ea62c
[FIR2IR] Use specific symbols for callable declarations
2020-06-08 12:11:32 +03:00
Mikhail Glukhikh
c7041c0f1a
[FIR2IR] Add signature to all symbols
2020-06-08 12:11:31 +03:00
Mikhail Glukhikh
d4cb6b68c4
[FIR2IR] Introduce own symbol implementations
2020-06-08 12:11:31 +03:00
Mikhail Glukhikh
529c73d58d
[FIR2IR] Introduce abstract bindable symbol
2020-06-08 12:11:31 +03:00
Jinseong Jeon
0d2552b0b6
FIR: record and serialize the modifier "fun" for functional interface
2020-06-08 09:42:32 +03:00
Yunir Salimzyanov
dce19b0ace
Cleanup 191 patchset logic (KTI-267)
2020-06-07 10:49:55 +03:00
Ilya Chernikov
5e33612238
Extract interface from CompilerMessageLocation to ease extension
...
The CompilerMessageLocation is an implicit part of the binary daemon
protocol so changing it breaks compatibility with older daemons.
This change allows to extend location for non-daemon uses without
breaking the binary protocol.
2020-06-05 21:58:27 +02:00