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