Commit Graph

41 Commits

Author SHA1 Message Date
Ilya Gorbunov 3639afafce Deprecated with ERROR preconditions with eager message. 2015-11-11 19:00:03 +03:00
Dmitry Jemerov 736b496f6a drop deprecated @platformName and @platformStatic annotations 2015-11-02 17:00:44 +01:00
Zalim Bashorov de5dc61820 Make NON_CONST_VAL_USED_IN_CONSTANT_EXPRESSION error 2015-10-18 22:49:08 +03:00
Michael Bogdanov 22142ee44d Initial support of JvmField annotation 2015-10-13 10:50:09 +03:00
Dmitry Petrov 3dfe9951ef Incremental compilation support for multifile classes. 2015-09-30 09:56:05 +03:00
Dmitry Petrov 80cbee83ee JvmName should have @Retention(AnnotationRetention.BINARY)
(TODO: fix JVM BE)
2015-09-21 14:24:09 +03:00
Stanislav Erokhin 8efbf4fc32 Fixed testdata -- removed package import 2015-09-18 21:00:20 +03:00
Denis Zharkov bae3320d52 Get rid of deprecated annotations in testData 2015-09-18 10:14:32 +03:00
Alexander Udalov 085fc3bf87 Transform anonymous types even for public symbols
This became necessary when we removed the requirement to specify types for
public members, because otherwise everything fails not being able to locate the
anonymous class from another module

 #KT-9072 Fixed
 EA-72801
2015-09-11 19:51:42 +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
Yan Zhulanow 55b2029b3c Remove FIELD target from jvmStatic and platformStatic annotations 2015-09-02 20:36:48 +03:00
Mikhail Glukhikh b2653ad1e9 Deprecated enum syntax removed: most compiler tests 2015-08-10 16:24:12 +03:00
Mikhail Glukhikh 609d696202 Annotations have now retention of "RUNTIME" by default. Java retention is generated as given by kotlin annotation. Annotation rendering changed.
Annotation arguments with default values are rendered as ... if renderDefaultAnnotationArguments is true.
Tests: java retention does not taken into account by Descriptor comparator.
Java retentinon changed to kotlin retention in some tests + one new test with java retention added.
More accurate tests for intentions in byte code (visibility controlled).
2015-07-14 16:25:01 +03:00
Denis Zharkov c9f79c2d05 Adjust testData: get rid of obsolete annotations 2015-06-12 09:23:31 +03:00
Dmitry Jemerov 4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Pavel V. Talanov 06916d98c6 default -> companion: replace all mentions of default and default object 2015-03-17 15:47:39 +03:00
Andrey Breslav 266485add3 Serialization of star projections fixed 2015-03-11 19:38:14 +03:00
Denis Zharkov 111a138a2a Serialize secondary constructors 2015-03-11 17:45:27 +03:00
Pavel V. Talanov 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Andrey Breslav 8ff5cf62cc Generate annotations from descriptors, not PSI 2014-12-23 15:18:46 +03:00
Denis Zharkov 654411a0b0 Refactored tests using Array constructor:
Some moved to tests with stdlib
Some changed to use arrayOfNulls
2014-12-11 16:04:03 +03:00
Alexander Udalov a7b88e9485 Make CharSequence.length a function instead of property
And String.length as well.

This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.

A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)

 #KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Andrey Breslav 070a7d4d72 Serialization of flexible types supported 2014-10-13 15:38:20 +04:00
Alexander Udalov b52f337f7f Drop enum class object hack
Place valueOf() and values() into the static scope of the corresponding enum
class

 #KT-5580 Fixed
 #KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Svetlana Isakova 7f33ad90a6 Report 'nested class accessed via instance reference' error 2014-09-01 12:32:50 +04:00
Alexander Udalov 947c9fb1bf Minor, rename "inner" -> "nested" in tests 2014-07-10 20:30:45 +04:00
Alexander Udalov c575ad9fb0 Fix test, remove duplicate annotation
It started to fail only now because KClassImpl constructor is now loading
class' annotations (previously annotations weren't loaded by Java reflection)
2014-07-02 01:55:54 +04:00
Alexander Udalov 5ab83aad8a Support references to extension properties in JVM codegen
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Evgeny Gerashchenko bf442a9700 Fixed loading integral constants from compiled classes. 2014-06-24 22:18:13 +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
Natalia Ukhorskaya 74c4234c64 Add test for kotlin compiled property as annotation parameter 2014-03-13 10:07:10 +04:00
Alexander Udalov dd290bbeb9 Create classes when deserializing enum entries 2013-12-02 19:56:07 +04:00
Alexander Udalov 6e45533065 Deserialize constructors of static nested classes correctly
Similar to what is done in TopDownAnalyzer
 #KT-4081 Fixed
2013-10-15 21:03:52 +04:00
Mikhael Bogdanov 8a4b01d9c6 KT-3702: Inner class constructor cannot be invoked in override function with receiver
KT-3532: NoSuchMethodError when constructing Java inner class
KT-3847: Class is not recognized as inner when loaded from binaries

 #KT-3702 Fixed
 #KT-3532 Fixed
 #KT-3847 Fixed
2013-08-06 10:58:27 +04:00
Natalia.Ukhorskaya 8e45bb7657 Fix wrong generated class name invoking inner objects from another module 2013-08-06 10:17:25 +04:00
Natalia.Ukhorskaya 37b12bff2e Vararg in constructor isn't loaded correctly from bytecode
#KT-3251 Fixed
2013-01-16 17:59:35 +04:00
Pavel V. Talanov ad848f2ebc Check for ClassKind in getClassifier() and getObjectDescriptor() implementations in java scopes
# KT-3124 fixed
2013-01-09 18:38:56 +04:00
Alexander Udalov 0fea6822c3 Fix codegen of loaded class objects
Remove useless check and todo.

 #KT-2717 Fixed
 #KT-3142 Fixed
2013-01-09 15:40:21 +04:00
Alexander Udalov a2e453b759 Refactor CompileKotlinAgainstKotlinTest
CKAKTest is now abstract, the actual testcases are generated via GenerateTests
into CompileKotlinAgainstKotlinTestGenerated.

Also invokeMain() now invokes namespace.main instead of bbb.namespace.main.
2013-01-09 15:32:51 +04:00
Natalia.Ukhorskaya 808c5abc0f Generate constructor without parameters if primary constructor has only parameters with default values
#KT-3085 Fixed
2012-12-27 12:29:06 +04:00
Stepan Koltsov b360d2ada3 test for bytecode generation of kotlin code against descriptors loaded from binary classes
test is:
1. compile file A
2. compile file B with binary class A in classpath
3. execute some code from file B
2012-01-19 20:16:09 +04:00