Alexey Andreev
a016147a79
JS: fix translation of return statement surrounded by try..finally block in suspend lambda. See KT-15625
2017-01-12 18:12:39 +03:00
Alexey Andreev
4eed7c1fcb
JS: fix translation of augmented assignment in class initializer. See KT-15569
2017-01-12 18:12:38 +03:00
Alexey Andreev
e6b78f68cd
JS: support case when class inherits method from superclass and both implements same method (but with optional parameter) from superinterface.
2017-01-12 18:12:36 +03:00
Alexander Udalov
abe2ad155c
Sanitize names for script class files
...
Use the same process that is done for package parts in the JVM back-end, except
adding the "Kt" suffix
#KT-15225 Fixed
2017-01-12 11:24:24 +03:00
Alexander Udalov
8f9ce5d0f2
Fix some issues in script constructor param/arg matching
2017-01-11 19:28:51 +03:00
Mikhael Bogdanov
2931c316a3
Fix for KT-15575: VerifyError: Bad type on operand stack
...
#KT-15575 Fixed
2017-01-11 11:50:33 +01:00
Alexander Udalov
a3f6fbe0c1
Add test on contents of .kotlin_module files
2017-01-11 13:15:59 +03:00
Alexander Udalov
0dbb02ec6a
Fix generic signature for KFunctionN types on JVM
...
#KT-15473 Fixed
2017-01-11 13:15:24 +03:00
Mikhail Glukhikh
b81268cca1
Control-flow analysis: do-while scope is ended after condition but before jump #KT-15334 Fixed
2017-01-10 17:57:43 +03:00
Mikhael Bogdanov
5071baf970
Support increment and '*=' operations on inline properties
2017-01-10 14:09:42 +01:00
Mikhael Bogdanov
043f3199c7
Fix for KT-15446: Property reference on an instance of subclass causes java.lang.VerifyError
...
#KT-15446 Fixed
2017-01-10 14:09:42 +01:00
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
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
6cccad9647
Update year in license and regenerate tests
2017-01-10 12:01:17 +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
Nikolay Krasko
7abcf3cec2
Minor: suppress warnings
2017-01-09 19:57:53 +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
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
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
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
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
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
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
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
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
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
cef32b3327
JS: initialize fields of coroutine state machine with undefined value so that they match local variable semantics. Fix KT-15366
2016-12-22 17:19:23 +03:00
Mikhael Bogdanov
1040c97196
Fix for: KT-14011 Compiler crash when inlining: lateinit property allRecapturedParameters has not been initialized
...
#KT-14011 Fixed
2016-12-22 09:44:26 +01:00
Mikhael Bogdanov
ef825a7559
Fix for KT-14868: CCE in runtime while converting Number to Char
...
#KT-14868 Fixed
2016-12-22 09:44:24 +01:00