Commit Graph

410 Commits

Author SHA1 Message Date
Evgeny Gerashchenko 7abe6a5b4a Big refactoring. Migrating to package views and fragments. 2013-12-17 19:18:33 +04:00
Alexander Udalov d6e1af645f Upgrade ABI version after objects refactoring 2013-12-02 19:56:17 +04:00
Alexander Udalov dcedbed7e1 Minor, inline DescriptorUtils.getEnumEntriesScope 2013-12-02 19:56:15 +04:00
Alexander Udalov 4526d96186 Delete JetScope.getObjectDescriptor() 2013-12-02 19:56:11 +04:00
Alexander Udalov 550df37056 Delete JetScope.getObjectDescriptors() 2013-12-02 19:56:11 +04:00
Alexander Udalov 5a4cc1e2fe Put enum entries into enum class in JDR 2013-12-02 19:56:07 +04:00
Alexander Udalov a5d6d6719c EnumValue now has a ClassDescriptor for its enum entry 2013-12-02 19:56:06 +04:00
Alexander Udalov 83ef095093 Change enum entry resolution strategy in JDR
Enum entry is now resolved into a class with a class object, which inherits
from the former class, as in the other parts of the compiler. Create a special
class EnumEntrySyntheticClassDescriptor which will be reused in deserialization
later
2013-12-02 19:56:06 +04:00
Alexander Udalov c04f63e157 Change object deserialization strategy
Objects now have synthetic class objects in deserialization as well. "Class"
proto message now can have a synthetic class object proto within, if it's not
contained in any external class file, which is the case with objects. Drop
"class_object_present" field from binary format, since its value is equivalent
to the presence of "class_object" field
2013-12-02 19:55:21 +04:00
Mikhael Bogdanov 9037449313 Inline flag calculation through inline annotation 2013-11-26 12:53:07 +04:00
Andrey Breslav 4ac7afbb9f Module annotations-ext removed. Annotations are moved to runtime 2013-11-21 20:47:48 +04:00
Alexander Udalov a77d6a006d Cleanup ClassDescriptorImpl & ErrorClassDescriptor
ClassDescriptorImpl now extends ClassDescriptorBase and reuses most of its
functionality. ErrorClassDescriptor now is initialized in its own constructor.
Inline trivial arguments everywhere
2013-11-21 19:34:51 +04:00
Alexander Udalov 223bf11de6 Minor, NamedMembers.toString() 2013-11-21 19:34:50 +04:00
Alexander Udalov 2c6bf6171f Rename ClassKind.isObject -> isSingleton
"isObject" gives a false impression that this is a check if the kind is OBJECT
2013-11-21 19:34:50 +04:00
Andrey Breslav d9444fea09 printScopeStructure() introduced for debugging 2013-11-21 13:07:38 +04:00
Andrey Breslav 083644ea43 Support parameter annotations. Fix class path and test data 2013-11-21 13:07:36 +04:00
Andrey Breslav ef2ae0f398 Consider packages equal if their fqNames are equal 2013-11-21 13:07:36 +04:00
Andrey Breslav 9e446373e3 Old JDR and test data fixed 2013-11-21 13:07:35 +04:00
Alexander Udalov e8089cc461 Synthetic class object of enum should always be public
#KT-2834 Fixed
2013-11-18 19:46:01 +04:00
Alexander Udalov 8b5aa94484 Extract SpecialNames.isClassObjectName 2013-11-14 19:11:20 +04:00
Alexander Udalov 69ed375ce1 Extract SpecialNames utility class 2013-11-14 19:11:19 +04:00
Andrey Breslav 4fa691f4b4 Ignore @Nullable/@NotNull annotations when deserializing Kotiln descriptors
This is needed because we write these annotations to class files on all API callables automatically. Seeing all these annotations on descriptors is no good
2013-11-11 17:20:16 +04:00
Andrey Breslav 641ed568f2 Extract method 2013-11-11 17:20:15 +04:00
Mikhael Bogdanov 7857dc5ba9 KT-3812 Can't work with akka via kotlin - java.lang.AssertionError: Couldn't resolve class *$
KT-4036 Couldn't resolve inner class akka.io.Tcp.Command.class

 #KT-3812 Fixed
 #KT-4036 FIxed
