Commit Graph

1543 Commits

Author SHA1 Message Date
Michael Bogdanov a018e4e12a Updated exception table generation: support new exception table in non-local returns 2015-06-24 09:48:55 +03:00
Pavel V. Talanov 96199ecc1f Refactor AnalyzerFacade: move module.initialize() outside of createResolverForModule() 2015-06-23 15:19:22 +03:00
Pavel V. Talanov 37bcd455b5 Make ModuleDescriptor#getPackage() return not null lazy object with lazy scope
Refactor: no need to create package view in order to obtain its subpackages
LazyPackageViewDescriptorImpl to replace PackageViewDescriptorImpl
This allows to avoid computations when package views are requested but their contents not necessarily queried
For example: DescriptorResolver.resolvePackageHeader()
2015-06-23 15:19:06 +03:00
Pavel V. Talanov 1cf38e4799 Convert PackageViewDescriptor to Kotlin 2015-06-23 15:18:57 +03:00
Karol Depka 033f2668d5 KT-7615 workaround for crash on Android ART caused by "private constructor" in DescriptorBasedProperty #KT-7615 Fixed
Tested on Android 5.1.0 API 22 in Genymotion
2015-06-22 15:57:04 +03:00
Alexander Udalov dc909ba1d4 Minor, fix ExtensionReceiver#toString 2015-06-17 16:23:57 +03:00
Alexander Udalov 98ce0d529c Fix incorrect 'original' in property accessors
#KT-3930 Fixed
2015-06-17 16:23:56 +03:00
Alexander Udalov 4dcc373a5a Fix concrete method inheritance in interfaces
For each non-abstract non-declared (i.e. inherited from supertypes) method in
an interface we generate its static form to the TImpl, which calls the TImpl
method from the corresponding supertype.

The accidental override tests changed because we're now trying to generate the
delegate for the super method, not knowing that it will clash with the declared
method

 #KT-2888 Fixed
 #KT-5393 Fixed
2015-06-17 16:23:56 +03:00
Valentin Kipyatkov c8f9b466b6 More correct comparison with CANT_INFER_FUNCTION_PARAM_TYPE 2015-06-15 18:32:44 +03:00
Valentin Kipyatkov efdfa4b247 Minor changes after review 2015-06-15 18:27:25 +03:00
Valentin Kipyatkov 483da9607c KT-4893 Code completion should not show multiple functions with the same signature
#KT-4893 Fixed
2015-06-15 18:27:21 +03:00
Mikhail Glukhikh 46d5290f70 Exception fix (equal returns true for the same types) #EA-65206 Fixed 2015-06-15 14:43:17 +03:00
Pavel V. Talanov 846c0e2522 AnalyzerFacade: compute module dependencies lazily 2015-06-13 20:36:50 +03:00
Pavel V. Talanov 705f35450f Refactor setting dependencies for ModuleDescriptors 2015-06-13 20:36:47 +03:00
Denis Zharkov eb7114bd53 Add 'constructor' keyword in whole project where needed 2015-06-12 09:55:15 +03:00
Denis Zharkov da254ab1a0 Drop support of java.lang.Class as annotation parameter
Also drop some related diagnostics and testData
2015-06-12 09:55:12 +03:00
Denis Zharkov d71fe0d11a Drop JavaClassValue and it's usages
Also drop related testData
2015-06-12 09:55:10 +03:00
Denis Zharkov 9245cfaa7f Load Class-object from java annotated entity as KClass 2015-06-12 09:55:08 +03:00
Denis Zharkov 2e284718ce Revert "Create additional constructor for java annotation with Class-parameter"
This reverts commit 8f0e290dec.
2015-06-12 09:55:06 +03:00
Denis Zharkov 9080b57635 Revert "Load annotation parameter's type for ctr as contravariant"
This reverts commit 294eb1dceb.
2015-06-12 09:55:03 +03:00
Denis Zharkov 200dee2761 Replace deprecated annotations in whole project 2015-06-12 09:23:32 +03:00
Evgeny Gerashchenko 0ddfedba49 Allowed accessing private members from same package, but different package fragment instance. 2015-06-11 18:58:32 +03:00
Alexander Udalov 64b60718e3 Finish off old deprecated function/extension function classes
This reverts commit d14e5b8a72.
2015-06-10 14:41:57 +03:00
Alexander Udalov 5394abc83e Don't use reflection in JetType.getCapability 2015-06-10 14:41:56 +03:00
Alexander Udalov d4c18b3d55 Drop PsiBasedMethodSignatureChecker 2015-06-10 14:41:56 +03:00
Valentin Kipyatkov 657abffea2 Minor code improvement 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov ef550e1f21 Reduced number of constant renderers in DescriptorRenderer 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov 4263c47f4d DescriptorRenderer: moved enums out 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov fcf613cf03 Replacing usages of DescriptorRenderer.renderName/renderFqName 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov acdf6b2821 Minor 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov c661e2fbe2 DescriptorRenderer uses FqName.render(), not the opposite 2015-06-10 11:34:59 +03:00
Valentin Kipyatkov 2d5611d916 DescriptorRenderer uses Name.render(), not the opposite 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov 0766e685b1 Minor code improvements 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov 55b898167b DescriptorRendererImpl made internal + minor improvements 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov 2601e0ccd4 Fixed non-equivalent conversion from Java 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov a1ff2f20ed Got rid of DescriptorRendererBuilder providing new scheme for creating DescriptorRenderer's 2015-06-10 11:34:58 +03:00
Valentin Kipyatkov ce2ce44d7b Converted DescriptorRenderer, DescriptorRendererImpl and DescriptorRedererBuilder to Kotlin 2015-06-10 11:34:58 +03:00
Pavel V. Talanov 7585cbfe22 Remove check in visibilities that allowed access to privates of outer packages
It doesn't work for a while now in imports and is planned to be dropped with upcoming changes to private
2015-06-08 20:25:52 +03:00
Dmitry Jemerov 220403b6f6 avoid unnecessary creation of empty containers 2015-06-08 15:10:40 +02:00
Alexander Udalov 6e97f85863 Fix type argument substitution bug in KFunction construction
For example,

