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
Mikhail Mutcianko
19e6b79cae
minor refactorings
2015-02-26 15:25:30 +03:00
Mikhail Mutcianko
35b1cb4fc7
check if android metadata is present before inlining property
2015-02-26 15:25:22 +03:00
Mikhail Mutcianko
2801253a9c
add byte code generation
2015-02-26 15:25:21 +03:00
Mikhail Mutcianko
ab0c922f53
refactor XmlHandler, optimize imports, remove unused files
2015-02-26 15:25:20 +03:00
Mikhail Mutcianko
6371197041
add missing module and build dependencies
2015-02-26 15:25:20 +03:00
Alexander Udalov
fca7a8c4a2
Drop PrimitiveTypesUtil, store desc in JvmPrimitiveType
2015-02-25 20:13:46 +03:00
Nikolay Krasko
f3919db592
Find usages and reference to delegation origin
2015-02-24 21:52:52 +03:00
Nikolay Krasko
377209f0c3
Do not report CONFLICTING_JVM_DECLARATIONS on delegated origin element
2015-02-24 21:33:55 +03:00
Alexander Udalov
cf0842b135
Fix initialization order in REPL
...
#KT-6843 Fixed
2015-02-22 16:12:38 +03:00
Michael Bogdanov
37006ad566
Annotate additional files through bytecode toolwindow analysis
2015-02-20 10:16:22 +03:00
Pavel V. Talanov
d6a942a574
Remove all deprecated OBJECT$ usages from project code
2015-02-18 19:33:56 +03:00
Alexander Udalov
a960d2d785
Fix "No descriptor for enum entry" exception
...
EA-52557, EA-64887
2015-02-17 15:31:45 +03:00
Alexander Udalov
e705ff2517
Write KotlinSyntheticClass annotation on when-by-enum mapping classes
2015-02-16 21:46:22 +03:00
Alexander Udalov
6ce8d6bd2e
Serialize descriptors for local/anonymous classes on JVM
...
Reflection needs this information to work for local classes and anonymous
objects
2015-02-16 21:46:21 +03:00
Alexander Udalov
0d05fca838
Support serialization/deserialization of local classes
...
Most of these changes are aimed to support and correctly transform ClassId for
local classes, no actual bytes are written or read at the moment (see next
commits). See the comment on ClassId for clarification.
A hack in DescriptorSerializer which erased anonymous types to Any (which had
been breaking the consistency between descriptors resolved from sources and
from serialized information) is now gone
2015-02-16 20:19:54 +03:00
Alexander Udalov
5d8ae3ed6a
Minor, refactor some constants in JvmAnnotationNames
...
Declare KotlinClass similarly to KotlinSyntheticClass, this will be used later
2015-02-16 20:19:52 +03:00
Alexander Udalov
e812c4e67f
Introduce KotlinSyntheticClass.Kind.LOCAL_TRAIT_IMPL
2015-02-16 20:19:50 +03:00
Alexander Udalov
17c930c84f
Use abstract factory for reflection objects on JVM
...
Introduce an abstract factory class ReflectionFactory which is responsible for creating
reflection objects (KClass, KProperty, ...). The meaningful implementation is
located in "reflection.jvm" where KClassImpl/KPropertyImpl/... are accessible
and can be instantiated. The default implementation will be used in the lite
runtime with no reflection and will return nulls / throw exceptions there.
Put all functions, calls to which are generated by JVM back-end, in one place:
the class named Reflection which contains only static methods. Previously these
functions were scattered across different files in module "reflection.jvm".
The code using reflection may now be compiled against either runtime, but
reflection features will work if and only if reflection is accessible at
runtime
2015-02-16 20:19:13 +03:00
Pavel V. Talanov
766912c590
Generate additional deprecated "OBJECT$" field for class object
...
To avoid breaking some code for now
It should be removed later
2015-02-16 15:38:43 +03:00
Pavel V. Talanov
7d5c0dc8bf
Refactor: ImplementationBodyCodegen#generateFieldForSingleton()
2015-02-16 15:38:43 +03:00
Pavel V. Talanov
f482768acf
Introduce ClassDescriptor#getDefaultObjectDescriptor()
...
ClassDescriptor#getClassObjectDescriptor (with old semantics) is now a utility
Process usages and replace with calls to a new method where appropriate
2015-02-16 15:38:42 +03:00
Pavel V. Talanov
945072a129
Drop DeserializedResolverUtils and it's usages
2015-02-16 15:38:41 +03:00
Pavel V. Talanov
d9d3f68a39
Drop JetClassObject element and its usages
...
as class objects are now represented by JetObjectDeclaration element
2015-02-16 15:38:31 +03:00
Pavel V. Talanov
0343fd8fc7
Rework class objects
...
Class objects have name "Default" by default
Do not produce synthetic class objects
Class objects have new semantics:
class "A" has class object "B" if literal "A" can be used as a value of type "B"
Class objects act like ordinary nested objects
i.e. are accessible from class scope via getClassifier()
Jvm backend: class object fields and class have the name of class object ("Default")
as opposed to special "OBJECT$" and "object"
Serialization: only the name of class object is needed to serialize data
2015-02-16 15:38:27 +03:00
Nikolay Krasko
0f3971323f
Go to Declaration does not work on usage of constant from class object in Java (KT-6172)
...
#KT-6172 Fixed
2015-02-13 20:28:51 +03:00
Nikolay Krasko
56c2870ac6
Refactoring: make parameters not-null
2015-02-13 20:28:50 +03:00
Alexander Udalov
9b28e19551
Use CodegenContext to determine outer class & enclosing method
2015-02-11 18:10:49 +03:00