Commit Graph

27521 Commits

Author SHA1 Message Date
Valentin Kipyatkov 582443ea7b More efficient filtering of runtime receiver type variants in debugger 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov 3e3d86aebb A little bit more correct filtering 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov 0ee2b512ff Completion of non-imported extensions in debugger for runtime receiver type 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov c9048266c8 Fixed extensions completion for runtime receiver type in debugger (broken by previos changes in extensions completion) 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov a26f6da12d Do not filter out synthetic extensions (if they will ever exist in future) 2015-10-30 12:03:51 +03:00
Valentin Kipyatkov 9feed9c3ef Fixed filtering of shadowed declarations after changes in extensions treatment 2015-10-30 12:03:50 +03:00
Valentin Kipyatkov be5569d31a Performance optimization in completion: do not analyze all extensions available from imports - use index 2015-10-30 12:03:50 +03:00
Michael Bogdanov 9f9217b9c3 Test for obsolete KT-9642
#KT-9642 Obsolete
2015-10-30 09:39:11 +03:00
Michael Bogdanov f3092bf390 Fix for KT-9637: Runtime crash when using class literal in inline functions with reified type parameters
#KT-9637 Fixed
2015-10-30 09:39:10 +03:00
Michael Bogdanov 34fccc6dae Fix for KT-6990: inline reified doesn't inline call in some cases
#KT-6990 Fixed
2015-10-30 09:39:09 +03:00
Michael Bogdanov 33bf314518 Fix for KT-6552 IllegalAccessError in inline function with "when" over enum across modules
#KT-6552 Fixed
2015-10-30 09:39:09 +03:00
Michael Bogdanov 9e5af43ce1 Fix for KT-9788: AssertionError from back-end when we read field from inline function
#KT-9788 Fixed
2015-10-30 09:39:08 +03:00
Alexander Udalov 7046f63511 Move/inline stuff from TypeUtils to other modules 2015-10-29 21:16:07 +03:00
Alexander Udalov 5677ff60e7 Move/inline stuff from DescriptorUtils to other modules 2015-10-29 21:16:06 +03:00
Alexander Udalov 2c64848826 Don't swallow exception in KotlinBuiltIns, assert instead
See 16b6bcc

 #KT-9820 Open
2015-10-29 21:16:05 +03:00
Alexander Udalov 4d909d9012 Move LexicalScope to frontend 2015-10-29 21:16:05 +03:00
Alexander Udalov 09a36acee4 Minor, remove HTML from kdoc 2015-10-29 21:16:04 +03:00
Denis Zharkov 9b29181878 Minor. Add Kotlin overrides to test
#KT-6733 Obsolete
2015-10-29 21:05:52 +03:00
Denis Zharkov 7eed041a7a Use original descriptor when obtaining source 2015-10-29 21:05:52 +03:00
Denis Zharkov 5755af6b27 Remove wrong condition part: there could be irrelevant overrides from Kotlin 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 95d12260c1 Fix project sources after latter changes
ResolveSession is inherited from two interfaces:
1. The one written in Java with 'getModuleDescriptor'
2. And the second one in Kotlin with property 'moduleDescriptor'

Now we treat such declarations from supertypes like they are just plain
property accessor overrides, and 'getModuleDescripton' and it's friends
becomes invisible via ResolveSession
2015-10-29 21:05:51 +03:00
Denis Zharkov 94803ce1c4 Collect overrides of special builtin members in super types
#KT-9695 Fixed
2015-10-29 21:05:26 +03:00
Denis Zharkov 060178e53f Minor. Convert extension to common function 2015-10-29 18:41:51 +03:00
Denis Zharkov 50125f612e Unify creation of special builtin functions
Create all of them --- both renamed and with de-erased signature ---
within 'computeNonDeclaredFunctions'.