KMemberFunction2<T, P1, P2, R> : KMemberFunction<T, R>

So for this inheritance the heuristic that was present ("take the last K type
parameters of the subclass, and substitute for K parameters of the superclass")
was wrong. The new heuristic for this case is: take type parameters with the
same names.

Also don't store "parameters" in a lazy value, since it's easy to compute and
it's computed practically every time anyway
2015-06-04 23:08:21 +03:00
Alexander Udalov b474fa9278 Refactor fictitious function class kinds, reuse in J<->K map 2015-06-04 23:08:21 +03:00
Denis Zharkov 0e718fbaab Introduce UNKNOWN visibility as default in FunctionDescriptor
It's needed to prevent NPE when requesting non-nullable visibility of descriptor
before `initialize` has been called.
Currently it happens because of indirect calls of `DescriptorUtils.isLocal`
between descriptor creation and it's initialization.
2015-06-04 16:11:02 +03:00
Denis Zharkov 4f85afb3f0 Fix DescriptorUtils.isLocal semantics
Non-member descriptors, e.g. type parameters, value parameters that defined in local function should be local too
Otherwise a lot of exceptions happens when resolving references within anonymous objects
2015-06-04 16:11:02 +03:00
Alexander Udalov e38bc864d1 Fix heavy integer parsing in FunctionN class factory
#KT-7924 Fixed
2015-06-03 15:37:49 +03:00
Alexander Udalov 6c8f2be1d8 Revert "Fix heavy integer parsing in FunctionN class factory"
This reverts commit 9d493d995e.
2015-06-03 15:32:47 +03:00
Alexander Udalov 9d493d995e Fix heavy integer parsing in FunctionN class factory
#KT-7924 Fixed
2015-06-03 15:14:23 +03:00
Dmitry Jemerov 758b94d3a6 get rid of JetScopeSelectorUtil, inline its contents into Kotlin code 2015-06-03 12:03:15 +02:00
Dmitry Jemerov 9672264442 avoid unnecessary and expensive creation of FqName instances 2015-06-02 16:36:03 +02:00
Alexander Udalov d1df234cfe Support annotations as annotation arguments in reflection, add test
A follow-up to 281acb8 where this was supported in the compiler
2015-06-02 17:31:19 +03:00
Alexander Udalov 158b3ba102 Make parameter names of fictitious function classes non-stable
To be able to change them when overriding invoke in subclasses without a
warning
2015-06-02 17:30:58 +03:00