Commit Graph

59 Commits

Author SHA1 Message Date
Pavel V. Talanov 40addaed13 Fix wrong deserialization order
For case when property and function have the same name or
extension and non-extension member have the same name
2014-11-14 17:09:14 +03:00
Pavel V. Talanov c9bdba8e20 Minor: comment 2014-11-14 16:18:34 +03:00
Pavel V. Talanov 2d4d1caf17 Improve filtering descriptors in DeserializedMemberScope 2014-11-14 16:18:33 +03:00
Pavel V. Talanov 8016766b23 Extension/non-Extension members are deserialized in correct order 2014-11-14 16:18:33 +03:00
Pavel V. Talanov 8e1111d690 Deserialized scope descriptor order synced with serialization order
That introduces implicit dependency of deserialization on MemberComparator
2014-11-14 16:18:32 +03:00
Pavel V. Talanov 847ccde099 Refactor DeserializedClassDescriptor: separate nested classes and enum entries logic 2014-11-14 16:18:31 +03:00
Pavel V. Talanov 9ddde7ca38 Do not put enum entry names into unordered set in deserialized classes 2014-11-14 16:18:30 +03:00
Pavel V. Talanov 5b009e216f Minor: comment 2014-11-14 16:18:30 +03:00
Pavel V. Talanov 77dd027d69 Use MemberComparator in DescriptorSerializer 2014-11-14 16:18:29 +03:00
Pavel V. Talanov 5ffa66ffc3 Do not put nested class names in unordered set for deserialized classes 2014-11-14 16:18:26 +03:00
Pavel V. Talanov 52f7999bee Stable order of member descriptors in DeserializedMemberScope 2014-11-14 16:18:25 +03:00
Pavel V. Talanov 5be30ab81d Add validation that deserialized members are sorted accordingly 2014-11-14 16:18:25 +03:00
Valentin Kipyatkov b13c0f2248 Renamed methods 2014-11-12 21:57:50 +03:00
Valentin Kipyatkov 5f5d2de5e0 Moved KindFilter and DescriptorKindExclude out of JetScope, moved constants as well and renamed them 2014-11-12 21:57:49 +03:00
Valentin Kipyatkov 95b3885aa5 Refactored filtering by descriptor kind so that no knowledge about SAM-constructors required in core 2014-11-12 21:25:02 +03:00
Valentin Kipyatkov 6f2da4930a Descriptor kind filter replaced with bit mask 2014-11-12 21:24:59 +03:00
Valentin Kipyatkov 43df891515 More precise descriptor kind filtering (preparing to optimize smart completion) 2014-11-12 21:24:59 +03:00
Valentin Kipyatkov d744575000 DeserializedPackageMemberScope uses kind and name filters 2014-11-12 21:24:58 +03:00
Valentin Kipyatkov c7527e4a4d Name filters filter by Name instead of String 2014-11-12 21:24:57 +03:00
Valentin Kipyatkov 760b9c4389 Added JetScope.getDescriptors(nameFilter, kindFilter) but the filters are never used yet 2014-11-12 21:24:55 +03:00
Valentin Kipyatkov 19f50960ca Code improvements after conversion to Kotlin 2014-11-05 21:42:16 +03:00
Valentin Kipyatkov 7a4bd79acc Converted to Kotlin 2014-11-05 21:42:16 +03:00
Valentin Kipyatkov 18c604bdf0 Renamed file to keep history 2014-11-05 21:42:15 +03:00
Valentin Kipyatkov e2e7210b37 Converted DeserializedPackageMemberScope to Kotlin 2014-11-05 21:42:14 +03:00
Valentin Kipyatkov c71100b486 Minor code improvements after conversion to Kotlin 2014-11-05 21:42:14 +03:00
Valentin Kipyatkov 9b81cf2454 Converted DeserializedMemberScope to Kotlin 2014-11-05 21:42:13 +03:00
Nikolay Krasko 7e1546d3e7 Merge stored empty lists and sets to singe object 2014-11-02 14:55:00 +03:00
Andrey Breslav 60ff2df597 Memory optimization: Do not retain LinkedHashSets in caches
LinkedHashSets are replaced with tight ArrayLists
2014-11-01 13:38:24 +02:00
Andrey Breslav f7ccfafd1c Minor. [platformStatic] used 2014-10-13 15:38:21 +04:00
Andrey Breslav 070a7d4d72 Serialization of flexible types supported 2014-10-13 15:38:20 +04:00
Evgeny Gerashchenko 38514673bf Clarified assertion for EA-53060. 2014-10-10 16:00:25 +04:00
Svetlana Isakova 20f3403c80 Rename: this object, receiver argument -> dispatch receiver, extension receiver 2014-10-01 18:52:51 +04:00
Alexander Udalov 1905401273 Move ClassId to module descriptors, closer to other names 2014-09-16 11:36:39 +04:00
Alexander Udalov ed92eb1d17 Minor, use another constructor of ClassId 2014-09-16 11:32:45 +04:00
Alexander Udalov a8c5f1bb3a Drop KotlinClassFinder#findKotlinClass(FqName)
findKotlinClass(ClassId) should be used instead
2014-09-15 19:30:50 +04:00
Alexander Udalov b52f337f7f Drop enum class object hack
Place valueOf() and values() into the static scope of the corresponding enum
class

 #KT-5580 Fixed
 #KT-2410 Fixed
