Commit Graph

58 Commits

Author SHA1 Message Date
Denis Zharkov c6ae423816 Add tests for KT-35468
^KT-35468 Fixed
2020-04-29 09:17:54 +03:00
pyos 18dcbb3c94 JVM_IR: copy annotations to nullary bridges for default constructors 2020-02-05 22:02:05 +01:00
Georgy Bronnikov 174b3db723 IR: capture more type parameters for local functions.
Types of value parameters and captured variables, even unused, need to
be considered.
2020-01-17 19:20:19 +03:00
Alexander Udalov 463728a96a Fix compiler test on Throws+delegation for 1.4
No exceptions are generated for delegation in 1.4 (see KT-35834).
2020-01-17 12:47:20 +01:00
Georgy Bronnikov 8d0ffa1444 IR: copy type parameters for local functions in LocalDeclarationLowering
Local functions raised in LocalDeclarationLowering continue to refer to
type parameters that are no longer visible to them.
This commit only adds new type parameters to their declarations, which
makes JVM accept those declarations. The generated IR is still
semantically incorrect (needs further fix), but code generation seems
to proceed nevertheless.
2020-01-09 22:10:27 +03:00
Steven Schäfer 917ef250cf Add and (un)mute inline class tests 2019-06-13 12:25:06 +02:00
Mads Ager d2c372a4f7 JVM_IR: No EnclosingMethod attribute for member classes.
The comment in the code is correct that EnclosingMethod
attributes should only be generated for local and
anonymous classes. We were generating them for member
classes as well which leads to invalid class files.

With this change I had to mute one more tests. That is
because we lose the parent method and therefore we
see a class as a member class instead of a local class.
With the old descriptor based check that test still
passes.
2019-05-15 19:22:38 +02:00
pyos 57dca2ada5 JVM_IR: generate exception specifications 2019-04-12 13:00:54 +02:00
pyos c7d7d903cd Add the IR version of CompileJavaAgainstKotlin tests
Only the WithoutJavac version for now, because the other one ignores
javac errors.
2019-04-12 12:43:37 +02:00
Dmitry Petrov 34548a0667 Fix primitive override with inline class in Kotlin-Java inheritance 2018-08-23 13:07:07 +03:00
baratynskiy 5eea3b6569 Introduce experimental -Xuse-javac compilation mode
In this mode, javac AST and Symbol files are used during
Kotlin compilation instead of PSI / binary stuff.
Later, they are reused for Java file compilation.
javac in this mode is integrated into kotlinc.
2017-05-17 17:48:17 +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
Ilya Gorbunov d943079557 Exception typealiases rendering in test output 2016-08-17 12:40:50 +03:00
Denis Zharkov b94baede38 Minor. Fix rendered Throwable member scope 2016-04-25 17:41:08 +03:00
Ilya Gorbunov 5361f6e941 Make Throwable properties message and cause open.
#KT-5587 Fixed
2016-02-08 18:10:46 +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
Alexander Udalov 75f046fa81 Drop Throwable#printStackTrace, make it a JVM-specific extension 2015-12-25 20:16:18 +03:00
Dmitry Petrov e7fb7483c5 Drop package facades: update compiler tests. 2015-10-19 16:03:16 +03:00
Denis Zharkov 17c906658d Transform Throwable members to properties 2015-10-14 20:39:59 +03:00
Denis Zharkov fd0c92e307 Record inner class info for interface and DefaultImpls 2015-09-30 08:19:51 +03:00
Denis Zharkov a101fffd9a Change INTERFACE_IMPL_CLASS_NAME: $TImpl -> DefaultImpls 2015-09-30 08:19:51 +03:00
Dmitry Petrov 39e0b3ab92 fix testData related to JvmName retention 2015-09-21 17:33:06 +03:00
Dmitry Petrov da026f1480 Report errors for annotations with BINARY or RUNTIME retention on file classes. 2015-09-21 12:11:53 +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 bae3320d52 Get rid of deprecated annotations in testData 2015-09-18 10:14:32 +03:00
Michael Nedzelsky ece8bb07b2 fix tests in org.jetbrains.kotlin.jvm.compiler 2015-09-08 02:04:38 +03:00
Denis Zharkov 952d45dc8b Deprecate JVM platform annotations in favor of capitilized themselves 2015-09-04 18:19:31 +03:00
Denis Zharkov 2b76941733 Deprecate throws annotation in favor of Throws 2015-09-04 17:23:26 +03:00
Dmitry Jemerov 4743a69d76 rename platformName annotation to jvmName 2015-08-25 15:40:46 +02: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
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 c9f79c2d05 Adjust testData: get rid of obsolete annotations 2015-06-12 09:23:31 +03:00
Alexander Udalov 7ba0dda29c Check compileJavaAgainstKotlin tests with .txt files 2015-06-01 19:23:07 +03:00
Dmitry Jemerov 1188e57597 rename @overloads annotation to @jvmOverloads 2015-05-27 12:23:08 +02:00
Dmitry Jemerov 4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Denis Zharkov 6ef2340eb5 Migrate type of throws parameter to KClass
Change declaration, testData and codegen parts for `throws`
2015-04-21 08:08:31 +03:00
Dmitry Jemerov 9434e4bee9 mark wrapper methods that pass default values of parameters as synthetic
#KT-7314 Fixed
2015-04-13 15:26:20 +02:00
Denis Zharkov 4022982760 Add synthetic argument to default constructors
It's need to add synthetic argument (of type that user can't use)
to constructors with default arguments to avoid clashing with
real user's constructor having the same set of parameters
and additional int's arguments.
2015-03-11 17:45:28 +03:00
Andrey Breslav 2351c53dce Test that Javac does not fail on two methods that differ only by return type 2014-06-19 22:11:56 +04:00
Andrey Breslav 705a081919 KT-5214 Annotation to provide platform name to avoid signature conflict
#KT-5214 Fixed
2014-06-10 18:21:36 +04:00
Alexander Udalov ea31f372aa Check for syntax/diagnostic errors in some tests 2014-05-29 21:24:05 +04:00
Alexander Udalov 2b5bc6b63d Fix logic of forcing method return type to be wrapped
Return type must be wrapped if any super-method in the hierarchy, not just the
direct super-method, returns a reference type (as opposed to a primitive type)

Actually there was a test reflecting this, but it wasn't running because of an
unfixed diagnostic error
2014-05-29 21:24:02 +04:00
Evgeny Gerashchenko dadc8351b6 Added tests for compiling Java against TraitImpl and extension members. 2014-03-31 22:39:58 +04:00
Alexander Udalov b6b1f2a94a Minor, package "test" in compileJavaAgainstKotlin testData 2014-03-19 23:24:27 +04:00
Alexander Udalov 8425f2e668 Copy type parameters for JVM function accessors
Otherwise generic signature wasn't correctly written to accessors, resulting in
classfiles not being valid and javac failing to compile Java sources against
them
2014-02-26 21:22:57 +04:00
Andrey Breslav ab7d8a7734 Tests for abstract functions with default arguments 2014-01-23 17:59:18 +04:00
Andrey Breslav 4ab0b00bd3 Support [throws] annotation 2014-01-23 17:59:18 +04:00
Andrey Breslav b66a76e7d2 xxx$default() function should be visible from Java 2014-01-23 17:59:17 +04:00
Andrey Breslav 39234b4d3e Delegated members should not be synthetic
Otherwise they are invisible to Java code
2014-01-23 17:59:17 +04:00