Dmitry Petrov
db58ebc4b2
KT-11410: Class hierarchy for parts/facade of multi-file class.
...
Preserve static initialization semantics for parts by introducing a special "clinit trigger" class.
Insert "static initialization trigger" call to every method of a part class, remove this call on inline.
Always mangle names for private functions in multifile class parts to avoid resolution clashes on inheritance.
NB in codegen tests initializers for all non-const vals are wrapped in 'run { ... }',
so that the initializer is not a constant expression, and some static initialization code should be generated.
2016-04-01 10:13:22 +03:00
Mikhail Glukhikh
4c03aaabd4
Implicit nothing / intersection types are now checked also for member functions #KT-11666 Fixed
2016-03-31 11:59:17 +03:00
Mikhail Glukhikh
b7e8f71367
Fix of getCorrespondingLoop for complex loop / try-finally trees #KT-8246 Fixed
2016-03-30 18:49:23 +03:00
Alexander Udalov
a8bebeb48d
Load annotations of const properties from multifile classes
...
Rework backing field generation logic in PropertyCodegen to switch the
ClassBuilder instance for a multifile part to that of the corresponding facade
class. This became needed because multifile parts, and their metadata, are
generated _before_ the multifile facade class and otherwise we would never
record that there's a synthetic '$annotations' method for a const val and would
not write that to the protobuf message for the property.
See also bad83200
#KT-10892 Fixed
2016-03-28 21:11:14 +03:00
Alexander Udalov
6924d883eb
Support reflection calls to multifile class members
...
#KT-11447 Fixed
2016-03-28 21:11:14 +03:00
Michael Bogdanov
0fdba49315
Test for KT-11514: Platform Double is converted to Int when comparing to Int literal
...
#KT-11514 Fixed
2016-03-24 14:11:25 +01:00
Michael Bogdanov
a851bb0fff
Fix for KT-11584: Regression in 1.0.1: incorrect comparison of Long! with integer constant
...
#KT-11584 Fixed
2016-03-24 08:51:43 +01:00
Alexander Udalov
348125acb3
Fix visibility of protected classes in bytecode
...
Protected should be translated to public as in Java so that everything would
work at runtime. The real visibility is still saved to an InnerClasses
attribute
#KT-8269 Fixed
#KT-9246 Fixed
#KT-10143 Fixed
2016-03-22 18:42:34 +03:00
Denis Zharkov
e54b25a35a
Fix StackOverflowError while mapping recursive intersection-type
...
#KT-10972 Fixed
2016-03-18 19:07:27 +03:00
Denis Zharkov
ce8add2802
Fix common supertype calculation
...
Use star-projections instead of 'out Any?' in corner cases
#KT-11468 Fixed
2016-03-18 10:12:00 +03:00
Michael Bogdanov
1a5bf33190
Fix for KT-11034: Private set with @JvmStatic lateinit var doesn't compile
...
#KT-11034 Fixed
2016-03-10 10:17:27 +03:00
Alexander Udalov
eef3631b8a
Improve toString() for lambdas and function expressions
...
#KT-9952 Fixed
2016-03-09 10:49:26 +03:00
Alexander Udalov
bab127ad33
Remove some legacy codegen tests, move some to generated
2016-03-09 10:25:38 +03:00
Alexander Udalov
f8dfaf4599
Merge boxWithJava testData into box, delete BoxWithJava test
2016-03-09 10:25:38 +03:00
Alexander Udalov
16a0ddd2fb
Merge boxMultiFile testData into box, delete BoxMultiFile test
2016-03-09 10:25:38 +03:00
Alexander Udalov
06a67e6602
Merge boxWithStdlib testData into box, delete BoxWithStdlib test
2016-03-09 10:25:38 +03:00
Alexander Udalov
22bfc9786a
Add WITH_RUNTIME or WITH_REFLECT to boxWithStdlib testData
2016-03-09 10:25:38 +03:00
Alexander Udalov
2564a2f91f
Do not include kotlin-reflect at runtime by default in codegen tests
...
Change some tests to either include reflection or to avoid using it
2016-03-09 10:25:38 +03:00
Alexander Udalov
20e36438e2
Move some tests from boxWithStdlib/ to box/
...
Move those tests which do not require neither stdlib nor reflect
2016-03-09 10:25:38 +03:00
Denis Zharkov
68f411395a
Fix bridge generation for special builtin override
...
Use method itself signature as common bridge delegate
#KT-11285 Fixed
2016-03-07 09:26:02 +03:00
Alexander Udalov
daab3db062
Add WITH_RUNTIME and WITH_REFLECT directives to box tests
...
Currently all tests in boxWithStdlib/ run with both runtime and reflection
included; eventually they'll be merged into box/ using these directives
2016-03-03 16:11:21 +03:00
Dmitry Petrov
9244ef9b81
Do not use 'dup' for postfix increment/decrement: can't do it with collection element in general.
...
KT-11190, KT-11191, KT-11192, KT-11200, KT-11206
2016-03-02 14:28:06 +03:00
Dmitry Petrov
3ca4097bcc
KT-11203: report errors on read-write operations for elements of collections with inconsistent get&set signatures
2016-03-02 14:28:06 +03:00
Michael Bogdanov
16afe74dc1
Fix for KT-11117: Android Kotlin DEX transformation error when I use arrayOf as an anonymous object property
...
#KT-11117 Fixed
2016-02-29 12:53:58 +03:00
Denis Zharkov
4c88e2a0bc
Use original descriptor when mapping fake override
...
Otherwise wrong CONFLICTING_INHERITED_JVM_DECLARATIONS were reported
#KT-10691 Fixed
2016-02-25 11:10:48 +03:00
Michael Bogdanov
582b1c5e66
Fix for KT-11163: Incorrect codegen in case of custom compareTo on primitives
...
#KT-11163 Fixed
2016-02-25 10:16:09 +03:00
Alexey Andreev
a4db14eff5
[KT-4124] Add tests for qualified labeled super access to functions and properties
2016-02-20 15:19:31 +03:00
Alexey Andreev
9238afc439
[KT-4124] Fix some tests from common testData
2016-02-20 15:19:29 +03:00
Alexey Andreev
c705fafc95
[KT-4124] Add support for super<T>@Outer.functionName() case
2016-02-20 15:19:25 +03:00
Alexey Andreev
20b3361edc
[KT-4124] Fix test compatibility between JS and Java backed for several tests
2016-02-20 15:19:24 +03:00
Alexander Udalov
1b8f934b54
Delete deprecated enum 'values' property
2016-02-19 22:28:44 +03:00
Anton Sukhonosenko
0073257841
Fix for KT-10313: ClassCastException with Generics
...
#KT-10313 Fixed
2016-02-12 10:53:28 +03:00
Denis Zharkov
12552d2fc1
Refine special bridges generation
...
#KT-10958 Fixed
2016-02-10 20:18:46 +03:00
Stanislav Erokhin
434bd0707d
Correcting rewrite type info after compete call.
...
#KT-10934 Fixed
#KT-10896 Fixed
2016-02-08 20:49:31 +03:00
Ilya Gorbunov
5361f6e941
Make Throwable properties message and cause open.
...
#KT-5587 Fixed
2016-02-08 18:10:46 +03:00
Denis Zharkov
c879f83037
Fix primitive types mapping
...
Use boxed version if type was enhaced to not-nullable
2016-02-08 16:40:47 +03:00
Michael Bogdanov
5f38c1d571
Fix for KT-10729: Accessing private const field in companion object from a function in the same companion generates run-time error
2016-02-01 18:42:19 +03:00
Dmitry Petrov
b3f390abe5
Fix KT-10775 Empty when causes compilation exception.
...
Expression type for an empty 'when' is 'kotlin.Unit'.
2016-01-29 18:50:48 +03:00
Michael Bogdanov
e1fa6491c1
Test for obsolete KT-10044: "Don't know how to generate outer expression for class" with lambda in init block
...
#KT-10044 Obsolete
2016-01-29 12:42:37 +03:00
Mikhail Glukhikh
ed8ccdc15a
Take into account data flow info changes for special call (if/when/elvis/!!) arguments #KT-10824 Fixed
...
Smart casts on complex expressions look as no more possible
2016-01-28 19:30:20 +03:00
Yan Zhulanow
3fa506fd45
"Inapplicable operator modifier" and "Inapplicable infix modifier" are now errors
2016-01-26 17:21:44 +03:00
Stanislav Erokhin
210c9ab3db
Minor. Added regression tests for: KT-3927, KT-9522, KT-10036, KT-7440, KT-9682, KT-9808, KT-9517, KT-9810, KT-9345.
2016-01-25 19:13:32 +03:00
Michael Bogdanov
874560df9d
Fix for KT-10715: Verify error on incrementing backing field from accessor
2016-01-25 16:56:57 +03:00
Mikhail Glukhikh
3106a8508a
Front-end and back-end test for KT-7801
2016-01-22 16:37:00 +03:00
Mikhail Glukhikh
7ac55cefcb
Extra test with smart cast to 'T'
2016-01-22 16:36:57 +03:00
Ilya Gorbunov
4d5ec9be3f
Drop identityEquals from builtins, compiler and tests.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
b97e436a50
Fix deprecated Range and Progression usages in testData
2016-01-22 05:54:38 +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
ba506170e9
Use 'mapToCallableMethod' for delegateTo signature calculation
...
#KT-9707 Fixed
2016-01-21 11:24:23 +03:00
Denis Zharkov
ede4b61980
Add tests for obsolete issue
...
#KT-7412 Obsolete
2016-01-20 14:27:53 +03:00