Evgeny Gerashchenko
516a5b76e8
Fixed calling inherited SAM adapter.
2013-05-06 16:45:36 +04:00
Mikhael Bogdanov
22ddd05e09
KT-3576 Getters for float constants in objects always return 0.0 when constants are less than 1.0
...
#KT-3576 Fixed
2013-05-06 10:41:48 +04:00
Natalia.Ukhorskaya
b9e5227b58
Change String argument of property delegate method to PropertyMetadata
2013-04-30 21:47:24 +04:00
Natalia.Ukhorskaya
6e2584d0de
Generate bytecode for delegated properties
2013-04-30 21:47:22 +04:00
Natalia.Ukhorskaya
3297c0e9d3
No such field error when set private property without backing field (analog of KT-2892)
2013-04-30 21:47:21 +04:00
Mikhael Bogdanov
b0b6728c7e
KT-3118 NoSuchFieldError on private property without backing field &&
...
KT-3551 Wrong synthetic accessor implementation
2013-04-30 15:28:02 +04:00
Mikhael Bogdanov
b6fc0c5c13
KT-3538: Super call to trait implemetation invokes method from base class
2013-04-24 15:52:09 +04:00
Mikhael Bogdanov
aa2db75266
KT-3389: Local class construction results in CompilationException && KT-2873 && KT-3210
...
KT-2873: VerifyError on instantiating a local class inside a closure
KT-3210 Inline Class: CompilationException: Back-end (JVM) Internal error: wrong code generated java.lang.ArrayIndexOutOfBoundsException null
#KT-3389 Fixed
2013-04-24 13:49:47 +04:00
Alexander Udalov
959f2fb70b
Fix codegen tests on Android
...
Since Android tests move files around, changing their packages, and 'toString'
tests the exact name of a class, we now get it via Java reflection
2013-04-22 21:47:17 +04:00
Alexander Udalov
56f8f021f9
Generate proper generic signature for closure classes
2013-04-22 17:59:32 +04:00
Alexander Udalov
ace7bd9bc8
Fix StackValue.coerce void to Object
...
We can only put Unit.VALUE on stack if we're requested an instance of Object or
Unit. In other cases (arbitrary objects / arrays) we put null instead
2013-04-22 17:59:32 +04:00
Alexander Udalov
054e5fb5e7
Codegen for callable reference expressions
...
#KT-1183 In Progress
2013-04-22 17:59:32 +04:00
Alexander Udalov
1eeaaad05d
Refactor method/constructor calls in codegen
...
- use ResolvedCall where possible
- 'call' parameter to invokeMethodWithArguments was used only to generate
callee, e.g. in "A()" where A is an expression which can be invoke()'d.
In case of constructors and enum entry delegation specifiers there's no need
to generate callee, so 'call' is made Nullable with a subsequent assert
- remove generateJavaConstructorCall() method, since it did no useful work.
Java constructor invocation is broken anyway and needs to be fixed (KT-3532)
- minor code style / formatting issues fixed, several methods renamed to better
reflect semantics
2013-04-22 17:59:32 +04:00
Alexander Udalov
76fa9642f0
toString() for FunctionN classes
...
It's implemented as if the types were reified: getting the real type parameters
of the corresponding FunctionN class
2013-04-22 17:59:29 +04:00
Alexander Udalov
0ec1f20140
Write generic signature for closure FunctionN superclass
...
ClosureCodegen.appendType() now appends any Type as a type parameter correctly
2013-04-22 17:59:29 +04:00
Alexander Udalov
974df0ed8e
Use FunctionImplN instead of FunctionN in codegen
...
Superclass of closures should now be FunctionImplN instead of FunctionN. Since
these -Impl classes are needed only in JVM, the corresponding descriptors and
types are created in the back-end only.
2013-04-22 17:59:29 +04:00
Evgeny Gerashchenko
7133f20247
Added tests with type parameter of class in SAM adapter.
2013-04-18 22:02:04 +04:00
Evgeny Gerashchenko
8c4e45de9a
Supported SAM adapters with type parameters.
2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
f4994969c0
Added tests with type parameter of class in SAM adapter.
2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
e554228a73
Added tests with mixture of SAM and non-SAM parameters.
2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
7bd11718de
Supported simplest cases of SAM adapter in backend.
2013-04-18 22:01:26 +04:00
Mikhael Bogdanov
82d7f07cb3
Fixed bug in fix for KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring
2013-04-18 18:33:25 +04:00
Mikhael Bogdanov
c69e7f059d
Duplicated JetTypeMapper.mapSignature removed
2013-04-18 15:03:43 +04:00
Mikhael Bogdanov
a1d295638a
ExpressionCOdegen.visitSimpleNameExpression simplification
2013-04-18 14:05:15 +04:00
Mikhael Bogdanov
1fd76845ad
Regression test for kt3315
2013-04-17 18:55:04 +04:00
Natalia.Ukhorskaya
f2b3be7416
Unify properties initialization for init and clinit
2013-04-17 16:18:10 +04:00
Mikhael Bogdanov
57b161b08a
KT-3500: ClassFormatError: Duplicate method name&signature in class file && KT-3429: Traits override bug
2013-04-17 15:23:33 +04:00
Mikhael Bogdanov
3da3f94b4e
KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring
2013-04-17 15:23:33 +04:00
Natalia.Ukhorskaya
1dce3b5da4
Invoke top level function with default argument using src class
2013-04-09 17:11:25 +04:00
Zalim Bashorov
a665fa2049
Rewrote nonLiteralFilenameFilter and filenameFilter tests without working with FS.
...
Removed filenameFilter test from excludes for AndroidTests.
2013-04-02 22:11:57 +04:00
Evgeny Gerashchenko
6ff9bfd4bb
Supported SAM constructor calls without function literal.
2013-03-29 20:36:47 +04:00
Evgeny Gerashchenko
dcb95fc5ac
Fixed priorities for synthetic functions.
2013-03-29 13:10:31 +04:00
Evgeny Gerashchenko
0bc65321c2
KT-1547 Wrong layout of closure classes
...
#KT-1547 fixed
2013-03-28 15:54:51 +04:00
Evgeny Gerashchenko
91282b992d
Supported functional interfaces with generic parameters in codegen.
2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
e6c047b2e0
Added tests with FilenameFilter (several arguments).
2013-03-27 19:19:56 +04:00
Evgeny Gerashchenko
835c0f85c7
Supported SAM constructors in codegen (simplest case).
2013-03-27 19:19:55 +04:00
Mikhael Bogdanov
ad4eeb3f8a
Properly capture local functions
...
Local functions in local classed wasn't captured properly
2013-03-27 15:57:27 +04:00
Mikhael Bogdanov
932c1444a2
Fix for local closures
2013-03-26 15:43:25 +04:00
Andrey Breslav
3bd202de84
Allow to call += on a val
2013-03-21 21:21:54 +04:00
Mikhael Bogdanov
93b860e4ad
Always generate getter and setter
2013-03-20 20:50:06 +04:00
Alexander Udalov
7cc1ed5cb1
Add regression test for KT-3413
2013-03-18 14:52:29 +04:00
Alexander Udalov
242b97febf
Fix mapGetterSignature/mapSetterSignature
...
In case of TRAIT_IMPL the incorrect this was written. Reuse the code from the
common mapSignature
#KT-3413 Fixed
2013-03-15 22:03:39 +04:00
Alexander Udalov
a9776016a9
Resolve static methods of enum in front-end
...
Up to this point, front-end did not suspect that there could be classes which
have both a class object and a package for static members. Since this became
possible for enums loaded from Java binaries (enum entries and valueOf()/
values() are placed into the class object, and every other static member into
the package), we adjust the corresponding scope to also include members from
the corresponding package
#KT-2990 Fixed
2013-03-15 16:00:57 +04:00
Alexander Udalov
68844131b0
Fix broken isEnumClassObject methods
...
Out of three methods, two were incorrect
2013-03-15 16:00:55 +04:00
Evgeny Gerashchenko
be30716076
Test for KT-2017 Cannot sort list with no comparator
...
#KT-2017 obsolete
2013-03-14 20:49:41 +04:00
Alexander Udalov
e8088ec6a7
Write correct InnerClasses attribute to class files
...
InnerClasses should contain entries for every inner and every outer class,
according to the JVMS
#KT-3390 Fixed
2013-03-12 14:57:14 +04:00
Natalia.Ukhorskaya
02c8989b2f
Top level functions inside module should be invoked using package$src class
2013-03-06 16:22:52 +04:00
Evgeny Gerashchenko
0f83c8297e
Added corner case test for int range iteration.
2013-03-05 14:58:43 +04:00
Mikhael Bogdanov
b3ec87f956
ClassObject instance field refactoring
2013-03-04 16:42:55 +04:00
Mikhael Bogdanov
6e1e495397
KT-3374 Wrong this@method receiver
2013-02-28 15:22:35 +04:00