Commit Graph

17273 Commits

Author SHA1 Message Date
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