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
Alexander Udalov
22e5efc7cd
Remove useless parameter of FunctionCodegen.generateDefault
...
JvmMethodSignature can now be perfectly obtained by JetTypeMapper.mapSignature
2015-02-11 18:10:43 +03:00
Alexander Udalov
f4d4fc042b
Remove useless parameter of FunctionCodegen.generateMethod
...
JvmMethodSignature can now be perfectly obtained by JetTypeMapper.mapSignature
2015-02-11 18:10:42 +03:00
Alexander Udalov
e7a744b315
Make JetTypeMapper aware of SAM constructor arguments
...
This obsoletes 'replaceName' workaround that was present in ClosureCodegen but
missing in other crucial call sites of mapSignature, e.g. generation of
EnclosingMethod info
#KT-6691 Fixed
2015-02-11 18:10:41 +03:00
Alexander Udalov
ca2cfb9859
Refactor SAM constructor invocation in JVM codegen
...
Compute all necessary info in CodegenAnnotatingVisitor and save to trace to be
read by ExpressionCodegen later
2015-02-11 18:10:39 +03:00
Alexander Udalov
c84486f860
Refactor CodegenContext and subclasses
...
Drop unused methods, inline parameters, fix warnings, etc.
2015-02-11 18:10:38 +03:00
Alexander Udalov
61a27da8d5
Move and simplify AsmUtil.writeOuterClassAndEnclosingMethod
2015-02-11 18:10:36 +03:00
Alexander Udalov
a280599969
Fix wrong checkcast for === on objects
...
#KT-6747 Fixed
2015-02-11 18:10:35 +03:00
Andrey Breslav
0e972acf8c
== turned into a safe-call
2015-02-10 06:55:46 +01:00
Evgeny Gerashchenko
f071802e19
Simplified process of filtering out obsolete package parts and loading descriptors from incremental caches.
...
Now when file is deleted or dirty (compiled right now), its old package part is used. Current package of file doesn't matter.
2015-02-06 17:44:39 +03:00
Alexander Udalov
5c2d0c6173
Generate not-null assertions on extension receiver parameters
2015-02-03 21:40:39 +03:00
Andrey Breslav
da639039bd
KT-6698 Bad class file when using a star-projection on a Java's recursive generic parameter
...
#KT-6698 Fixed
2015-02-02 19:52:00 +03:00