Mikhail Glukhikh
4e3bd10cd3
Java annotation with target "TYPE" is now applicable to Kotlin targets "CLASSIFIER" and "FILE"
2015-09-04 12:49:24 +03:00
Mikhail Glukhikh
699f1e0a70
AnnotationTarget.PACKAGE was dropped
2015-09-04 12:49:14 +03:00
Alexander Udalov
9882e86ecb
Don't render contents of enum entry classes in .txt tests, regenerate tests
...
They are irrelevant because cannot be accessed from the outside anyway
2015-08-28 21:11:06 +03:00
Denis Zharkov
41d4af2cb9
Implement rendering of raw types
...
Also add some clarification in spec
2015-08-06 08:18:18 +03:00
Denis Zharkov
51668b4cc3
Do not substitute arguments while replacing them
...
It prevents from creating complicated types
2015-08-06 08:18:18 +03:00
Denis Zharkov
b7c042510d
Do not create redundant special variance when enhancing types
...
#KT-8538 Fixed
2015-08-06 08:18:17 +03:00
Denis Zharkov
b2766bfb57
Add test for obsolete issue
...
#KT-4609 Obsolete
2015-08-06 08:18:17 +03:00
Mikhail Glukhikh
45cc3c025f
Mapping of JavaDoc deprecated to Kotlin Deprecated + a pair of tests
2015-08-05 12:25:39 +03:00
Valentin Kipyatkov
729085ec9a
Iniital implementation of synthetic extensions for SAM-adapter functions (non-static only)
2015-08-04 18:05:55 +03:00
Denis Zharkov
6b92f67eac
Load raw types as platform with specific bounds
...
Raw(A<T_i>) = (A<UP(T_i)>..A<*>)
Raw types have specific scopes that behaves like JVM signature erasure
2015-07-31 17:33:21 +03:00
Mikhail Glukhikh
c2480d1183
Java to Kotlin annotation retention mapping + new test + JvmLoader test adaptation
2015-07-22 19:00:26 +03:00
Mikhail Glukhikh
1309c1f95f
Annotation mapper is introduced to map java annotation targets to kotlin targets + a set of new / fixed tests
2015-07-21 15:20:31 +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
Mikhail Glukhikh
af5e7f58da
Implementation of Kotlin's 'target' annotation mapping to Java's 'Target' annotation + tests
2015-07-17 12:05:27 +03:00
Mikhail Glukhikh
37b2e97e56
Rendering changed: "annotation class" is now just "class" (with kotlin.annotation.annotation if it's kotlin annotation).
...
A swarm of tests fixed accordingly.
2015-07-14 16:25:08 +03:00
Denis Zharkov
76648878e0
Ignore type parameters in value arguments while comparing SAM adapters
...
#KT-8388 Fixed
2015-07-10 08:46:27 +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
694af022c8
Type Enhancement for Java fields and constructors supported as well
2015-07-09 16:32:25 +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
Mikhail Glukhikh
bae9a7d7f8
Types are no more rendered for annotation arguments + a swarm of tests corrected accordingly
2015-07-01 16:12:32 +03:00
Denis Zharkov
602a1c11ac
Fix testData: parameter names are dropped from annotations
2015-06-23 16:44:47 +03:00
Denis Zharkov
9245cfaa7f
Load Class-object from java annotated entity as KClass
2015-06-12 09:55:08 +03:00
Denis Zharkov
2e284718ce
Revert "Create additional constructor for java annotation with Class-parameter"
...
This reverts commit 8f0e290dec .
2015-06-12 09:55:06 +03:00
Denis Zharkov
9080b57635
Revert "Load annotation parameter's type for ctr as contravariant"
...
This reverts commit 294eb1dceb .
2015-06-12 09:55:03 +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
Alexander Udalov
d2cd7b00bb
Map intrinsic companion objects in JavaToKotlinClassMap
...
Get rid of multiple usages of IntrinsicObjects where JavaToKotlinClassMap was
already used, simplify code, and support loading of *CompanionObject as Kotlin
built-in companions from Java code.
Also fix a small bug where Boolean was considered a class with an intrinsic
companion in IntrinsicObjects, although it was not
2015-04-24 02:09:26 +03:00
Denis Zharkov
6ca7d2aad7
Regenerate test data
...
Add properties for Java annotations
2015-04-23 08:27:41 +03:00
Denis Zharkov
98ffa3b475
Render Class-constant as javaClass<T>()
2015-04-16 10:40:20 +03:00
Denis Zharkov
294eb1dceb
Load annotation parameter's type for ctr as contravariant
...
See comment in code
2015-04-16 10:40:20 +03:00
Denis Zharkov
8f0e290dec
Create additional constructor for java annotation with Class-parameter
...
One of them with KClass<*> parameters and other with java.lang.Class<*>.
It's needed just for backward compatibility, and second one is deprecared.
2015-04-16 10:40:20 +03:00
Denis Zharkov
f5111180c3
Load Class<?> as KClass<*> for Java annotations parameters
2015-04-16 10:40:20 +03:00
Alexander Udalov
6279421094
Minor, add test on Java enum with specialized entry
2015-04-02 21:57:53 +03:00
Alexander Udalov
72aa3d1465
Use mock JDK in compiler tests where full JDK is not needed
...
- move some of boxWithStdlib tests under fullJdk/ directory, where they will be
compiled against the full JDK
- introduce FULL_JDK in-text directive for the reflection test as only 4 tests
out of 654 needed the full JDK
2015-04-02 21:57:48 +03:00
Andrey Breslav
61989ba245
KT-6815 Representing raw types when used as supertypes for Java classes
...
#KT-6815 Fixed
2015-03-11 18:27:37 +03:00
Alexander Udalov
e95d22dcfe
Refactor ReflectJavaConstructor.getValueParameters()
...
See https://youtrack.jetbrains.com/issue/KT-6886 for more information
2015-03-11 16:42:25 +03:00
Alexander Udalov
4fb420f3f1
Fix deserialization of enum annotation arguments at runtime
2015-03-11 16:42:23 +03:00
Alexander Udalov
a14b301f31
Resolve annotations on all reflected elements
...
Annotation in NestedEnumArgument test is made public, because we try to load
annotation argument values eagerly and fail, since you can't invoke methods
reflectively on an object of a non-effectively-public class
2015-03-11 16:42:19 +03:00
Alexander Udalov
73e4287aee
Initial support of annotation loading at runtime
...
In order to locate an annotated entity, we need to implement almost the whole
Java element model (which will be used anyway for Java descriptor loading)
2015-03-11 16:42:17 +03:00
Alexander Udalov
ca8831097f
Resolve annotations on Java constructors
...
Also add tests on custom annotations on fields and methods
2015-03-07 02:32:14 +03:00
Pavel V. Talanov
7b837e2631
Updata test data: txt files for diagnostics tests
2015-02-16 15:38:36 +03:00
Andrey Breslav
0f0f205248
Serializing information about star projections
2015-02-02 19:52:02 +03:00
Andrey Breslav
fecf6f9fdf
Star projection information preserved in substitutions
...
#KT-6700 Fixed
2015-02-02 19:52:01 +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
d2becce1ac
Make vararg argument of java annotation have 'out' type
2014-12-27 00:55:23 +03:00
Svetlana Isakova
d1556331ef
Simplified signatures propagation for vararg types
...
(do not change flexible types)
2014-12-27 00:55:23 +03:00
Pavel V. Talanov
d2cfcfa659
Fix test data after changes to renderer and descriptors
2014-11-14 17:09:05 +03:00