Mikhail Glukhikh
84100abd9e
Annotations on object literals are now correctly resolved #KT-9320 Fixed
2016-02-01 16:24:57 +03:00
Denis Zharkov
36f21932bb
Approximate captured type before mapping
...
#KT-7415 Fixed
2016-01-29 14:36:53 +03:00
Michael Bogdanov
c9cc9c55cd
Added assertion for super call with default arguments in function default impl body
2016-01-29 11:02:21 +03:00
Alexander Udalov
a02d1b75b8
Mark array constructors with 'inline'
...
To allow non-local returns from lambdas passed to them
2016-01-28 03:10:40 +03:00
Alexander Udalov
04026dbe84
Make Array<T>(size, init) a constructor of Array
...
It's not marked as inline, this is why 'crossinline' was added in
jaggedArray.kt/jaggedDeep.kt. Will be fixed in the following commits
2016-01-28 03:10:37 +03:00
Ilya Gorbunov
d49f5b95b0
Fix deprecations in testData
2016-01-27 19:05:19 +03:00
Ilya Gorbunov
23080f78f7
Map.getOrPut: treat nulls as missing values.
2016-01-26 11:49:18 +03:00
Stanislav Erokhin
e53e152f83
Removed hacks for code migration from ConstraintSystemImpl.
2016-01-25 21:53:09 +03:00
Ilya Gorbunov
4d5ec9be3f
Drop identityEquals from builtins, compiler and tests.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
2257fa36ec
Drop deprecations: text and system
...
Fix import in testData
Fix testData: replace removed method.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
25c4453dc5
Cleanup deprecated symbol usages in testData
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
f4822cd757
Fix testData in compiler: add collections and ranges package to fq-names.
2016-01-22 05:54:38 +03:00
Denis Zharkov
06fbc9bdd3
Support reification of arrays containing reified parameters
...
#KT-10555 Fixed
2016-01-20 14:27:53 +03:00
Alexander Udalov
9620893fa4
Drop synthetic class kind Function, drop Metadata#xi
2016-01-19 18:39:59 +03:00
Mikhail Glukhikh
b78d481bb1
delegate use-site targeted annotations: parser, front-end, codegen with some tests #KT-10502 Fixed
2016-01-19 11:38:41 +03:00
Denis Zharkov
23d2b87a52
Ignore redundant projections for declaration-site variance
2016-01-14 19:20:00 +03:00
Michael Bogdanov
e116cc3206
Private visibility for non-const, non-jvmField class companion property backing field
2015-12-29 16:45:22 +03:00
Alexander Udalov
890c961383
Fix reflection internal error on enum nested classes query
...
#KT-10520 Fixed
2015-12-28 16:40:34 +03:00
Mikhail Glukhikh
7d6ccc40c2
Implicit exhaustive whens now have exception in else branch #KT-8700 Fixed
2015-12-26 10:46:39 +03:00
Mikhail Glukhikh
99a32b93fb
Implemented missed checks for local functions #KT-10449 Fixed
...
Relevant code/test fixes
2015-12-23 18:22:32 +03:00
Sergey Mashkov
e25d31618c
Fix tests
2015-12-18 22:16:04 +03:00
Ilya Gorbunov
03816373b3
Primitive array constructor-like functions with init lambda.
...
#KT-8831
Update testData and resolve ambiguity in newArray test
2015-12-18 17:54:09 +03:00
Alexander Udalov
dc84445e2e
Inherit KProperty interfaces from function types
...
To be able to write the following: listOfStrings.map(String::length)
2015-12-16 19:48:28 +03:00
Denis Zharkov
7756644eb1
Introduce KClass<T>.javaPrimitiveType and KClass<T>.javaObjectType
...
#KT-6319 Fixed
2015-12-15 16:18:31 +03:00
Mikhail Glukhikh
19084b8182
Additional codegen test for KT-10107
2015-12-14 12:52:43 +03:00
Ilya Gorbunov
59a9e2549c
Fix tests: codegen, completion, decompiler consistency, quickdoc, intentions, navigation, reference resolver, quick fixes
2015-12-14 04:29:25 +03:00
Denis Zharkov
871fe7680b
Load special override as HIDDEN in case of signature clash
...
#KT-10151 Fixed
2015-12-11 22:41:03 +03:00
Denis Zharkov
303c756302
Refine generic signature for fields
...
- For vals use the same semantics as for return types
- For vars use the same semantics as for value parameters
2015-12-01 08:21:01 +03:00
Denis Zharkov
406e31f54a
Change default rules for declaration-site wildcards
...
Mostly this commit is about skipping wildcards that are redundant in some sense.
The motivation is that they looks `long` in Java code.
There are basically two important parts: return types and value parameters.
1. For return types default behaviour is skipping all declaration-site wildcards.
The intuition behind this rule is simple: return types are basically used in subtype position
(as an argument for another call), and here everything works well in case of 'out'-variance.
For example we have 'Out<Out<T>>>' as subtype both for 'Out<Out<T>>>' and 'Out<? extends Out<? extends T>>>',
so values of such type is more flexible in contrast to `Out<? extends Out<? extends T>>>` that could be used only
for the second case.
But we have choosen to treat `in`-variance in a different way: argument itself
should be rendered without wildcard while nested arguments are rendered by the rules
described further (see second part).
For example: 'In<Out<OpenClass>>' will have generic signature 'In<Out<? extends OpenClass>>'.
If we omit all wildcards here, then value of type 'In<Out<OpenClass>>'
will be impossible to use as argument for function expecting 'In<? super Out<? extends Derived>>'
where Derived <: OpenClass (you can check it manually :]).
And this exception should not be very inconvinient because in-variance is rather rare.
2. For value parameters we decided to skip wildcards if it doesn't make obtained signature weaker
in a sense of set of acceptable arguments.
More precisely:
a. We write wildcard for 'Out<T>' iff T ``can have subtypes ignoring nullability''
b. We write wildcard for 'In<T>' iff T is not equal to it's class upper bound (ignoring nullability again)
Definition of ``can have subtypes ignoring nullability'' is straightforward and you can see it in commit.
#KT-9801 Fixed
#KT-9890 Fixed
2015-12-01 08:20:59 +03:00
Yan Zhulanow
9d1af5a17e
Fix tests: "infix modifier required" and "operator modifier required" errors
2015-11-27 15:51:11 +03:00
Yan Zhulanow
a3ff3ffc45
Fix tests: "Placing function type parameters after the function name" error
2015-11-27 15:51:11 +03:00
Dmitry Petrov
db42941586
Allow annotation constructor calls
...
in default parameter value expressions of anonymous classes
(if it is not a compile-time constant, it will be reported separately).
#KT-10136 Fixed
2015-11-25 18:06:08 +03:00
Dmitry Petrov
931463af0d
- Fix code generation for inlined String::plus
...
#KT-10131 Fixed.
- Make extra factory methods in IntrinsicMethod protected.
This ensures that any of them can be properly overridden.
2015-11-24 12:09:34 +03:00
Dmitry Petrov
048e96ef6a
Fix safe call code generation for ranges.
2015-11-23 10:34:08 +03:00
Mikhail Glukhikh
f81a5c06ea
Protected in allowed in companion objects but forbidden in other objects, relevant test fixes
2015-11-20 16:32:59 +03:00
Ilya Gorbunov
3639afafce
Deprecated with ERROR preconditions with eager message.
2015-11-11 19:00:03 +03:00
Ilya Gorbunov
07c570f35d
Replace getStackTrace usages in j2k and testData.
2015-11-11 18:59:56 +03:00
Ilya Gorbunov
6bac3e1986
Drop Ranges, Progressions, ProgressionIterators for Double and Float.
...
Undeprecate generic Comparable.rangeTo, but return private implementation instead.
Undeprecate contains and coerceIn for generic ranges.
2015-11-11 03:53:47 +03:00
Ilya Gorbunov
4d2f9b82da
reversed() behavior changed for progressions. Stepped progression behavior changes: 'end' property is now deprecated, use 'last' instead.
2015-11-11 03:53:45 +03:00
Ilya Gorbunov
25da037868
Update range iteration tests and regenerate test data.
2015-11-11 03:53:37 +03:00
Ilya Gorbunov
5e6d16103e
Remove deprecated ranges from tests and take into account that Byte and Short rangeTo now returns IntRange.
2015-11-11 03:53:31 +03:00
Alexander Udalov
1576160390
Improve implementation of callable reference superclasses
...
Previously to use reflection on them, you had to wrap an already created object
with a "Reflection.function" or "Reflection.propertyN" call, which the JVM
back-end was doing. This was not optimal in several senses and current solution
fixes that
2015-11-09 22:24:40 +03:00
Alexander Udalov
1c889c4e67
Support equals, hashCode, toString for ::-references without reflection
2015-11-09 22:24:39 +03:00
Michael Bogdanov
7147c84396
Fix for KT-9897: Cannot pop operand off an empty stack" with -= on ArrayList element
...
#KT-9897 Fixed
2015-11-09 16:17:24 +03:00
Ilya Gorbunov
850c1518c8
Fix Delegates.lazy usages in testData
2015-11-06 01:12:09 +03:00
Ilya Gorbunov
62b532ec66
Replace deprecated join with joinToString in testData
2015-11-06 01:12:02 +03:00
Michael Bogdanov
559b85caa8
Test for obsolete KT-6382: Incorrect bridge method calls are generated for member extension functions with default parameters
...
#KT-6382 Obsolete
2015-11-03 15:40:16 +03:00
Dmitry Jemerov
736b496f6a
drop deprecated @platformName and @platformStatic annotations
2015-11-02 17:00:44 +01:00
Michael Bogdanov
7ee42ab18d
Fix for KT-9828: DX error on MutableMap.MutableEntry<String, Int> deconstruction: attempt to set or access a value of type java.lang.Object using a local variable of type int.
...
#KT-9828 Fixed
2015-10-30 16:47:21 +03:00
Alexander Udalov
996c14d071
Use representative upper bound in JetTypeMapper instead of just the first
2015-10-28 19:11:59 +03:00