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
cc0e39ebca
[FIR] Support synthetic property setters
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
Mikhail Glukhikh
69809fef94
[FIR] Synthetic property symbol is now a property symbol, not a function
2020-02-10 18:51:33 +03:00
Dmitriy Novozhilov
6ed4229359
[FIR] Fix smartcasts on member vals in init blocks
2020-02-10 15:53:57 +03:00
Denis Zharkov
becc9c21f0
FIR: Map raw types properly
2020-02-10 14:11:49 +03:00
Denis Zharkov
b3f9fa22b4
FIR: Fix inference when bound comes from type alias
...
It's type depth may be computed incorrectly
and relevant constraint is being skipped
2020-02-10 14:11:49 +03:00
Victor Petukhov
ae39d748e4
NI: Try to solve constraint system with another flexibility from a type variable if couldn't solve
...
^KT-36254 Fixed
2020-02-10 12:31:42 +03:00
Dmitriy Novozhilov
b5dd16784a
[FIR] Add .gitattributes for correct line endings on windows
2020-02-10 11:58:54 +03:00
Dmitriy Novozhilov
031a79528a
[FIR] Fix compiler error in build.gradle.kts
2020-02-10 11:23:43 +03:00
Dmitriy Novozhilov
55215ba187
[FIR] Fix generation root for FIR tree
2020-02-10 11:20:22 +03:00
Dmitriy Novozhilov
abfd87411d
[FIR-TEST] Mute failing tests with java kotlin supertypes cycle
2020-02-10 10:54:05 +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
5ceb68f19f
[FIR-TEST] Update some testdata
2020-02-10 10:54:04 +03:00
Dmitriy Novozhilov
4b6c2f7a65
[FIR] Remove equality by fir from symbols
2020-02-10 10:54:04 +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
dd67568cf6
[FIR] Fix recursive annotation deserialization
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
Dmitriy Novozhilov
b0c1387279
[FIR] Remove legacy annotation @VisitedSupertype
2020-02-09 20:01:43 +03:00
Dmitriy Novozhilov
fcd9ef043c
[FIR] Reorganize some utility code of tree generator
2020-02-09 20:01:43 +03:00
Alexander Udalov
feccf9cc1b
Remove dependency of fir.tree on ir.tree
2020-02-07 13:02:11 +01:00
Mikhail Glukhikh
c34d2f9daa
[FIR] Fix signature calculation in JvmMappedScope
2020-02-07 13:04:21 +03:00
Mikhail Glukhikh
0c195be513
[FIR TEST] Add test with MutableMap.compute
2020-02-07 13:04:10 +03:00
Mikhail Glukhikh
2fb508aa1b
[FIR] Fix DFA behaviour for a case with == (!=) true / false
2020-02-07 13:04:07 +03:00
Mikhail Glukhikh
36ba8bf6a9
[FIR] Add test imitating complex smart casts on descriptors
2020-02-07 13:04:06 +03:00
Mikhail Glukhikh
a8e89a6390
[FIR] Fix various corner cases in DFA
2020-02-07 13:03:43 +03:00
Mikhail Glukhikh
1344d6407c
[FIR] DFA fix: imply != null after x as? NotNullType for real variables
2020-02-07 13:03:41 +03:00
Mikhail Glukhikh
1bbcec4935
[FIR] DFA fix after x?.syntheticProperty ?: return
2020-02-07 13:03:41 +03:00
Mikhail Glukhikh
d23c03e9dc
[FIR] Add test about synthetic / non-synthetic smart casts
2020-02-07 13:03:40 +03:00
Mikhail Glukhikh
9f9d53cc5a
[FIR] Fix handling of scope emptiness in case of synthetic properties
2020-02-07 13:03:40 +03:00
Denis Zharkov
c8c0ba480b
FIR: Add problem tests for smart cast within init-section
2020-02-07 12:18:40 +03:00
Anton Bannykh
0bcde9dffc
IR API: Make IrEnumEntry.initializerExpression IrExpressionBody
...
All non-declarations should be inside IrBody's now
2020-02-06 21:03:32 +03:00
Mikhail Glukhikh
e2a99f84a5
[FIR] Fix test data
2020-02-06 13:40:11 +03:00
Denis Zharkov
286622009d
FIR: Cleanup PostponedArguments.kt
2020-02-06 13:00:29 +03:00
Denis Zharkov
6f6281a3f3
FIR: Support type aliases to function types in resolution
2020-02-06 13:00:29 +03:00
Juan Chen
7249d2f889
[FIR] Fix translation of invokes & add return expressions for lambdas
...
* fixed NoSuchMethod caused by mismatched signatures of the "invoke" method generated for lambda arguments
* added test cases in invoke.kt for KFunction and anonymous functions
* added a transformer to wrap the last expression in the bodies of lambdas with return
2020-02-06 12:44:14 +03:00
Mikhail Glukhikh
98ea2231f1
[FIR] Code cleanup: NodeConfigurator
2020-02-05 11:19:25 +03:00
Mikhail Glukhikh
0fa98ed635
[FIR] Discriminate abstract members when resolving on super
2020-02-05 11:19:23 +03:00
Mikhail Glukhikh
8e40782e7b
[FIR] Add test with abstract / non-abstract ambiguity
2020-02-05 11:19:22 +03:00
Mikhail Glukhikh
f7d658b624
FIR2IR: fix dispatch receiver generation (non-function case)
2020-02-05 11:19:21 +03:00
Mikhail Glukhikh
b09b2673bf
FIR2IR: handle non-ambiguous super references properly
2020-02-05 11:19:20 +03:00
Mikhail Glukhikh
71b0840ef9
[FIR] Implement super resolve as a particular tower resolver case
2020-02-05 11:19:19 +03:00
Dmitry Petrov
ee020ef290
KT-36336 @EnhancedNullability and null checks
...
Don't insert implicit null check on a value of @EnhancedNullability type
used where @EnhancedNullability type is expected.
This uncovers a bunch of other problems in FE and BE.
KT-36343 and KT-36347 are bugs in StrictJavaNullabilityAssertions
implementation which should most likely be fixed in next major language
version (with proper breaking change notice).
KT-36344 is a design problem which should be addressed after 1.4 issues
are resolved.
2020-02-05 11:15:41 +03:00
Denis Zharkov
fef2e06db4
FIR: Fix test data
2020-02-04 17:55:12 +03:00
Pavel Kirpichenkov
75d57c7d3f
Update pattern for finding diagnostics in diagnostic tests
...
Also use updated diagnostic pattern in TreesCompareTest.
In rare cases diagnostic was cut too early on !> characters,
that were a part of diagnostic parameter:
<!DIAGNOSTIC("Type<DefinitelyNotNullTypeArgument!!>")!>
2020-02-04 17:49:18 +03:00
Denis Zharkov
4f834cb16b
FIR: Get rid of replacements map during calls completion
...
Otherwise, it's complicated to work with nested lambdas:
outer/inner ones may be replaced independently and still refer
to the old one instances.
So in the changed test, if we don't apply the commit, will remain
implicit return and receiver types for the nested lambda
Anyway, once we decided to leave immutable semantics,
replacements are not necessary anymore
2020-02-04 16:24:01 +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