Mikhail Glukhikh
d9d582b226
FIR tower resolve: add level with implicit extension receiver
2019-05-28 10:20:33 +03:00
Mikhail Glukhikh
45b0f5a0ca
Add FIR resolve test (call extension from extension)
2019-05-28 10:20:32 +03:00
Mikhail Glukhikh
bc336650ff
More top-level FIR resolve tests (map, with)
2019-05-28 10:20:31 +03:00
Simon Ogorodnik
94dca1d467
Suspend resolution sequence on first inapplicability report
2019-05-28 10:20:29 +03:00
Mikhail Glukhikh
cb76ea5d14
FIR resolve: do not launch overload conflict resolve for erroneous
2019-05-28 10:20:28 +03:00
Mikhail Glukhikh
4d145db9f7
FIR resolve (by semoro): support correct type inference for generic args
...
This commit includes additional test and fixes e.g.
resolve of listOf() + listOf()
2019-05-28 10:19:12 +03:00
Simon Ogorodnik
d3f00280e9
Disable data class copy function body in raw FIR
...
After this commit we require 'copy' body generation in FIR2IR converter
2019-05-28 10:18:00 +03:00
Simon Ogorodnik
a849cc7da4
Store type for already resolved FIR references properly
2019-05-28 10:17:59 +03:00
Simon Ogorodnik
58873b2d7b
FIR resolve: set setter value-parameter type properly
2019-05-28 10:17:57 +03:00
Simon Ogorodnik
38d3438101
[FIR] Support withNullability for captured type
2019-05-28 10:17:56 +03:00
Mikhail Glukhikh
05e4539019
Set resolved type for lambdas properly during FIR resolve
...
Partially done by semoro
2019-05-28 10:17:31 +03:00
Mikhail Glukhikh
963ed44ce1
FIR: fix exception in ConeKotlinType.returnType
2019-05-28 10:17:25 +03:00
Mikhail Glukhikh
6589fbbfbb
Raw FIR: set val setter to null instead of default one
2019-05-28 10:17:22 +03:00
Mikhail Glukhikh
0aaf8c7689
Fix FIR Java enhancement of java.util.Map & similar supertypes
2019-05-28 10:17:21 +03:00
Simon Ogorodnik
cef108a5ae
FIR: implement qualifier resolver
2019-05-28 10:17:05 +03:00
Mikhail Zarechenskiy
c30e045b1b
[NI] Don't consider Any!-constraint from upper bounds as more specific
...
#KT-31624 Fixed
2019-05-27 17:32:25 +03:00
Mikhail Zarechenskiy
95710f4087
[NI] Avoid forcing resolve for array access expression
...
#KT-31606 Fixed
#EA-126523 Fixed
2019-05-27 17:32:24 +03:00
Mikhail Zarechenskiy
fe5976d7f4
[NI] Don't apply SAM-conversion for type that is subtype of function
...
Plus, don't get synthetic candidates as all candidates are creating
by conversion
#KT-31503 Fixed
2019-05-27 17:32:23 +03:00
Mikhail Zarechenskiy
8910859fd1
[NI] Implement various optimizations for incorporation algorithm
...
Mostly, these optimisations are picked from the old inference.
Also, remove exponential complexity for flexible types in approximation,
note that more correct fix for this would be to introduce new types
that corresponds just to platform types to avoid nullability problems,
but due to complexity it will be done later
#KT-31415 Fixed
2019-05-26 21:32:46 +03:00
Mikhail Zarechenskiy
bbec3bf001
Fix exception on star import from typealias
...
#KT-30983 Fixed
2019-05-26 21:32:07 +03:00
Mikhail Zarechenskiy
b84b890250
Add tests to preserve current behavior for upcoming changes
...
##KT-30983 In Progress
2019-05-26 21:32:03 +03:00
Mikhail Zarechenskiy
5173d5e359
[NI] More accurate handle of capture types from subtyping
...
#KT-31520 Fixed
2019-05-26 21:31:59 +03:00
Mikhail Glukhikh
68da1a97d1
Add fib test to FIR resolve tests
2019-05-23 14:02:11 +03:00
Mikhail Glukhikh
2bf80ff64e
FIR: support copy functions in data classes
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
672c172c99
[FIR] Make result type after safe-call nullable (for nullable receiver)
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
f7b6fec70c
[FIR] Transform explicit receiver of QAE properly
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
27a1ec3817
[FIR] Allow nullable receiver type in case of safe-calls
2019-05-23 14:02:10 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
397aaa189e
[FIR] Allow type-variables in general subtyping with cone context
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
20ba15a429
[FIR] Typing for annotation calls
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
aa96837758
[FIR] Introduce unchecked not-null cast as internal operation for !!, ?:
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
b469eb293b
[FIR] Typing for try-catch
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
9398addb9d
Fix cycle avoidance in FIR implicit type resolve
...
This commit fixes the following case:
transformer visiting it twice before reporting cycle
fun foo() = foo()
2019-05-23 14:02:07 +03:00
Mikhail Glukhikh
90009f002c
Add FIR test for 'Exception' constructor resolve ambiguity (type alias)
2019-05-23 14:02:07 +03:00
Dmitriy Novozhilov
b323298b0e
[NI] Remove deep types in commosn super type for recursive types
...
#KT-30411 Fixed
2019-05-23 12:22:42 +03:00
victor.petukhov
d4515031de
Report warning about implicitly inferred nothing only for return position
...
^KT-31535 Fixed
2019-05-22 15:45:59 +03:00
Dmitriy Novozhilov
07394bd6d3
[NI] Add test for KT-30300 with complex constraint system problem
2019-05-15 13:42:36 +03:00
Mikhail Glukhikh
d517276a06
Apply "unnamed boolean literal" to idea & J2K + other style fixes
2019-05-13 12:33:46 +03:00
Mikhail Zarechenskiy
6c9394f0b2
[NI] Use original implicit receiver for DSL violation check
...
There is an inconsistency between old and new inference for storing
receivers of resolved calls. In new inference, for captured types,
receiver will be changed and to preserve behavior of the old inference,
we use original one during important checks.
This is more a workaround than a solution and should be revisited.
#KT-31356 Fixed
#KT-29948 Fixed
#KT-31360 Fixed
2019-05-08 12:19:48 +03:00
Mikhail Zarechenskiy
2f835ed66f
Specify type arguments to fix compilation against bootstrap compiler
2019-05-06 14:00:19 +03:00
Dmitriy Novozhilov
e6deaf3315
[NI] Fix reporting UNSAFE_IMPLICIT_INVOKE_CALL diagnostic
2019-05-06 11:36:09 +03:00
Dmitriy Novozhilov
f2bbae6a63
[NI] Fix resolving callable references with typealias in ths
...
#KT-31199 Fixed
2019-05-06 11:36:04 +03:00
Simon Ogorodnik
8a2b41c8cb
Fix proguard
2019-04-30 19:28:17 +03:00
Simon Ogorodnik
3e51cbc9dc
FIR: move test to stdlib group thus fixing it
2019-04-30 18:45:56 +03:00
Simon Ogorodnik
5b929b88e1
[FIR] Allow nullability mismatch in resolve
2019-04-30 18:45:56 +03:00
Simon Ogorodnik
2111e56d2e
FIR: introduce workaround to avoid type-aliases in ConeClassType
2019-04-30 18:45:56 +03:00
Simon Ogorodnik
c06d521e78
FIR: support star projection in CreateFreshTypeVariableSubstitutorStage
...
This commit fixes a small pack of tests failing at this point
2019-04-30 18:45:56 +03:00
Simon Ogorodnik
4bcba000fd
FIR: pass name resolver to annotation deserializer separately
2019-04-30 18:45:56 +03:00
Mikhail Glukhikh
f2ff103ed7
Fir2Ir converter: fix KNPE during use-site scope building for local
2019-04-30 18:45:55 +03:00
Mikhail Glukhikh
8cb16cc06a
FIR provider: support getClassUseSiteMemberScope for type aliases
2019-04-30 18:45:55 +03:00