Stanislav Erokhin
7332032bb6
Support sealed class inheritors in the same file
...
#KT-11573 Fixed
2016-05-19 16:22:40 +03:00
Mikhail Glukhikh
a4ad995f31
Overridden functions using default arguments in recursive call are no more considered tail recursive #KT-4285 Fixed
2016-05-17 14:29:01 +03:00
Mikhail Glukhikh
f35fd32a25
Exhaustive when with 'Unit' result now also generates an exception in else branch #KT-12192 Fixed
2016-05-17 14:28:57 +03:00
Denis Zharkov
d0acb3674a
Fix rendered testData
...
New members in enum member scope
2016-05-16 15:38:13 +03:00
Mikhael Bogdanov
c06b51c1d1
Allow top-level local delegated properties in scripts
2016-05-13 19:11:23 +03:00
Mikhael Bogdanov
6ece2b41d6
Box inline test for local delegated property
2016-05-13 19:11:23 +03:00
Mikhael Bogdanov
ec632c37ab
Support increment and '+=' on local delegated properties
2016-05-13 19:11:21 +03:00
Dotlin
4c223845b6
Delegated Properties: Code generation for local properties (JVM)
2016-05-13 19:11:19 +03:00
Mikhael Bogdanov
d6a64af929
Fix for KT-12125: Wrong increment/decrement on Byte/Char/Short.MAX_VALUE/MIN_VALUE
...
#KT-12125 Fixed
2016-05-11 18:07:25 +03:00
Mikhael Bogdanov
ca31ce8d88
Support new tests on android, disabled not applicable ones
2016-05-06 17:31:53 +03:00
Mikhael Bogdanov
cd6b709ef5
'bytecodeText' test for synthetic accessor generic signature converted to 'writeSignature' test
2016-05-04 17:07:48 +03:00
Mikhael Bogdanov
ee7bbbf530
Fix for KT-12127: Undeclared type variable on delegated property backing field
...
#KT-12127 Fixed
2016-05-04 17:07:48 +03:00
Michael Bogdanov
e2ae2f313c
Support test with self imports, kotlin multifile tests
2016-04-29 16:33:04 +03:00
Denis Zharkov
d259b91143
Add MutableMap.remove(K, V) as built-in declaration
...
Use PlatformDependent annotation to guarantee it's only be available for JDK8
Also adjust type-safe bridges and mutable collection stubs generation
2016-04-29 15:08:54 +03:00
Kirill Rakhman
4a619db721
Add intrinsic for KCallable.name property Fixes #KT-11531
2016-04-28 23:03:00 +03:00
Denis Zharkov
5bc5722051
Load additional JDK functions into built-ins member scope
...
#KT-5990 Fixed
#KT-7127 Fixed
#KT-10370 Fixed
2016-04-25 17:41:08 +03:00
Alexey Andreev
4ac730e5ed
KT-11030 Fix referencing wrong field generated for captured variable when this captured variable referenced both from constructor and non-constructor method. Avoid duplicate generation of call to delegated constructor.
2016-04-20 18:12:24 +03:00
Alexey Andreev
a5e0c70988
KT-11611 Prevent duplicate generation of default values of secondary constructor parameters
2016-04-20 18:12:23 +03:00
Alexey Andreev
7afca74b94
KT-11030 When constructor of object expression calls super constructor, place this call at object creation instead of object's constructor. This allows to capture outer this reference properly in certain cases. JVM backend uses the same approach
2016-04-20 18:12:23 +03:00
Alexey Andreev
b39c16cb6c
KT-11030 Fix translation of secondary constructors of inner classes
2016-04-20 18:12:22 +03:00
Alexey Andreev
3e11209d8a
KT-11030 Borrow test for local classes from JVM backend
2016-04-20 17:49:03 +03:00
Michael Bogdanov
68f5e4d10e
Added debug strata to test data
2016-04-20 17:07:14 +03:00
Michael Bogdanov
0a46cea799
TODO: optimize smap - do preproccessing
2016-04-20 17:07:10 +03:00
Michael Bogdanov
ff820bddc0
New source mapping
2016-04-20 17:07:06 +03:00
Dmitry Petrov
e441f0509f
KT-11943 Do not use intrinsic 'java' property if receiver type is not acceptable
2016-04-19 10:31:30 +03:00
Dmitry Petrov
583733be8d
KT-11645 properly handle private property getter name mangling in reflection
2016-04-14 09:31:29 +03:00
Dmitry Petrov
511a7e0072
KT-11645 generate backing field for 'private const val' in part implementation class
2016-04-14 09:31:29 +03:00
Michael Bogdanov
be999ca4cb
Write proper start label for parameters of inline function default implementation
2016-04-12 15:31:49 +03:00
Michael Bogdanov
c52c0e2c2d
Write proper start label for inlined constructor parameters (start label was shifted by additional captured parameters injection)
2016-04-12 15:23:14 +03:00
Dmitry Petrov
aca7050656
KT-11499 Normalize stacks on return from an inline function when the function is inlined at call site.
2016-04-08 14:52:55 +03:00
Michael Bogdanov
a6044c81ff
Write proper start label for loop parameter
2016-04-08 14:32:51 +03:00
Dmitry Petrov
f1b061d662
Optimize coercion to Unit.
...
POP operations are backward-propagated.
Operation can't be transformed if its result is moved within stack
(by DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, or SWAP).
Unnecessary operations are replaced with NOPs (for debugger).
Unnecessary NOPs are removed.
KT-9922 Suboptimal generation for simple safe call with unused return value
KT-11116 Optimize methods returning Unit
2016-04-07 11:40:58 +03:00
Alexander Udalov
c4a568efff
Minor, add test cases for obsolete protected-related issues
2016-04-07 00:07:11 +03:00
Alexey Andreev
05887f45f7
KT-7819 Implement non-local returns
2016-04-06 16:16:55 +03:00
Alexey Andreev
a6e1bd1d89
KT-7819 Borrow tests for non-local returns from JVM backend
2016-04-06 16:16:55 +03:00
Michael Bogdanov
dec53c8d6c
Fix for KT-11762: "VerifyError: Bad local variable type" caused by explicit loop variable type
...
#KT-11762 Fixed
2016-04-05 13:37:10 +03:00
Michael Bogdanov
e0adfd453f
Fix for KT-11677: Generic type signatures for local classes in inlined lambdas are not written properly
...
#KT-11677 Fixed
2016-04-04 12:07:47 +03:00
Michael Bogdanov
f5166b7aef
Support test directives in inline tests
2016-04-04 12:07:46 +03:00
Dmitry Petrov
1d87595dc9
binary compat validator: update testData for changes related to new facade generation
2016-04-01 10:13:22 +03:00
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
Denis Zharkov
1511a03027
Fix SAM adapters substitution
...
Approximate sourceFunction types if it's needed
#KT-11696 Fixed
2016-03-31 14:52:12 +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
4a533168d9
Rework const val generation in multifile classes
...
Do not query MultifileClassCodegen#classBuilder early on: this causes the class
file for the facade to be prematurely dumped to the disk in some cases, when
that class file is not yet completely generated. Instead fork the logic in
PropertyCodegen#generateSyntheticMethodIfNeeded: save metadata in parts,
generate method in the facade
2016-03-29 17:53:32 +03:00
Ilya Gorbunov
768da05ba9
Update dump declaration mappings tests to reflect new constant generation in multifile facades.
2016-03-29 14:34:32 +03:00
Ilya Gorbunov
25abdf9fdb
Tests for declaration mappings dumping from compiler
2016-03-29 13:49:36 +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
6547fa1d4c
Replace hashes in bytecode listing tests with 'HASH'
2016-03-24 16:17:58 +01:00
Michael Bogdanov
6737bc12f1
Fix for KT-11519: Version 1.0.1 fails with NPE in com.sun.beans.TypeResolver.resolve() where v1.0.0 works fine
...
#KT-11519 Fixed
2016-03-24 15:18:31 +01:00