Commit Graph

3045 Commits

Author SHA1 Message Date
Evgeny Gerashchenko f4c1722a46 Extracted method creating copy of type parameters (to reuse in SignaturesPropagationData). 2012-11-28 15:08:56 +04:00
Evgeny Gerashchenko 8d7de5d063 Supported checking for changing signature in submethods.
#KT-2776 in progress
2012-11-28 15:08:56 +04:00
Evgeny Gerashchenko dd671313c5 Supported propagation of vararg mark.
#KT-2776 in progress
2012-11-28 15:08:56 +04:00
Evgeny Gerashchenko 795b3bfbe0 Supported propagation of mutability in parameter position.
#KT-2776 in progress
2012-11-28 15:08:56 +04:00
Evgeny Gerashchenko a937d6be91 First converting classifier, and then process arguments. 2012-11-28 15:08:56 +04:00
Evgeny Gerashchenko 4da03f75f9 Supported simplest case of signatures propagation in value parameter position.
#KT-2776 in progress
2012-11-28 15:08:56 +04:00
Evgeny Gerashchenko 6530d48785 Passing super functions instead of method and trace to modifyReturnTypeAccordingToSuperMethods. 2012-11-28 15:08:55 +04:00
Pavel V. Talanov c726c95921 Hack to make tests pass
Inner classes of interfaces and inner interfaces are put in NonStaticMemberScope
2012-11-21 19:49:52 +04:00
Pavel V. Talanov 662acb58b1 Remove JavaPropertyResolver#getRealOwner() which is in fact redundant
Injectors regenerated
2012-11-21 19:49:46 +04:00
Pavel V. Talanov 3ae89dbb1d Test for resolving static members of java enum
Add clarifying note
2012-11-21 19:49:45 +04:00
Pavel V. Talanov 737b246b01 Fix resolve of inner and nested classes in JavaDescriptorResolver 2012-11-21 19:49:44 +04:00
Pavel V. Talanov 613a298e82 Use the same code to resolve classifiers for JavaClassStaticMembersScope as for non static members 2012-11-21 19:46:18 +04:00
Pavel V. Talanov 0c0d4d28c8 Simplify implementation of JavaClassNonStaticMembersScope#getClassifier()
Also cache inner classes and classifiers
2012-11-21 19:46:17 +04:00
Pavel V. Talanov 4b64e312fe Refactor: move ClassDescriptorFromJvmBytecode#getConstructors() logic to JavaClassNonStaticMembersScope 2012-11-21 19:46:16 +04:00
Pavel V. Talanov 8ac63a53ad Minor change to make code green 2012-11-21 19:46:15 +04:00
Pavel V. Talanov 05cf6a407a Refactor: split implementation of JavaBaseScope#computeAllDescriptors() and make computeInnerClasses() abstract, provide implementation in subclasses 2012-11-21 19:46:14 +04:00
Pavel V. Talanov 5bbe9af4bb Minor refactor 2012-11-21 19:46:13 +04:00
Pavel V. Talanov b6aa9b2bce Make JavaClassStaticMembersScope extend JavaClassMembersScope instead of JavaPackageScope, use JavaBaseScope instead of JavaPackageScope in JavaNamespaceResolver 2012-11-21 19:46:13 +04:00
Pavel V. Talanov 1ced967bc9 Refactor: pull getPsiElement() method Up 2012-11-21 19:46:12 +04:00
Pavel V. Talanov 32b7f64792 Refactor: extract JavaBaseScope getResolver() method 2012-11-21 19:46:11 +04:00
Pavel V. Talanov aad4e306b2 Make JavaBaseScope#computeFunctionDescriptor() abstract and provide implementation in subclasses 2012-11-21 19:46:10 +04:00
Pavel V. Talanov 908b58878b Introduce JavaClassNonStaticMembersScope and use instead of JavaClassMembersScope 2012-11-21 19:46:09 +04:00
Pavel V. Talanov eb155bb204 Refactor: remove useless check in PsiDeclarationProviderFactory 2012-11-21 19:46:08 +04:00
Pavel V. Talanov da47c31a86 Introduce JavaScopeForKotlinNamespace, JavaPackageScopeWithoutMembers, JavaClassStaticMembersScope, much clearer and more explicit logic in JavaNamespaceResolver#createNamespaceScope()
These classes explicitly represent 3 types of scopes that are created for NamespaceDescriptor in JDR
2012-11-21 19:46:07 +04:00
Evgeny Gerashchenko 4b465afdfa Saving order of super functions in SignaturesPropagation. 2012-11-21 14:00:51 +04:00
Svetlana Isakova 691cf52835 removed unused component dependencies 2012-11-20 19:54:55 +04:00
Svetlana Isakova 473a969598 ArgumentTypeResolver introduce
(component used in CallResolver)
2012-11-20 19:54:54 +04:00
Evgeny Gerashchenko 837cf38e91 Temporarily disabled assert in SignaturesPropagation which fails due to bug in IDEA. 2012-11-20 17:20:02 +04:00
Evgeny Gerashchenko 8252c51ebc Extracted method checking that loaded functions override super functions correctly. 2012-11-20 17:20:02 +04:00
Evgeny Gerashchenko 60f30732ed Supported several load from Java errors per declaration. 2012-11-20 17:20:02 +04:00
Evgeny Gerashchenko 4525e05268 Throwing exception only if no loading errors happened. 2012-11-20 17:20:02 +04:00
Evgeny Gerashchenko b09e0aa520 Added assert that we load consistent method hierarchy from Java. 2012-11-20 17:20:01 +04:00
Evgeny Gerashchenko 7e56d6eed8 Replaced indexed for loops with foreach. 2012-11-20 17:20:00 +04:00
Evgeny Gerashchenko d37bdbc07d Saving and loading projection kind of array element type in bytecode. 2012-11-20 17:20:00 +04:00
Evgeny Gerashchenko 21e97b408c Loading java arrays as Array<out T> at method return type position, as well. 2012-11-20 16:16:47 +04:00
Evgeny Gerashchenko 62b89655b9 Simplified calculateTypeArgumentsFromSuper and added samples in comments. 2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko 5ff718b94c Minor. Renamed variables where 'projection kind' term should be used instead of 'variance'. 2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko 4a37c130df Minor. Better name for CollectionClassMapping class. 2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko f287e2b55d Minor. Various fixups after code review. 2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko 94cad16d1d Moved all code relevant to signatures propagation to separate class.
#KT-2776 in progress
2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko 3b63e6e061 Supported variance propagation. 2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 9177080d8b Fixed loading variance from alternative signature. 2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko c5e9deb906 Reverted modification in TypeTransformingVisitor in "Renamed & moved AllInjectorsGenerator".
It was not relevant to that commit: it was squashed accidentally during interactive rebasing.
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 044487cf37 Supported propagating read-onliness.
#KT-2776 in progress
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 89b413b7ad Supported generic subclasses in submethods.
#KT-2776 in progress
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko e2d213f1fd Loading functions from superclasses before current to avoid heisenbug.
Added test with two supertypes.

 #KT-2776 in progress
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 494345ce10 Improved algorithm, added simple tests with generic types.
#KT-2776 in progress
2012-11-20 16:16:44 +04:00
Evgeny Gerashchenko 1f4d994480 Introduced simple propagation of nullability on loading Java.
#KT-2776 in progress
2012-11-20 16:16:44 +04:00
Evgeny Gerashchenko 3fce07b83a Arranged generator classes into packages to make it possible to compile GenerateInjectors separately. 2012-11-12 20:40:23 +04:00
Evgeny Gerashchenko 8d7e79c806 Renamed & moved AllInjectorsGenerator. 2012-11-12 19:54:22 +04:00