2014-09-09 20:42:37 +04:00
Alexander Udalov 75df4a9ad8 Introduce ClassDescriptor#getStaticScope()
Will be used to exterminate hacks related to static Java methods in our
codebase: synthetic class object for enum, synthetic package for static members
of Java classes, etc.
2014-09-09 20:42:35 +04:00
Alexander Udalov 4ff6a627d0 Get rid of isConstructorOfStaticNestedClass()
This value can always be computed in ConstructorDescriptorImpl#initialize
2014-08-13 15:13:23 +04:00
Pavel V. Talanov 59e43020c3 Initial version of storing SourceElements in descriptors
Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
2014-07-09 18:19:34 +04:00
Alexander Udalov de21f76e10 Introduce EnumClassObjectDescriptor
Extract the duplicate logic in deserialization and descriptor.loader.java
2014-07-07 18:15:27 +04:00
Pavel V. Talanov b08cda8dd6 Avoid recomputing ClassData in DeserializedDescriptorResolver 2014-07-03 20:46:44 +04:00
Pavel V. Talanov 123523d1dc Drop ClassDataFinder#getClassNames() 2014-07-03 20:46:42 +04:00
Pavel V. Talanov 0c8956a36e Refactor: DescriptorFinder -> ClassDataFinder
Deserialization subsystem only need to know about the way to obtain class data, it can construct descriptors itself (no need to call DeserializedClassDescriptor constructor from other modules)
2014-07-03 20:46:41 +04:00
Pavel V. Talanov 53337f793b Move caching of deserialized classes to new component ClassDeserializer
Drop AbstractDescriptorFinder
2014-07-03 20:46:40 +04:00
Pavel V. Talanov 6683173f67 Refactor: Extract deserialize class to context 2014-07-03 20:46:39 +04:00
Pavel V. Talanov 348de193b4 Drop DescriptorFinder.EMPTY 2014-07-03 20:46:38 +04:00
Pavel V. Talanov 245919d691 Use module to resolve annotation classes in AnnotationDescriptorLoader 2014-07-03 20:46:36 +04:00
Pavel V. Talanov 7ee7047753 Deserializer: use module to search for dependencies in TypeDeserializer 2014-07-03 20:46:33 +04:00
Evgeny Gerashchenko aa41ae09ed Merge remote-tracking branch 'origin/master' into incremental 2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko 06cafe7f12 Replaced passing MemberFilter to constructor with method overriding. 2014-06-19 01:03:58 +04:00