This helps to get rid of open 'resolveMethodToFunctionDescriptor'
and guarantees that method inside 'isVisibleAsFunction'
is always without any magic.
2015-10-29 18:41:51 +03:00
Denis Zharkov c855d3fad9 Minor. Extract searchMethodsByNameWithoutBuiltinMagic and weaken return types 2015-10-29 18:41:51 +03:00
Denis Zharkov 80bf7316c7 Add 'preserveSource' parameter to methods making substitution copies 2015-10-29 18:41:51 +03:00
Denis Zharkov dd46056784 Introduce SimpleFunctionDescriptor.createCopyWithNewValueParameters 2015-10-29 18:41:51 +03:00
Denis Zharkov 4e7731f41f Refactor 'isVisibleAsFunction' to make it work with SimpleFunctionDescriptor
Also inline 'resolveMethodToFunctionDescriptorWithName'
2015-10-29 18:41:50 +03:00
Denis Zharkov ce34550c42 Introduce and implement SimpleFunctionDescriptor.createRenamedCopy 2015-10-29 18:41:50 +03:00
Stanislav Erokhin 69038063a6 Mark callable reference candidate as error when there is error type. 2015-10-29 15:30:32 +03:00
Stanislav Erokhin d019445493 Minor. Add tracing strategy to MutableResolvedCall 2015-10-29 15:30:32 +03:00
Stanislav Erokhin 97f6213873 Minor. Introduce public constructor ResolvedCallImpl for future use 2015-10-29 15:30:32 +03:00
Stanislav Erokhin 5e6a86fa70 Minor. Make public util function stripCallArguments in CallTransformer 2015-10-29 15:30:31 +03:00
Stanislav Erokhin cccc4fccd1 Minor. change several signatures 2015-10-29 15:30:31 +03:00
Stanislav Erokhin 1737c7251a Minor. Extract createLookupLocation for call 2015-10-29 15:30:30 +03:00
Stanislav Erokhin 0120139f9c Fix for EA-74904. 2015-10-29 15:30:30 +03:00
Stanislav Erokhin 98379d64e8 Minor. Workaround for KT-9788 AssertionError from backand when we read field from inline function 2015-10-29 15:30:29 +03:00
Nikolay Krasko 41cbc12d7f Don't propose to make objects abstract (KT-9795)
#KT-9795 Fixed
2015-10-29 14:37:15 +03:00
Nikolay Krasko 8bef335b71 Don't propose to generate Any methods in interface to avoid METHOD_OF_ANY_IMPLEMENTED_IN_INTERFACE error (KT-9796)
#KT-9796 Fixed
2015-10-29 14:37:14 +03:00
Nikolay Krasko 625907e49d Refactoring: move check for Any member into builtins 2015-10-29 14:37:13 +03:00
Alexander Udalov 925b0e567e Minor, delete leftovers from package part refactorings 2015-10-28 21:51:19 +03:00
Alexander Udalov c5ec3b0f6f Minor, drop HTML and improve language in ConstraintSystem kdoc 2015-10-28 21:45:51 +03:00
Alexander Udalov 5fc14e0224 Move constraint system, type intersection, common supertypes to compiler 2015-10-28 19:17:58 +03:00
Alexander Udalov 302cd3ca2f Minor, move some utilities closer to their usages 2015-10-28 19:17:56 +03:00
Alexander Udalov d6e87c50ab Don't use TypeIntersector when loading generic Java constructors
This is not entirely type-safe but this case is so rare that hardly anyone will
be able to spot the change
2015-10-28 19:17:56 +03:00
Alexander Udalov 86bc21da30 Make getUpperBoundsAsType an utility, remove from TypeParameterDescriptor 2015-10-28 19:17:53 +03:00
Alexander Udalov 12d6b6e7e4 Use "Any?" as out-type for type parameters instead of intersection of bounds
Also refactor checkSubtypeForTheSameConstructor to compute everything in the
best order
2015-10-28 19:12:26 +03:00
Alexander Udalov bed75e8af2 Remove some unjustified usages of TypeParameterDescriptor#getUpperBoundsAsType 2015-10-28 19:12:24 +03:00
Alexander Udalov 426bddb54e Move OverridingUtil#getUpperBound to OverloadUtil, add tests on overloads 2015-10-28 19:12:05 +03:00