baratynskiy
01883a41cb
javac-wrapper: refactoring, fixes and tests
2017-08-29 18:01:36 +03:00
Valentin Kipyatkov
ec51076355
DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers
2016-10-11 23:38:54 +03:00
Denis Zharkov
838fcf9a57
Load contavariantly projected collections in Java as mutable
...
#KT-3068 Fixed
2016-03-18 19:07:27 +03:00
Denis Zharkov
c1f57b743b
Do not build enhanced descriptors if they are unchanged
2016-02-08 16:40:47 +03:00
Denis Zharkov
11a96ee8c8
Introduce not null type parameter capability
...
Java nullability annotations may generate types that currently are not denotable in Kotlin:
class Java {
void <F> foo(@NotNull F f) {}
}
Type of given value parameter should be not nullable under any substitution:
String/String?/String! because of annotation contract.
NB: Currently there is no full analogues for such types in pure kotlin
2016-01-28 08:36:23 +03:00
Denis Zharkov
6542d091ee
Support generic constructors defined in Java
...
#KT-10686 Fixed
#KT-10410 Fixed
2016-01-28 08:35:18 +03:00
Ilya Gorbunov
f4822cd757
Fix testData in compiler: add collections and ranges package to fq-names.
2016-01-22 05:54:38 +03:00
Denis Zharkov
95cecdbc42
Support overrides of generic methods with erased version in Java
2015-12-03 18:19:36 +03:00
Alexander Udalov
d472154ea7
Remove KotlinSignature from tests, spec, delete tests with errors
2015-11-27 21:22:04 +03:00
Denis Zharkov
28c46b73f1
Rename some of builtin parameters
2015-10-17 17:46:16 +03:00
Mikhail Glukhikh
78cfeb0d7d
Stdlib rename: List.indexOf(T), List.lastIndexOf(T), MutableCollection.removeAll(Collection<T>), MutableCollection.retainAll(Collection<T>)
2015-10-14 20:40:09 +03:00
Denis Zharkov
6322198a11
Revert 'isEmpty' transformation
2015-10-14 20:40:01 +03:00
Alexander Udalov
f16f4e5541
Disable loading parameter names from KotlinSignature, update test data
2015-10-13 20:29:15 +03:00
Denis Zharkov
6f4579213c
Adjust rendered descriptors after remove/charAt transformations
2015-10-11 19:59:30 +03:00
Denis Zharkov
cfc9d19825
Transform Collection.isEmpty and Map.Entry.key/value to properties
2015-10-10 12:29:14 +03:00
Denis Zharkov
14f93a88c4
Adjust rendered collections desciptors to contains* transformation
2015-10-09 14:40:34 +03:00
Denis Zharkov
547aa2cda6
Load special java methods as properites
...
Currently only those that override special builtin properties (e.g. `Collection.size`)
Their modality is defined by method's modality
2015-10-06 23:56:17 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Denis Zharkov
97af85da9c
Change default upper bound of Java type parameters to Any!
...
#KT-7672 Fixed
2015-07-21 15:16:05 +03:00
Andrey Breslav
4e17500e1c
Test data for LoadJava tests fixed
2015-07-09 16:36:43 +03:00
Denis Zharkov
c01c59d562
Use doSubstitute when enhacing types of Java method
...
Before this commit old type parameters were inserted into new descriptor,
and that broke a simple contract: desc.child.getContainingDeclaration() == desc.
We use `doSubstitute` here because it does exactly what we need:
1. creates full copy of descriptor
2. copies method's type parameters (with new containing declaration) and properly substitute to them in value parameters, return type and etc.
But we had to customize `doSubstitute`: add some parameters like `newReturnType`
NOTE: Strange testData change.
(Mutable)List<in T!>! after substitution becomes MutableList<in T!>..List<*>?.
But it's not wrong because List<in T> behaves exactly as List<*>, and the same happens when substituing Java class scope:
public class A<E> {
<T> void foo(List<? super T> x) {}
}
Kotlin:
A.foo(), type of first value parameter --- (Mutable)List<in T!>
A<String>().foo(), type of first value parameter --- MutableList<in T!>..List<*>?
2015-07-09 16:36:42 +03:00
Andrey Breslav
8c78739983
Proper enhancement for type parameters
2015-07-09 16:32:25 +03:00
Denis Zharkov
a6a099b0f5
Fix flexible type rendering
...
Do not append "!" if bounds have same nullability
2015-07-09 16:32:24 +03:00
Alexander Udalov
4141e0a8df
Introduce fictitious numbered Function class descriptors
2015-05-26 15:04:54 +03:00
Dmitry Jemerov
9975bb8935
replace 'trait' keyword with 'interface' in user-visible messages and code generation tools
2015-05-12 11:49:37 +02:00
Andrey Breslav
0f0f205248
Serializing information about star projections
2015-02-02 19:52:02 +03:00
Alexander Udalov
3b81d63334
Rename jet -> kotlin in compiler-tests (except resolve)
...
Move test-related code to org.jetbrains.kotlin.test, also move some tests to
packages with better names
2015-01-12 00:24:12 +03:00
Svetlana Isakova
7b09e85717
Added check for incompatible variance modifiers and repeated modifiers
2014-12-27 00:55:25 +03:00
Svetlana Isakova
d1556331ef
Simplified signatures propagation for vararg types
...
(do not change flexible types)
2014-12-27 00:55:23 +03:00
Alexander Udalov
3a8ad45dec
Append newline to EOF for .txt test data files
...
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Andrey Breslav
91b0b83ec3
Java declaration annotations are treated as type annotations
...
This is needed, for example, to approximate flexible types correctly when rendering them in the code
2014-10-13 15:38:06 +04:00
Andrey Breslav
d25a76e044
Disabling @KotlinSignature checks in PLATFORM_TYPES mode
2014-10-13 15:38:05 +04:00
Andrey Breslav
ea3215b361
Massive test data update for compiledJava
2014-10-13 15:38:05 +04:00
Andrey Breslav
8134d097e3
Another portion of test data fixed
2014-10-13 15:37:54 +04:00
Andrey Breslav
fefadaa171
Rendering platform type for java.util.Map.Entry as kotlin.(Mutable)Map.(Mutable)Entry
2014-10-13 15:37:53 +04:00
Andrey Breslav
dd2e95b3bc
Substitution implemented for flexible occurrences of Java type parameters
2014-10-13 15:37:52 +04:00
Andrey Breslav
1933e30905
Test data split between compiledJava tests and compiledKotlin tests
...
Basically, this commit splits test data from the from java-txt-kt to two pairs java-txt and kt-txt.
This commit leads to some duplication in test data.
This is temporary: in the platform types branch the test data for LoadJava tests will be changed dramatically, so duplication will go away
2014-08-21 12:22:22 +04:00