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
Alexander Udalov
477823b093
Change override rules when type parameters have multiple bounds
...
Instead of constructing the magic intersection type, compare sets of upper
bounds instead as javac does, modulo the substitution
2015-10-28 19:12:02 +03:00
Alexander Udalov
a59ca2ea9f
Simplify obsolete code in OverridingUtil
2015-10-28 19:12:00 +03:00
Alexander Udalov
996c14d071
Use representative upper bound in JetTypeMapper instead of just the first
2015-10-28 19:11:59 +03:00
Alexander Udalov
3918005364
Minor, improve compileJavaAgainstKotlin test
...
Render human-readable output when there are errors
2015-10-28 19:11:58 +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
1ce5f8458c
Extract ClassMapperLite, add enlightening comment
2015-10-28 19:11:55 +03:00
Alexander Udalov
0302b9504f
Minor, inline some other FQ name methods
2015-10-28 19:11:54 +03:00
Alexander Udalov
05f9f5a661
Drop path() from FQ names, remove weird code from FqNameUnsafe
2015-10-28 19:11:53 +03:00
Alexander Udalov
8a89662ea5
Remove FqNameBase, simplify FqName and FqNameUnsafe
2015-10-28 19:11:53 +03:00
Alexander Udalov
894a97a549
Rename field for property metadata cache to prevent problems in inline
2015-10-28 19:11:51 +03:00
Mikhail Glukhikh
6e3eef2d6f
JetTypeInfo renamed to KotlinTypeInfo
2015-10-28 17:36:34 +03:00
Dmitry Petrov
4eb7458143
box test for KT-9712: tests were generated in different order.
2015-10-28 17:15:05 +03:00
Michael Nedzelsky
c123af75fd
issue warning instead of error in case of finite bound or non-expansive inheritance violation in java code
2015-10-28 17:02:02 +03:00
Mikhail Glukhikh
d2c65a5336
Iterative call chain handling to get rid of JetTypeInfoInsideCallChain and other nasty things #KT-9754 Fixed
2015-10-28 16:00:30 +03:00
Sergey Mashkov
16b6bccd1e
Eliminate IllegalArgumentException caused by possible negative sized ArrayList creation
2015-10-28 15:45:25 +03:00
Michael Bogdanov
63f7f90521
Test for obsolete KT-8047
...
#KT-8047 Obsolete
2015-10-28 14:43:05 +03:00
Mikhail Glukhikh
f8a70302ac
Cleanup: get rid of effective visibility warnings
2015-10-28 14:31:51 +03:00
Natalia Ukhorskaya
932542891b
Stepping for inline functions: add test for last statement in for
2015-10-28 14:23:52 +03:00
Natalia Ukhorskaya
de5c3733e9
Do not use visitor for counting lambda ordinal for debugger
2015-10-28 14:23:52 +03:00