Alexander Udalov
cdceaec79f
Fix unjustified descriptorToDeclaration in bridge codegen
...
Delegated and synthesized members don't usually have a declaration as well as
fake overrides
2014-04-18 17:18:51 +04:00
Alexander Udalov
79e7ee91e4
Generate bridges for trait implementations properly
...
The intent was to keep the bridge codegen model as simple as possible: we
should be able to figure out all necessary bridges only by a minimal interface
that FunctionHandle provides (isAbstract, isDeclaration, getOverridden)
Add different tests for bridges
#KT-318 Obsolete
2014-04-11 21:57:47 +04:00
Alexander Udalov
b0db6a4526
Rewrite bridge generation to Kotlin, make it abstract
2014-04-11 21:57:46 +04:00
Alexander Udalov
fc838dbb53
Refactor ImplementationBodyCodegen.getTraitImplementations()
...
Make it static, extract a method which finds an implementation in a trait for a
fake override
2014-04-11 21:57:46 +04:00
Alexander Udalov
28940256e3
Minor, add bytecode text test on bridges for fake overrides
2014-04-11 21:57:45 +04:00
Alexander Udalov
478766815d
Consider all real functions, not only declarations in bridge codegen
...
There should be bridges to all of the functions present in bytecode
2014-04-11 21:57:45 +04:00
Alexander Udalov
04c237cc22
Generate bridges for fake overrides when needed
...
#KT-3985 Fixed
#KT-4145 Fixed
2014-04-11 21:57:44 +04:00
Andrey Breslav
f81bf5ea73
Do not add functions and properties with inferred types as script class memebrs
2014-04-01 12:25:31 +04:00
Mikhael Bogdanov
e2f3a589e7
KT-3308 Support local generic functions in codegen
...
#KT-3308 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
4269729b0a
KT-3214: Verify error when get array convention is used with varargs
...
#KT-3214 Can'tReproduce
2014-04-01 11:18:16 +04:00
Mikhael Bogdanov
596dc68ea4
KT-4340: Jvm backend generates invalid synthetic accessor for private extension property
2014-04-01 11:18:15 +04:00
Natalia Ukhorskaya
4a79bfa16d
Generate static accessors fro protected functions in different packages
...
#KT-4617 Fixed
2014-03-31 21:27:13 +04:00
Mikhael Bogdanov
5b5ecca12a
Inline test: check that no any inline method is called directly
2014-03-31 20:04:23 +04:00
Mikhael Bogdanov
0d239a3e0e
Moving local fun callee generation to CallReceiver
2014-03-31 20:04:10 +04:00
Mikhael Bogdanov
7dc662f613
Optimization for const closures: access it via GETSTATIC
2014-03-31 20:04:09 +04:00
Mikhael Bogdanov
c7c1e33655
Move local fun callee generation to pushArgumentsWithCallReceiver.
...
Local fun callee generation via resolvedCall.resultingDescriptor not call
2014-03-31 20:03:43 +04:00
Alexander Udalov
ea4daed0ac
Use FqNameUnsafe instead of FqName in JVM intrinsics
...
#KT-4777 Fixed
2014-03-27 22:46:44 +04:00
Alexander Udalov
0deea6b83c
Add test for obsolete issue
...
#KT-1936 Obsolete
2014-03-27 03:06:59 +04:00
Evgeny Gerashchenko
537c03fb1a
Added test checking that initialization order in package part is not violated.
2014-03-25 14:31:41 +04:00
Ilya Ryzhenkov
98c54f39bb
Unify script file extensions to "kts" so that IDEA, compiler and tests agree when to parse as SCRIPT.
...
Include kt* files into formatter test generation, to test scripting formatting
2014-03-24 18:17:50 +04:00
Alexander Udalov
7d311cdfa0
Support named arguments for Java constructors annotated with KotlinSignature
2014-03-20 12:49:16 +04:00
Svetlana Isakova
a829da185d
Resolve invoke on any kind of expressions, not only on simple name expressions
2014-03-20 10:05:24 +04:00
Mikhael Bogdanov
001945cd12
Fix for duplicated fields in regenerated lambda
2014-03-19 11:41:05 +04:00
Alexander Udalov
7a2fce4fba
Add regression tests for obsolete issues
...
#KT-2592 Obsolete
#KT-2768 Obsolete
2014-03-16 03:18:26 +04:00
Mikhael Bogdanov
2dcc0bce46
Inline refactoring: more templates for captured fields
...
Support of complex lambda inlining cases
2014-03-13 10:36:54 +04:00
Mikhael Bogdanov
7fb9de2654
Fix for "NoSuchFieldError: this$0$inlined"
2014-03-09 11:21:00 +04:00
Svetlana Isakova
4771986b32
KT-4656 Wrong capturing a function literal variable.
...
#KT-4656 Fixed
Reference for calleeExpression is recorded only in 'doResolveCallOrGetCachedResults'.
2014-03-08 20:55:45 +04:00
Andrey Breslav
2a0ccb95b1
Support quotes at the end of a raw string
...
Fix for KT-4650 Can't use double quote at the end of the raw string
#KT-4650 Fixed
2014-03-07 19:38:58 +04:00
Mikhael Bogdanov
e54ece8d12
Field access chain update on lambda regeneration
2014-03-07 16:12:10 +04:00
Mikhael Bogdanov
4f5b20a8db
Test framework for inline
2014-03-03 15:43:35 +04:00
Alexander Udalov
f7b6457139
Replace "jet" package name with "kotlin" in testData
2014-03-02 19:55:26 +04:00
Alexander Udalov
b3a9721571
Store receiver parameter in JVM intrinsics map
...
To differentiate between "String?.plus" extension in builtins and
"Iterable<*>.plus" extension in stdlib (they have the same owner, name and
value parameter count)
2014-03-02 19:55:25 +04:00
Alexander Udalov
0da92e22a2
Move jet.JetObject -> kotlin.jvm.internal.KObject
...
Don't use JetObject as a marker class in KotlinRuntimeLibraryUtil anymore,
since there are other classes for this purpose (KotlinPackage, Unit)
2014-03-02 19:54:58 +04:00
Alexander Udalov
5d6d4406cb
Move FunctionImpl classes from package "jet" to "kotlin"
2014-03-02 19:54:56 +04:00
Alexander Udalov
b68e47f705
Move JVM-specific annotations out of built-ins
...
Move 'volatile' and 'synchronized' to package 'kotlin' in stdlib. Also delete
'atomic', since its support was never implemented
2014-03-02 19:54:55 +04:00
Alexander Udalov
774e5f0535
Sort out JVM intrinsics for equals, hashCode, toString
2014-03-02 19:54:55 +04:00
Alexander Udalov
3dcd85bdb4
Add toString() to Any, fix all tests
...
#KT-4517 Fixed
2014-03-02 19:54:49 +04:00
Alexander Udalov
ec30d52978
Delete Hashable, pull up its members to Any
...
Extensions on nullable types remain in Library.kt
#KT-1741 Obsolete
#KT-2805 Obsolete
#KT-1365 Fixed
#KT-4517 In Progress
2014-03-02 19:54:08 +04:00
Alexander Udalov
4968afebf8
Don't generate bodies of built-in stub methods into interfaces
2014-02-24 21:44:42 +04:00
Alexander Udalov
4a603f1268
Minor, specify types for clarity
2014-02-21 20:38:02 +04:00
Alexander Udalov
eb7b757e38
Fix VerifyError on rangeTo on primitive types
2014-02-19 17:46:18 +04:00
Alexander Udalov
8b918ef1aa
Add regression tests for obsolete issues
...
#KT-1291 Obsolete
#KT-2895 Obsolete
#KT-3060 Obsolete
#KT-3298 Obsolete
#KT-3613 Obsolete
#KT-3862 Obsolete
2014-02-13 04:43:53 +04:00
Alexander Udalov
a98434263b
Add regression test for outdated issue
...
#KT-3738 Obsolete
2014-02-12 19:17:55 +04:00
Alexander Udalov
35c7c4afd8
Fix capturing outer this in some cases in JVM codegen
...
When property initializer of some inner entity (e.g. anonymous object) contains
a reference to some outer entity (say, a property of the outer class), we need
to make sure we called "lookupInContext" on this entity's owner class, so that
"setCaptureThis" was called on the appropriate closure
#KT-4176 Fixed
2014-02-12 19:17:55 +04:00
Svetlana Isakova
9d493b6f7b
generate CHECK_CAST for smartcasted 'this'
2014-02-12 12:48:11 +04:00
Mikhael Bogdanov
e0ca1abe4b
KT-3706 Inconsistent stack height in try catch finally in function
...
KT-4134 Incorrect bytecode is generated for
#KT-3706 Fixed
#KT-4134 Fixed
2014-02-07 13:45:22 +04:00
Evgeny Gerashchenko
284124569d
Fixed super signature generation when JetObject is explicit.
...
#KT-4485 fixed
2014-02-03 17:53:07 +04:00
Alexander Udalov
75ab8ac5ec
Don't try to generate optimized "in" for LongRange
...
#KT-4097 Fixed
2014-01-31 16:46:14 +04:00
Evgeny Gerashchenko
abf352cebd
KT-4485 getGenericInterfaces vs getInterfaces for kotlin classes
...
#KT-4485 fixed
2014-01-29 17:57:50 +04:00
Andrey Breslav
ab7d8a7734
Tests for abstract functions with default arguments
2014-01-23 17:59:18 +04:00