Commit Graph

2314 Commits

Author SHA1 Message Date
Michael Bogdanov 596c5b8d41 Remove lineNumber assertion: it performed in getOrCreateSourceMapper 2015-03-16 18:52:04 +03:00
Michael Bogdanov ac8e98572e Clean code 2015-03-16 18:52:04 +03:00
Michael Bogdanov 57cf4ac6c0 New test framework 2015-03-16 18:52:04 +03:00
Michael Bogdanov 50c9c93f37 Generate additional NOP in inline call to keep linenumbers 2015-03-16 18:52:03 +03:00
Michael Bogdanov bc2261ea3b Added message for assertion 2015-03-16 18:52:02 +03:00
Michael Bogdanov d5f19eaee4 Fix InsStream 2015-03-16 18:52:01 +03:00
Michael Bogdanov a4117360a2 Smap refactorings 2015-03-16 18:52:01 +03:00
Michael Bogdanov 52999afc4a FqName to ClassId 2015-03-16 18:52:00 +03:00
Michael Bogdanov a7183f6e53 Source mapping generation on code compilation 2015-03-16 18:52:00 +03:00
Michael Bogdanov 99aa57b432 Visit debug info for compiled inline functions 2015-03-16 18:52:00 +03:00
Pavel V. Talanov 188ada2089 Minor: extract ClassDescriptor.secondaryConstructors extension property 2015-03-13 20:17:01 +03:00
Yan Zhulanow 7b39cf4998 Support cache cleanup in android-compiler-plugin 2015-03-13 15:46:43 +03:00
Yan Zhulanow 93ce3bc2ad Pass GenerationState to generateClassSyntheticParts as it's more useful 2015-03-13 15:46:42 +03:00
Alexander Udalov 8af6ca5279 Delete kotlin.jvm.internal.KObject
It was supposed to be used in reflection but the benefits do not outweigh the
cost of KT-6951

 #KT-3223 Fixed
 #KT-6951 Fixed
2015-03-12 23:15:38 +03:00
Stanislav Erokhin 6fb8af1dda Move util backend function isNamedFun && isNamedFunOrLambda to frontend 2015-03-12 17:11:47 +03:00
Stanislav Erokhin fa9ca54e78 Fixed local return inside function expression. 2015-03-12 17:11:47 +03:00
Stanislav Erokhin a89b48c577 Backend support for function expression 2015-03-12 17:11:46 +03:00
Denis Zharkov 582755e71a Don't generate empty constructor if there is secondary one with empty parameter list 2015-03-11 17:45:29 +03:00
Denis Zharkov 4022982760 Add synthetic argument to default constructors
It's need to add synthetic argument (of type that user can't use)
to constructors with default arguments to avoid clashing with
real user's constructor having the same set of parameters
and additional int's arguments.
2015-03-11 17:45:28 +03:00
Denis Zharkov e65382e6ec Support secondary constructors in JVM backend
There is a lot of changes about closures calculating and generating.

1. As classes can have more than one constructor each of them should
have closure arguments.

2. Captured variables set is the same for all of them.

