Commit Graph

1379 Commits

Author SHA1 Message Date
Dmitry Jemerov 4ca434da54 remove support for 'trait' keyword 2015-09-22 15:00:24 +02:00
Mikhail Glukhikh a1e3471d92 "field": deprecated warnings introduced, compiler tests migrated to the new syntax 2015-09-21 15:48:00 +03:00
Mikhail Glukhikh 9f640b00d9 "field": synthetic variable creation in accessors, codegen changed accordingly, a set of tests, relevant code fix (j2k) 2015-09-21 15:47:49 +03:00
Dmitry Petrov 7f4ae52517 Generate annotations for single-file classes. 2015-09-21 12:10:40 +03:00
Ilya Gorbunov 9c974b6c5c Fix deprecations in testData: BlackBoxWithStdLibCodegenTest 2015-09-19 04:33:20 +03:00
Ilya Gorbunov e40a5457e3 Fix deprecations in testData: arrayOf usages. 2015-09-19 04:32:56 +03:00
Stanislav Erokhin 387d16d1d5 Regenerate RangesCodegenTest 2015-09-18 21:00:19 +03:00
Denis Zharkov 9dada595b6 Replace deprecated annotations with modifiers in testData 2015-09-18 10:14:41 +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 9adde77c47 Replace inlineOption(ONLY_LOCAL_RETURN) with crossinline in testData 2015-09-18 10:14:33 +03:00
Denis Zharkov bae3320d52 Get rid of deprecated annotations in testData 2015-09-18 10:14:32 +03:00
Dmitry Petrov 50ff2a3ad2 Multifile facade should contain reflection data,
otherwise callable references to stdlib functions will not work in the migration scheme.
2015-09-14 17:47:49 +03:00
Dmitry Petrov 1586a2df8e Make stdlib work with -Xmultifile-package-facades.
Fixed wrong owner mapping in presence of -Xmultifile-package-facades.
Fixed backing field mapping issue.
Added more tests.
2015-09-14 11:26:29 +03:00
Dmitry Petrov 50f83da6da - call multifile class members (compiling against binaries)
- inline multifile class members
2015-09-14 11:25:42 +03:00
Dmitry Petrov 5f9a59d655 - bytecodeTextMultifile - framework for bytecode text tests
with multiple Kotlin source files
- bytecodeTextMultifile/partMembersCall, initial import
2015-09-14 11:25:42 +03:00
Dmitry Petrov 2931e474e1 - InnerClasses & EnclosingMethod attributes for local classes
in multifile part members
- invocation of multifile part/facade members
(TODO: deserialized descriptor case)
- inlining of multifile part/facade members
(TODO: inline against binaries case)
2015-09-14 11:25:41 +03:00
Yan Zhulanow 01b2d02196 Remove @get: @set:, reorder remaining annotation targets 2015-09-11 22:32:23 +03:00
Dmitry Petrov 6850e9180e Effectively this is a return of "${facadeName}__${partName}" scheme.
Suggestions from @udalov:
- Make multifile class parts synthetic.
- Multifile class parts should have well-formed Java identifiers as names.
- Multifile class part names should contain facade name.
Add test with clashing part names.
Add test with local generic classes used in method signatures
(it works with parts names not being well-formed Java identifiers, though).

Capitalized annotations.
2015-09-10 18:03:34 +03:00
Alexander Udalov a1a2adf523 Fix inheritance from protected members of interfaces
#KT-3029 Fixed
2015-09-10 15:42:58 +03:00
Michael Bogdanov 908228a3cf Test for obsolete KT-8133
#KT-8133 Obsolete
2015-09-10 12:43:27 +03:00
Michael Bogdanov a5f7df3ebf Fix for KT-9064
#KT-9064 Fixed
2015-09-10 11:08:02 +03:00
Dmitry Petrov 8162272106 Cleanup
- do not use annotation resolve in CodegenFileClassProvider
- test using private methods across different parts of multifile class
2015-09-09 19:08:19 +03:00
Dmitry Petrov e88584742e basic multifile class codegen tests 2015-09-09 19:08:18 +03:00
Alexander Udalov 3c4b2994a9 Fix protected call to super method from lambda
Previously JVM back-end had an assumption that if we're calling a method
declared in the super class from a lambda via a synthetic accessor, that should
be a super call and it must be done with 'invokespecial'. Which is wrong
because a method declared in the super class may be open and overridden in the
subclass, so 'invokevirtual' should be used. Surprisingly, Java SE verifier
allowed both instructions, but on Android only the latter is possible

 #KT-8899 Fixed
 #KT-9052 Fixed
