Commit Graph

243 Commits

Author SHA1 Message Date
Evgeny Gerashchenko 98ad890b60 Extracted method for finding exactly one fragment. 2013-12-17 20:28:48 +04:00
Evgeny Gerashchenko 1bbe9b0bd4 Removed DescriptorFinder.findPackage. 2013-12-17 20:28:47 +04:00
Evgeny Gerashchenko 557aaf363a Renamed method and got rid of some usages. 2013-12-17 20:28:47 +04:00
Evgeny Gerashchenko fbdc31790b Allowed "rewriting" unresolvedCache elements.
This is used to fix tests. The fix is pretty dirty, but related code is going to be thrown away anyway.
2013-12-17 20:28:46 +04:00
Evgeny Gerashchenko 78e40114ca More straightforward caching. 2013-12-17 20:28:45 +04:00
Evgeny Gerashchenko e18173cbac Made scope in JavaPackageFragmentDescriptor final. 2013-12-17 20:28:44 +04:00
Evgeny Gerashchenko 601cd4ce46 Migrated JS backend to package views and fragments. 2013-12-17 20:28:44 +04:00
Evgeny Gerashchenko aa2ff87b47 Simplified intrinsics matching in JS backend. 2013-12-17 20:28:44 +04:00
Evgeny Gerashchenko 7e4e3e849d Removed obsolete classes. 2013-12-17 20:28:42 +04:00
Evgeny Gerashchenko 75e550fe11 Removed namespaces from descriptor visitor. 2013-12-17 20:28:41 +04:00
Evgeny Gerashchenko 005b59e783 Inlined method. 2013-12-17 20:28:41 +04:00
Evgeny Gerashchenko b783175fb4 Removed ex-ModuleConfiguration classes. 2013-12-17 20:28:40 +04:00
Evgeny Gerashchenko d0605009ae Removed ModuleConfiguration. 2013-12-17 20:28:40 +04:00
Evgeny Gerashchenko 19d8f1394b Big refactoring continued. Migrating to package views and fragments. 2013-12-17 20:28:39 +04:00
Evgeny Gerashchenko 7abe6a5b4a Big refactoring. Migrating to package views and fragments. 2013-12-17 19:18:33 +04:00
Evgeny Gerashchenko 2a0d81a6fe Introduced package view and fragment classes. 2013-12-17 19:18:31 +04:00
Andrey Breslav b99753dd4f Builder class extracted 2013-12-17 19:18:30 +04:00
Svetlana Isakova 26f66eaea5 fixed INACCESSIBLE_OUTER_CLASS_EXPRESSION check
for extension lambda (with implicit this) in nested class
2013-12-17 19:04:41 +04:00
Valentin Kipyatkov db77eb54d7 Smart completion: java static members, enum members and class object members added 2013-12-16 21:23:08 +04:00
Svetlana Isakova 846d5d7cfe initialize constructor of object as static one 2013-12-16 16:24:21 +04:00
Svetlana Isakova 4c41d19eb1 interpret class in class object as static nested class
removed hack in TaskPrioritizer for import class from class object
2013-12-16 16:24:21 +04:00
Alexander Udalov d490a91f26 Delete unused code 2013-12-12 21:38:20 +04:00
Alexander Udalov cc1d4a033a Rename KotlinBuiltIns.isAny -> isAnyOrNullableAny
Reduce confusion, prevent bugs
2013-12-12 21:38:20 +04:00
Alexander Udalov 9e5c68a8f9 Fix KotlinBuiltIns.isUnit
It didn't check type's nullability
2013-12-12 21:38:20 +04:00
Alexey Sedunov 6913f42a97 Add support of light classes for local class/object declarations 2013-12-12 17:30:52 +04:00
Alexander Udalov 68961004a5 Collect overridden descriptors for property accessors to LinkedHashSet 2013-12-09 17:59:58 +04:00
Alexander Udalov 9ba562ba3d Add more info to exception message (EA-52595) 2013-12-07 02:42:00 +04:00
Sergey Mashkov b62e5e3ef5 Add [tailRecursive] annotation to built-ins 2013-12-05 21:41:02 +04:00
Natalia Ukhorskaya a9da88b425 Remove NumberValueTypeConstructor 2013-12-05 15:23:42 +04:00
Natalia Ukhorskaya 2a023c16a9 Use type from compile time value for prefix expression 2013-12-05 15:21:55 +04:00
Alexander Udalov b8a97bf192 Minor, fix typo 2013-12-03 18:59:52 +04:00
Alexander Udalov d6e1af645f Upgrade ABI version after objects refactoring 2013-12-02 19:56:17 +04:00
Alexander Udalov 310a70bf84 Report a separate diagnostic on inheritance from singletons 2013-12-02 19:56:16 +04:00
Alexander Udalov dcedbed7e1 Minor, inline DescriptorUtils.getEnumEntriesScope 2013-12-02 19:56:15 +04:00
Alexander Udalov 8549cbb510 Minor, make field final 2013-12-02 19:56:15 +04:00
Alexander Udalov 92cdb0b6e7 Fix imports from objects
This almost reverts 345ecbf, since now properties are no longer created for
objects
2013-12-02 19:56:13 +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 9e6cc829fb Delete WritableScopeImpl.addObjectDescriptor() 2013-12-02 19:56:10 +04:00
Alexander Udalov c6cfeec6fc Delete VariableDescriptorForObject 2013-12-02 19:56:09 +04:00
Alexander Udalov cb6c98d4d6 Delete OBJECT_PROPERTY kind from binary format
We never create properties for objects anymore, except enum entries of Java
enums. Delete PropertyDescriptorForObjectImpl and its usages
2013-12-02 19:56:08 +04:00
Alexander Udalov 5a4cc1e2fe Put enum entries into enum class in JDR 2013-12-02 19:56:07 +04:00
Alexander Udalov 60e7722a82 Enum entries are put into enum class, not its class object 2013-12-02 19:56:06 +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 bf1ea5fb01 Drop NamespaceLikeBuilder.addObjectDescriptor 2013-12-02 19:56:05 +04:00
Alexander Udalov dd6cfcdc78 Resolve enum entries similar to objects in TypeHierarchyResolver 2013-12-02 19:56:04 +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
Alexander Udalov 26bd1ff189 Change object resolution strategy in lazy resolve 2013-12-02 19:55:20 +04:00
Alexander Udalov 6c74b10f6c Change object resolution strategy in TypeHierarchyResolver
Instead of creating a synthetic property descriptor for objects, create a
synthetic class object in it and make it inherit from the object. This way all
of object's members will be accessible via its class object
2013-12-02 19:55:20 +04:00