Commit Graph

190 Commits

Author SHA1 Message Date
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
Andrey Breslav 1ea9be67c4 Support netsted classes 2014-01-15 16:07:37 +04:00
Andrey Breslav 2620c872ab JavaDescriptorResolver can work in lazy or non-lazy mode 2014-01-15 16:07:37 +04:00
Andrey Breslav cc06e4aaf9 Basic implementation for class resolver 2014-01-15 16:07:36 +04:00
Andrey Breslav 9ace8eedf1 Resolving functions (no propagation/alternative signatures) 2014-01-15 16:07:36 +04:00
Andrey Breslav 8b6047e48f Allow to trigger search for external annotations lazily 2014-01-15 16:07:36 +04:00
Andrey Breslav bed01b601b Annotations supported 2014-01-15 16:07:36 +04:00
Andrey Breslav 93dc130e79 Initial version of lazy Java type resolver 2014-01-15 16:07:36 +04:00
Andrey Breslav 8a354ccd15 JDR subsystem: utility methods made public 2014-01-15 16:07:35 +04:00
Nikolay Krasko 4de9b2d205 Minor: remove waring about annotation absence in JetScope class 2014-01-15 14:05:09 +04:00
Evgeny Gerashchenko 5b7b0c5437 Simpler workaround for infinite recursion when obtaining Java sub packages. 2014-01-14 19:13:18 +04:00
Evgeny Gerashchenko cb78defa36 Considering static members when checking package-private visibility. 2014-01-14 19:13:16 +04:00
Evgeny Gerashchenko b41a3f8558 Got rid of "namespace" word in compiler code. 2014-01-14 18:06:50 +04:00
Evgeny Gerashchenko 2189fce64b Renamed class. 2014-01-14 18:05:57 +04:00
Andrey Breslav b120a5150c Foo.class never yields null in Java annotation arguments 2014-01-14 16:37:51 +04:00
Andrey Breslav 84709ed363 Annotation methods never return null 2014-01-14 16:37:51 +04:00
Andrey Breslav bf20c3a734 Annotation constructor parameters are never nullable 2014-01-14 16:37:51 +04:00
Andrey Breslav 01c6997fb7 Enum replaced by a map 2014-01-09 21:48:02 +04:00
Andrey Breslav 8b37db12b9 Concrete header classes replaced by kinds
AS a consequence, instanceof checks removed, code simplified
2014-01-09 20:41:44 +04:00
Andrey Breslav ce18d5ad8c KotlinClassHeader.read() removed 2014-01-09 20:41:44 +04:00
Andrey Breslav 8f8b85101e All IDE code uses VirtualFileFinder instead of KotlinClassFinder + proper service discovery 2014-01-09 20:41:43 +04:00