Mikhail Zarechenskiy
932d84d568
Fix performance regression in NI by fixing totally incorrect hashCode
...
The actual problem was introduced in 4f1e85b468 , note how `hashCode` is implemented:
```
var currentHashCode = cachedHashCode
if (currentHashCode == 0) return currentHashCode
...
```
It's a silly bug, there should be check `if (currentHashCode != 0) ...` because `0` is used a marker for "uncomputed value".
Now, in the commit 0219b86d06 I added map with `KotlinType` as a key and because of constant `hash` for `KotlinType`, we basically got `List` instead of `Map`, which caused this performance regression
#KT-34063 Fixed
2019-09-30 10:22:30 +03:00
victor.petukhov
aa79064a96
Remove deprecated spec tests map generators
2019-08-30 11:39:09 +03:00
victor.petukhov
fa29297fb1
Introduce workaround for back-end exception in the test cases parser code
2019-08-19 18:31:48 +03:00
victor.petukhov
9487d291da
Fail spec box tests if they have unexpected behaviour and passed
2019-08-19 18:31:48 +03:00
victor.petukhov
d8e5b068d5
Relinking spec tests
2019-08-19 18:31:46 +03:00
victor.petukhov
8465d690f1
Add spec tests for 'Type system' (introduction and 'kotlin.Any' type)
2019-08-19 18:31:45 +03:00
victor.petukhov
f78faeaa3c
Add test for consistency check between the Kotlin specification and spec tests
2019-08-19 18:31:44 +03:00
victor.petukhov
4f73e100d0
Add task to generate tests json map (is used for tool 'spec-tests-relinking recommender')
2019-08-19 18:31:43 +03:00
victor.petukhov
0e439263ce
Group spec tests and accompanying functionality into to packages: org.jetbrains.kotlin.spec (tests only) and org.jetbrains.kotlin.spec.utils (accompanying functionality)
2019-08-19 18:31:42 +03:00
victor.petukhov
cf692fb257
Implement tests map generator and refactor folder structure to spec tests linking
2019-08-19 18:31:40 +03:00
victor.petukhov
28da325a11
Actualize DFA spec tests
2019-08-19 18:31:39 +03:00
Dmitriy Novozhilov
9f90486893
[Misc] Update spec testData according changes in NI
2019-07-30 12:41:41 +03:00
Denis Zharkov
daa27016ca
[Invariant Fix] Adjust DataFlowValue::Identifier for refinement
...
After refinement is introduced it becomes possible to have a different
descriptors instances for effectively the same descriptors
Also, it accidentally fixes KT-25432 because is caused by a different
version of descriptors created for NewCapturedType
^KT-25432 Fixed
2019-07-30 12:41:38 +03:00
Nikolay Krasko
58f294a757
Fix kotlin compiler tests in 192 (KT-32193)
...
#KT-32193 Fixed
2019-07-26 12:38:40 +03:00
Mikhail Zarechenskiy
8fe632f52b
[NI] Record DFI for callable reference arguments
...
#KT-31941 Fixed
2019-06-17 19:18:04 +03:00
Mikhail Zarechenskiy
d9dca067f6
[NI] Propagate non-null info on supertypes for capturing from bounds
...
#KT-31941 Fixed
2019-06-13 00:57:51 +03:00
Mikhail Zarechenskiy
787a8bb9bd
Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
...
This reverts commit 7c4101e21c .
#KT-31866 Fixed
#KT-31868 Fixed
#EA-125401 Fixed
#KT-25290 Open
2019-06-07 12:31:38 +03:00
Dmitry Savvinov
4f6d0ca1d1
Update missed tesdata
...
Was missed after 7daf12fa6d
2019-05-30 18:58:12 +03:00
Dmitry Savvinov
7daf12fa6d
[Testing] Remove duplicate logic, clean-up CheckerTestUtil
2019-05-30 12:32:39 +03:00
Dmitriy Novozhilov
e574106799
[NI] Support @OnlyInputTypes annotation. #KT-29307 fixed
2019-05-29 10:54:41 +03:00
Dmitriy Novozhilov
7c4101e21c
[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI
2019-05-29 10:35:46 +03:00
Mikhail Zarechenskiy
848640253a
Revert "[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI"
...
This reverts commit f20ec3e0a6 .
2019-05-29 01:31:28 +03:00
Dmitriy Novozhilov
f20ec3e0a6
[NI] Disable capturing/approximation type in TypeSubstitutor with enabled NI
...
There is added a new service named `SubstitutingScopeProvider`, that
provides factory that creates captured types and approximator for them.
In OI they are the same as before commit, for NI they are empty, because
that approximation interferes with NI algorithm
That service is injected into function descriptors and property descriptors
and used for creating `SubstitutingScope` with correct services
Also there is changed time when we approximate captured types in NI
(after all call checkers)
#KT-25290 Fixed
2019-05-28 11:18:33 +03:00
Dmitriy Novozhilov
b4c8c79931
[NI] Add check for non-null argument type in arguments check
...
#KT-31461 Fixed
2019-05-23 12:22:42 +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
victor.petukhov
8bdc5f981e
Actualize spec tests
2019-05-16 12:24:18 +03:00
Alexander Udalov
b602c08773
Remove javaFilesDir parameter of CodegenTestCase.doMultiFileTest
...
Create TestFile instances for .java sources similarly to .kt sources,
and write them to a temporary directory via writeJavaFiles in each test
where this is needed
2019-05-15 13:25:14 +02:00
Sergey Rostov
911a5bdd0e
Specify missing type arguments to fix compilation
2019-04-26 12:00:43 +03:00
Mikhail Zarechenskiy
1e3db9ee7c
[NI] Update test data for diagnostic tests
2019-04-25 16:19:37 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
victor.petukhov
a567aa620b
Fix headers in box and parsing spec tests
2019-04-19 11:55:30 +03:00
victor.petukhov
f6d67251fb
Print info about all failed test cases in spec tests
2019-04-19 11:55:30 +03:00
victor.petukhov
86bb5d689d
Add various tests for DFA testing
2019-04-19 11:55:30 +03:00
Mikhael Bogdanov
dde28ddc52
Parallelize compiler tests
2019-04-18 13:24:58 +02:00
Dmitriy Novozhilov
18f9272f56
[NI] Fix reporting smartcast diagnostics for intersection types
...
#KT-30826 Fixed
2019-04-12 17:36:59 +03:00
Dmitriy Novozhilov
a92cf19641
Revert "[NI] Fix reporting smartcast diagnostics for intersection types"
...
This reverts commit 033d7262
That commit breaks bootstraping
2019-04-11 18:49:02 +03:00
Dmitriy Novozhilov
033d7262a2
[NI] Fix reporting smartcast diagnostics for intersection types
...
#KT-30826 Fixed
2019-04-11 18:10:59 +03:00
Dmitriy Novozhilov
a26df4b4c6
[NI] Update test data for spec tests
2019-03-25 23:04:50 +03:00
Dmitriy Novozhilov
ca0e66bafc
[NI] Refactor compiler representation of integer literals types
...
Add `IntegerLiteralTypeConstructor` that holds types, that can take
integer literal with given value. It has two supertypes
(`Number` and `Comparable<IntegerLiteralType>`) and have
special rules for subtyping, `intersect` and `commonSuperType`
functions with primitive number:
Example (assuming that ILT holds Int type):
* ILT <: Int
* Int :> ILT
* ILT intersect Int = Int
* commonSuperType(ILT, Int) = Int
#KT-30293 Fixed
#KT-30446 Fixed
2019-03-25 18:55:36 +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
77c98bef4d
Fix recursion in contract declaration analysis. KT-26386 Fixed
...
Issue fixed only in old inference
2019-03-07 14:35:18 +03:00
Dmitriy Novozhilov
d0462859bf
Minor. Fix reporting diagnostic in contract with callable reference
2019-03-07 14:35:13 +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
54e5cce9be
Prohibit declaring multiple callsInPlace contract on same lambda.
...
#KT-26150 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
victor.petukhov
bd03ecf4a0
Rename helper file with typealias samples for spec tests
2019-02-28 14:55:41 +03:00
victor.petukhov
b7a5d73bf0
Add type inference tests by specification to remote run tests
2019-02-28 11:55:16 +03:00
victor.petukhov
2bcdadf17f
Add positive diagnostic tests for smartcasts from nullability condition using if expression
2019-02-14 13:11:14 +03:00
victor.petukhov
06b5a42d0d
Improve test exceptions fixation:
...
- exceptions is analyzed if it's specified explicitly only,
- compute test case number for diagnostic tests in which an exception is thrown.
2019-02-14 12:31:43 +03:00