2015-09-08 20:28:35 +03:00
Dmitry Petrov bc5e29df9f update tests: jvmName --> JvmName 2015-09-08 13:02:56 +03:00
Dmitry Petrov 2519641b2b JvmName annotation support, single-file facade case (just rename file facade class)
- initial implementation of JvmFileClassesProvider
- migrate some of PackagePartClassUtil usages to JvmFileClassesProvider (mostly in Codegen)
- placeholder ("no resolve") implementation for migration period and unclear cases
- tests
2015-09-08 13:02:56 +03:00
Denis Zharkov 676ca86ea4 Deprecate escaped modifiers and unescaped annotations 2015-09-08 12:11:30 +03:00
Michael Bogdanov 912111d237 Fix for KT-8948: CompilationException: Back-end (JVM) Internal error: Couldn't inline method call 'foo' into
#KT-8948 Fixed
2015-09-08 11:34:40 +03:00
Michael Nedzelsky e6e6b20885 fix tests in org.jetbrains.kotlin.js.test.semantics for secondary constructors: TODO: fix problem and remove this commit 2015-09-08 02:06:23 +03:00
Michael Nedzelsky a40c80e90b fix tests in org.jetbrains.kotlin.codegen.generated 2015-09-08 02:05:09 +03:00
Michael Nedzelsky bc5c9065d2 fix tests in org.jetbrains.kotlin.checkers 2015-09-08 02:04:32 +03:00
Michael Bogdanov 2b6ebedc3e onReceiver test fix 2015-09-07 16:29:04 +03:00
Michael Bogdanov 47635c19a2 Generate calls through new minifacades 2015-09-07 16:28:59 +03:00
Dmitry Petrov cd6ff31129 Update tests depending on part class naming 2015-09-07 16:28:43 +03:00
Dmitry Petrov a47eaa2cb5 Change part class naming scheme
update tests depending on part class naming
2015-09-07 16:28:42 +03:00
Michael Bogdanov 905e74f870 TODO: restore tests: files with same names 2015-09-07 16:28:38 +03:00
Mikhail Glukhikh 8f7b29f80a Annotation rename: target --> @Target 2015-09-07 13:42:26 +03:00
Yan Zhulanow 4ca127ecb3 Create custom exception for lateinit 2015-09-05 00:54:20 +03:00
Yan Zhulanow fc3bf3cca4 Implement lateinit in backend 2015-09-05 00:54:19 +03:00
Alexander Udalov d0a4f82203 Fix NO_KOTLIN_REFLECT directive handling in codegen tests
It was disabling reflection on classpath at compile time, but not at runtime
2015-09-04 20:18:59 +03:00
Mikhail Glukhikh eab288bdd7 annotation() now has no arguments. Syntax migration to Retention / Repeatable / MustBeDocumented combination
Deprecated test for annotation(params) completion deleted. A lot of tests changed.
2015-09-04 19:21:12 +03:00
Denis Zharkov 31244edec9 Deprecate deprecated in favor of Deprecated 2015-09-04 18:19:31 +03:00
Denis Zharkov 952d45dc8b Deprecate JVM platform annotations in favor of capitilized themselves 2015-09-04 18:19:31 +03:00
Denis Zharkov 5471a1d18a Add kotlin.external annotation and deprecate kotlin.jvm.native 2015-09-04 18:19:31 +03:00
Denis Zharkov 26f9bd7b63 Deprecate some of JVM flag annotations in favor of capitilized themselves 2015-09-04 18:19:31 +03:00
Denis Zharkov 9254b1b461 Deprecate tailRecursive in favor of tailrec 2015-09-04 17:23:26 +03:00
Denis Zharkov bbc192fda5 Deprecate suppress annotation in favor of Suppress 2015-09-04 17:23:25 +03:00
Denis Zharkov 11fed1674e Deprecate extension annotation in favor of Extension 2015-09-04 17:23:25 +03:00
Alexander Udalov df935f5bb7 Support reflection on lambdas and function expressions
Write a special annotation containing the bytes for the Callable protobuf
message and deserialize it at runtime properly

 #KT-9005 Fixed
2015-09-03 21:43:58 +03:00
Mikhail Glukhikh fa292ec0e0 Enum entries now can have no initializer if default secondary constructor is available. #KT-8484 Fixed 2015-09-02 18:23:07 +03:00