Mikhail Glukhikh
7e528da00a
Regression codegen test #KT-8344 Obsolete
2016-02-02 12:43:52 +03:00
Denis Zharkov
816c66063b
Report special diagnostic when fake-call receiver is nullable
...
#KT-3602 Fixed
2016-02-02 08:17:49 +03:00
Denis Zharkov
9b3f557337
Report MEMBER_PROJECTED_OUT on calls with smart cast receiver
...
#KT-10856 Fixed
2016-02-02 08:17:48 +03:00
Ilya Gorbunov
801a26a544
Fix testData
2016-02-01 22:20:30 +03:00
Michael Bogdanov
5f38c1d571
Fix for KT-10729: Accessing private const field in companion object from a function in the same companion generates run-time error
2016-02-01 18:42:19 +03:00
Michael Bogdanov
328b9bfeda
Removed old default generation
2016-02-01 18:32:12 +03:00
Pavel V. Talanov
a90f8122bd
Fix NPE on trying to compile script files
...
(There is still no design)
2016-02-01 17:33:46 +03:00
Mikhail Glukhikh
d194af5c4e
Correct report of NO_VALUE_FOR_PARAMETER when function call contains no brackets and lambda at the end #KT-7813 Fixed
2016-02-01 17:11:54 +03:00
Mikhail Glukhikh
84100abd9e
Annotations on object literals are now correctly resolved #KT-9320 Fixed
2016-02-01 16:24:57 +03:00
Denis Zharkov
e5f644a64a
Temporary disable warning about unchecked reified argument
...
#KT-10847 Fixed
#KT-6484 Reopened
2016-02-01 13:36:38 +03:00
Dmitry Petrov
b3f390abe5
Fix KT-10775 Empty when causes compilation exception.
...
Expression type for an empty 'when' is 'kotlin.Unit'.
2016-01-29 18:50:48 +03:00
Mikhail Glukhikh
dcc6262f47
Regression test #KT-7804 Obsolete
2016-01-29 17:23:40 +03:00
Denis Zharkov
505dc61611
Treat extension receiver as noinline parameter
...
#KT-9574 Fixed
2016-01-29 14:36:53 +03:00
Denis Zharkov
2cd88b8cbc
Make crossinline and noinline incompatible
2016-01-29 14:36:53 +03:00
Denis Zharkov
855a0b3493
Force type calculation for local function if it should be inferred
...
It helps to catch TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM errors
because they appear after return type calculation began
#KT-6271 Fixed
#KT-3272 Obsolete
2016-01-29 14:36:53 +03:00
Denis Zharkov
7d6310d88c
Add test for obsolete issue
...
#KT-9571 Obsolete
2016-01-29 14:36:53 +03:00
Denis Zharkov
36f21932bb
Approximate captured type before mapping
...
#KT-7415 Fixed
2016-01-29 14:36:53 +03:00
Denis Zharkov
5b0fdcb3fe
Fix stack overflow caused star projection
2016-01-29 14:36:53 +03:00
Mikhail Glukhikh
4691351e76
Fix for unprocessed lambda under not-null assertion #KT-10843 Fixed
...
Also #EA-76890 Fixed
2016-01-29 12:57:52 +03:00
Michael Bogdanov
e1fa6491c1
Test for obsolete KT-10044: "Don't know how to generate outer expression for class" with lambda in init block
...
#KT-10044 Obsolete
2016-01-29 12:42:37 +03:00
Michael Bogdanov
b9c30c739e
Test for obsolete KT-7224: Redundant result boxing on ?. call on a primitive
...
#KT-7224 Obsolete
2016-01-29 12:13:16 +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
Mikhail Glukhikh
767729ba2a
Regression test #KT-9633 Obsolete
2016-01-29 10:55:22 +03:00
Dmitry Petrov
112e54b35a
KT-10752: if (inferred) type for an expression refers to a Java class
...
non-accessible in the current context, it is a compiler error.
Otherwise we might generate a CHECKCAST instruction that causes IAE at run-time.
Here we are somewhat less permissive then Java
(see inaccessibleType.kt in diagnostics tests).
2016-01-29 10:30:00 +03:00
Evgeny Gerashchenko
c242ad94fd
Minor. Syntax error cosmetics.
2016-01-29 01:00:47 +03:00
Evgeny Gerashchenko
0d79c65d73
KT-8275 Unterminated multi-line comment should be compilation error
...
#KT-8275 fixed
2016-01-29 01:00:47 +03:00
Alexander Udalov
2a5b4d2c83
Fix annotations on Java elements in reflection
...
#KT-10840 Fixed
2016-01-28 21:48:16 +03:00
Ilya Gorbunov
911940d458
InlineOnly annotation suppresses NOTHING_TO_INLINE diagnostics.
2016-01-28 19:37:44 +03:00
Mikhail Glukhikh
ed8ccdc15a
Take into account data flow info changes for special call (if/when/elvis/!!) arguments #KT-10824 Fixed
...
Smart casts on complex expressions look as no more possible
2016-01-28 19:30:20 +03:00
Mikhail Glukhikh
7fd1f507e4
Additional catch for ReenteringLazyValueComputationException #KT-8448 Fixed
...
Also #EA-76264 Fixed
2016-01-28 17:52:33 +03:00
Mikhail Glukhikh
5062ce2804
Regression: correct smart cast from Type? to Type!
2016-01-28 17:08:15 +03:00
Mikhail Glukhikh
26a2319d7c
ControlFlowBuilder.getExitPoint() now can return null if nothing was found #KT-10823 Fixed
...
Also #EA-73355 Fixed
2016-01-28 16:19:54 +03:00
Michael Bogdanov
d4df7aaabc
Fix for KT-10659: Debugger: Evaluate Expression and Watches fail for inline function parameter passed by reference
...
#KT-10659 Fixed
2016-01-28 14:23:24 +03:00
Mikhail Glukhikh
069282cb6e
Regression test #KT-8277 Can't Reproduce
2016-01-28 13:33:29 +03:00
Mikhail Glukhikh
12b100c541
Regression test #KT-9529 Obsolete
2016-01-28 12:56:12 +03:00
Denis Zharkov
e69b115d9a
Remove wrong assertion
2016-01-28 08:36:24 +03:00
Denis Zharkov
11a96ee8c8
Introduce not null type parameter capability
...
Java nullability annotations may generate types that currently are not denotable in Kotlin:
class Java {
void <F> foo(@NotNull F f) {}
}
Type of given value parameter should be not nullable under any substitution:
String/String?/String! because of annotation contract.
NB: Currently there is no full analogues for such types in pure kotlin
2016-01-28 08:36:23 +03:00
Denis Zharkov
c26ca5e7ef
Turn on inference when resolving constructor super-calls
...
It's only needed when one of candidates has it's own type parameters
Otherwise it does not make sense as arguments are already specified
2016-01-28 08:35:18 +03:00
Denis Zharkov
6542d091ee
Support generic constructors defined in Java
...
#KT-10686 Fixed
#KT-10410 Fixed
2016-01-28 08:35:18 +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
Mikhail Glukhikh
7e26fa6002
One non-processed branch is now allowed for if statement #KT-10805 Fixed
...
Also #EA-64033 Fixed
2016-01-27 22:44:52 +03:00
Ilya Gorbunov
d49f5b95b0
Fix deprecations in testData
2016-01-27 19:05:19 +03:00
Dmitry Petrov
c5fd496cc9
Fix KT-10805 for 'when'.
2016-01-27 17:07:20 +03:00
Dmitry Petrov
9db3440e72
Fix type inference issues for 'if' and 'when'.
...
Use 'expectedType' (when present) as an explicit type argument for a special construct call.
Unfortunately, this approach can't be used for elvis due to other elvis-related inference hacks.
Fixes KT-10807, KT-10811.
This also affects KT-6189: now we can infer proper type for 'if'.
If type inference for special call failed, and we found no type errors in sub-expressions,
report TYPE_INFERENCE_FAILED_ON_SPECIAL_CONSTRUCT error.
This (and the hack above) fixes KT-10809: code no longer compiles.
2016-01-27 17:07:20 +03:00
Mikhail Glukhikh
d94930149b
Warning for open members in objects
2016-01-26 19:04:17 +03:00
Mikhail Glukhikh
1b8f938260
Report EXPOSED_PROPERTY_TYPE on a property name only #KT-10760 Fixed
2016-01-26 19:04:13 +03:00
Mikhail Glukhikh
b1e3e1c32d
A few forgotten checks added for objects (function members effective visibility, multiple varargs) #KT-10753 Fixed
2016-01-26 19:04:08 +03:00
Mikhail Glukhikh
22c0ddaa48
Destructuring declaration initializer now cannot use extension componentX() on nullable #KT-7794 Fixed
2016-01-26 19:03:28 +03:00
Mikhail Glukhikh
850dc89b38
For-loop now cannot use extension iterator on a nullable #KT-7428 Fixed
2016-01-26 19:03:23 +03:00