Commit Graph

47145 Commits

Author SHA1 Message Date
Ilmir Usmanov 6ba2baa9da Deserialize constructors and properties with version requirement 1.3
if they have suspend function type in their descriptors.
Also, review fixes.

 #KT-25256: Fixed
2018-07-11 14:20:46 +03:00
Ilmir Usmanov c460593b7d Forbid coroutines in language version is 1.3 and api version is less 2018-07-11 14:20:45 +03:00
Ilmir Usmanov 03c50ea139 Add test for calling release coroutine from experimental one 2018-07-11 14:20:44 +03:00
Ilmir Usmanov cbb81a343c Minor. Move experimental warning disabling to appropriate places. 2018-07-11 14:20:44 +03:00
Ilmir Usmanov 524cc3ffe4 Forbid old coroutineContext deserialization. Fix suspend function deserialization 2018-07-11 14:20:43 +03:00
Ilmir Usmanov d13e2ef32e Add tests 2018-07-11 14:20:42 +03:00
Ilmir Usmanov dbc3ddc578 Support loading function types 2018-07-11 14:20:41 +03:00
Ilmir Usmanov 5b7e099842 Read old suspend functions in 1.3 2018-07-11 14:20:41 +03:00
Mikhail Zarechenskiy 6b73e528ce Ignore test for JS IR because of TODO() function 2018-07-11 11:41:24 +03:00
Nicolay Mitropolsky be611cd154 LightAnnotations don't try to get kotlinOrigin if not building from sources 2018-07-11 09:37:28 +03:00
Nicolay Mitropolsky eaa58c3ec2 KtLightParameter should have a KtLightModifierList anyway
otherwise we wouldn't get proper annotations for `equals` in data-classes
2018-07-11 09:37:28 +03:00
Alexander Udalov 628833af65 Generate nullability annotations as non-runtime-retained
org.jetbrains.annotations.NotNull/Nullable have retention CLASS,
therefore they should appear in RuntimeInvisibleAnnotations

 #KT-22201 Fixed
2018-07-11 09:37:28 +03:00
Jake Wharton 2e4f3ced9b Add nullability annotations to data class equals and toString.
KT-22201
2018-07-11 09:37:28 +03:00
Mikhail Zarechenskiy 8d24ca65a3 Propagate KotlinType into when expression codegen
This commit removes unneeded boxing when result expression of `when` is
 value of inline class type
2018-07-10 23:10:57 +03:00
Zalim Bashorov 35b2b762cd Pill: fix name of ignored kotlin-scripting compiler plugin 2018-07-10 21:53:59 +03:00
Nikolay Krasko a58acdd537 Fix suspend inlay tests after adding yield() from stdlib to ignore 2018-07-10 19:24:23 +03:00
Nikolay Krasko cd8d6439aa Minor: add PsiTreeUtilKt#parentOfType to incompatible API 2018-07-10 19:24:22 +03:00
Ilya Gorbunov 5e5b9e5912 Fix incorrect parameter order in TestNG asserter
#KT-25351 Fixed
2018-07-10 19:12:21 +03:00
Mikhail Zarechenskiy 2be08f4d60 [NI] Fix exception, recorded type for function statement can be null
See `checkStatementType`, we return `null` to reduce count of errors.

 Also, note that named function which is used as last statement in lambda
 doesn't coerce to Unit, this is a separate bug and will be addressed later,
 see #KT-25383

 #EA-121026 Fixed
