Alexey Andreev
ffca68d85e
JS: escape quotes in some diagnostics with parametrized messages
2017-02-08 11:29:29 +03:00
Mikhael Bogdanov
37a94eaf07
Use appropriate ApiVersion if LanguageVersion is specified in test
2017-02-08 09:10:22 +01:00
Mikhael Bogdanov
5095ef1ea4
Revert 'Temporary disable new intrinsics usage in ieee754 arithmetic'
2017-02-08 09:10:22 +01:00
Denis Zharkov
80638ebc99
Prohibit unsupported suspend operators
...
contains/get/set operators don't work properly on both backends
Also add box test checking that 'compareTo' operator works just fine
#KT-16219 Fixed
2017-02-08 11:07:27 +03:00
Denis Zharkov
4921bd822d
Mark as UNSUPPORTED suspension points in default parameters
...
#KT-16124 Fixed
#KT-16218 Open
2017-02-08 11:07:26 +03:00
Denis Zharkov
4ee818addf
Add callee name to diagnostic about illegal suspension call
...
#KT-15938 Fixed
2017-02-08 11:07:26 +03:00
Anton Bannykh
a74fffeac8
JS: companion object dispatch receiver translation fixed (KT-16160); imported function inlining fixed.
2017-02-08 09:21:18 +03:00
Anton Bannykh
a2431f0d85
JS: fixed inlining functions called through inheritor ("fake" override) from another module (#KT-16144)
2017-02-08 09:19:50 +03:00
Dmitry Jemerov
0709561869
Add missing required type checks; correctly skip elements which have no UAST equivalents when converting an element together with parent; correctly convert string template entries (they aren't expressions)
2017-02-07 19:18:05 +01:00
Simon Ogorodnik
be7158eeb2
KT-16110 Missing suspend keyword completion inside generic arguments
...
#KT-16110 fixed
2017-02-07 19:48:05 +03:00
Roman Elizarov
5895c211a1
Fixed corotine context performance by using reference equality for contexts and keys
...
Added documentation explaining that keys are compared by reference
2017-02-07 19:33:46 +03:00
Nikolay Krasko
2f0e7b54d5
Return old hack with returning null as file scope for standard scripts
...
(cherry picked from commit ef55bd1)
2017-02-07 15:16:04 +01:00
Ilya Gorbunov
b8de78dd43
Deprecate javaClass with replacement this::class.java.
...
Suppress deprecation in diagnostics tests.
2017-02-07 16:30:22 +03:00
Sergey Igushkin
d6a60424a9
Weakened testSuppressWarnings() so that it doesn't fail on the environment STRONG_WARNING.
2017-02-07 16:19:40 +03:00
Ilya Chernikov
99b902f5f2
Fix version calculation code
...
(cherry picked from commit fb74040)
2017-02-07 13:45:22 +01:00
Ilya Chernikov
f6ce74edb3
Set jvmTarget property for repl compilation from sys prop or java version, fixes KT-16126
...
(cherry picked from commit 4cf2bce)
2017-02-07 13:45:12 +01:00
Alexey Sedunov
396e9afffd
Compiler Configuration: Minor UI improvements
2017-02-07 15:36:39 +03:00
Alexey Sedunov
0c331a3846
Kotlin Facet: Support multiple configuration editor
...
#KT-15914 Fixed
2017-02-07 15:36:38 +03:00
Alexey Sedunov
8849d0e2a3
Kotlin Facet: Combine "General" and "Compiler" tabs
2017-02-07 15:36:37 +03:00
Ilya Gorbunov
03cdc20d64
Update public API dump: new coroutine builder intrinsics
2017-02-07 14:42:00 +03:00
Denis Zharkov
52f1194247
Update public API dump: areEqual helpers for ieee 754 comparisons
2017-02-07 14:41:58 +03:00
Ilya Gorbunov
d4d647ab00
Remove public synthetic annotation holder methods from public API dump.
2017-02-07 14:41:56 +03:00
Ilya Gorbunov
970490e097
Revert "Update rendered public API". This reverts commit a10c6f00f9.
...
Revert "Update stdlib reference and binary compatibility test data". This reverts commit 2d02e5106f .
2017-02-07 14:41:31 +03:00
Mikhail Zarechenskiy
d7093db5c5
Allow to use emptyArray in annotation as argument
...
#KT-14236 Fixed
2017-02-07 14:07:20 +03:00
Mikhail Zarechenskiy
9f0403f72c
Fix exception at accidentally wrong annotation argument type
...
#KT-13740 Fixed
2017-02-07 14:07:13 +03:00
Mikhail Zarechenskiy
655cf82534
Copy compileTimeInitializer for const property descriptor
...
#KT-15802 Fixed
2017-02-07 14:07:06 +03:00
Denis Zharkov
81c3edfc00
Refine cc7f0e2d83
...
getDispatchReceiver/getExtensionReceiver always return not-null value,
but in the absence of receiver this value is equal StackValue.none(), i.e.
has a size 1
The tests were passing because of the problems with the test framework:
4b9e20ab8c
2017-02-07 13:12:02 +03:00
Denis Zharkov
4b9e20ab8c
Rethrow boxError in case of test failure
2017-02-07 12:48:06 +03:00
Denis Zharkov
cc7f0e2d83
Fix codegen problem with safe-call on suspension point with two receivers
...
#KT-16145 Fixed
2017-02-07 11:56:37 +03:00
Denis Zharkov
a10c6f00f9
Update rendered public API
2017-02-07 11:32:10 +03:00
Denis Zharkov
9697196473
Put startCoroutineUninterceptedOrReturn header to common stdlib
2017-02-07 11:08:27 +03:00
Denis Zharkov
4f6a77cf38
Introduce createCoroutineUnchecked intrinsic
...
Also use it for buildSequence implenentation
#KT-16155 Fixed
2017-02-07 11:08:27 +03:00
Roman Elizarov
9a71a20ad6
Docs for startCoroutineUninterceptedOrReturn
2017-02-07 11:07:04 +03:00
Denis Zharkov
230564fb4a
Minor. Get rid of code duplications for resume call wrapping in stdlib
...
Use processBareContinuationResume instead
2017-02-07 11:07:04 +03:00
Denis Zharkov
6dde567be4
Optimize startCoroutine impls, move them to common stdlib
...
Do not wrap initial continuation for startCoroutine in SafeContinuation
This changes leaves only internal declarations and intrinsics as platform
dependent parts of the coroutine library, the rest parts (public API)
is implemented through them in common module
2017-02-07 11:07:04 +03:00
Denis Zharkov
a65d86293b
Improve coroutines library layout
...
- Split CoroutinesLibrary into common and JVM parts
- Get rid of startCoroutine duplications
- Make suspendCoroutine implementation to be platform independent
2017-02-07 11:07:04 +03:00
Denis Zharkov
258ee0db75
Introduce startCoroutineUninterceptedOrReturn coroutine intrinsic
...
#KT-15716 Fixed
2017-02-07 11:07:04 +03:00
Denis Zharkov
29b0b30031
Make createCoroutine return a safe continuation
...
#KT-15718 Fixed
2017-02-07 11:06:50 +03:00
Alexander Udalov
b780e6d374
Do not import "kotlin.comparisons" by default for language version 1.0
...
#KT-16199 Fixed
2017-02-07 10:15:57 +03:00
Alexander Udalov
8014000bd1
Update light analysis test data
2017-02-06 19:41:32 +03:00
Alexander Udalov
85e55810a7
Merge light-analysis tests into black box codegen tests
...
#KT-15382 Fixed
2017-02-06 19:41:29 +03:00
Alexander Udalov
5bd1a35eb1
Refactor bytecode listing & light analysis tests
...
Simplify AbstractLightAnalysisModeCodegenTest so that its logic can be merged
with black box codegen tests
2017-02-06 19:41:20 +03:00
Alexander Udalov
2d02e5106f
Update stdlib reference and binary compatibility test data
...
After 0db60bf and 5cffb38
2017-02-06 19:39:15 +03:00
Alexander Udalov
e58baa51ae
Rename DoubleColonLHS.Expression.isObject -> isObjectQualifier
2017-02-06 19:39:15 +03:00
Alexander Udalov
478352b7e7
Fix callable reference to constructor of nested class in object
...
#KT-15951 Fixed
2017-02-06 19:39:15 +03:00
Alexander Udalov
ca1ed850b8
Improve error on runtime of version different than API version
...
Include the actual runtime version in the error message
2017-02-06 19:39:15 +03:00
Alexander Udalov
57f8ef372f
Report different runtime versions earlier than incompatibility with API version
...
Previously if you had kotlin-reflect 1.0 and kotlin-runtime 1.1 in the
classpath, checkCompatibleWithApiVersion was invoked first, and an error was
reported that suggested to pass "-api-version" to the compiler. However, no
correct "-api-version" can be passed in this case, because
checkMatchingVersions would then report that the two libraries have different
versions anyway. So, now we first ensure that all libraries have the same
version, and only then do check if the version is correct
2017-02-06 19:39:15 +03:00
Alexander Udalov
3a7eec8635
Check API version instead of language in JVM runtime versions checker
...
It should be a valid case to invoke the 1.1 compiler with the 1.0 runtime in
the classpath and "-api-version 1.0". However, previously it was an error and
the message suggested to specify "-language-version 1.0". Language version 1.0
implies API version 1.0, so this effectively made the "-api-version" option
useless
2017-02-06 19:39:15 +03:00
Dmitry Petrov
e0cea468fa
KT-15862 Inline generic functions can unexpectedly box primitives
...
Previous version of the boxing/unboxing analysis treated merging boxed and non-boxed values as a hazard.
If such merged values are not used (e.g., early return + local variables reused in inlined calls),
corresponding boxing/unboxing operations still can be optimized out.
All information related to boxed value usage by instructions is moved to 'BoxedValueDescriptor'.
Introduce "tainted" (and "clean") boxed values, with the following rules:
merge(B, B) = B, if unboxed types are compatible,
T, otherwise
merge(B, X) = T
merge(T, X) = T
where
X is a non-boxed value,
B is a "clean" boxed value,
T is a "tainted" boxed value.
Postpone decision about value merge hazards until a "tainted" value is used.
2017-02-06 16:22:26 +03:00
Simon Ogorodnik
98269c10d8
KT-15744 Intention to import sleep wrongly suggests Thread.sleep
...
#KT-15744 fixed
2017-02-06 14:56:18 +03:00