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
Dmitry Petrov
8b99141030
KT-14839 Do not coerce after remapped variable store.
2016-11-18 09:35:31 +03:00
Mikhael Bogdanov
63fed20249
Fix VerifyError on android with 'inv' operation on Byte and Short
2016-11-16 09:42:26 +01:00
Mikhael Bogdanov
61da8be260
Generate parameters metadata for java 8 reflection
2016-11-14 14:27:08 +01:00
Alexander Udalov
0d4bd2a673
Use OperatorNameConventions constants instead of hardcoded literals
2016-11-11 19:00:09 +03:00
Dmitry Petrov
b429f7bc86
KT-14581 Make FixStackAnalyzer tolerant to uninitialized values
2016-11-11 13:30:15 +03:00
Mikhael Bogdanov
21f2febf82
Fix for KT-13557: VerifyError with delegated local variable used in object expression
...
#KT-13557 Fixed
2016-11-10 15:12:16 +01:00
Denis Zharkov
55508afb8c
Make initial continuation able to be resumed with exception
...
#KT-14719 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov
ae70a60a0a
Validate label value of coroutine in case of no suspension points
...
#KT-14718 Fixed
2016-11-09 16:26:32 +03:00
Denis Zharkov
50a5c08603
Optimize visibility for controller field in CoroutineImpl
...
While it's impossible to declare a property with protected field and public
getter we split these entities
- `_controller` field is used inside coroutines
- `controller` getter is used for accesing controller from noinline lambdas
(also it can be used to obtain controller from continuation by explicit cast)
2016-11-09 12:25:31 +03:00
Denis Zharkov
020bab1d7c
Minor. Get rid of possible exception when no runtime in class-path
...
This change is made under the assumption that some version of built-in
classes will always be available through `module.builtIns.getBuiltInClassByFqName`
2016-11-09 12:25:31 +03:00
Denis Zharkov
bd5c08f598
Make fields for storing lambda parameters non-final
...
Because they get assigned within `invoke` call that contradicts with JVM spec
where it's told that they must not be assigned outside of constructors
2016-11-09 12:25:31 +03:00
Denis Zharkov
e54b466010
Make fields representing variables in coroutines non-volatile
...
#KT-14636 Fixed
2016-11-09 12:25:31 +03:00
Denis Zharkov
7e49db8768
Introduce CoroutineImpl as a common super class for coroutines
...
The main benefit are class-files sizes for them
(not repeating the same declaration for each coroutine)
Also it helped to simplify coroutine codegen code a little
Note that controller/label field become non-volatile (see KT-14636)
#KT-14636 In Progress
2016-11-09 12:25:31 +03:00
Denis Zharkov
fc9605b94e
Minor. Drop unused property in GenerationState
2016-11-09 12:25:31 +03:00
Michael Bogdanov
fd6d4c352c
Special enum function support; Fix for KT-10569: Cannot iterate over values of an enum class when it is used as a generic parameter
...
#KT-10569 Fixed
2016-11-03 14:27:13 +03:00
Yan Zhulanow
c2ddd943f9
Lint: Update diagnostics because of the new Uast. Also, these diagnostics are from AS 2.2.
2016-11-01 19:36:31 +03:00
Michael Bogdanov
fd2655fd4a
Bridge support
2016-10-27 16:43:02 +03:00