Alexander Udalov
e136025ac5
Show "kotlin.Any" in decompiled text for local/anonymous types
2015-03-07 02:30:28 +03:00
Pavel V. Talanov
ed4c265564
Drop ClassKind.CLASS_OBJECT
...
Default and non-default objects now have ClassKind.OBJECT
2015-03-05 13:06:33 +03:00
Pavel V. Talanov
f72f548a93
Add ClassDescriptor#isDefaultObject()
...
with dummy implementations for now
2015-03-05 13:06:12 +03:00
Pavel V. Talanov
f507af15c0
Rename in descriptors.proto: class_object_name -> default_object_name
2015-03-03 20:57:13 +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
Michael Nedzelsky
fac2e38054
Do not serizalize null as compile time constant
2015-02-20 02:33:30 +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
fdfe3fd73b
Minor, serialize/deserialize local visibility
...
Also support non-subsequent enum values in Flags
2015-02-16 20:19:51 +03:00
Alexander Udalov
cd9898fc43
Minor, rename and invert meaning of ClassId.isTopLevelClass
...
Also use a simpler constructor and simplify ClassDeserializer.ClassKey
2015-02-16 20:19:50 +03:00
Alexander Udalov
ce26ce0458
Drop "extra visibility" from binary format
...
Descriptors of Kotlin symbols should always have a visibility known to Kotlin
2015-02-16 20:19:49 +03:00
Alexander Udalov
1e50078f6f
Delete dependency of 'serialization' on trove4j
...
Use HashMap of wrapped objects instead of THashMap with custom hashing strategy
2015-02-16 20:19:12 +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
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
Michael Nedzelsky
df8fed096c
add support for compile time constant serialization
2015-02-03 14:41:24 +03:00
Andrey Breslav
0f0f205248
Serializing information about star projections
2015-02-02 19:52:02 +03:00
Alexander Udalov
5903b8c4a7
Reorder and optimize dependencies between modules and libraries
...
- drop 'kotlin-runtime' and other dependencies which are exported by
other modules ('util' and 'util.runtime' in case of 'kotlin-runtime')
- make all Kotlin modules from the compiler depend on 'util' for clarity
- put 'util' and 'util.runtime' to the bottom of the list everywhere: when
kotlin-runtime gets reflection, classes from core/ should have higher
priority than their previous versions from kotlin-runtime.jar
2015-01-28 19:58:35 +03:00
Alexander Udalov
64c6055030
Rename jet -> kotlin in frontend, descriptors: resolve
...
org.jetbrains.jet.lang.resolve -> org.jetbrains.kotlin.resolve
2015-01-11 05:09:01 +03:00
Alexander Udalov
524fdc2527
Rename jet -> kotlin in descriptors, types, names
...
org.jetbrains.jet.lang.descriptors -> org.jetbrains.kotlin.descriptors
org.jetbrains.jet.lang.types -> org.jetbrains.kotlin.types
org.jetbrains.jet.lang.resolve.name -> org.jetbrains.kotlin.name
2015-01-10 15:52:20 +03:00
Alexander Udalov
e88f89d1c6
Rename jet -> kotlin in descriptors: built-ins
...
org.jetbrains.jet.lang.types.lang -> org.jetbrains.kotlin.builtins
2015-01-10 15:52:16 +03:00
Alexander Udalov
05eaf81ba6
Rename jet -> kotlin and regroup files in serialization
...
org.jetbrains.jet.descriptors.serialization ->
org.jetbrains.kotlin.serialization
Deserialization goes to subpackage deserialization, built-ins-related stuff
goes to subpackage builtins
2015-01-09 16:37:22 +03:00
Alexander Udalov
f447a860b1
Rename package jet -> kotlin in util.runtime (StorageManager)
...
org.jetbrains.jet.storage -> org.jetbrains.kotlin.storage
2015-01-08 23:32:08 +03:00
Alexander Udalov
f37e2f173d
Rename package jet -> kotlin in util, util-runtime
...
org.jetbrains.jet.config -> org.jetbrains.kotlin.config
org.jetbrains.jet.utils -> org.jetbrains.kotlin.utils
Also move coreLib.kt to package 'org.jetbrains.kotlin.utils'
2015-01-08 23:32:08 +03:00
Ilya Ryzhenkov
be717f48f8
Stop using deprecated APIs
2014-12-16 17:33:24 +03:00
Svetlana Isakova
5b4f10e698
Made vararg parameters have Array<out T> type
...
instead of simply Array<T>
#KT-1638 Fixed
#KT-2163 Fixed
#KT-3213 Fixed
#KT-4172 Fixed
#KT-5534 Fixed
2014-12-12 23:08:28 +03:00
Stanislav Erokhin
f640f82ed0
Add serialization for PRIVATE_TO_THIS
2014-12-08 18:24:30 +03:00
Valentin Kipyatkov
b8d1f115bf
Renamed JetType.isNullable() to isMarkedNullable()
2014-12-03 21:36:10 +03:00
Alexander Udalov
63bfa004fd
Introduce binary representation for annotations
...
Will be used where annotations can't be stored elsewhere: for example,
built-ins, JS, type annotations on JDK<8
2014-12-03 16:10:19 +03:00
Alexander Udalov
9a86318908
Introduce extension for built-ins serialization, drop .kotlin_class_names
2014-12-03 15:58:14 +03:00
Alexander Udalov
9bd815126b
Rename NameTable -> StringTable in serialization
...
Since almost the beginning, it was also used to store arbitrary strings, not
just names
2014-12-03 15:58:13 +03:00
Andrey Breslav
ea4f0ab214
Methods in KotlinBuiltIns made static where already possible
2014-12-03 15:39:09 +03:00
Alexander Udalov
fd2ddff750
Minor, simplify serialization of enum entries
...
Enum entries are never reordered during sort (see MemberComparator)
2014-11-28 15:35:59 +03:00
Pavel V. Talanov
bd575c39dd
Fix calling toString() on ProtoContainer
2014-11-27 21:17:20 +03:00
Pavel V. Talanov
f0a9c4f683
Extract non-descriptor specific abstract ancestor for BinaryClassAnnotationAndConstantLoader
2014-11-27 21:17:19 +03:00
Pavel V. Talanov
39e1dfbcc0
Merge AnnotationLoader and ConstantLoader into single interface
...
Merge all implementation classes into single BinaryClassAnnotationAndConstantLoader
2014-11-27 21:17:18 +03:00
Pavel V. Talanov
e4d3a65124
Make AnnotationLoader and ConstantLoader accept descriptor-independent data
...
Rewrite BaseDescriptorLoader to operate on data derived from proto
Intdoduce ProtoContainer to replace containing descriptor as input data
2014-11-27 21:17:16 +03:00
Alexander Udalov
8cb1c7f0e6
Pass NameResolver to loadClassAnnotations()
...
It's not used at the moment, but will be in the upcoming implementation of
annotation loader (for JS, built-ins and type annotations)
2014-11-26 17:27:08 +03:00
Alexander Udalov
4e735878cf
Minor, add "storageManager" property to context for convenience
2014-11-25 23:16:28 +03:00
Alexander Udalov
c35ddc3616
Minor, make ownTypeParameters a property in TypeDeserializer
2014-11-25 23:16:28 +03:00
Alexander Udalov
3a066dfd07
Rename "context" -> "c" in deserialization for brevity
2014-11-25 23:16:27 +03:00
Alexander Udalov
1c04a6052f
Get rid of unnecessary list in Interner
2014-11-25 23:16:27 +03:00
Alexander Udalov
1f68c94ce6
Fix several bugs in serialization of inner generic classes
...
- Interner was working incorrectly with parents
- nested classes were serialized in codegen out of any context
#KT-5660 Fixed
2014-11-25 23:16:26 +03:00
Alexander Udalov
36c65e4264
Minor, drop strange method from SerializerExtension
2014-11-25 23:16:26 +03:00
Alexander Udalov
60662e5831
Fix double laziness of annotations introduced in 149a90d
2014-11-25 23:16:21 +03:00
Alexander Udalov
ab6fec1540
Simplify type deserializer construction even more
2014-11-25 23:15:50 +03:00
Alexander Udalov
2b189c5193
Convert TypeDeserializer to Kotlin
2014-11-25 23:15:49 +03:00
Alexander Udalov
c9bef09085
Extract DeserializedType to top level and convert to Kotlin
2014-11-25 23:15:49 +03:00
Alexander Udalov
07c3a07ecb
Make DeserializedType a static nested class
2014-11-25 23:15:49 +03:00
Alexander Udalov
5907df92db
Drop secondary DeserializedPackageMemberScope constructor
...
Create package context only once
2014-11-25 23:15:49 +03:00
Alexander Udalov
a4d4d15ca9
Improve code after conversion, fix some warnings
2014-11-25 23:15:48 +03:00
Alexander Udalov
d3635de205
Convert MemberDeserializer to Kotlin
2014-11-25 23:15:48 +03:00