2018-07-10 17:41:17 +03:00
Mikhael Bogdanov eb745133c9 Switch @JvmStatic diagnostic test to LanguageFeature usage 2018-07-10 16:04:30 +02:00
Alexander Udalov e937fe8258 Move PackagePartProvider to module descriptors.jvm 2018-07-10 15:16:49 +02:00
Alexander Udalov 2cb4b7c6d4 Extract MetadataPartProvider out of PackagePartProvider 2018-07-10 15:16:49 +02:00
Alexander Udalov e25bc2865f Remove PackagePartProvider from ResolverForProjectImpl
To be able to move it to JVM-specific modules, and to provide a
replacement for common module analysis
2018-07-10 15:16:49 +02:00
Mikhail Zarechenskiy 33bd1b23a2 Don't assign single elements to varargs as it's deprecated
See #KT-20171
2018-07-10 14:25:45 +03:00
Svyatoslav Kuzmich 77ad97a39e [JS IR BE] Bridges construction 2018-07-10 14:11:09 +03:00
Svyatoslav Kuzmich a2f89cc711 [JS IR BE] Eqeq operator lowering. IntrinsicifyCallsLowering.kt refactoring 2018-07-10 14:11:08 +03:00
Anton Bannykh d412b6f4d0 JS IR: tell CodeConformanceTest that longjs.kt does contain third-party copyright 2018-07-10 13:34:19 +03:00
Anton Bannykh 07b3b66fd9 JS IR: unmute tests 2018-07-10 13:34:19 +03:00
Anton Bannykh 65846d783d JS IR: Long 2018-07-10 13:34:19 +03:00
Anton Bannykh 4872c97929 JS: enable release coroutines 2018-07-10 13:11:39 +03:00
Nicolay Mitropolsky f77e023210 fix ResolveElementCacheTest.kt compilation for 172 2018-07-10 12:11:59 +03:00
Georgy Bronnikov 8ce658ab54 Introduce -Xuse-ir flag for cli compiler 2018-07-10 10:05:06 +02:00
Nicolay Mitropolsky be8740e0ee 172: KotlinUastApiTest.kt compilation fix 2018-07-10 10:28:30 +03:00
Ilya Chernikov 903e613bdd Fix script templates tests after updating definitions selection logic 2018-07-10 08:43:52 +02:00
Natalia Selezneva 5741f81f25 Fix AbstractScriptConfigurationTest
Add dependency on script runtime for module.
Provide default test script template thought template-classpath.
2018-07-10 08:43:52 +02:00
Natalia Selezneva 790188120a Add LightProjectDescriptor with script-runtime dependency. Use it in PsiChecker tests. 2018-07-10 08:43:52 +02:00
Natalia Selezneva 3b8bf3e74e Fix testdata fo IdeaModuleInfoTest: for script in module IdeaModuleInfo is created instead of ScriptModuleInfo.ForFile 2018-07-10 08:43:52 +02:00
Ilya Chernikov b979f3dc52 Fix testdata 2018-07-10 08:43:52 +02:00
Ilya Chernikov b83948f241 Drop support of KOTLIN_HOME environment variable in the command-line compiler
it is proved to be fragile and seems unnecessary at the moment
2018-07-10 08:43:52 +02:00
Ilya Chernikov 9549736d35 Fixes after review 2018-07-10 08:43:52 +02:00
Ilya Chernikov 5d597eb382 Fix configurations chaining in the script compiler 2018-07-10 08:43:52 +02:00
Ilya Chernikov 92d4d986c8 Take path to scripting plugin libs only from compiler jar path...
ignoring all "kotlin home" settings, since we need to load a compatible
plugin. Fixes #KT-24946
2018-07-10 08:43:51 +02:00
Ilya Chernikov ec58929e39 Allow multiple same jsr305 options in the command-line
do not report duplicate jsr305 entries if options are the same
2018-07-10 08:43:51 +02:00
Ilya Chernikov 563e4c9e57 Add kts to supported file extensions to the DirtySourceFilesHolder as well
allows jps to compile scripts along with sources,
finally fixes #KT-22611
2018-07-10 08:43:51 +02:00
Ilya Chernikov f39c6f3b7a Drop half-backed support of "dynamic" annotations on scripts...
leaving it in the history so it could be restored and finished, if needed
2018-07-10 08:43:51 +02:00
Ilya Chernikov dee141b26b Add script constructor annotations inheritance 2018-07-10 08:43:51 +02:00
Ilya Chernikov 0f46f62232 Add script class annotations generation from the base class 2018-07-10 08:43:51 +02:00
Ilya Chernikov edf13c022e Refactor script definitions loading and discovery:
Improve logic, code reuse and readability
Add support for more corner cases
Improve reporting
Add definitions loading test
2018-07-10 08:43:51 +02:00
Ilya Chernikov fbbfe600ec Fix list of script definitions recognized by the asm-based loading:
fix of the previous fix to #KT-24926
2018-07-10 08:43:50 +02:00
Ilya Chernikov 199c3bce40 Fix explicit custom scripting definitions choice logic:
add standard script def after custom defs are processed
2018-07-10 08:43:50 +02:00