Alexander Udalov
2a5b4d2c83
Fix annotations on Java elements in reflection
...
#KT-10840 Fixed
2016-01-28 21:48:16 +03:00
Alexander Udalov
b946d725d7
Filter out methods without return type to fix EA-73795
2016-01-28 21:48:16 +03:00
Alexander Udalov
7e17482698
Delete kotlin-jdk-annotations and kotlin-android-sdk-annotations
...
They were empty anyway for a long time
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
0f1e6ba8be
Refactoring: noTypeCheckingErrorsInExpression introduced
2016-01-28 19:30:25 +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
Dmitry Jemerov
6d7e1c69dc
remove logic to filter perf output from compiler output
2016-01-28 16:12:56 +01:00
Dmitry Jemerov
6f7aed2601
report perf only if enabled in command line
2016-01-28 16:12:55 +01: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
Mikhail Glukhikh
c5d6e8edb4
More detailed error message for EA-77641
2016-01-28 16:19:49 +03:00
Mikhail Glukhikh
7c8cdf84fd
ControlFlowProcessor: converted to Kotlin #EA-77380 Fixed
2016-01-28 16:19:45 +03:00
Mikhail Glukhikh
59c2a96eb5
ControlFlowProcessor.java --> ControlFlowProcessor.kt
2016-01-28 16:19:41 +03:00
Mikhail Glukhikh
42b6b41378
ControlFlowInstructionsGenerator: converted to Kotlin
2016-01-28 16:19:37 +03:00
Mikhail Glukhikh
80338ecb88
ControlFlowInstructionsGenerator.java --> ControlFlowInstructionsGenerator.kt
2016-01-28 16:19:33 +03:00
Mikhail Glukhikh
6ba171297c
ControlFlowBuilderAdapter: converted to Kotlin
2016-01-28 16:19:29 +03:00
Mikhail Glukhikh
5a405f3ddb
ControlFlowBuilderAdapter.java --> ControlFlowBuilderAdapter.kt
2016-01-28 16:19:24 +03:00
Mikhail Glukhikh
605da5b7b9
ControlFlowBuilder: converted to Kotlin
2016-01-28 16:19:20 +03:00
Mikhail Glukhikh
41eed948be
ControlFlowBuilder.java --> ControlFlowBuilder.kt
2016-01-28 16:19:16 +03:00
Mikhail Glukhikh
171cdfe08a
Unnecessary comments removed
2016-01-28 16:19:12 +03:00
Mikhail Glukhikh
1ddaf465cd
PseudocodeImpl: converted to Kotlin
2016-01-28 16:19:08 +03:00
Mikhail Glukhikh
381c1c4bba
PseudocodeImpl.java --> PseudocodeImpl.kt
2016-01-28 16:19:03 +03:00
Mikhail Glukhikh
1d6eadbd37
Pseudocode: converted to Kotlin
2016-01-28 16:18:59 +03:00
Mikhail Glukhikh
c54f8ebac7
Pseudocode.java --> Pseudocode.kt
2016-01-28 16:18:55 +03:00
Michael Bogdanov
dc2cb401ad
KT-10670: Debugger: Evaluate Expression/Watches fail for inline function parameter initialized with default value
...
#KT-10670 Fixed
2016-01-28 14:23:24 +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
29c24267fa
Fix project compilation
...
First parameters of `DiagnosticFactory.on` methods are annotated as 'NotNull'
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
70e847b794
Reimplement generation of intrinsic array constructors
...
Instead of relying on a class from the runtime (which thus cannot be deleted
from the runtime ever), rely on a class from the compiler instead. This has a
minor downside: that class is compiled by the bootstrap compiler, so if codegen
of 'for'-loops or something else used in that class changes, it won't
immediately have an effect on a local working copy (on the build server
everything will be fine because of a 2-step building process).
In the future it may make sense to just manually create all the bytecode
instructions and dump them into a MethodNode. Currently the amount of work
needed for that seems rather significant
2016-01-28 03:10:39 +03:00
Alexander Udalov
0e11aa098f
Minor, prettify Kotlin code in source maps
2016-01-28 03:10:39 +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
Alexander Udalov
18238bd6f3
Minor, drop DescriptorRendererOptions#prettyFunctionTypes
2016-01-28 03:10:19 +03:00
Alexander Udalov
9e8b6571f4
Make primitive array factory functions constructors
2016-01-28 03:10:19 +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
Ilya Gorbunov
744a7a83f7
Cleanup RC deprecations in compiler and plugin.
2016-01-27 18:34:30 +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
Zalim Bashorov
fb21ef2e1d
Use interner in LookupTracker implementations to reduce memory consuming
2016-01-26 23:14:20 +03:00
Dmitry Jemerov
c83b4b3842
clean ZipHandler cache after disposing CoreApplicationEnvironment to avoid storing stale ZipHandlers referring to disposed CoreJarFileSystem instance in ZipHandler.ourFileAccessorCache
2016-01-26 19:51:59 +01: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