Commit Graph

410 Commits

Author SHA1 Message Date
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
Andrey Breslav 31d4993406 Properly handle @NotNull for arrays 2014-01-15 16:14:50 +04:00
Andrey Breslav 3f3030ff26 Account for fields annotated @NotNull 2014-01-15 16:14:49 +04:00
Andrey Breslav 645b878ac2 Java resides in the same module as Kotlin 2014-01-15 16:14:49 +04:00
Andrey Breslav 834b306706 Render nullability for error types properly 2014-01-15 16:14:49 +04:00
Andrey Breslav 1eb38febf2 Supertypes are always not null 2014-01-15 16:14:48 +04:00
Andrey Breslav 111b11113d Load classes from Kotlin binaries 2014-01-15 16:14:48 +04:00
Andrey Breslav e1f7a3cb2b Filter special annotations 2014-01-15 16:14:48 +04:00
Andrey Breslav 67ab159504 Do not build descriptors for built-in classes 2014-01-15 16:14:47 +04:00
Andrey Breslav eacb731308 Support SAM constructors 2014-01-15 16:14:47 +04:00
Andrey Breslav 9356af8d73 No classes are resolved through package scope for class static members 2014-01-15 16:14:47 +04:00
Andrey Breslav 7619e8f3c7 Support SAM adapters for functions and constructors 2014-01-15 16:14:46 +04:00
Andrey Breslav 834db7a7cc Properly account for constructor's own type parameters 2014-01-15 16:14:46 +04:00
Andrey Breslav cc1d8448ed Prevent lazy types to be accidentally computed in debug 2014-01-15 16:14:45 +04:00
Andrey Breslav c94b658462 Nullability fixed for upper bounds that are not type parameters 2014-01-15 16:14:45 +04:00
Andrey Breslav 5c64ad93f8 Properly map annotation classes and account for @Deprecated 2014-01-15 16:14:45 +04:00
Andrey Breslav 34234485a5 Properly look up annotations 2014-01-15 16:14:44 +04:00
Andrey Breslav 0378551b72 Allow for Kotlin class resolution 2014-01-15 16:14:44 +04:00
Andrey Breslav 6257471e24 Prevent recursion on getting all subpackages 2014-01-15 16:14:44 +04:00
Andrey Breslav aa34310770 Properly transforming type parameters in case of raw types, and mismatches between parameter and argument numbers
NOTE: JetType.getArguments() now implies that JetType.getConstructor() is computed. In most use cases this happens anyways due to the logic of the client code
2014-01-15 16:14:43 +04:00
Andrey Breslav c13b77d94c Take care of Java's constructor type parameters 2014-01-15 16:14:43 +04:00
Andrey Breslav 2f2332bfe2 No need for applyNullability() 2014-01-15 16:14:42 +04:00
Andrey Breslav 4a15c6728d Propagation and alternative signatures for functions in Java 2014-01-15 16:14:42 +04:00
Andrey Breslav 089352b525 isError() implemented for lazy java types 2014-01-15 16:14:41 +04:00
Andrey Breslav 03a9c776b2 Support loading Java fields as properties 2014-01-15 16:14:38 +04:00
Andrey Breslav 03cb977b2a Support overrides in Java classes 2014-01-15 16:07:40 +04:00
Andrey Breslav d79403d82c Don't fail on star projections for error types 2014-01-15 16:07:40 +04:00
Andrey Breslav b3f9dddc84 All extra services delivered through contexts 2014-01-15 16:07:39 +04:00
Andrey Breslav 297bfd2903 Resolve functions in packages loaded from Java classes 2014-01-15 16:07:39 +04:00
Andrey Breslav eb56550c54 Properly load Java classes as packages 2014-01-15 16:07:38 +04:00
Andrey Breslav 521c203f76 Proper toString() added to lazy classes 2014-01-15 16:07:38 +04:00
Andrey Breslav 5eacd6bdee Differentiate package fragments loaded from java packages and java (static) classes 2014-01-15 16:07:38 +04:00
Andrey Breslav e0d890853d Adding submodule to the context 2014-01-15 16:07:38 +04:00
Andrey Breslav ba81e40ccb Constructors supported 2014-01-15 16:07:37 +04:00
Andrey Breslav cee4c0c29d All Java classes extend java.lang.Object (directly or indirectly) 2014-01-15 16:07:37 +04:00