Mikhael Bogdanov
dc4cdbf82d
Fix for KT-14162: Support @InlineOnly on inline properties
...
#KT-14162 Fixed
2017-01-10 14:09:41 +01:00
Alexander Udalov
32d2faf3d1
Fix KAnnotatedElement.findAnnotation when no annotation is found
...
#KT-15540 Fixed
2017-01-10 12:23:26 +03:00
Alexander Udalov
7107ee2eeb
Write/load subclasses of sealed classes in metadata
...
Note that now DeserializedClassDescriptor.getSealedSubclasses works a lot
faster than before, for all newly compiled sealed classes except empty ones. It
may be optimized further if we look at the metadata version of the file the
class was loaded from, however it's not easy currently because
DeserializedClassDescriptor is declared in common (non-JVM) code and has no
direct access to the binary version information.
This will also allow to add a reflection API to get subclasses of a sealed
class
#KT-12795 Fixed
2017-01-10 12:23:26 +03:00
Alexander Udalov
164c72e877
Prefer package with class files to class with the same name
...
See comments in JvmDependenciesIndexImpl and in the test
#KT-15464 Fixed
2017-01-10 12:23:25 +03:00
Mikhail Zarechenskiy
cff0865c87
Fix error type for implicit invoke with function literal argument
...
#KT-11401 Fixed
2017-01-10 11:44:51 +03:00
Mikhail Zarechenskiy
76b0b785c5
Prohibit to use enum entry as a type
...
#KT-14179 Fixed
2017-01-09 18:30:32 +03:00
Alexey Andreev
069711c3d5
JS: fix translation of float constants. See KT-8413
2016-12-30 16:22:07 +03:00
Alexey Andreev
900adcf29b
JS: prohibit stable (public) names with non-identifier chars. Rewrite unstable (private) names with non-identifier chars. See KT-4160
2016-12-30 16:21:18 +03:00
Mikhael Bogdanov
3384c6f603
Updated test data
2016-12-30 10:19:57 +01:00
Mikhael Bogdanov
e775cc697e
Fix for KT-15447: Compiler backend error: "Don't know how to generate outer expression for class"
...
#KT-15447 Fixed
2016-12-29 16:57:03 +01:00
Mikhael Bogdanov
2566a7a25e
Rename receiver$0 in CallableReference to receiver
...
#KT-15449 Fixed
2016-12-29 16:57:02 +01:00
Alexey Andreev
07de819377
Regenerate tests and test data
2016-12-29 16:15:49 +03:00
Alexey Andreev
175d37fdc8
JS: add test to prove that KT-13523 is no more reproducible
2016-12-29 16:00:54 +03:00
Alexey Andreev
27c2a4f6a8
JS: disable mangling for PublishedApi. Export declarations marked with PublishedApi. See KT-15442
2016-12-29 16:00:51 +03:00
Alexey Andreev
ed7ac7cea9
JS: do not report declaration clash when common redeclaration diagnostic applies. See KT-14577
2016-12-29 16:00:36 +03:00
Alexey Andreev
1af01d0ecb
JS: make call to suspend lambda to resume it immediately. See KT-15379
2016-12-29 16:00:35 +03:00
Alexey Andreev
79ba6a57d6
JS: report errors on different external items:
...
* data classes
* val/var parameters of primary constructors
* enum entry with body
* anonymous `init {}` block in classes
2016-12-29 16:00:35 +03:00
Alexey Andreev
03682ee849
JS: fix how module checker handles super classes
2016-12-29 16:00:34 +03:00
Alexey Andreev
1a7e8b0690
JS: allow to omit delegated constructor call for external classes in common FE. Prohibit delegated constructor call for external classes in JS FE.
2016-12-29 16:00:33 +03:00
Alexey Andreev
02ea1a4d64
JS: split error diagnostic about body of external declaration into three different diagnostics (additional ones: wrong initializer, wrong default value of parameter).
2016-12-29 16:00:32 +03:00
Alexey Andreev
6ef4a3389e
JS: prohibit external functions and accessors with bodies other than noImpl. Prohibit to use anything except noImpl for default parameters initializers in external functions. See KT-13892
2016-12-29 16:00:30 +03:00
Alexey Andreev
55d4c0e439
JS: prohibit non-abstract members of external interfaces, except for nullable properties. See KT-15308
2016-12-29 16:00:30 +03:00
Alexey Andreev
403753f5b5
JS: prohibit inline external declarations. See KT-15307
2016-12-29 16:00:29 +03:00
Alexey Andreev
84f094c770
JS: prohibit to implement functional interfaces. See KT-15136
2016-12-29 16:00:29 +03:00
Ilya Gorbunov
0a840d0174
Migrate 1.1 reflection API usages in tests.
2016-12-29 06:51:01 +03:00
Yan Zhulanow
5844f3cf1b
Kapt3: Write stub class files with metadata (needed for incremental compilation)
2016-12-28 22:28:30 +03:00
Mikhail Glukhikh
5f3c1dfc41
More accurate check of repeated use-site annotations #KT-13859 Fixed
2016-12-28 19:01:20 +03:00
Alexander Udalov
73845bfc27
Fix light-analysis test data
2016-12-27 18:19:49 +03:00
Mikhail Zarechenskiy
e448695578
Introduce language feature for refined sam adapters priority
2016-12-27 16:44:23 +03:00
Alexander Udalov
b4051c4577
Do not generate unnecessary super-call checks for functions with defaults
...
Such check should only be generated for a function in an open class
#KT-11962 Fixed
2016-12-27 16:22:12 +03:00
Alexander Udalov
3d9c264d63
Do not generate CHECKCAST after 'null' literal
...
#KT-15411 Fixed
2016-12-27 16:22:12 +03:00
Mikhael Bogdanov
4c9bac084c
Fix for KT-15437: VerifyError: Bad local variable type on simplest provideDelegate
...
#KT-15437 Fixed
2016-12-27 14:07:37 +01:00
Mikhael Bogdanov
b5ec30666b
Fix for KT-15410: "Protected function call from public-API inline function" for protected constructor call
...
#KT-15410 Fixed
2016-12-27 14:07:37 +01:00
Mikhael Bogdanov
f1c1fcf0fc
Fix for KT-11969: ProGuard issue with private interface methods
...
#KT-11969 Fixed
2016-12-27 14:07:37 +01:00
Alexander Udalov
f8a88bdffb
Fix "Rewrite at slice LEXICAL_SCOPE" for callable references
...
For special calls (when-expressions, if-expressions, etc.), do not attempt to
get type of the argument expression, which is the block with the callable
reference, instead get type of the callable reference itself. The difference
matters because for block expressions, a new lexical scope is created for each
getTypeInfo (see ExpressionTypingServices.getBlockReturnedType), and we do not
support rewrites of this value in the binding trace
#KT-12044 Fixed
2016-12-27 10:45:46 +03:00
Mikhail Zarechenskiy
38a2518498
Fix computation of erased receiver for intersection types
...
#KT-9630 Fixed
2016-12-26 22:34:40 +03:00
Ilya Gorbunov
85232ffa07
Drop deprecated pre-1.0 API. Remove remaining usages in tests.
2016-12-26 19:07:20 +03:00
Alexander Udalov
21f79cd737
Fix test data
2016-12-26 17:11:32 +03:00
Alexander Udalov
e4e50017d0
Render header/impl on properties in tests and diagnostic messages
...
As a side effect, header/impl and some other modifiers on functions are now
rendered in a different, more natural, order
2016-12-26 17:06:24 +03:00
Alexander Udalov
5556c59fc9
Render platform name in multiplatform diagnostic tests
...
Prepend the platform name to the diagnostic in a common module, which is
reported when sources of that common module are analyzed as a part of the
platform source set: "<!JVM:...!> ... <!>". Fix some existing tests, mostly by
adding "impl" to implementations
2016-12-26 17:06:15 +03:00
Alexander Udalov
e4d85ac527
Support header annotation classes in common modules
...
Properties are only allowed to be declared in a header class' primary
constructor if that class is an annotation class. However, we did not correctly
determine that such properties are also "header". The test passed because the
diagnostic was lost
2016-12-26 17:01:24 +03:00
Alexey Andreev
11ce184d8e
JS: add suspendCoroutine function
2016-12-26 12:45:14 +03:00
Alexander Udalov
cf2839a088
Fix light-analysis test data
2016-12-24 14:37:24 +03:00
Alexander Udalov
5402d50ea3
Light analysis tests: do not render empty lines between classes and in the beginning
2016-12-23 22:30:48 +03:00
Mikhail Glukhikh
194ff4ee76
Check possible smart cast to enum in when subject #KT-14705 Fixed
2016-12-23 15:10:56 +03:00
Mikhail Glukhikh
0e70e3f80e
USELESS_ELVIS_RIGHT_IS_NULL is no more reported for flexible left argument #KT-13593 Fixed
2016-12-23 15:10:49 +03:00
Dmitry Petrov
8d16bd1215
Method can be hidden if it is annotated with kotlin.internal.PlatformDependent,
...
or is a Java method from a Kotlin built-in class (transitively).
https://github.com/Kotlin/KEEP/blob/master/proposals/jdk-dependent-built-ins.md#backward-compatibility-of-overrides
2016-12-23 13:51:08 +03:00
Dmitry Petrov
d9271b54fb
Fix IR generation: temporary variable in 'hashCode()' for data class should be 'var'
2016-12-23 10:44:14 +03:00
Alexey Andreev
1ecd957981
JS: fix translation of delegated constructor call from secondary constructor when argument is a complex expression which translates to multiple statements. See KT-15357
2016-12-22 17:19:24 +03:00
Alexey Andreev
1ab78dffe5
JS: fix translation of for statement when either next or hasNext method translates to multiple statements. Fix KT-15367
2016-12-22 17:19:24 +03:00