Dmitriy Novozhilov
58189c79ca
Add regression test for PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL diagnostic
...
#KT-20507
2019-03-21 16:09:46 +03:00
Dmitriy Novozhilov
d01b6ef900
Revert "[NI] Support @OnlyInputTypes annotation. #KT-29307 fixed"
...
This reverts commit 90628112
With that annotation there is complex bug that breaks build of Kotlin compiler
2019-03-18 18:53:38 +03:00
victor.petukhov
9a2178d96b
Split 'nothingTypedSuspendFunction' test into two separate tests (for old and new coroutines)
2019-03-16 21:39:44 +03:00
victor.petukhov
29493a4977
Fix 'nothingTypedSuspendFunction' test after 70c35f4186
2019-03-16 14:15:08 +03:00
victor.petukhov
70c35f4186
Introduce warning about implicitly inferred Nothing as a type parameter
...
^KT-20849 Fixed
2019-03-15 19:28:38 +03:00
Dmitriy Novozhilov
b07aed7a00
[NI] Fix determination of completion mode. #KT-30406 Fixed
2019-03-15 10:39:50 +03:00
Dmitriy Novozhilov
1c92c22dee
[NI] Add support ExpectedTypeFromCast to new inference. #KT-30405 Fixed
2019-03-15 10:39:29 +03:00
Dmitriy Novozhilov
9062811231
[NI] Support @OnlyInputTypes annotation. #KT-29307 fixed
...
Also KT-26698 fixed in new inference
2019-03-15 10:39:11 +03:00
Dmitriy Novozhilov
0ba163d70b
[NI] Fix testdata of inference lambdas with SAM conversions
...
Tetdata was broken in 3e147af3c0
#KT-27565 related
2019-03-15 10:39:11 +03:00
Alexander Udalov
f9be21c935
Report warning on @Synchronized on inline methods
...
Until KT-27310 is supported, we warn users that this has no effect.
#KT-29884 Fixed
2019-03-11 18:32:44 +01:00
Dmitriy Novozhilov
cbf1d773f7
NI. Coerce return type of lambda function descriptor to Unit. #KT-30242 Fixed
2019-03-07 14:36:09 +03:00
Dmitriy Novozhilov
77c98bef4d
Fix recursion in contract declaration analysis. KT-26386 Fixed
...
Issue fixed only in old inference
2019-03-07 14:35:18 +03:00
Alexander Udalov
59fda8d7ce
Support JvmPackageName with JvmMultifileClass
...
This is an internal feature of our standard library needed to compile
new API for unsigned types
2019-03-06 15:34:23 +01:00
Alexander Udalov
d1e33534db
Implement typeOf intrinsic on JVM
...
#KT-29915 Fixed
2019-03-05 18:16:31 +01:00
Mikhail Zarechenskiy
c4b69b65bc
Gradually prohibit comparison of incompatible enums
...
#KT-22043 Fixed
2019-03-05 13:33:23 +03:00
Mikhail Zarechenskiy
7c357c0ec0
[NI] Complete calls during one inference session only once
...
The problem is that delegated properties resolve two calls together:
`getValue`/`setValue` with a common receiver, which can contain
callable references. For each completion new anonymous descriptor
was created and caused "rewrite at slice" exceptions later.
Now there is a little hack to check that during one inference session
we don't complete one call more than one time.
More correct fix would be to explicitly specify common receiver for
inference session but it requires quite big refactoring, which will
be done later with a whole refactoring of the common solver
#KT-30250 Fixed
2019-03-05 13:33:22 +03:00
Mikhail Zarechenskiy
93e79afab4
[NI] Preserve nullability of resulting type from CST if it's possible
...
Consider common supertype of `S` and `Nothing`, where `S` has nullable
upper bound or it's flexible. Before the fix, result was `S?`, which
is correct but too conservative. Now, we'll preserve nullability of
resulting type if it's already nullable.
This happened because we were failing to find path of not-nullable
types from `Nothing` to `S`, which should obviously exists by
semantics of Nothing
2019-03-04 11:29:39 +03:00
Mikhail Zarechenskiy
9b3e17f0d7
[NI] Avoid building controversial systems by clipping extra constraints
...
#KT-23854 Fixed
2019-03-04 11:29:38 +03:00
Mikhail Zarechenskiy
43cf6623f9
[NI] Added test for controversial common system
...
See KT-23854
2019-03-04 11:29:38 +03:00
Dmitriy Novozhilov
2f5843f764
Move detecting of illegal call of contract function into call checker
...
(#KT-26153, #KT-26191) fixed
2019-03-01 14:50:46 +03:00
Dmitriy Novozhilov
4a7420d77d
Allow declaring contracts on suspend functions. KT-27468 Fixed
2019-03-01 14:50:46 +03:00
Dmitriy Novozhilov
84da8b6279
Report CONTRACT_NOT_ALLOWED diagnostic on extension property getter/setter
...
KT-27090
2019-03-01 14:50:46 +03:00
Dmitriy Novozhilov
b484e03fa8
Allow use contract function by FQN. #KT-29772 fixed
2019-03-01 14:50:46 +03:00
Dmitriy Novozhilov
7072b9d179
Fix order of fixing type variables for callable references. KT-25433 Fixed
2019-03-01 14:50:33 +03:00
Alexander Udalov
736ac12374
Prohibit type parameters in class literals in annotation arguments
...
#KT-27799 Fixed
2019-02-26 19:09:42 +01:00
Dmitriy Novozhilov
677987c85f
Add diagnostics on annotations on super types. KT-23992 fixed
2019-02-22 10:28:21 +03:00
Dmitriy Novozhilov
1fc6f30c50
Add test for KT-23992
2019-02-22 10:22:19 +03:00
Dmitriy Novozhilov
92bd907983
Fix checking repeatablilty of use-site target annotations. KT-26638 fixed
2019-02-22 10:15:37 +03:00
Dmitriy Novozhilov
cfda468f13
Add test for KT-26638
2019-02-22 10:15:37 +03:00
Dmitriy Novozhilov
3e147af3c0
KT-27565 fix
2019-02-22 10:15:16 +03:00
Dmitriy Novozhilov
cd2b8839b4
Add test for KT-27565
2019-02-22 10:15:16 +03:00
Dmitriy Novozhilov
d58ee133a2
Fix type constraints of empty lambda (KT-28654 fix)
2019-02-21 12:04:23 +03:00
Dmitriy Novozhilov
2ba33c3b8a
Fix testdata broken in 46bd5ba
2019-02-21 12:04:23 +03:00
Dmitriy Novozhilov
10b7baf69a
Add test for KT-28654
2019-02-21 12:04:23 +03:00
Dmitriy Novozhilov
f186c83b15
KT-25383 fix
2019-02-21 12:04:23 +03:00
Yaroslav Russkih
028a311949
Use https everywhere - tests and test data
2019-02-19 21:35:36 +01:00
Dmitriy Novozhilov
d1b7c0f683
Fix testdata for try/catch inference and DFA
2019-02-18 12:43:42 +03:00
Dmitriy Novozhilov
a4d6f72ad1
Split testdata of #KT-25432 and #KT-29767
2019-02-17 13:03:01 +03:00
Dmitriy Novozhilov
49a42f9434
Fix #KT-28999. Prohibit type parameters on anonymous objects
2019-02-17 13:02:22 +03:00
Dmitriy Novozhilov
11e5ddf9ae
Add test for #KT-28999
2019-02-17 13:02:22 +03:00
Dmitriy Novozhilov
4a298d1413
NI: introduce new data flow analysis for try/catch (#KT-28370)
2019-02-17 12:51:25 +03:00
Dmitriy Novozhilov
a236ad5686
NI: resolve try catch as synthetic function call (#KT-25435 fixed)
2019-02-17 12:46:11 +03:00
Dmitriy Novozhilov
4e64b07727
Add some tests for inference and DFA of try/catch/finally
2019-02-17 12:46:11 +03:00
Alexander Udalov
4692247897
Do not check backing field presence in AnnotationSplitter
...
This code can be invoked early, during body resolution and before the
fact that a property has backing field (which is only known for certain
after body resolution, because an implicit 'field' identifier may be
used). Since split annotations are cached until the end of the program,
they may end up on incorrect elements in the bytecode (or disappear
completely) as in KT-29507 or KT-28182.
Because the FIELD target has the lowest priority among implicit
annotation targets (see TARGET_PRIORITIES), it's safe to always assume
that FIELD is a valid target when splitting annotations. This only
changes the way annotations are split in case of incorrect code, as
changes in test data show.
#KT-28182 Fixed
#KT-29507 Fixed
2019-02-15 17:53:27 +01:00
victor.petukhov
cb5f497cbe
Alphabetical sort wrapped intersection types for rendered diagnostics
2019-02-14 12:31:42 +03:00
victor.petukhov
30762a450a
Wrap diagnostic parameters to double quotes and split by comma instead of semicolon
2019-02-14 12:31:42 +03:00
victor.petukhov
46bd5ba107
Add alphabetical sorting diagnostics with same ranges
2019-02-14 12:31:42 +03:00
victor.petukhov
8a9c7a69f3
Move checkType directives for tests to separate folder
2019-02-14 12:31:42 +03:00
Denis Zharkov
abad408d7b
Do not implicitly propagate deprecations originated in Java
...
^KT-29604 Fixed
2019-02-13 16:21:05 +03:00
Ilya Chernikov
2c02ee3d29
Rename test files to scripts to trigger proper scripting initialization
...
fix generation config accordingly
2019-02-10 13:31:57 +01:00