2013-10-31 16:42:54 +04:00
Andrey Breslav ffd9b80f76 JavaClassDescriptor interface extracted 2013-10-29 14:21:55 +04:00
Andrey Breslav ed95463d1e Map Nothing to java.lang.Void 2013-10-25 15:39:01 +04:00
Andrey Breslav 1ff0ffbac6 Map jet.Hashable to java.lang.Object, to avoid NoClassDefFound exceptions 2013-10-25 15:39:01 +04:00
Alexander Udalov dd50438c78 Deserialize annotations on property setter parameters 2013-10-22 23:08:34 +04:00
Alexander Udalov 938a906bcd Deserialize annotations on value parameters of functions 2013-10-22 23:08:33 +04:00
Alexander Udalov b7789da3b9 Load annotations on properties declared in traits 2013-10-17 19:01:45 +04:00
Andrey Breslav 3960426698 TypeProjection interface extracted 2013-10-17 18:15:51 +04:00
Alexander Udalov 2445d04338 Fix synthetic method generation for extension properties
If several annotated extension properties with the same name were declared in
one class, JVM issued a ClassFormatError, since we generated a synthetic method
for each of them with the same name and signature. Make the signature of this
synthetic method depend on a receiver parameter, if a property has one
2013-10-16 14:59:37 +04:00
Alexander Udalov 806d264771 Write full synthetic method signature for annotated property
This will be needed to support annotated extension properties, since they have
the same name but different signatures
2013-10-16 14:59:36 +04:00
Alexander Udalov 1fdb86f733 JavaArrayAnnotationArgument.getElements() returns List 2013-10-15 20:34:44 +04:00
Alexander Udalov 5b916ea108 Type parameters/arguments constitute lists, not collections 2013-10-15 20:34:44 +04:00
Alexander Udalov 0958e63be2 JavaMethod.getValueParameters() returns List 2013-10-15 20:22:59 +04:00
Andrey Breslav d52f2e25b0 AnnotationDescriptor interface extracted 2013-10-15 19:54:39 +04:00
Andrey Breslav cd275fd814 'runtime' module replaced by 'kotlin-runtime' library 2013-10-14 14:42:25 +04:00
Andrey Breslav d7936b7ea4 Do not fail when a class is not found 2013-10-06 17:01:40 +04:00
Andrey Breslav 0765e89b19 Weakly retained memoized functions moved out of util.runtime 2013-10-05 16:59:57 +04:00
Andrey Breslav 239ca9728d StorageManager API does not use Computable and Function and more 2013-10-05 16:59:57 +04:00
Andrey Breslav 7d1c46ed2c Getting rid of Computable and Function in lazy values and memoized functions 2013-10-05 16:59:56 +04:00
Andrey Breslav 4d28dfada6 Lazy values and memoized functions conform to Kotlin's function interfaces 2013-10-05 16:59:56 +04:00
Alexander Udalov 9d7968457f JDR doesn't depend on intellij-core 2013-10-04 18:32:42 +04:00
Alexander Udalov 89dbafb6be Rename KotlinClassFileHeader and related classes 2013-10-04 18:32:42 +04:00
Alexander Udalov c3abd1c26f Delete LOG.error from ReadDataFromAnnotationVisitor
These conditions can happen on a broken binary data, no need to report an error
about it
2013-10-04 18:32:42 +04:00
Alexander Udalov 098d183a72 Remove Logger from AnnotationDescriptorDeserializer
Use abstract ErrorReporter instead
2013-10-04 18:32:42 +04:00
Alexander Udalov ef7bb0cdf4 Delete LOG.warn about number of type arguments from JDR
This can happen when loading symbols from incorrect Java sources, which is OK
2013-10-04 18:32:41 +04:00
Alexander Udalov f218877cf2 Get rid of dependency of PackageClassUtils on StringUtil 2013-10-04 18:32:41 +04:00
Alexander Udalov 5f0c593bb8 Minor, inline methods, use String instead of StringUtil 2013-10-04 18:32:41 +04:00