Commit Graph

2023 Commits

Author SHA1 Message Date
Denis Zharkov daed74f9b2 Fix supertypes consistency check
See testKt5508:
`inner class B<S> : A<B<S>>()` is effectively the same as
`A<T>.B<S> : A<A<T>.B<S>>` or `B<S, T> : A<B<S, T>>`.
The latter is because we add outer class parameters to inner type constructor.

The problem is that we treat type constructors of first TP of 'A'
and of second type parameter (copy) of 'B' just the same and report INCONSISTENT_TYPE_PARAMETER_VALUES.

So we supposse it's more correct to compare type parameter descriptors instead
2015-11-13 14:47:29 +03:00
Denis Zharkov c5103f9ac4 Fix JavaClassifierType.getTypeArguments impls
Make them return arguments both for current classifier and for the outer one
2015-11-13 14:47:28 +03:00
Denis Zharkov 7b4c0fb83a Use original type parameters for SAM adapter to constructor
It makes SAM descriptors more consistent with real ones
2015-11-13 14:47:28 +03:00
Denis Zharkov d614adcd2a Obtain type parameters of constructor from containing class
Effectively this commit is just inlining of 'typeParameters' parameter
2015-11-13 14:47:28 +03:00
Denis Zharkov c9aa75259b Introduce ClassDescriptor.declaredTypeParameters
Should be a subset of type constructor's parameters
2015-11-13 14:47:28 +03:00
Mikhail Glukhikh 2f4dbd2084 Code cleanup: get rid of unnecessary !! / ?. / as 2015-11-13 13:13:55 +03:00
Dmitry Jemerov e64a270d1a more renames to get rid of "Jet" in class and method names 2015-11-09 19:07:11 +01:00
Michael Nedzelsky a3241637ce #fix KT-9881 Incorrect error re: internal visibility
#KT-9881 Fixed
2015-11-09 17:41:00 +03:00
Stanislav Erokhin 55157df3eb Removed MemberScope.ownerDescriptor 2015-11-06 00:01:35 +03:00
Stanislav Erokhin 22f78b148c Removed usages of MemberScope.ownerDescriptor property. 2015-11-06 00:01:34 +03:00
Stanislav Erokhin b8e828e040 Minor. Changed signature of SamConversionResolver.resolveSamConstructor 2015-11-06 00:01:33 +03:00
Stanislav Erokhin c4582d0e0c Replace function MemberScope.getContainingDeclaration() to property ownerDescriptor 2015-11-06 00:01:30 +03:00
Stanislav Erokhin 2c3f58eeb7 Renamed methods in MemberScope from getSmth to getContributedSmth 2015-11-05 14:34:00 +03:00
Stanislav Erokhin 6f9d9759ce Renamed KtScope to MemberScope 2015-11-05 14:34:00 +03:00
Stanislav Erokhin a90ca14033 Removed KtScope.Empty and created util function emptyScope 2015-11-04 14:28:28 +03:00
Stanislav Erokhin f7629b0c84 Removed getAllDescriptors() and getOwnDeclaredDescriptors() from KtScope 2015-11-04 14:28:25 +03:00
Stanislav Erokhin 0b5de434fa Removed usages KtScope.getAllDescriptors 2015-11-04 12:41:34 +03:00
Stanislav Erokhin 21fdd2ffc3 Created common supertype for LexicalScope & ImportingScope -- HierarchicalScope 2015-11-04 12:41:33 +03:00
Michael Bogdanov 86f8845c00 Fix for KT-8928: NoSuchMethodError on private property setter in companion object
#KT-8928 Fixed
2015-11-03 15:41:22 +03:00
Mikhail Glukhikh 41ebfd025e More precise diagnostics of smart cast impossible #KT-7240 Fixed 2015-11-03 13:38:51 +03:00
Dmitry Jemerov 736b496f6a drop deprecated @platformName and @platformStatic annotations 2015-11-02 17:00:44 +01:00
Zalim Bashorov 5a6bcea826 Introduce location in SamConversionResolver::resolveSamConstructor and provide right location in usages 2015-11-02 18:18:33 +03:00
Zalim Bashorov f1638bf6fd Minor: simplify code 2015-11-02 18:18:27 +03:00
Denis Zharkov 7eed041a7a Use original descriptor when obtaining source 2015-10-29 21:05:52 +03:00
Denis Zharkov 291f0e57d1 Introduce FunctionDescriptor.initialSignatureDescriptor
Mostly it's needed for backend to extract descriptor with initial signature

