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
Ilmir Usmanov
f0006f2405
Minor. Add regression test
...
#KT-39374 Fixed
2020-06-05 21:30:24 +02: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
Mikhail Zarechenskiy
6c5806f971
Add test for obsolete issue
...
#KT-38161 Obsolete
2020-06-05 16:30:08 +03:00
Mikhail Zarechenskiy
fb812301b2
Add test to preserve behaviour
...
It's important to have ambiguity in these cases to introduce overload
resolution by suspend-modifier without breaking changes in future
Relates to #KT-23610
2020-06-05 14:07:08 +03:00
Mikhail Zarechenskiy
bfa648972f
Introduce call checker for Unit-conversions
2020-06-05 13:24:21 +03:00
Mikhail Zarechenskiy
71cbe97688
Introduce Unit-conversions for simple arguments
2020-06-05 13:24:20 +03:00
Mikhail Zarechenskiy
718f23b34f
Compatibility warning for references to companion via name (KT-13934)
2020-06-05 13:24:18 +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