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
Mikhail Glukhikh
4774d19890
Quick-fix for header without implementation + a set of tests #KT-14908 Fixed
2016-12-29 17:42:26 +03: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
Ilya Gorbunov
405a79549a
Migrate 1.1 reflection API usages
2016-12-29 06:51:00 +03:00
Yan Zhulanow
fdb568f86d
Kapt3: Generate incremental compilation metadata (light classes with Kotlin metadata)
2016-12-28 22:28:33 +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
Alexander Udalov
7d3628b9be
CheckerTestUtil: introduce ActualDiagnostic to encapsulate Diagnostic
2016-12-26 17:01:20 +03:00
Alexander Udalov
6cfc42666c
Refactor CheckerTestUtil
...
Simplify code somewhat, prepare for a larger refactoring
2016-12-26 16:49:58 +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
510295475b
Batch script: allow to pass JAVA_OPTS from outside
...
Similarly to the Bash version
#KT-14917 Fixed
2016-12-23 22:31:11 +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
Alexander Udalov
7146a6db74
Minor, drop unused DiagnosedRange#file
2016-12-23 22:30:16 +03:00
Alexander Udalov
0e11615780
J2K diagnostic tests: prettify
2016-12-23 22:30:06 +03:00
Alexander Udalov
8c0be58f56
J2K diagnostic tests: convert to Kotlin
2016-12-23 22:30:01 +03:00
Alexander Udalov
4e4f9312bb
J2K diagnostics tests: rename .java -> .kt
2016-12-23 22:29:57 +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