Alexander Udalov
6393ac5871
Check language version for deprecation via SinceKotlinInfo
2016-12-15 11:46:17 +03:00
Ilya Chernikov
83420e26b6
Improve script template not found diagnostics
...
(preliminary, see also TODO)
2016-12-15 07:26:06 +01:00
Stanislav Erokhin
59efedf610
Rename platform to header.
2016-12-13 18:00:00 +03:00
Mikhail Zarechenskiy
ef662a5679
Declare intrinsic rem operator for primitives
2016-12-13 16:33:33 +03:00
Stanislav Erokhin
9dc9fb578f
Rename toDelegateFor to provideDelegate.
2016-12-12 23:14:07 +03:00
Mikhael Bogdanov
937a933150
Support local 'toDelegatedFor' properties
2016-12-12 23:14:02 +03:00
Dmitry Petrov
97d5bbf1c2
toDelegateFor: JVM BE implementation
2016-12-12 23:13:59 +03:00
Dmitry Petrov
e2b6d2d849
Drop 'propertyDelegated' convention (without additional deprecation ceremony).
2016-12-12 23:13:58 +03:00
Roman Elizarov
8affb2726f
Pluggable Synthetic Objects
2016-12-12 18:43:26 +03:00
Alexander Udalov
91cf09dc3b
Fix test on IS_PRE_RELEASE
...
Use DeserializedDescriptorResolver.IS_PRE_RELEASE instead of
KotlinCompilerVersion.IS_PRE_RELEASE because the former is updated correctly in
tests
(cherry picked from commit 95b4b6e7d92b112603be9f8243aac9c39be7df67)
2016-12-12 11:29:22 +03:00
Yan Zhulanow
3f8accc2bf
Kapt3: Fix '$' in function generic signatures (KT-15148)
2016-12-09 20:29:23 +03:00
Yan Zhulanow
3c77242da2
Kapt3: Fix parameter names in JvmOverloads-generated methods (KT-15024)
2016-12-09 20:28:41 +03:00
Yan Zhulanow
fc8cc217dc
Do not create local variables in an abstract class inside OptimizationMethodVisitor, MethodNode forbids this.
2016-12-09 20:01:19 +03:00
Yan Zhulanow
f57df272ac
Allopen: Handle allopen annotations on classes (KT-12149)
2016-12-09 20:00:56 +03:00
Alexey Andreev
060f08a8dd
JS: add support of interceptResume function in coroutine controller
2016-12-09 14:56:20 +03:00
Alexey Andreev
bdda04243d
JS: support new coroutine convention (see KT-15058)
2016-12-09 14:56:19 +03:00
Mikhael Bogdanov
18cb734c58
Do not mangle internal @PublishedApi functions
2016-12-09 11:55:16 +01:00
Mikhael Bogdanov
627dd66ed5
New ieee754 arithmetic, Fix for KT-14651: Floating point comparisons shall operate according to IEEE754
2016-12-09 09:48:46 +01:00
Mikhael Bogdanov
f9b40585cd
Partial fix for KT-14989: Missed null check for platform type
2016-12-09 09:46:38 +01:00
Alexander Udalov
1342743001
Add KotlinVersion.IS_PRE_RELEASE and a flag to kotlin/Metadata
2016-12-09 01:59:33 +03:00
Ilya Gorbunov
5765031209
Adjust Range.contains optimization for double and float ranges according to #KT-4481
...
#KT-5044 #KT-4481
2016-12-08 20:47:27 +03:00
Alexey Andreev
ba2443bcb3
Add external property to class and property descriptors
2016-12-08 15:41:38 +03:00
Alexander Udalov
3b18531b20
Add expectedVersion to IncompatibleVersionErrorData, move to deserialization
2016-12-07 21:46:36 +03:00
Denis Zharkov
891a036b59
Change resolution priority level for SAM adapters
...
After this change SAM adapters are being resolved in the same group
as members, thus their overload resolution happens simultaneously.
But in the case of overload resolution ambiguity try to filter out all
synthetic members and run the process again.
See the issue and new test for clarification
#KT-11128 In Progress
2016-12-07 21:04:44 +03:00
Mikhail Zarechenskiy
0134b8819b
Optimize const vals by inlining them at use sites
...
#KT-11734 Fixed
#KT-13570 Fixed
2016-12-05 22:11:33 +03:00
Mikhail Zarechenskiy
8c1e165f18
Skip property accessors for constants
...
- Inline protected constants from Java at use sites
- Do not create accessors for private constants in Kotlin
#KT-11734 In Progress
2016-12-05 22:10:14 +03:00
Yan Zhulanow
fcafaf5500
Update LightAnalysisModeCodegenTests for Kotlin 1.1
2016-12-05 20:10:32 +03:00
Yan Zhulanow
8bdb54929b
Fix @JvmMultifileClass in ClassBuilderMode=LIGHT_CLASSES
2016-12-05 19:57:46 +03:00
Yan Zhulanow
d884830700
Allow to avoid declaration body resolution for function and property initializers if the return type is explicitly specified. This significantly reduces the analysis time in kapt3.
2016-12-05 19:57:43 +03:00
Yan Zhulanow
10cfde4ab9
Kapt3: Call super class constructor with some default parameters.
...
Allow interface, annotation, enum modifiers on class.
2016-12-05 19:57:27 +03:00
Yan Zhulanow
fc0b17c453
Kapt3: Replace "my/package/Class$Inner" to "my/package/Class/Inner" in kapt3 class builder mode
2016-12-05 19:57:21 +03:00
Mikhail Zarechenskiy
160d43fe2e
Introduce new feature: division by zero in constant expressions
2016-12-02 17:42:56 +03:00
Denis Zharkov
fcd9ee037e
Support coroutines stack-unwinding in JVM backend
...
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Denis Zharkov
1f98accad2
Support new suspend convention in JVM backend partially
...
Stack-unwinding does not work yet
#KT-14924 In Progress
2016-11-29 14:14:50 +03:00
Alexander Udalov
a4169416ad
Support platform modifier in back-ends, add multi-platform integration test
...
Skip 'platform' declarations completely in back-ends
2016-11-25 20:50:22 +03:00
Alexander Udalov
ce9691cd2b
Support platform/impl modifiers for properties
...
Do not allow platform properties to have backing fields, initializers, be
delegated, lateinit or const, or have accessors with bodies
2016-11-25 20:50:18 +03:00
Alexander Udalov
6e2ef9b1d2
Add platform/impl soft keywords, add isPlatform/isImpl to MemberDescriptor
2016-11-25 20:50:17 +03:00
Alexander Udalov
32792c5ce4
Store .kotlin_module files in MetadataSerializer
...
Compilation of top level functions/properties/typealiases results in a bunch of
different .kotlin_metadata files, so we need to store names of these files to
avoid scanning the file system in the compiler when loading code compiled by
K2MetadataCompiler.
For this, we reuse the PackageTable protobuf message, which is already used for
exactly the same purpose in the JVM back-end
2016-11-25 20:50:12 +03:00
Dmitry Petrov
3dd0c9d1c7
Equality comparison for bound callable references takes into account bound receiver.
...
Fixed KT-14939: use expected receiver type when generating receiver code in get/set methods for bound property references.
Otherwise we have VerifyError for bound receiver 'null' of type 'Nothing?', which is mapped to 'java.lang.Void'.
TODO: proper equality comparison for property accessors ('x::prop.getter', 'x::prop.setter').
2016-11-25 14:49:24 +03:00
Nikolay Krasko
1889f4f7b1
Fix breakpoints in function literals in inline calls (KT-11521, KT-12734, KT-12470)
...
#KT-11521 Fixed
#KT-12734 Fixed
#KT-12470 Fixed
2016-11-23 17:29:28 +03:00
Dmitry Petrov
fc2a965d2a
Fix decompiler tests.
2016-11-22 14:40:02 +03:00
Denis Zharkov
5ff71e1330
Support 'interceptResume' operator in JVM backend
...
#KT-14891 In Progress
2016-11-22 14:33:40 +03:00
Denis Zharkov
c2e6f92aa5
Minor. Extract several methods in coroutine codegen
2016-11-22 14:33:40 +03:00
Denis Zharkov
caf6634fd3
Minor. Cleanup CoroutineCodegen
2016-11-22 14:33:40 +03:00
Dmitry Petrov
d665193c20
Type alias constructors for inner classes in expressions ans supertype lists.
2016-11-21 10:25:51 +03:00
Dmitry Jemerov
a57748f4f4
@JvmOverloads-generated overloads of final methods are also final; test to verify that overloads of deprecated methods are deprecated
2016-11-18 11:05:03 +01:00
Dmitry Jemerov
12e4cf9a4f
Report @JvmOverloads errors on annotation, not on entire declaration (KT-12701)
2016-11-18 11:05:00 +01:00
Dmitry Jemerov
d3ccbe8172
Generate correct varargs flag for @JvmOverloads-generated methods
...
#KT-14186 Fixed
2016-11-18 11:04:59 +01:00
Dmitry Jemerov
16a133bf5c
Generate default constructor also for private classes when all parameters have default values
...
#KT-14408 Fixed
2016-11-18 11:04:51 +01:00
Dmitry Jemerov
248185943c
Handle @JvmOverloads on inner class constructors correctly
...
#KT-14678 Fixed
2016-11-18 11:04:49 +01:00