Commit Graph

244 Commits

Author SHA1 Message Date
Alexander Udalov c1777f28f9 Fix NPE in annotation deserializer 2014-01-23 22:02:59 +04:00
Andrey Breslav ca7d5a2988 Java annotation resolution made lazy 2014-01-22 19:04:43 +04:00
Andrey Breslav 6ce0b9b919 Annotations used instead of List<AnnotationDescriptor> 2014-01-20 16:17:54 +04:00
Andrey Breslav 1af71c4dbe Using common storage manager for all lazy services 2014-01-20 16:17:53 +04:00
Evgeny Gerashchenko 292f0e4a38 Introduced lazy type and some related optimizations. 2014-01-16 20:34:10 +04:00
Nikolay Krasko 72d3b46fc6 Revert "Add method for getting all classifiers with given name from the scope"
This reverts commit 97759f5bb7.
2014-01-15 22:01:04 +04:00
Andrey Breslav ca5cf6f3cc Infinite recursion broken for subpackage search 2014-01-15 16:16:22 +04:00
Andrey Breslav 6fe122e7db Correct nullability when loading annotations from Java 2014-01-15 16:16:22 +04:00
Andrey Breslav 8be8ab9c9b Useless method removed
Package fragments do not nest, do there's no need to account for subpackages in member scopes
2014-01-15 16:16:22 +04:00
Andrey Breslav ff6cbca797 Cryptic-looking functions (iif, eq, neq etc) removed 2014-01-15 16:16:21 +04:00
Andrey Breslav 935fae70ea Prefer sources to binaries in JDR 2014-01-15 16:16:20 +04:00
Andrey Breslav 5a49b6fda5 Loading classes with wrong ABI version as Java classes 2014-01-15 16:16:20 +04:00
Andrey Breslav 2e4d166d6f Loading deseralized descriptors integrated with loading from bare Java code 2014-01-15 16:16:19 +04:00
Andrey Breslav 672594cb92 Deserialization made available through context 2014-01-15 16:16:19 +04:00
Andrey Breslav 2febcb175d Minor: typo fixed 2014-01-15 16:16:18 +04:00
Andrey Breslav 308e438671 Java package fragment's provider is JavaPackageFragmentProvider 2014-01-15 16:16:18 +04:00
Andrey Breslav 1f382ca744 JavaDescriptorResolver exposes ModuleDescriptor 2014-01-15 16:16:17 +04:00
Andrey Breslav 48ac30a933 Add getPackageFragment() to JavaDescriptorResolver 2014-01-15 16:16:16 +04:00
Andrey Breslav cedbc0ea53 Add default supertype to enum class objects 2014-01-15 16:16:15 +04:00
Andrey Breslav 5d9c11a61e JavaDescriptorResolver returns LazyJavaPackageFragmentProvider in LAZY mode 2014-01-15 16:16:14 +04:00
Andrey Breslav ada79588f6 Names of subpackages and classes are computed in LazyJavaPackageFragmentProvider 2014-01-15 16:16:14 +04:00
Andrey Breslav c01705f542 Unneeded subclasses replaced by factory methods 2014-01-15 16:16:14 +04:00
Andrey Breslav 09c33044f3 Rename: LazyJavaSubModule -> LazyJavaPackageFragmentProvider 2014-01-15 16:16:13 +04:00
Andrey Breslav 96a3905dec LazyJavaPackageFragment implements JavaPackageFragmentDescriptor 2014-01-15 16:16:13 +04:00
Andrey Breslav 512599bdf1 LazyJavaSubModule turned into a JavaPackageFragmentProvider 2014-01-15 16:16:13 +04:00
Andrey Breslav b9526f8907 Members of Java interfaces annotated @ReadOnly 2014-01-15 16:16:12 +04:00
Andrey Breslav 4176ce4e6c Fixing compilation errors to account for package fragment/view 2014-01-15 16:16:10 +04:00
Andrey Breslav a26c37419e Synthetic classes created for enum entries 2014-01-15 16:14:58 +04:00
Andrey Breslav c4fe79f81e Special case for enum entries is not needed any more 2014-01-15 16:14:58 +04:00
Andrey Breslav 811bf22375 Account for API changes 2014-01-15 16:14:58 +04:00
Andrey Breslav 81069cd213 Minor code improvements 2014-01-15 16:14:57 +04:00
Andrey Breslav d52a1b56ae Rename innerC to c 2014-01-15 16:14:57 +04:00
Andrey Breslav 5442eaf15f Useless method removed 2014-01-15 16:14:56 +04:00
Andrey Breslav 3e4c533167 Do not allow built-in classes in Java resolve 2014-01-15 16:14:56 +04:00
Andrey Breslav 01b456f5c2 Temporarily caching resolved classes in the trace (for existing code in the IDE to be happy) 2014-01-15 16:14:55 +04:00
Andrey Breslav ef220eff92 Record Java packages in the trace
Account for LazyJavaPackageFragment in FindUsages
2014-01-15 16:14:55 +04:00
Andrey Breslav ec1960a960 Detect Kotlin binaries by actually loading binary data, not simply checking whether the annotation is present
This is needed because even if the annotation is present, the ABI version may be wrong, and we should load such class as a Java class anyways
2014-01-15 16:14:55 +04:00
Andrey Breslav b16b9c58e1 If all supertypes are errors, do not leave the supertype list empty 2014-01-15 16:14:54 +04:00
Andrey Breslav 6915773150 Record lazy classes created 2014-01-15 16:14:54 +04:00
Andrey Breslav 382b29edc8 Fix qualified name construction for the case when IDEA distorts them (e.g. replaces all '$' by '.') 2014-01-15 16:14:54 +04:00
Andrey Breslav b1c4665246 Support enums in Java code 2014-01-15 16:14:53 +04:00
Andrey Breslav 6ff2d68206 A flag replaced by a predicate 2014-01-15 16:14:53 +04:00
Andrey Breslav 6d4e025267 Do not filter package names by hasStaticMembers() 2014-01-15 16:14:53 +04:00
Andrey Breslav 8ee344132d Resolve annotations on classes lazily 2014-01-15 16:14:52 +04:00
Andrey Breslav 137f33c829 Do not resolve Kotlin binaries as Java classes 2014-01-15 16:14:52 +04:00
Andrey Breslav 2765327ae5 Detour for built-in classes 2014-01-15 16:14:52 +04:00
Andrey Breslav 258db05af2 Always go through JavaDescriptorResolver when resolving classes/packages 2014-01-15 16:14:51 +04:00
Andrey Breslav d0c0ba83fc Look packages up through JavaDescriptorResolver 2014-01-15 16:14:51 +04:00
Andrey Breslav 71ed2d2c71 Do not fail when an allegedly present name is not resolved 2014-01-15 16:14:50 +04:00
Andrey Breslav e538668229 Do not allow error supertypes 2014-01-15 16:14:50 +04:00