For example:
class A implements CharSequence {
        char charAt(int index) {}
}

We see `charAt` this method as `fun get(index: Int): Char`, but in backend it
matters what signature had this descriptor before.
2015-10-29 21:05:51 +03:00
Denis Zharkov 80bf7316c7 Add 'preserveSource' parameter to methods making substitution copies 2015-10-29 18:41:51 +03:00
Denis Zharkov ce34550c42 Introduce and implement SimpleFunctionDescriptor.createRenamedCopy 2015-10-29 18:41:50 +03:00
Alexander Udalov 86bc21da30 Make getUpperBoundsAsType an utility, remove from TypeParameterDescriptor 2015-10-28 19:17:53 +03:00
Alexander Udalov d29757d927 Make upper bounds of type parameter a list instead of a set
The same for lower bounds, also refactor type parameter implementations
2015-10-28 19:11:56 +03:00
Alexander Udalov 8a89662ea5 Remove FqNameBase, simplify FqName and FqNameUnsafe 2015-10-28 19:11:53 +03:00
Michael Nedzelsky 190bab099c fix KT-9441 Unable to Access Internal Classes from Test Code within Same Module
#KT-9441 Fixed
2015-10-28 01:58:54 +03:00
Zalim Bashorov a5708c9c0d Track lookups in JavaSyntheticPropertiesScope 2015-10-27 19:38:32 +03:00
Valentin Kipyatkov 74d14d30b0 No use of "by ..Scope.Empty" 2015-10-27 18:24:55 +03:00
Pavel V. Talanov dc791941d7 JvmAnalyzerFacade: Do not fail when java resolve api behaves in an unexpected way
Fixes a problem when java type from a library can be resolved to a class in source root
2015-10-27 18:07:17 +03:00
Dmitry Petrov ad030a2c03 KT-9721:
- Scripts should be included in files with callables.
2015-10-27 15:06:32 +03:00
Alexander Udalov a97567ea0c Optimize KProperty objects for delegated properties
Don't generate anonymous classes with a lot of methods because this hurts
Android. Add special classes to the runtime instead (also add
FunctionReferenceImpl, to be used later) and just create their instances in the
static initializer of each class
2015-10-26 21:02:34 +03:00
Dmitry Petrov 09f0b3fe87 KT-9721:
- Kotlin/JS still uses package facades.
Handle them properly in StubClassBuilder parentStack.
- Generate backend-related diagnostics in IDE
using light class generation for file facades.
- Drop PackageFacadeStubCache.
2015-10-26 19:37:52 +03:00
Valentin Kipyatkov ed6f845377 Added utility functions for synthetic extensions in scope 2015-10-26 19:30:04 +03:00
Valentin Kipyatkov 5f06f53bfd Renames 2015-10-26 19:30:03 +03:00
Valentin Kipyatkov c93de93332 FileScopeProvider.AdditionalScopes return ImportingScope's 2015-10-26 19:30:00 +03:00
Michael Bogdanov d977d29ec4 Support access to companion private members from nested classes
#KT-5363 Fixed
  #KT-6804 Fixed
2015-10-20 19:19:41 +03:00
Dmitry Jemerov d6a3870101 rename Kt to Kotlin in KtType, KtIcons 2015-10-20 16:23:31 +02:00
Valentin Kipyatkov 8e6b0a26bb Synthetic extensions to take all annotations from original declarations
#KT-9387 Fixed
2015-10-20 10:12:34 +03:00
Dmitry Jemerov 49033e0002 rename Jet* classes to Kt* 2015-10-19 21:35:30 +02:00
Alexey Tsvetkov 3476bed18a Drop @native from stdlib 2015-10-19 21:32:24 +03:00
Alexey Tsvetkov e9e42b0251 Code cleanup 2015-10-19 20:45:03 +03:00
Alexey Tsvetkov 7a1b6ed13f Fix supressing no body errors for external functions 2015-10-19 20:45:02 +03:00
Alexey Tsvetkov d87ce33458 Drop @inline from tests and incremental compilation 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov df8066b1e4 Drop annotations from stdlib and compiler 2015-10-19 20:45:01 +03:00
Alexey Tsvetkov c50aab6a75 Add modifier flags to descriptors 2015-10-19 20:45:01 +03:00