Stanislav Erokhin
2ceb8cef36
[NI] Use same ResolvedCall when run completion
...
It is necessary, because some clients store this ResolvedCall to other
places, for example for get call it stored to INDEXED_LVALUE_GET
2017-08-25 03:38:49 +03:00
Mikhail Zarechenskiy
f31c48017b
[NI] Don't process lambda until expected type will be fixed
2017-08-25 02:47:46 +03:00
Mikhail Zarechenskiy
3f8a685ace
[NI] Make return type of !! operator definitely not-null
2017-08-24 13:50:11 +03:00
Mikhail Zarechenskiy
d18a14b717
[NI] Eliminate special intersection type from result type
2017-08-24 13:50:10 +03:00
Mikhail Zarechenskiy
9f2bf066b9
[NI] Transform anonymous types of expected type for delegation
2017-08-24 13:50:09 +03:00
Mikhail Zarechenskiy
c45f86a2fc
[NI] Resolve function literals in block as lambda expression
2017-08-23 15:53:52 +03:00
Mikhail Zarechenskiy
08964006de
[NI] Avoid type capturing for types that can contain type variables
2017-08-23 15:53:51 +03:00
Stanislav Erokhin
9f71de5f66
Add test for lambda as last expression in lambda
2017-08-23 15:53:45 +03:00
Stanislav Erokhin
74e07b6580
Add regression test for no resolution recursion
2017-08-23 15:53:44 +03:00
Mikhail Zarechenskiy
e7cd615450
[NI] Introduce type depth in CS calculator to avoid SOE
2017-08-07 18:01:13 +03:00
Mikhail Zarechenskiy
cf75afba66
[NI] Fix type intersection for equal types
2017-08-07 18:01:12 +03:00
Mikhail Zarechenskiy
0d464f06d1
[NI] Consider CS as nullable if one of the types isn't subtype of Any
...
Note that this isn't fully correct, consider the following situation:
S : T, T : Any?
=> CS(S, T) = T, but for now it will be T?, which is reliable but not so specific as just T
2017-08-07 18:01:09 +03:00
Dmitry Petrov
16505daeea
Fix 'equals' for NotNullBasicValue
...
NotNullBasicValues were merged incorrectly sometimes,
which caused problems with INSTANCEOF checks.
#KT-18779 Fixed
2017-07-04 12:19:10 +03:00
Mikhael Bogdanov
9d021ee1ac
Add infrastructure to run codegen test on jdk 6
...
Perform actual codegen test execution in separate process.
One server process is used to run all codegen tests
through socket connection.
2017-04-25 09:31:17 +02:00
Mikhael Bogdanov
496a21254b
Black box update
2017-03-20 18:46:01 +01:00
Ilya Matveev
eda43c8b45
Mute tests with standard collection extensions in native
2017-03-10 19:59:37 +03:00
Ilya Matveev
a5e4e0284e
Mute some box tests for native backend
...
This patch mutes the following test categories:
* Tests with java dependencies (System class,
java stdlib, jvm-oriented annotations etc).
* Coroutines tests.
* Reflection tests.
* Tests with an inheritance from the standard
collections.
2017-03-10 19:59:37 +03:00
Denis Zharkov
1f179a6f01
Add test on obsolete issue
...
#KT-15196 Obsolete
2017-02-10 16:05:15 +03:00
Ilya Gorbunov
49756a897e
Just refactor tests that require further investigation
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
0899a0fdda
Make some tests JVM only
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
38840bb529
Do not reference java.util in tests that run on JS backend.
2016-11-21 18:20:33 +03:00
Zalim Bashorov
596f3364c6
Automatically mute failed tests
2016-11-09 21:41:12 +03:00
Denis Zharkov
b7e8071a7d
Do not use BasicInterpreter for bytecode analysis
...
The problem with BasicInterpreter is the following:
it creates BasicValue objects that should be replaced in favor of StrictBasicicValue
See commit message in 25c6ac1 for clarification
#KT-14447 Fixed
2016-10-25 10:14:52 +03:00
Denis Zharkov
3a197e8d7e
Fix NPE caused by nullability checks optimizations
...
Mostly this commit replaces instances of original BasicValue from ASM
with ones of StrictBasicValue having strict equals implementation
Optimization issue was related to non-symmetric 'equals':
- NotNullBasicValue("java/lang/Object").equals(BasicValue("java/lang/Object")) == false
- BasicValue("java/lang/Object").equals(NotNullBasicValue("java/lang/Object")) == true
#KT-14242 Fixed
2016-10-25 10:14:52 +03:00
Denis Zharkov
0905bf3e38
Refine redundant null checks interpreter
...
The main change here is addition of a check that NotNullBasicValue instances
are not being created for non-reference types
Exactly this change should be used instead of f25f0db10e
The latter commit lead to problem described in the KT-14242 issue:
v.getType().getSort() == w.getType().getSort() && (v.getType().getSort() != Type.OBJECT || v.equals(w))
Problem is that the condition above returns true without calling `v.equals(w)`,
because the sort of type is ARRAY, not OBJECT, so testArray was being treated
as NotNullable erroneously
So the second part of this change is effectively revering mentioned commit
#KT-14242 Fixed
2016-10-10 10:44:11 +03:00
Denis Zharkov
217f033552
Prevent generation of delegations to interfaces private methods
...
#KT-13381 Fixed
#KT-13996 Fixed
2016-09-23 14:51:14 +03:00
Stanislav Erokhin
03241419bd
Minor. removed several tests with error calls.
2016-06-10 21:28:04 +03:00
Alexander Udalov
348125acb3
Fix visibility of protected classes in bytecode
...
Protected should be translated to public as in Java so that everything would
work at runtime. The real visibility is still saved to an InnerClasses
attribute
#KT-8269 Fixed
#KT-9246 Fixed
#KT-10143 Fixed
2016-03-22 18:42:34 +03:00
Denis Zharkov
e54b25a35a
Fix StackOverflowError while mapping recursive intersection-type
...
#KT-10972 Fixed
2016-03-18 19:07:27 +03:00
Denis Zharkov
ce8add2802
Fix common supertype calculation
...
Use star-projections instead of 'out Any?' in corner cases
#KT-11468 Fixed
2016-03-18 10:12:00 +03:00
Alexander Udalov
16a0ddd2fb
Merge boxMultiFile testData into box, delete BoxMultiFile test
2016-03-09 10:25:38 +03:00
Alexander Udalov
06a67e6602
Merge boxWithStdlib testData into box, delete BoxWithStdlib test
2016-03-09 10:25:38 +03:00
Alexander Udalov
20e36438e2
Move some tests from boxWithStdlib/ to box/
...
Move those tests which do not require neither stdlib nor reflect
2016-03-09 10:25:38 +03:00
Stanislav Erokhin
434bd0707d
Correcting rewrite type info after compete call.
...
#KT-10934 Fixed
#KT-10896 Fixed
2016-02-08 20:49:31 +03:00
Mikhail Glukhikh
f25f0db10e
Fixed long / double / float value merge in OptimizationBasicInterpreter #KT-7401 Fixed
2015-12-16 17:45:38 +03:00
Alexander Udalov
d3c17ec337
Report error when type parameter has a type parameter bound and any other bound
...
To prevent issues with erasure on JVM: it's unclear what such type parameter
should be erased to
2015-12-07 15:47:47 +03:00
Yan Zhulanow
9d1af5a17e
Fix tests: "infix modifier required" and "operator modifier required" errors
2015-11-27 15:51:11 +03:00
Stanislav Erokhin
7d7d37719b
Forbidden old invokeExtension convention.
2015-10-17 14:45:53 +03:00
Dmitry Jemerov
1523d5bcbf
removing static type assertions work in progress
2015-10-12 11:11:23 +02:00
Dmitry Jemerov
7c20630272
diagnostics for deprecated syntax of function type parameter list
2015-10-06 16:20:47 +02:00
Denis Zharkov
11fed1674e
Deprecate extension annotation in favor of Extension
2015-09-04 17:23:25 +03:00
Alexander Udalov
49004a8b8e
Conform functions to extension functions and vice versa
...
#KT-5989 Fixed
2015-05-26 15:04:56 +03:00
Stanislav Erokhin
3de0dff575
Migrate testdata to new lambda syntax
2015-04-07 13:08:53 +03:00
Dmitry Jemerov
e60aafb18a
regression test for KT-3421
2015-03-04 17:43:38 +01:00
Dmitry Jemerov
7522eb4032
regression test for KT-3903
2015-03-04 17:32:40 +01:00
Dmitry Jemerov
18e54322b8
regression test for KT-4281
2015-03-04 17:27:55 +01:00
Dmitry Jemerov
a2e22c6d20
regression test for KT-3107
2015-03-04 17:24:58 +01:00
Alexander Udalov
a6d759ff96
Minor, add test for obsolete issue
...
#KT-3587 Obsolete
2014-11-25 23:16:56 +03:00
Stanislav Erokhin
2033042d33
Make candidates lazy in ResolutionTask & ResolutionTaskHolder
2014-11-17 17:38:52 +03:00
Evgeny Gerashchenko
fa70192f75
Added test for EA-49318.
2014-10-10 16:00:27 +04:00