3. Within constructors bodies/delegating calls closure parameters
should be accessed through method arguments because fields may be
not initialized yet.
2015-03-11 17:45:27 +03:00
Denis Zharkov 6779e95767 Simplify closure analysis within constructors
Using of ConstructorContext instance almost has no sense,
but it complicates logic when there are several constructors.
2015-03-11 17:45:27 +03:00
Denis Zharkov 31be68de0a Get rid of superCall fields in class/closure codegen
Because their semantics looks wrong in case of secondary constructors.
Use resolved delegation call instead.
2015-03-11 17:45:27 +03:00
Denis Zharkov cb881d2628 Drop some ClassDescriptor.getConstructors() usages
supposing that there is only primary constructor
2015-03-11 17:45:22 +03:00
Alexander Udalov b93b9bd565 Support KClass.simpleName and built-in class literals 2015-03-11 16:42:43 +03:00
Alexander Udalov 6e45c6f17c Support class literals (A::class) 2015-03-11 16:42:41 +03:00
Pavel V. Talanov 9ecf95532e Replace 'class object' with default object in project code 2015-03-10 18:07:46 +03:00
Alexander Udalov 0bd5264b5e Get rid of module reflection.stub.jvm
Generate K*Function as a supertype for a function reference instead of
K*FunctionImpl; this will allow one binary library to be used with or without
reflection
2015-03-07 02:31:26 +03:00
Evgeny Gerashchenko e267f0d4ef Safer check for optimized for loops. 2015-03-06 15:09:28 +03:00
Evgeny Gerashchenko 14b16ff87c KT-6916 Slow bytecode for downTo iteration like for (i in max downTo min)
#KT-6916 fixed
2015-03-06 13:43:02 +03:00
Pavel V. Talanov b73d7e19b7 Remove various getDefaultObject() methods 2015-03-06 12:41:46 +03:00
Dmitry Jemerov c029fa2ed0 add test for generating annotations on the setter of a delegated property; (KT-4169); properly generate backing field for delegated property with a setter 2015-03-05 19:04:18 +03:00
Evgeny Gerashchenko 8ab94a18ae Inlined trivial method classDescriptorToDeclaration 2015-03-05 15:19:30 +03:00
Evgeny Gerashchenko 7b6f83815c Unified obtaining psi element for descriptor. Now code for finding effective descriptors of fake override and finding source element for original declarations are separated. Old method DescriptorToSourceUtils.descriptorToDeclaration is still there, because it has ~90 usages. 2015-03-05 15:19:29 +03:00
Dmitry Jemerov 48b0afd84d correctly generate safe casts from Unit type
#KT-4494 fixed
2015-03-05 11:59:23 +01:00
Dmitry Jemerov 2835459920 correctly generate 'in' expressions with IntRange on RHS and a type other than Int on LHS 2015-03-05 11:33:24 +01:00
Dmitry Jemerov 1188be9070 generate correct bytecode for constructors using infix call syntax
#KT-4589 Fixed
2015-03-05 11:26:27 +01:00
Pavel V. Talanov 350864b22f Drop some of explicit ClassKind.CLASS_OBJECT and OBJECT usages 2015-03-05 13:05:56 +03:00
Pavel V. Talanov fc6f4208ec Rename: isObject -> isNonDefaultObject 2015-03-05 13:05:45 +03:00
Nikolay Krasko 1f79e0905f Intrinsic default objects implementation 2015-03-05 01:30:37 +03:00
Pavel V. Talanov 48fbce9582 Refactor: process mentions of class object
Rename usages that refer to "default object" concept now
Test data file names are left as is
2015-03-03 20:57:08 +03:00
Pavel V. Talanov 9628d98f38 Convert to kotlin: DeclarationResolver.kt 2015-03-03 14:54:36 +03:00
Pavel V. Talanov cebe556d03 Minor: simplify code 2015-03-03 13:04:31 +03:00
Alexander Udalov 2c0830b017 Change synthetic accessor method names to "access$..."
As per discussion in https://youtrack.jetbrains.com/issue/KT-6870
2015-02-27 20:30:51 +03:00
Yan Zhulanow db45ab4ad6 Call findViewById if invoked on anything but our Activity class 2015-02-26 15:26:00 +03:00
Yan Zhulanow f033604c7a Rename jet to kotlin in compiler api 2015-02-26 15:25:59 +03:00
Yan Zhulanow 9aef9b2643 Rename jet to kotlin in plugin-api 2015-02-26 15:25:58 +03:00
Yan Zhulanow c756cfef86 Codebase update 2015-02-26 15:25:57 +03:00
Yan Zhulanow 438d2ee5fa Cache resolved Views in Map 2015-02-26 15:25:56 +03:00
Andrey Breslav 5811b13ce7 ExpressionCodegenExtension extracted 2015-02-26 15:25:40 +03:00
Andrey Breslav 565ce5a781 frontend.android renamed to android-compiler-plugin 2015-02-26 15:25:39 +03:00